|
@@ -191,7 +191,18 @@ public class GenerateYzService {
|
|
|
}
|
|
|
if(CollUtil.isNotEmpty(param.getYzYpZyOrders())){
|
|
|
log.info("最终生成的药品医嘱:{}",param.getYzYpZyOrders());
|
|
|
- yzYpZyOrderDao.insert(param.getYzYpZyOrders());
|
|
|
+ List<YpZyPatient> ypZyPatientList = createYpZyPatient(param.getYzYpZyOrders());
|
|
|
+ if(CollUtil.isNotEmpty(ypZyPatientList)){
|
|
|
+ log.info("自动上账的医嘱:{}",ypZyPatientList);
|
|
|
+ List<List<YpZyPatient>> tempYpZyPatientList = CollUtil.split(ypZyPatientList, 50);
|
|
|
+ for(List<YpZyPatient> temp : tempYpZyPatientList){
|
|
|
+ yzYpZyOrderDao.batchInsertYpZyPatient(temp);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<List<YzYpZyOrder>> tempYzYpZyOrder = CollUtil.split(param.getYzYpZyOrders(),50);
|
|
|
+ for(List<YzYpZyOrder> temp : tempYzYpZyOrder){
|
|
|
+ yzYpZyOrderDao.batchInsertData(temp);
|
|
|
+ }
|
|
|
}
|
|
|
//修改状态
|
|
|
if(CollUtil.isNotEmpty(param.getUpdateStatusYzActOrders())) {
|
|
@@ -616,6 +627,58 @@ public class GenerateYzService {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ private List<YpZyPatient> createYpZyPatient(List<YzYpZyOrder> yzYpZyOrders){
|
|
|
+ List<YpZyPatient> list = new ArrayList<>();
|
|
|
+ for(YzYpZyOrder yzYpZyOrder : yzYpZyOrders){
|
|
|
+ //基数药自动上账
|
|
|
+ if(NumberEnum.ThREE.getCode().equals(yzYpZyOrder.getStatusFlag()) && !NumberEnum.ONE.getCode().equals(yzYpZyOrder.getPaySelf())){
|
|
|
+ YpZyPatient ypZyPatient = convert2YpZyPatient(yzYpZyOrder,"j");
|
|
|
+ list.add(ypZyPatient);
|
|
|
+ yzYpZyOrder.setStatusFlag(NumberEnum.FOUR.getCode());
|
|
|
+ }
|
|
|
+ //大输液自动上账
|
|
|
+ if(DSY.equals(yzYpZyOrder.getDrugClass()) && NumberEnum.ONE.getCode().equals(yzYpZyOrder.getStatusFlag()) && !NumberEnum.ONE.getCode().equals(yzYpZyOrder.getPaySelf()) && yzYpZyOrder.getAmount().compareTo(BigDecimal.ZERO) > 0){
|
|
|
+ YpZyPatient ypZyPatient = convert2YpZyPatient(yzYpZyOrder,"d");
|
|
|
+ list.add(ypZyPatient);
|
|
|
+ yzYpZyOrder.setStatusFlag(NumberEnum.FOUR.getCode());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ private YpZyPatient convert2YpZyPatient(YzYpZyOrder yzYpZyOrder,String supplyCode){
|
|
|
+ YpZyPatient ypZyPatient = new YpZyPatient();
|
|
|
+ ypZyPatient.setOrderDate(yzYpZyOrder.getOccTime());
|
|
|
+ ypZyPatient.setOutSeri(1);
|
|
|
+ ypZyPatient.setDeptCode(yzYpZyOrder.getDeptCode());
|
|
|
+ ypZyPatient.setWardCode(yzYpZyOrder.getWardCode());
|
|
|
+ ypZyPatient.setInpatientNo(yzYpZyOrder.getInpatientNo());
|
|
|
+ ypZyPatient.setName(yzYpZyOrder.getName());
|
|
|
+ ypZyPatient.setBedNo(yzYpZyOrder.getBedNo());
|
|
|
+ ypZyPatient.setChargeCode(yzYpZyOrder.getChargeCode());
|
|
|
+ ypZyPatient.setSerial(yzYpZyOrder.getSerial());
|
|
|
+ ypZyPatient.setAmount(yzYpZyOrder.getAmount());
|
|
|
+ ypZyPatient.setDrawer(yzYpZyOrder.getDrawer());
|
|
|
+ ypZyPatient.setRetprice(yzYpZyOrder.getRetprice());
|
|
|
+ ypZyPatient.setInfantFlag(yzYpZyOrder.getInfantFlag());
|
|
|
+ ypZyPatient.setAlwaysFlag(yzYpZyOrder.getAlwaysFlag());
|
|
|
+ ypZyPatient.setDrugClass(yzYpZyOrder.getDrugClass());
|
|
|
+ ypZyPatient.setAcctSign("0");
|
|
|
+ ypZyPatient.setTotalFlag("0");
|
|
|
+ ypZyPatient.setAdmissTimes(yzYpZyOrder.getAdmissTimes());
|
|
|
+ ypZyPatient.setSupplyCode(supplyCode);
|
|
|
+ ypZyPatient.setActOrderNo(yzYpZyOrder.getActOrderNo());
|
|
|
+ ypZyPatient.setPageNo(Convert.toInt(yzYpZyOrder.getPageNo()));
|
|
|
+ ypZyPatient.setPaySelf(yzYpZyOrder.getPaySelf());
|
|
|
+ ypZyPatient.setSelfFlag(yzYpZyOrder.getSelfFlag());
|
|
|
+ ypZyPatient.setSeparateFlag(yzYpZyOrder.getSeparateFlag());
|
|
|
+ ypZyPatient.setSupriceFlag(yzYpZyOrder.getSupriceFlag());
|
|
|
+ ypZyPatient.setDrugFlag(yzYpZyOrder.getDrugFlag());
|
|
|
+ ypZyPatient.setGroupNo(yzYpZyOrder.getGroupNo());
|
|
|
+ return ypZyPatient;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* @description: 获取周几执行 1表示周日,2表示周一 1,7 2,1 3,2 4,3 5,4 6,5 7,6
|
|
|
* @author: lihong
|