Browse Source

代煎费用生成,科室药品出库类型筛选修改

WANGJIALIANG 2 years ago
parent
commit
9c2df05adc

+ 1 - 1
src/main/java/cn/hnthyy/thmz/mapper/his/yp/YpOutDetlYfMapper.java

@@ -181,7 +181,7 @@ public interface YpOutDetlYfMapper {
             "SELECT distinct a.out_date,a.out_type,a.dept_code,a.draw_no,a.drawer,a.keeper,a.confirm_id," +
             "a.confirm_date,confirm_flag = isnull(a.confirm_flag,'0'),a.acct_id,a.acct_date " +
             "FROM yp_out_detl_yf a " +
-            "where out_type not in('6','7','8') " +
+            "where out_type in('0','1') " +
             "<when test='beginDate!=null'>",
             " and out_date &gt;=#{beginDate} ",
             "</when>",

+ 21 - 0
src/main/java/cn/hnthyy/thmz/service/impl/his/yf/YfWardPrescriptionServiceImpl.java

@@ -668,6 +668,27 @@ public class YfWardPrescriptionServiceImpl implements YfWardPrescriptionService
                 zyDetailChargeNew.setZySerialNo(zyActpatient.getZySerialNo()).setReferPhysician(zyActpatient.getReferPhysician());
                 zyDetailChargeMapper.insertZyDetailCharge(zyDetailChargeNew);
                 log.info("确认药单{},插入费用成功[{}]", ypZyPatient.getPageNo(),JSONObject.valueToString(zyDetailChargeNew));
+                if(yzActOrderCyDetails.size()-1 == i && yzActOrderCy.getQuantityDj() > 0){
+                    ZyDetailCharge djf = new ZyDetailCharge();
+                    djf.setInpatientNo(yzActOrderCy.getInpatientNo()).setAdmissTimes(yzActOrderCy.getAdmissTimes());
+                    djf.setLedgerSn(zyLedgerFileMapper.selectMaxLedgerSn(yzActOrderCy.getInpatientNo(), yzActOrderCy.getAdmissTimes()));
+                    maxDetailSn = zyDetailChargeMapper.selectMaxDetailSn(yzActOrderCy.getInpatientNo(), yzActOrderCy.getAdmissTimes());
+                    djf.setDetailSn(maxDetailSn + 1);
+                    djf.setGenTime(now).setChargeDate(now).setChargeCode(yzActOrderCy.getOrderCodeDj()).setChargeStatus("2").setSelfFlag("0").setOpeFlag("0").setTransFlagYb("0");
+                    djf.setOpIdCode(yzActOrderCy.getDoctorCode()).setDoctorCode(yzActOrderCy.getDoctorCode());
+                    djf.setInfantFlag(yzActOrderCy.getInpatientNo().indexOf("$") == -1 ? "0" : "1");
+                    djf.setChargeAmount(yzActOrderCy.getQuantityDj());
+                    djf.setChargeFee(BigDecimal.valueOf(yzActOrderCy.getQuantityDj()).multiply(yzActOrderCy.getOrderJeDj()));
+                    djf.setOrderNo(yzActOrderCy.getOrderNo());
+                    djf.setSeparateFlag("0").setSuppressFlag("0");
+                    djf.setWardCode(yzActOrderCy.getWardCode());
+                    djf.setDeptCode(yzActOrderCy.getDeptCode());
+                    djf.setExecUnit(yzActOrderCy.getExecDept());
+                    djf.setChargeCodeMx(yzActOrderCy.getOrderCodeDj()).setSerial("00");
+                    djf.setZySerialNo(zyActpatient.getZySerialNo()).setReferPhysician(zyActpatient.getReferPhysician());
+                    zyDetailChargeMapper.insertZyDetailCharge(djf);
+                    log.info("确认药单{},插入代煎费成功[{}]", ypZyPatient.getPageNo(),JSONObject.valueToString(djf));
+                }
             }
         }
         resultMap.put("code", 0);