Просмотр исходного кода

添加二次退费,以及优化医嘱修改。

xiaochan 4 лет назад
Родитель
Сommit
17ea641502

+ 44 - 0
src/main/java/thyyxxk/webserver/controller/datamodify/SecondFefundController.java

@@ -0,0 +1,44 @@
+package thyyxxk.webserver.controller.datamodify;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.datamodify.MzChargeDetail;
+import thyyxxk.webserver.service.datamodify.SecondFefundService;
+
+/**
+ * <p>
+ * 描述: 二次退费
+ * </p>
+ *
+ * @author xc
+ * @date 2021-05-18 11:21
+ */
+@RestController
+@RequestMapping("/secondFefund")
+public class SecondFefundController {
+
+    private final SecondFefundService service;
+
+    public SecondFefundController(SecondFefundService service) {
+        this.service = service;
+    }
+
+    @GetMapping("/getOrderInformation")
+    public ResultVo<MzChargeDetail> getOrderInformation(@RequestParam("patientId") String patientId,
+                                                        @RequestParam("times") Integer times,
+                                                        @RequestParam("chargeItemCode") String chargeItemCode) {
+        return service.getOrderInformation(patientId, times, chargeItemCode);
+    }
+
+    @GetMapping("/xiuGaiTuiFei")
+    public ResultVo<MzChargeDetail> xiuGaiTuiFei(@RequestParam("patientId") String patientId,
+                                                 @RequestParam("times") Integer times,
+                                                 @RequestParam("chargeItemCode") String chargeItemCode,
+                                                 @RequestParam("quantity") Integer quantity) {
+        return service.xiuGaiTuiFei(patientId, times, chargeItemCode, quantity);
+    }
+
+}

+ 2 - 3
src/main/java/thyyxxk/webserver/controller/datamodify/YzActOrderModifyController.java

@@ -30,15 +30,14 @@ public class YzActOrderModifyController {
         return server.queryYz(param);
     }
 
-
     @PostMapping("/yzModifyApply")
     public ResultVo<Boolean> yzModifyApply(@RequestBody TYzActOrderModify param) {
         return server.yzModifyApply(param);
     }
 
     @GetMapping("/chaKanZhuangTai")
