|  | @ -0,0 +1,101 @@
 | 
	
		
			
				|  |  | package com.yihu.jw.hospital.service;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSONArray;
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.a1entity.Mediicineorder;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.a1entity.Mediicineorderdetail;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.dao.med.MedicineorderDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.dao.med.MediicineorderdetailDao;
 | 
	
		
			
				|  |  | import org.apache.commons.lang.StringUtils;
 | 
	
		
			
				|  |  | import org.slf4j.Logger;
 | 
	
		
			
				|  |  | import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.util.HashMap;
 | 
	
		
			
				|  |  | import java.util.List;
 | 
	
		
			
				|  |  | import java.util.Map;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | ;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | @Transactional
 | 
	
		
			
				|  |  | @Service
 | 
	
		
			
				|  |  | public class MedOrderService {
 | 
	
		
			
				|  |  |     private static Logger logger = LoggerFactory.getLogger(MedOrderService.class);
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     MedicineorderDao mediicineorderDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     MediicineorderdetailDao mediicineorderdetailDao;
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 获取续方订单及药方
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public Map<String,Object> saveOrder(String jsonData){
 | 
	
		
			
				|  |  |         Map<String,Object>result=new HashMap<>();
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(jsonData)){
 | 
	
		
			
				|  |  |             JSONObject params=JSONObject.parseObject(jsonData);
 | 
	
		
			
				|  |  |             String order=params.getString("realOrder");
 | 
	
		
			
				|  |  |             Mediicineorder mediicineorder=new Mediicineorder();
 | 
	
		
			
				|  |  |             if (mediicineorderDao.findByOrderNum(order)==null) {
 | 
	
		
			
				|  |  |                 mediicineorder.setOrderNum(order);
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 result.put("failed","订单号已存在");
 | 
	
		
			
				|  |  |                 return result;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             String sex=params.getString("rx_patient_sex");
 | 
	
		
			
				|  |  |             mediicineorder.setSex(sex);
 | 
	
		
			
				|  |  |             String equNum=params.getString("device_no");
 | 
	
		
			
				|  |  |             mediicineorder.setEquNum(equNum);
 | 
	
		
			
				|  |  |             String name=params.getString(" rx_patient_name");
 | 
	
		
			
				|  |  |             mediicineorder.setName(name);
 | 
	
		
			
				|  |  |             String age=params.getString(" rx_patient_age");
 | 
	
		
			
				|  |  |             mediicineorder.setAge(age);
 | 
	
		
			
				|  |  |             mediicineorder.setUserId(params.getString("user_id"));
 | 
	
		
			
				|  |  |             mediicineorder.setShopNo(params.getString("shop_no"));
 | 
	
		
			
				|  |  |             mediicineorder.setAddress(params.getString(" rx_patient_address"));
 | 
	
		
			
				|  |  |             mediicineorder.setContact(params.getString(" rx_patient_phone"));
 | 
	
		
			
				|  |  |             mediicineorder.setIdNum(params.getString(" rx_patient_identity"));
 | 
	
		
			
				|  |  |             mediicineorder.setOrderType(params.getString(" rx_type"));
 | 
	
		
			
				|  |  |             mediicineorder.setOrderState(params.getString("rx_state"));
 | 
	
		
			
				|  |  |             mediicineorder.setAttr(params.getString(" rx_attr"));
 | 
	
		
			
				|  |  |             mediicineorder.setIdNum(params.getString("rx_patient_identity"));
 | 
	
		
			
				|  |  |             mediicineorder.setPrescribeTime(params.getDate("rx_time"));
 | 
	
		
			
				|  |  |             mediicineorder.setBirth(params.getDate("rx_patient_birth"));
 | 
	
		
			
				|  |  |             mediicineorder.setInfo(params.getString("rx_diagnosis_info"));
 | 
	
		
			
				|  |  |             mediicineorder.setHospitalInfo(params.getString(" rx_hospital_info"));
 | 
	
		
			
				|  |  |             mediicineorder.setDeptNum(params.getString(" rx_department_no"));
 | 
	
		
			
				|  |  |             mediicineorder.setDeptName(params.getString(" rx_department_name"));
 | 
	
		
			
				|  |  |             mediicineorder.setDoctorNum(params.getString("rx_doctor_no"));
 | 
	
		
			
				|  |  |             mediicineorder.setDeptName(params.getString("rx_doctor_name"));
 | 
	
		
			
				|  |  |             mediicineorder.setDoctorAdvice(params.getString(" rx_doctoradvice"));
 | 
	
		
			
				|  |  |             mediicineorder.setAllergyInfo(params.getString(" rx_allergy_info"));
 | 
	
		
			
				|  |  |             JSONArray jsonArray=params.getJSONArray("rx_drugs");
 | 
	
		
			
				|  |  |             Mediicineorderdetail mediicineorderdetail=new Mediicineorderdetail();
 | 
	
		
			
				|  |  |             for (int i = 0; i <jsonArray.size() ; i++) {
 | 
	
		
			
				|  |  |                 JSONObject jsonObject=jsonArray.getJSONObject(i);
 | 
	
		
			
				|  |  |                 mediicineorderdetail.setId(jsonObject.getString("drug_id"));
 | 
	
		
			
				|  |  |                 mediicineorderdetail.setDrugSku(jsonObject.getString("drug_sku "));
 | 
	
		
			
				|  |  |                 mediicineorderdetail.setDrugCode(jsonObject.getString("drug_code"));
 | 
	
		
			
				|  |  |                 mediicineorderdetail.setSpecif(jsonObject.getString("drug_specs"));
 | 
	
		
			
				|  |  |                 mediicineorderdetail.setDrugNum(jsonObject.getFloat("drug_num"));
 | 
	
		
			
				|  |  |                 mediicineorderdetail.setPrice(jsonObject.getFloat("drug_price"));
 | 
	
		
			
				|  |  |                 mediicineorderdetail.setUseNum(jsonObject.getFloat("drug_use_num"));
 | 
	
		
			
				|  |  |                 mediicineorderdetail.setUseWay(jsonObject.getString(" drug_use_way"));
 | 
	
		
			
				|  |  |                 mediicineorderdetail.setUseRate(jsonObject.getString(" drug_use_rate"));
 | 
	
		
			
				|  |  |                 mediicineorderdetail.setUseDose(jsonObject.getString(" drug_use_dose"));
 | 
	
		
			
				|  |  |                 mediicineorderdetail.setUnit(jsonObject.getString("drug_use_unit"));
 | 
	
		
			
				|  |  |                 mediicineorderdetail.setUseWayAdd(jsonObject.getString("drug_use_way_add"));
 | 
	
		
			
				|  |  |                 mediicineorderdetail.setManufactor(jsonObject.getString(" drug_firm_name"));
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             Mediicineorder ord=mediicineorderDao.save(mediicineorder);
 | 
	
		
			
				|  |  |             Mediicineorderdetail mediicineorderdetail1=mediicineorderdetailDao.save(mediicineorderdetail);
 | 
	
		
			
				|  |  |             result.put("order",ord);
 | 
	
		
			
				|  |  |             result.put("drugs",mediicineorderdetail1);
 | 
	
		
			
				|  |  |             return result;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return null;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |