|
@ -108,67 +108,72 @@ public class BusinessOrderService {
|
|
List<BusinessOrderDO> businessOrderDOS = new ArrayList<>();
|
|
List<BusinessOrderDO> businessOrderDOS = new ArrayList<>();
|
|
if (wlyyPrescriptionDOS!=null&&wlyyPrescriptionDOS.size()!=0){
|
|
if (wlyyPrescriptionDOS!=null&&wlyyPrescriptionDOS.size()!=0){
|
|
WlyyPrescriptionDO wlyyPrescriptionDO = wlyyPrescriptionDOS.get(0);
|
|
WlyyPrescriptionDO wlyyPrescriptionDO = wlyyPrescriptionDOS.get(0);
|
|
BusinessOrderDO businessOrderDO = new BusinessOrderDO();
|
|
|
|
businessOrderDO.setCreateTime(new Date());
|
|
|
|
businessOrderDO.setUpdateTime(new Date());
|
|
|
|
businessOrderDO.setStatus(0);
|
|
|
|
businessOrderDO.setOrderNo("VAS"+businessOrderDO.getOrderType()+System.currentTimeMillis()+(int)(Math.random()*900)+100);
|
|
|
|
businessOrderDO.setUploadStatus(0);
|
|
|
|
businessOrderDO.setPayType(1);
|
|
|
|
businessOrderDO.setRelationCode(code);
|
|
|
|
businessOrderDO.setRelationName("处方结算");
|
|
|
|
businessOrderDO.setOrderCategory("4");
|
|
|
|
businessOrderDO.setOrderType(4);
|
|
|
|
businessOrderDO.setDoctor(wlyyPrescriptionDO.getDoctor());
|
|
|
|
businessOrderDO.setPatient(wlyyPrescriptionDO.getPatientCode());
|
|
|
|
businessOrderDO.setPatientName(wlyyPrescriptionDO.getPatientName());
|
|
|
|
businessOrderDO.setPayPrice(wlyyPrescriptionDO.getDrugFee()*100);
|
|
|
|
businessOrderDO.setDescription("处方结算");
|
|
|
|
businessOrderDO = businessOrderDao.save(businessOrderDO);
|
|
|
|
businessOrderDOS.add(businessOrderDO);
|
|
|
|
wlyyPrescriptionDO.setOrderNo(businessOrderDO.getOrderNo());
|
|
|
|
prescriptionDao.save(wlyyPrescriptionDO);
|
|
|
|
JSONArray array = new JSONArray();
|
|
|
|
List<WlyyPrescriptionInfoDO> wlyyPrescriptionInfoDOS = prescriptionInfoDao.findByPrescriptionId(code);
|
|
|
|
for (WlyyPrescriptionInfoDO prescriptionInfoDO:wlyyPrescriptionInfoDOS){
|
|
|
|
JSONObject object = new JSONObject();
|
|
|
|
//{"commodityName":"","commodityPrice":"","DrugUnit":"","MedicineDoctor":""}
|
|
|
|
object.put("commodityName",prescriptionInfoDO.getDrugName());
|
|
|
|
object.put("commodityPrice",prescriptionInfoDO.getPackRetprice());
|
|
|
|
object.put("DrugUnit",prescriptionInfoDO.getPackUnitName());
|
|
|
|
DoctorMappingDO doctorMappingDO = doctorMappingDao.findByDoctor(businessOrderDO.getDoctor());
|
|
|
|
String yktDoctor ="";
|
|
|
|
if (doctorMappingDO!=null&&StringUtils.isNoneBlank(doctorMappingDO.getMappingCode())){
|
|
|
|
String doctorResponse = ykyyService.getYktDoctor(doctorMappingDO.getMappingCode());
|
|
|
|
JSONObject jsonObject = JSONObject.parseObject(doctorResponse);
|
|
|
|
if (jsonObject.getInteger("code")==200){
|
|
|
|
JSONArray array1 = jsonObject.getJSONArray("data");
|
|
|
|
if (array1!=null&&array1.size()!=0){
|
|
|
|
yktDoctor=array.getJSONObject(0).getString("DOCTORUSERID");
|
|
|
|
|
|
BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(wlyyPrescriptionDO.getId());
|
|
|
|
|
|
|
|
if (businessOrderDO==null){
|
|
|
|
businessOrderDO = new BusinessOrderDO();
|
|
|
|
businessOrderDO.setCreateTime(new Date());
|
|
|
|
businessOrderDO.setUpdateTime(new Date());
|
|
|
|
businessOrderDO.setStatus(0);
|
|
|
|
businessOrderDO.setOrderNo("VAS4"+System.currentTimeMillis()+(int)(Math.random()*900)+100);
|
|
|
|
businessOrderDO.setUploadStatus(0);
|
|
|
|
businessOrderDO.setPayType(1);
|
|
|
|
businessOrderDO.setRelationCode(code);
|
|
|
|
businessOrderDO.setRelationName("处方结算");
|
|
|
|
businessOrderDO.setOrderCategory("4");
|
|
|
|
businessOrderDO.setOrderType(4);
|
|
|
|
businessOrderDO.setDoctor(wlyyPrescriptionDO.getDoctor());
|
|
|
|
businessOrderDO.setPatient(wlyyPrescriptionDO.getPatientCode());
|
|
|
|
businessOrderDO.setPatientName(wlyyPrescriptionDO.getPatientName());
|
|
|
|
businessOrderDO.setPayPrice(wlyyPrescriptionDO.getDrugFee()*100);
|
|
|
|
businessOrderDO.setDescription("处方结算");
|
|
|
|
businessOrderDO = businessOrderDao.save(businessOrderDO);
|
|
|
|
businessOrderDOS.add(businessOrderDO);
|
|
|
|
wlyyPrescriptionDO.setOrderNo(businessOrderDO.getOrderNo());
|
|
|
|
prescriptionDao.save(wlyyPrescriptionDO);
|
|
|
|
JSONArray array = new JSONArray();
|
|
|
|
List<WlyyPrescriptionInfoDO> wlyyPrescriptionInfoDOS = prescriptionInfoDao.findByPrescriptionId(code);
|
|
|
|
for (WlyyPrescriptionInfoDO prescriptionInfoDO:wlyyPrescriptionInfoDOS){
|
|
|
|
JSONObject object = new JSONObject();
|
|
|
|
//{"commodityName":"","commodityPrice":"","DrugUnit":"","MedicineDoctor":""}
|
|
|
|
object.put("commodityName",prescriptionInfoDO.getDrugName());
|
|
|
|
object.put("commodityPrice",prescriptionInfoDO.getPackRetprice());
|
|
|
|
object.put("DrugUnit",prescriptionInfoDO.getPackUnitName());
|
|
|
|
DoctorMappingDO doctorMappingDO = doctorMappingDao.findByDoctor(businessOrderDO.getDoctor());
|
|
|
|
String yktDoctor ="";
|
|
|
|
if (doctorMappingDO!=null&&StringUtils.isNoneBlank(doctorMappingDO.getMappingCode())){
|
|
|
|
String doctorResponse = ykyyService.getYktDoctor(doctorMappingDO.getMappingCode());
|
|
|
|
JSONObject jsonObject = JSONObject.parseObject(doctorResponse);
|
|
|
|
if (jsonObject.getInteger("code")==200){
|
|
|
|
JSONArray array1 = jsonObject.getJSONArray("data");
|
|
|
|
if (array1!=null&&array1.size()!=0){
|
|
|
|
yktDoctor=array1.getJSONObject(0).getString("DOCTORUSERID");
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
}else {
|
|
|
|
throw new Exception("医生映射表不存在!");
|
|
}
|
|
}
|
|
}else {
|
|
|
|
throw new Exception("医生映射表不存在!");
|
|
|
|
|
|
object.put("MedicineDoctor",yktDoctor);
|
|
|
|
array.add(object);
|
|
}
|
|
}
|
|
object.put("MedicineDoctor",yktDoctor);
|
|
|
|
array.add(object);
|
|
|
|
}
|
|
|
|
BasePatientDO patientDO = patientDao.findById(businessOrderDO.getPatient());
|
|
|
|
String userId =null;
|
|
|
|
if (patientDO!=null){
|
|
|
|
userId = patientDO.getUserId();
|
|
|
|
}
|
|
|
|
String response = ykyyService.addOrder4Jkzl("1","",userId,array);
|
|
|
|
if (StringUtils.isNoneBlank(response)){
|
|
|
|
JSONObject jsonObject = JSONObject.parseObject(response);
|
|
|
|
if (jsonObject.getString("code").equalsIgnoreCase("10000")){
|
|
|
|
String orderId = jsonObject.getString("orderId");
|
|
|
|
String orderNo = jsonObject.getString("orderNo");
|
|
|
|
businessOrderDO.setYkOrderId(orderId);
|
|
|
|
businessOrderDO.setYkOrderNo(orderNo);
|
|
|
|
businessOrderDao.save(businessOrderDO);
|
|
|
|
|
|
BasePatientDO patientDO = patientDao.findById(businessOrderDO.getPatient());
|
|
|
|
String userId =null;
|
|
|
|
if (patientDO!=null){
|
|
|
|
userId = patientDO.getUserId();
|
|
|
|
}
|
|
|
|
String response = ykyyService.addOrder4Jkzl("1","",userId,array);
|
|
|
|
if (StringUtils.isNoneBlank(response)){
|
|
|
|
JSONObject jsonObject = JSONObject.parseObject(response);
|
|
|
|
if (jsonObject.getString("code").equalsIgnoreCase("10000")){
|
|
|
|
String orderId = jsonObject.getString("orderId");
|
|
|
|
String orderNo = jsonObject.getString("orderNo");
|
|
|
|
businessOrderDO.setYkOrderId(orderId);
|
|
|
|
businessOrderDO.setYkOrderNo(orderNo);
|
|
|
|
businessOrderDao.save(businessOrderDO);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
return businessOrderDOS;
|
|
return businessOrderDOS;
|
|
}
|
|
}
|