-    public ResultVo<List<TYzActOrderModify>> chaKanZhuangTai(@RequestParam("inpatientNo") String inpatientNo) {
-        return server.chaKanZhuangTai(inpatientNo);
+    public ResultVo<List<TYzActOrderModify>> chaKanZhuangTai(@RequestParam("code") String code) {
+        return server.chaKanZhuangTai(code);
     }
 
     @PostMapping("/danGeShenQing")

+ 34 - 0
src/main/java/thyyxxk/webserver/dao/his/datamodify/SecondFefundDao.java

@@ -0,0 +1,34 @@
+package thyyxxk.webserver.dao.his.datamodify;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+import thyyxxk.webserver.entity.datamodify.MzChargeDetail;
+
+/**
+ * <p>
+ * 描述: 二次退费
+ * </p>
+ *
+ * @author xc
+ * @date 2021-05-18 11:22
+ */
+@Mapper
+public interface SecondFefundDao {
+
+
+    @Select("select confirm_flag,dec_amount,tc_name, " +
+            "rtrim(name)name,rtrim(charge_item_code)charge_item_code,rtrim(patient_id)patient_id,times,receipt_no,quantity from mz_charge_detail where " +
+            "patient_id = #{patientId} and times = #{times} and charge_item_code = #{chargeItemCode}")
+    MzChargeDetail getOrderInformation(@Param("patientId") String patientId,
+                                       @Param("times") Integer times,
+                                       @Param("chargeItemCode") String chargeItemCode);
+
+    @Update("update mz_charge_detail set dec_amount=#{quantity},confirm_flag = 3  " +
+            "where patient_id = #{patientId} and times = #{times} and charge_item_code = #{chargeItemCode}")
+    void xiuGaiTuiFei(@Param("patientId") String patientId,
+                      @Param("times") Integer times,
+                      @Param("chargeItemCode") String chargeItemCode,
+                      @Param("quantity") Integer quantity);
+}

+ 6 - 6
src/main/java/thyyxxk/webserver/dao/his/datamodify/YzActOrderMapper.java

@@ -45,10 +45,10 @@ public interface YzActOrderMapper extends BaseMapper<YzActOrder> {
     @Insert("<script>" +
             "insert into t_yz_act_order_modify (act_order_no, inpatient_no, start_time, end_time, new_start_time, new_end_time, " +
             "proposer,propose_remark, patient_name, frequ_code, " +
-            "ward_code, order_name, order_time, new_order_time) values " +
+            "ward_code, order_name) values " +
             "<foreach collection='dataList' item='list' separator=','>" +
             "(#{list.actOrderNo},#{list.inpatientNo},#{list.startTime},#{list.endTime},#{param.startTime},#{param.endTime}," +
-            "#{param.proposer},#{param.proposeRemark},#{list.patientName},#{list.frequCode},#{list.wardCode},#{list.orderName},#{list.orderTime},#{param.orderTime})" +
+            "#{param.proposer},#{param.proposeRemark},#{list.patientName},#{list.frequCode},#{list.wardCode},#{list.orderName})" +
             "</foreach>" +
             "</script>")
     void yzActOrderModifyInsert(@Param("param") TYzActOrderModify param,
@@ -68,7 +68,7 @@ public interface YzActOrderMapper extends BaseMapper<YzActOrder> {
             "update t_yz_act_order_modify " +
             "<set>" +
             "new_start_time=#{param.startTime}," +
-            "new_end_time=#{param.endTime},new_order_time=#{param.orderTime},audit_flag =1," +
+            "new_end_time=#{param.endTime},audit_flag =1," +
             "proposer = #{param.proposer},propose_time=getdate(), " +
             "propose_remark=#{param.proposeRemark},patient_name=#{item.patientName},frequ_code=#{item.frequCode}" +
             ",ward_code=#{item.wardCode},order_name=#{item.orderName} " +
@@ -100,13 +100,13 @@ public interface YzActOrderMapper extends BaseMapper<YzActOrder> {
 
     @Insert("insert into t_yz_act_order_modify (act_order_no, inpatient_no, start_time, end_time, new_start_time, new_end_time, " +
             "proposer,propose_remark,  " +
-            "patient_name, frequ_code, ward_code, order_name, order_time, new_order_time) " +
+            "patient_name, frequ_code, ward_code, order_name) " +
             "values (#{actOrderNo},#{inpatientNo},#{startTime},#{endTime},#{newStartTime},#{newEndTime},#{proposer},#{proposeRemark},#{patientName}," +
-            "#{frequCode},#{wardCode},#{orderName},#{orderTime},#{newOrderTime})")
+            "#{frequCode},#{wardCode},#{orderName})")
     void danGeShenQingInsert(TYzActOrderModify param);
 
     @Update("update t_yz_act_order_modify set new_start_time=#{newStartTime}," +
-            "new_end_time=#{newEndTime},new_order_time=#{newOrderTime},proposer=#{proposer}," +
+            "new_end_time=#{newEndTime},proposer=#{proposer}," +
             "propose_time=getdate(),propose_remark=#{proposeRemark} ,audit_flag = 1 " +
             "where act_order_no = #{actOrderNo}")
     void danGeShenQingUpdate(TYzActOrderModify param);

+ 2 - 7
src/main/java/thyyxxk/webserver/dao/his/datamodify/YzActOrderModifyVerifyDao.java

@@ -32,27 +32,22 @@ public interface YzActOrderModifyVerifyDao extends BaseMapper<TYzActOrderModify>
             "update yz_act_order " +
             "<trim prefix=\"set\" suffixOverrides=\",\">" +
             "<if test=\"startTime!=null \">" +
-            "start_time=#{startTime}," +
+            "start_time=#{startTime}, order_time = #{startTime}," +
             "</if>" +
             "<if test=\"endTime!=null\">" +
             "end_time=#{endTime}," +
             "</if>" +
-            "<if test=\"orderTime!=null\">" +
-            "order_time = #{orderTime}," +
-            "</if>" +
             "</trim>" +
             " where act_order_no=#{actOrderNo}" +
             "</script>")
     Boolean yzActOrderModify(@Param("startTime") Date startTime,
                              @Param("endTime") Date endTime,
-                             @Param("orderTime") Date orderTime,
                              @Param("actOrderNo") BigDecimal actOrderNo);
 
 
-    @Update("update yz_act_order set start_time = #{startTime} ,end_time = #{endTime},order_time=#{orderTime} where act_order_no = #{actOrderNo}")
+    @Update("update yz_act_order set start_time = #{startTime} ,end_time = #{endTime},order_time=#{startTime} where act_order_no = #{actOrderNo}")
     Boolean shuJuHuiChe(@Param("startTime") Date startTime,
                         @Param("endTime") Date endTime,
-                        @Param("orderTime") Date orderTime,
                         @Param("actOrderNo") BigDecimal actOrderNo);
 
     /**

+ 467 - 0
src/main/java/thyyxxk/webserver/entity/datamodify/MzChargeDetail.java

@@ -0,0 +1,467 @@
+package thyyxxk.webserver.entity.datamodify;
+
+import java.io.Serializable;
+import lombok.Data;
+import java.util.Date;
+
+@Data
+public class MzChargeDetail  implements Serializable {
+
+	private static final long serialVersionUID =  6955612389655007957L;
+
+	/**
+	 * patientId
+	 */
+	private String patientId;
+
+	/**
+	 * times
+	 */
+	private Integer times;
+
+	/**
+	 * receiptNo
+	 */
+	private Integer receiptNo;
+
+	/**
+	 * orderNo
+	 */
+	private Integer orderNo;
+
+	/**
+	 * itemNo
+	 */
+	private Integer itemNo;
+
+	/**
+	 * chargeItemCode
+	 */
+	private String chargeItemCode;
+
+	/**
+	 * billItemCode
+	 */
+	private String billItemCode;
+
+	/**
+	 * quantity
+	 */
+	private Double quantity;
+
+	/**
+	 * unitPrice
+	 */
+	private String unitPrice;
+
+	/**
+	 * payMark
+	 */
+	private String payMark;
+
+	/**
+	 * serial
+	 */
+	private String serial;
+
+	/**
+	 * chargeItemType
+	 */
+	private String chargeItemType;
+
+	/**
+	 * countryFlag
+	 */
+	private String countryFlag;
+
+	/**
+	 * drugFlag
+	 */
+	private String drugFlag;
+
+	/**
+	 * serialNo
+	 */
+	private Integer serialNo;
+
+	/**
+	 * name
+	 */
+	private String name;
+
+	/**
+	 * chargeDate
+	 */
+	private Date chargeDate;
+
+	/**
+	 * confirmTime
+	 */
+	private Date confirmTime;
+
+	/**
+	 * groupNo
+	 */
+	private String groupNo;
+
+	/**
+	 * confirmId
+	 */
+	private String confirmId;
+
+	/**
+	 * drugWin
+	 */
+	private Integer drugWin;
+
+	/**
+	 * inputId
+	 */
+	private String inputId;
+
+	/**
+	 * inputDate
+	 */
+	private Date inputDate;
+
+	/**
+	 * cashierId
+	 */
+	private String cashierId;
+
+	/**
+	 * windowsNo
+	 */
+	private String windowsNo;
+
+	/**
+	 * priceId
+	 */
+	private String priceId;
+
+	/**
+	 * priceTime
+	 */
+	private Date priceTime;
+
+	/**
+	 * execDept
+	 */
+	private String execDept;
+
+	/**
+	 * auditCode
+	 */
+	private String auditCode;
+
+	/**
+	 * gongnksFlag
+	 */
+	private String gongnksFlag;
+
+	/**
+	 * printFlag
+	 */
+	private String printFlag;
+
+	/**
+	 * responseType
+	 */
+	private String responseType;
+
+	/**
+	 * confirmFlag
+	 */
+	private Integer confirmFlag;
+
+	/**
+	 * warnDept
+	 */
+	private String warnDept;
+
+	/**
+	 * ledYf
+	 */
+	private String ledYf;
+
+	/**
+	 * jzFlag
+	 */
+	private String jzFlag;
+
+	/**
+	 * groupOrder
+	 */
+	private Integer groupOrder;
+
+	/**
+	 * cashId
+	 */
+	private String cashId;
+
+	/**
+	 * doctorCode
+	 */
+	private String doctorCode;
+
+	/**
+	 * supplyCode
+	 */
+	private String supplyCode;
+
+	/**
+	 * frequency
+	 */
+	private String frequency;
+
+	/**
+	 * drugQuan
+	 */
+	private Double drugQuan;
+
+	/**
+	 * drugUnit
+	 */
+	private String drugUnit;
+
+	/**
+	 * doctorFlag
+	 */
+	private String doctorFlag;
+
+	/**
+	 * injectRes
+	 */
+	private Double injectRes;
+
+	/**
+	 * injectTimes
+	 */
+	private Integer injectTimes;
+
+	/**
+	 * confirmZs
+	 */
+	private String confirmZs;
+
+	/**
+	 * realNo
+	 */
+	private Integer realNo;
+
+	/**
+	 * windowsNoYf
+	 */
+	private String windowsNoYf;
+
+	/**
+	 * ybbxFlag
+	 */
+	private String ybbxFlag;
+
+	/**
+	 * tcNo
+	 */
+	private String tcNo;
+
+	/**
+	 * tcName
+	 */
+	private String tcName;
+
+	/**
+	 * detailFlag
+	 */
+	private String detailFlag;
+
+	/**
+	 * glPercent
+	 */
+	private String glPercent;
+
+	/**
+	 * orderType
+	 */
+	private String orderType;
+
+	/**
+	 * supplyNo
+	 */
+	private String supplyNo;
+
+	/**
+	 * instructionCode
+	 */
+	private String instructionCode;
+
+	/**
+	 * instructionText
+	 */
+	private String instructionText;
+
+	/**
+	 * orderDays
+	 */
+	private Integer orderDays;
+
+	/**
+	 * paySelf
+	 */
+	private String paySelf;
+
+	/**
+	 * tryFlag
+	 */
+	private String tryFlag;
+
+	/**
+	 * reqYj
+	 */
+	private String reqYj;
+
+	/**
+	 * reqNo
+	 */
+	private Integer reqNo;
+
+	/**
+	 * groupType
+	 */
+	private String groupType;
+
+	/**
+	 * orderBill
+	 */
+	private Integer orderBill;
+
+	/**
+	 * chargeBillCode
+	 */
+	private String chargeBillCode;
+
+	/**
+	 * selfFlag
+	 */
+	private String selfFlag;
+
+	/**
+	 * responceType
+	 */
+	private String responceType;
+
+	/**
+	 * decAmount
+	 */
+	private String decAmount;
+
+	/**
+	 * backSerial
+	 */
+	private Integer backSerial;
+
+	/**
+	 * inputTime
+	 */
+	private Date inputTime;
+
+	/**
+	 * cyMtjs
+	 */
+	private Integer cyMtjs;
+
+	/**
+	 * cyJsl
+	 */
+	private Integer cyJsl;
+
+	/**
+	 * cyZql
+	 */
+	private Integer cyZql;
+
+	/**
+	 * cyFj
+	 */
+	private Integer cyFj;
+
+	/**
+	 * cyFfcs
+	 */
+	private Integer cyFfcs;
+
+	/**
+	 * cyFysm
+	 */
+	private Integer cyFysm;
+
+	/**
+	 * supplyAmount
+	 */
+	private Integer supplyAmount;
+
+	/**
+	 * cyJssm
+	 */
+	private String cyJssm;
+
+	/**
+	 * deptNo
+	 */
+	private String deptNo;
+
+	/**
+	 * glPercentFt
+	 */
+	private Double glPercentFt;
+
+	/**
+	 * ybZfFlag
+	 */
+	private String ybZfFlag;
+
+	/**
+	 * origPrice
+	 */
+	private String origPrice;
+
+	/**
+	 * tryResult
+	 */
+	private String tryResult;
+
+	/**
+	 * supplyExec
+	 */
+	private String supplyExec;
+
+	/**
+	 * cyDj
+	 */
+	private String cyDj;
+
+	/**
+	 * receiveFlag
+	 */
+	private String receiveFlag;
+
+	/**
+	 * chequType
+	 */
+	private String chequType;
+
+	/**
+	 * printFlagYj
+	 */
+	private String printFlagYj;
+
+	/**
+	 * confirmFlagQx
+	 */
+	private String confirmFlagQx;
+
+	/**
+	 * ybType
+	 */
+	private String ybType;
+
+}

+ 105 - 114
src/main/java/thyyxxk/webserver/entity/datamodify/TYzActOrderModify.java

@@ -1,13 +1,12 @@
 package thyyxxk.webserver.entity.datamodify;
 
-import java.io.Serializable;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
@@ -19,117 +18,109 @@ import java.util.Date;
 @Accessors(chain = true)
 public class TYzActOrderModify implements Serializable {
 
-	private static final long serialVersionUID =  8374839975562338818L;
-
-	/**
-	 * 自增id
-	 */
-	@TableId(value = "id" ,type = IdType.AUTO)
-	private Integer id;
-
-	/**
-	 * 医嘱号
-	 */
-	private BigDecimal actOrderNo;
-
-	/**
-	 * 住院号
-	 */
-	private String inpatientNo;
-
-	/**
-	 * 老的开始时间
-	 */
-	private Date startTime;
-
-	/**
-	 * 老的结束时间
-	 */
-	private Date endTime;
-
-	/**
-	 * 要修改的开始时间
-	 */
-	private Date newStartTime;
-
-	/**
-	 * 要修改的结束时间
-	 */
-	private Date newEndTime;
-
-	/**
-	 * 审核状态:1-未审核;2-审核通过;3-审核不通过;4: 数据回撤
-	 */
-	private Integer auditFlag;
-
-	/**
-	 * 医嘱修改申请人
-	 */
-	private String proposer;
-
-
-	/**
-	 * 修改申请人的姓名
-	 * */
-	private String proposerName;
-
-	/**
-	 * 医嘱修改申请时间
-	 */
-	private Date proposeTime;
-
-	/**
-	 * 审核人
-	 */
-	private String auditStaff;
-
-	/**
-	 * 审核时间
-	 */
-	private Date auditTime;
-
-	/**
-	 * 审核备注
-	 */
-	private String auditRemark;
-
-	/**
-	 * 医嘱修改申请备注
-	 */
-	private String proposeRemark;
-
-	/**
-	 * 患者的姓名
-	 */
-	private String patientName;
-
-	/**
-	 * 频次
-	 */
-	private String frequCode;
-
-	/**
-	 * 病房
-	 */
-	private String wardCode;
-
-	/**
-	 * 医嘱名称
-	 */
-	private String orderName;
-
-	/**
-	 * 老的医嘱时间
-	 */
-	private Date orderTime;
-	/**
-	 * 新的医嘱时间
-	 */
-	private Date newOrderTime;
-	/**
-	 * 这个不是 数据库中的字段 用来批量接受 审核信息的
-	 * */
-	@TableField(exist = false)
-	private ArrayList<TYzActOrderModify> list;
+    private static final long serialVersionUID = 8374839975562338818L;
+
+    /**
+     * 自增id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 医嘱号
+     */
+    private BigDecimal actOrderNo;
+
+    /**
+     * 住院号
+     */
+    private String inpatientNo;
+
+    /**
+     * 老的开始时间
+     */
+    private Date startTime;
+
+    /**
+     * 老的结束时间
+     */
+    private Date endTime;
+
+    /**
+     * 要修改的开始时间
+     */
+    private Date newStartTime;
+
+    /**
+     * 要修改的结束时间
+     */
+    private Date newEndTime;
+
+    /**
+     * 审核状态:1-未审核;2-审核通过;3-审核不通过;4: 数据回撤
+     */
+    private Integer auditFlag;
+
+    /**
+     * 医嘱修改申请人
+     */
+    private String proposer;
+
+
+    /**
+     * 修改申请人的姓名
+     */
+    private String proposerName;
+
+    /**
+     * 医嘱修改申请时间
+     */
+    private Date proposeTime;
+
+    /**
+     * 审核人
+     */
+    private String auditStaff;
+
+    /**
+     * 审核时间
+     */
+    private Date auditTime;
+
+    /**
+     * 审核备注
+     */
+    private String auditRemark;
+
+    /**
+     * 医嘱修改申请备注
+     */
+    private String proposeRemark;
+
+    /**
+     * 患者的姓名
+     */
+    private String patientName;
+
+    /**
+     * 频次
+     */
+    private String frequCode;
+
+    /**
+     * 病房
+     */
+    private String wardCode;
+
+    /**
+     * 医嘱名称
+     */
+    private String orderName;
+
+    /**
+     * 这个不是 数据库中的字段 用来批量接受 审核信息的
+     */
+    @TableField(exist = false)
+    private ArrayList<TYzActOrderModify> list;
 
 }

+ 50 - 0
src/main/java/thyyxxk/webserver/service/datamodify/SecondFefundService.java

@@ -0,0 +1,50 @@
+package thyyxxk.webserver.service.datamodify;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import thyyxxk.webserver.config.exception.ExceptionEnum;
+import thyyxxk.webserver.dao.his.datamodify.SecondFefundDao;
+import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.datamodify.MzChargeDetail;
+import thyyxxk.webserver.utils.ResultVoUtil;
+import thyyxxk.webserver.utils.TokenUtil;
+
+/**
+ * <p>
+ * 描述: 二次退费
+ * </p>
+ *
+ * @author xc
+ * @date 2021-05-18 11:22
+ */
+@Slf4j
+@Service
+@DS("dev")
+public class SecondFefundService {
+    private final SecondFefundDao dao;
+
+    @Autowired
+    public SecondFefundService(SecondFefundDao dao) {
+        this.dao = dao;
+    }
+
+    public ResultVo<MzChargeDetail> getOrderInformation(String patientId, Integer times, String chargeItemCode) {
+        try {
+            MzChargeDetail pojo = dao.getOrderInformation(patientId, times, chargeItemCode);
+            if (pojo != null) {
+                return ResultVoUtil.success(pojo);
+            }
+            return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST);
+        } catch (Exception e) {
+            return ResultVoUtil.fail(ExceptionEnum.INTERNAL_SERVER_ERROR, "该患者有两条记录。");
+        }
+    }
+
+    public ResultVo<MzChargeDetail> xiuGaiTuiFei(String patientId, Integer times, String chargeItemCode, Integer quantity) {
+        log.info("修改二次退费:操作人:{},门诊号:{},次数:{},收费编码:{},退费数量:{}", TokenUtil.getTokenUserId(), patientId, times, chargeItemCode, quantity);
+        dao.xiuGaiTuiFei(patientId, times, chargeItemCode, quantity);
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "修改成功");
+    }
+}

+ 1 - 3
src/main/java/thyyxxk/webserver/service/datamodify/YzActOrderModifyService.java

@@ -60,7 +60,6 @@ public class YzActOrderModifyService {
         return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST);
     }
 
-
     /**
      * 提交医嘱修改申请 这里是多个医嘱修改
      *
@@ -120,7 +119,7 @@ public class YzActOrderModifyService {
     }
 
     /**
-     * 通知有权限的人
+     * 通知有医嘱修改审核权限的人
      */
     private void sendMessage() {
         List<String> admins = dao.selectAdmins();
@@ -130,5 +129,4 @@ public class YzActOrderModifyService {
         String message = obj.toJSONString();
         admins.forEach(code -> WebSocketServer.sendMessageByUserCode(code, message));
     }
-
 }

+ 32 - 18
src/main/java/thyyxxk/webserver/service/datamodify/YzActOrderModifyVerifyService.java

@@ -91,7 +91,7 @@ public class YzActOrderModifyVerifyService {
         QueryWrapper<TYzActOrderModify> qw = new QueryWrapper<>();
         qw.select("act_order_no,inpatient_no,start_time,end_time,new_start_time," +
                 "new_end_time,audit_flag,proposer,proposer_name=(select name from a_employee_mi where code=proposer),propose_time," +
-                "audit_staff,audit_time,audit_remark,propose_remark,order_time,new_order_time," +
+                "audit_staff,audit_time,audit_remark,propose_remark," +
                 "patient_name,frequ_code,ward_code,order_name");
         qw.eq("act_order_no", actOrderNo);
         return dao.selectOne(qw);
@@ -111,32 +111,46 @@ public class YzActOrderModifyVerifyService {
         JSONObject obj = new JSONObject();
         obj.put("name", "systemNotification");
         if (auditFlag == YZ_APPROVED) {
-            //改变医嘱表中数据
-            if (dao.yzActOrderModify(pojo.getNewStartTime(), pojo.getNewEndTime(), pojo.getNewOrderTime(), pojo.getActOrderNo())) {
-                //改变状态
-                if (dao.shenHeZhuangTaiGaiBian(auditFlag, TokenUtil.getTokenUserId(), actOrderNo, auditRemark)) {
-                    obj.put("message", String.format("用户【%s】,医嘱号为【%s】已通过审核。", pojo.getProposerName(), actOrderNo));
-                    log.info("医嘱修改成功原数据===>审核人:{},开始时间:{},结束时间:{},医嘱时间:{},医嘱号:{}",
-                            TokenUtil.getTokenUserId(), pojo.getStartTime(), pojo.getEndTime(), pojo.getOrderTime(), pojo.getActOrderNo());
-                    log.info("医嘱修改成功原数据===>审核人:{},开始时间:{},结束时间:{},医嘱时间:{},医嘱号:{}",
-                            TokenUtil.getTokenUserId(), pojo.getNewStartTime(), pojo.getNewEndTime(), pojo.getNewOrderTime(), pojo.getActOrderNo());
-                }
+            if (judgeTheTime(pojo)) {
+                dao.shenHeZhuangTaiGaiBian(3, TokenUtil.getTokenUserId(), actOrderNo, "结束时间不能大于开始时间。");
+                obj.put("type", "error");
+                obj.put("message", String.format("用户【%s】,医嘱号为【%s】已驳回,驳回原因:%s", pojo.getProposerName(), actOrderNo, "结束时间不能大于开始时间。"));
+                log.info("医嘱修改审核,操作:{驳回},操作员:{},驳回医嘱号:{}", TokenUtil.getTokenUserId(), pojo.getActOrderNo());
+                return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "结束时间不能大于开始时间,已自动驳回。");
+            } else {
+                dao.yzActOrderModify(pojo.getNewStartTime(), pojo.getNewEndTime(), pojo.getActOrderNo());
+                dao.shenHeZhuangTaiGaiBian(auditFlag, TokenUtil.getTokenUserId(), actOrderNo, auditRemark);
+                obj.put("type", "success");
+                obj.put("message", String.format("用户【%s】,医嘱号为【%s】已通过审核。", pojo.getProposerName(), actOrderNo));
+                log.info("医嘱修改成功===>审核人:{},数据:{}",
+                        TokenUtil.getTokenUserId(), JSON.toJSONStringWithDateFormat(pojo, GetDateFormat.DATE_TIME));
             }
         } else if (auditFlag == YZ_REJECT) {
             dao.shenHeZhuangTaiGaiBian(auditFlag, TokenUtil.getTokenUserId(), actOrderNo, auditRemark);
             obj.put("message", String.format("用户【%s】,医嘱号为【%s】已驳回,驳回原因:%s。", pojo.getProposerName(), actOrderNo, auditRemark));
+            obj.put("type", "error");
             log.info("医嘱修改审核,操作:{驳回},操作员:{},驳回医嘱号:{}", TokenUtil.getTokenUserId(), pojo.getActOrderNo());
         } else if (auditFlag == YZ_WITHDRAW) {
             //数据回撤
-            if (dao.shuJuHuiChe(pojo.getStartTime(), pojo.getEndTime(), pojo.getOrderTime(), pojo.getActOrderNo())) {
-                if (dao.shenHeZhuangTaiGaiBian(auditFlag, TokenUtil.getTokenUserId(), actOrderNo, auditRemark)) {
-                    obj.put("message", String.format("用户【%s】,医嘱号为【%s】数据回撤,回撤原因:%s。", pojo.getProposerName(), actOrderNo, auditRemark));
-                    log.info("医嘱修改审核,操作:{数据回撤成功},操作人员:{},数据:{}", TokenUtil.getTokenUserId(), JSON.toJSONStringWithDateFormat(pojo, GetDateFormat.DATE_TIME));
-                }
-            }
+            dao.shuJuHuiChe(pojo.getStartTime(), pojo.getEndTime(), pojo.getActOrderNo());
+            dao.shenHeZhuangTaiGaiBian(auditFlag, TokenUtil.getTokenUserId(), actOrderNo, auditRemark);
+            obj.put("message", String.format("用户【%s】,医嘱号为【%s】数据撤回,撤回原因:%s。", pojo.getProposerName(), actOrderNo, auditRemark));
+            obj.put("type", "error");
+            log.info("医嘱修改审核,操作:{数据撤回成功},操作人员:{},数据:{}", TokenUtil.getTokenUserId(), JSON.toJSONStringWithDateFormat(pojo, GetDateFormat.DATE_TIME));
         }
         String message = obj.toJSONString();
         WebSocketServer.sendMessageByUserCode(pojo.getProposer(), message);
-        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "操作成功,以通知申请人员。");
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "操作成功,已通知申请人员。");
+    }
+
+    public Boolean judgeTheTime(TYzActOrderModify pojo) {
+        if (pojo.getNewEndTime() != null) {
+            if (pojo.getNewStartTime() != null) {
+                return pojo.getNewEndTime().getTime() < pojo.getNewStartTime().getTime();
+            } else {
+                return pojo.getNewEndTime().getTime() < pojo.getStartTime().getTime();
+            }
+        }
+        return false;
     }
 }