Ver código fonte

Merge remote-tracking branch 'origin/master'

lzu918 6 meses atrás
pai
commit
8562578ed6

+ 2 - 1
ruoyi-zzb/src/main/java/com/ruoyi/zzb/common/MyMetaObjectHandler.java

@@ -14,9 +14,10 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
     public void insertFill(MetaObject metaObject) {
         this.strictInsertFill(metaObject, "createTime", Date.class, new Date());
         this.strictInsertFill(metaObject, "updateTime", Date.class, new Date());
+        this.strictInsertFill(metaObject, "approveTime", Date.class, new Date());
         this.strictInsertFill(metaObject, "isDelete", Integer.class, 0);
         this.strictInsertFill(metaObject, "flag", Integer.class, 1);
-        this.strictInsertFill(metaObject, "approveStatusCode", Integer.class, 0);
+        this.strictInsertFill(metaObject, "approveStatusCode", String.class, "0");
         this.strictInsertFill(metaObject, "approveStatusName", String.class, "审核中");
         this.strictInsertFill(metaObject, "fileOrder", Integer.class, 1);
     }

+ 1 - 1
ruoyi-zzb/src/main/java/com/ruoyi/zzb/zdcx/controller/ZdcxController.java

@@ -31,7 +31,7 @@ public class ZdcxController {
         }
         try {
             return RspResult.success(zdcxService.getDataByPage(reqBody));
-        }catch (Exception e){
+        } catch (Exception e){
             log.error("根据条件分页查询制度信息发生异常", e);
             return RspResult.error("根据条件分页查询制度信息发生异常 - " + e.getMessage());
         }

+ 1 - 2
ruoyi-zzb/src/main/java/com/ruoyi/zzb/zdcx/domain/Zdcx.java

@@ -18,8 +18,7 @@ import java.util.Date;
 @TableName("STANDARD_DOC_INFO")
 public class Zdcx {
 
-    @TableId(type = IdType.ASSIGN_ID, value = "ID")
-    @TableField("ID")
+    @TableId(value = "ID", type = IdType.ASSIGN_ID)
     private String id;
     // 文号
     @TableField("DOC_ID")

+ 3 - 9
ruoyi-zzb/src/main/java/com/ruoyi/zzb/zdcx/service/ZdcxService.java

@@ -42,14 +42,8 @@ public class ZdcxService {
         String endTime = reqBody.getString("endTime");
         // 查询标志  0:and,1:or
         Integer queryFlag = reqBody.getInteger("queryFlag");
-        Integer pageIndex = reqBody.getInteger("pageIndex");
-        if(null == pageIndex){
-            pageIndex = 1;
-        }
-        Integer pageSize = reqBody.getInteger("pageSize");
-        if(null == pageSize){
-            pageSize = 10;
-        }
+        Integer pageIndex = reqBody.getInteger("pageIndex") == null? 1:reqBody.getInteger("pageIndex");
+        Integer pageSize = reqBody.getInteger("pageSize") == null? 10:reqBody.getInteger("pageSize");
         // 构造查询条件
         QueryWrapper<Zdcx> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("FLAG", 1);
@@ -137,7 +131,7 @@ public class ZdcxService {
         // 录入人信息
         zdcx.setCreateUserId(String.valueOf(user.getUserId()));
         zdcx.setCreateUserName(user.getNickName());
-        zdcx.setCreateUserPoliceNo(user.getUserName());   // userName属性实际存储用户警号
+        zdcx.setCreateUserPoliceNo(user.getPoliceNo());
         SysDept dept = user.getDept();
         zdcx.setCreateDeptName(dept.getDeptName());
         zdcx.setCreateDeptCode(String.valueOf(user.getDeptId()));

+ 48 - 10
ruoyi-zzb/src/main/java/com/ruoyi/zzb/zyww/controller/ZywwController.java

@@ -1,28 +1,22 @@
 package com.ruoyi.zzb.zyww.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.config.RuoYiConfig;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.common.utils.file.FileUploadUtils;
 import com.ruoyi.zzb.common.CommonUtils;
 import com.ruoyi.zzb.common.RspResult;
 import com.ruoyi.zzb.common.SnowflakeIdGenerator;
 import com.ruoyi.zzb.zyww.domain.BaseFileInfo;
-import com.ruoyi.zzb.zyww.domain.Zyww;
+import com.ruoyi.zzb.zyww.domain.ZywwApplyInfo;
 import com.ruoyi.zzb.zyww.domain.ZywwFileDTO;
-import com.ruoyi.zzb.zyww.mapper.BaseFileInfoMapper;
 import com.ruoyi.zzb.zyww.service.ZywwService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import com.ruoyi.framework.config.ServerConfig;
 
-import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 
 @Slf4j
@@ -89,7 +83,7 @@ public class ZywwController {
      * @return
      */
     @PostMapping("/save")
-    public JSONObject save(@RequestBody Zyww zyww, @RequestBody ZywwFileDTO zywwFileDTO, @RequestParam("moduleCode") String moduleCode){
+    public JSONObject save(@RequestBody ZywwApplyInfo zywwApplyInfo, @RequestBody ZywwFileDTO zywwFileDTO, @RequestParam("moduleCode") String moduleCode){
         try {
             // 文件上传路径
             String fileStoragePath = RuoYiConfig.getUploadPath();
@@ -101,7 +95,7 @@ public class ZywwController {
                 String applyFormId = String.valueOf(generator.nextId());
                 List<BaseFileInfo> baseFileInfoList = zywwService.processUploadAndBuildParams(zywwFileDTO, moduleCode, applyFormId, fileStoragePath);
                 // 等上传的文件写盘成功,再向数据库写入对应的申请信息和与之关联的文件信息
-                zywwService.saveZywwApplyInfoAndBaseFileInfos(zyww, user, applyFormId, baseFileInfoList);
+                zywwService.saveZywwApplyInfoAndBaseFileInfos(zywwApplyInfo, user, applyFormId, baseFileInfoList);
                 return RspResult.success("【住院慰问】申请信息保存成功");
             }
             return RspResult.error("用户信息为空,【住院慰问】申请信息保存失败");
@@ -111,6 +105,50 @@ public class ZywwController {
         }
     }
 
+    @PostMapping("/approve")
+    public JSONObject approve(@RequestBody JSONObject reqBody){
+        String applyFormId = reqBody.getString("applyFormId");
+        String optFlag = reqBody.getString("optFlag");
+        if(StringUtils.isBlank(applyFormId) || StringUtils.isBlank(optFlag)){
+            log.error("审批参数为空");
+            return RspResult.error("审批参数为空");
+        }
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        try {
+            if(null != user){
+                if(zywwService.approveAndSaveApproveInfo(applyFormId, optFlag, user)){
+                    return RspResult.success("【住院慰问】申请信息审批成功");
+                }
+            }
+            return RspResult.error("用户信息为空,【住院慰问】申请信息审批失败");
+        } catch (Exception e){
+            log.error("【住院慰问】申请信息审批失败", e);
+            return RspResult.error("【住院慰问】申请信息审批失败 - " + e.getMessage());
+        }
+    }
+
+    /**
+     * 根据 审批状态码 分页查询【住院慰问】申请信息列表
+     * @param reqBody
+     * @return
+     */
+    @PostMapping("/query")
+    public JSONObject query(@RequestBody JSONObject reqBody){
+        // 审批状态码  ---0:审批中,1:审批通过,2:审批驳回
+        Integer approveStatus = reqBody.getInteger("approveStatus");
+        String type = reqBody.getString("type");
+        if(approveStatus == null || StringUtils.isBlank(type)){
+            log.error("查询参数为空");
+            return RspResult.error("查询参数为空");
+        }
+        try {
+            return RspResult.success(zywwService.getDataByPage(approveStatus, type, reqBody));
+        } catch (Exception e){
+            log.error("根据条件分页查询【住院慰问】申请信息发生异常", e);
+            return RspResult.error("根据条件分页查询【住院慰问】申请信息发生异常 - " + e.getMessage());
+        }
+    }
+
 
 
 

+ 1 - 1
ruoyi-zzb/src/main/java/com/ruoyi/zzb/zyww/domain/Zyww.java → ruoyi-zzb/src/main/java/com/ruoyi/zzb/zyww/domain/ZywwApplyInfo.java

@@ -12,7 +12,7 @@ import java.util.Date;
 @AllArgsConstructor
 @NoArgsConstructor
 @TableName("JIUZHU_HOSPITAL_APPLY_INFO")
-public class Zyww {
+public class ZywwApplyInfo {
 
     private String applyFormId;
     private String deptName;

+ 42 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/zyww/domain/ZywwApproveInfo.java

@@ -0,0 +1,42 @@
+package com.ruoyi.zzb.zyww.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("ZZB_BASE_APPOLVE_INFO")
+public class ZywwApproveInfo {
+
+    private String moduleCode;
+
+    @TableId(value = "APPROVE_ID", type = IdType.ASSIGN_ID)
+    private String approveId;
+
+    private String applyFormId;
+    private String createUserId;
+    private String createUserName;
+    private String createUserPoliceNo;
+    private Date createTime;
+
+    private String approveUserId;
+    private String approveUserName;
+    private String approveUserPoliceNo;
+
+    @TableField(value = "APPROVE_TIME", fill = FieldFill.INSERT)
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date approveTime;
+
+    private String approveResultCode;
+    private String approveResultDesc;
+    private String approveDesc;
+
+}

+ 2 - 2
ruoyi-zzb/src/main/java/com/ruoyi/zzb/zyww/mapper/ZywwMapper.java → ruoyi-zzb/src/main/java/com/ruoyi/zzb/zyww/mapper/ZywwApplyInfoMapper.java

@@ -3,10 +3,10 @@ package com.ruoyi.zzb.zyww.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.common.annotation.DataSource;
 import com.ruoyi.common.enums.DataSourceType;
-import com.ruoyi.zzb.zyww.domain.Zyww;
+import com.ruoyi.zzb.zyww.domain.ZywwApplyInfo;
 import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
 @DataSource(value = DataSourceType.SLAVE)
-public interface ZywwMapper extends BaseMapper<Zyww> {
+public interface ZywwApplyInfoMapper extends BaseMapper<ZywwApplyInfo> {
 }

+ 12 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/zyww/mapper/ZywwApproveInfoMapper.java

@@ -0,0 +1,12 @@
+package com.ruoyi.zzb.zyww.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.common.annotation.DataSource;
+import com.ruoyi.common.enums.DataSourceType;
+import com.ruoyi.zzb.zyww.domain.ZywwApproveInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+@DataSource(value = DataSourceType.SLAVE)
+public interface ZywwApproveInfoMapper extends BaseMapper<ZywwApproveInfo> {
+}

+ 103 - 16
ruoyi-zzb/src/main/java/com/ruoyi/zzb/zyww/service/ZywwService.java

@@ -1,17 +1,26 @@
 package com.ruoyi.zzb.zyww.service;
 
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.annotation.DataSource;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.enums.DataSourceType;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.file.FileUploadUtils;
 import com.ruoyi.framework.config.ServerConfig;
 import com.ruoyi.zzb.common.CommonUtils;
+import com.ruoyi.zzb.zdcx.domain.Zdcx;
 import com.ruoyi.zzb.zyww.domain.BaseFileInfo;
-import com.ruoyi.zzb.zyww.domain.Zyww;
+import com.ruoyi.zzb.zyww.domain.ZywwApplyInfo;
+import com.ruoyi.zzb.zyww.domain.ZywwApproveInfo;
 import com.ruoyi.zzb.zyww.domain.ZywwFileDTO;
 import com.ruoyi.zzb.zyww.mapper.BaseFileInfoMapper;
-import com.ruoyi.zzb.zyww.mapper.ZywwMapper;
+import com.ruoyi.zzb.zyww.mapper.ZywwApplyInfoMapper;
+import com.ruoyi.zzb.zyww.mapper.ZywwApproveInfoMapper;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.core.io.FileSystemResource;
@@ -20,6 +29,8 @@ import org.springframework.mail.javamail.MimeMessageHelper;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeMessage;
 import java.io.File;
@@ -34,8 +45,8 @@ import java.util.List;
 public class ZywwService {
 
     @Autowired
-    private ZywwMapper zywwMapper;
-    @Autowired
+    private ZywwApplyInfoMapper zywwApplyInfoMapper;
+    @Resource
     private JavaMailSender mailSender;
     @Value("${spring.mail.username}")
     private String from;
@@ -43,6 +54,8 @@ public class ZywwService {
     private ServerConfig serverConfig;
     @Autowired
     private BaseFileInfoMapper baseFileInfoMapper;
+    @Autowired
+    private ZywwApproveInfoMapper zywwApproveInfoMapper;
 
     /**
      * 发送一条带附件的邮件消息
@@ -169,15 +182,15 @@ public class ZywwService {
      * @return
      */
     @Transactional
-    public void saveZywwApplyInfoAndBaseFileInfos(Zyww zyww, SysUser user, String applyFormId, List<BaseFileInfo> baseFileInfoList){
+    public void saveZywwApplyInfoAndBaseFileInfos(ZywwApplyInfo zywwApplyInfo, SysUser user, String applyFormId, List<BaseFileInfo> baseFileInfoList){
         // 设置当前登录的用户信息
-        zyww.setCreateUserId(String.valueOf(user.getUserId()));
-        zyww.setCreateUserName(user.getNickName());
-        zyww.setCreateUserPoliceNo(user.getRemark());
+        zywwApplyInfo.setCreateUserId(String.valueOf(user.getUserId()));
+        zywwApplyInfo.setCreateUserName(user.getNickName());
+        zywwApplyInfo.setCreateUserPoliceNo(user.getRemark());
         // 插入申请信息
-        zyww.setApplyFormId(applyFormId);
-        int rows = zywwMapper.insert(zyww);
-        if(rows > 0){
+        zywwApplyInfo.setApplyFormId(applyFormId);
+        int insertRows = zywwApplyInfoMapper.insert(zywwApplyInfo);
+        if(insertRows > 0){
             log.info("【住院慰问】申请信息保存成功");
             // 批量插入和申请信息关联的文件信息
             baseFileInfoMapper.batchInsertBaseFileInfos(baseFileInfoList);
@@ -192,12 +205,52 @@ public class ZywwService {
      */
     @Transactional
     public boolean delZywwApplyInfoAndBaseFileInfos(String applyFormId){
-        int rows = zywwMapper.deleteById(applyFormId);
-        if(rows > 0){
+        int delRows = zywwApplyInfoMapper.deleteById(applyFormId);
+        if(delRows > 0){
             log.info("【住院慰问】申请信息删除成功  applyFormId:{}", applyFormId);
-            int baseFileInfoRows = baseFileInfoMapper.deleteById(applyFormId);
-            if(baseFileInfoRows > 0){
-                log.info("【住院慰问】申请信息关联的文件信息删除成功  applyFormId:{},删除的数据条数:{}", applyFormId, baseFileInfoRows);
+            int delBaseFileInfoRows = baseFileInfoMapper.deleteById(applyFormId);
+            if(delBaseFileInfoRows > 0){
+                log.info("【住院慰问】申请信息关联的文件信息删除成功  applyFormId:{},删除的数据条数:{}", applyFormId, delBaseFileInfoRows);
+                return true;
+            }
+        }
+        return false;
+    }
+
+
+    /**
+     * 审批一条【住院慰问】申请信息,并插入一条审批记录
+     * @return
+     */
+    @Transactional
+    public boolean approveAndSaveApproveInfo(String applyFormId, String optFlag, SysUser user){
+        // 审批一条【住院慰问】申请信息
+        UpdateWrapper<ZywwApplyInfo> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("APPLY_FORM_ID", applyFormId);
+        ZywwApplyInfo zywwApplyInfoDTO = new ZywwApplyInfo();
+        zywwApplyInfoDTO.setApproveStatusCode(optFlag);
+        String optDesc = "1".equals(optFlag)? "同意":"驳回";
+        zywwApplyInfoDTO.setApproveStatusName(optDesc);
+        int updateRows = zywwApplyInfoMapper.update(zywwApplyInfoDTO, updateWrapper);
+        if(updateRows > 0){
+            log.info("【住院慰问】申请信息审批成功  applyFormId:{},optDesc:{}", applyFormId, optDesc);
+            // 插入一条审批记录
+            ZywwApproveInfo zywwApproveInfo = new ZywwApproveInfo();
+            zywwApproveInfo.setModuleCode("zyww");
+            zywwApproveInfo.setApplyFormId(applyFormId);
+            ZywwApplyInfo zywwApplyInfo = zywwApplyInfoMapper.selectById(applyFormId);
+            zywwApproveInfo.setCreateUserId(zywwApplyInfo.getCreateUserId());
+            zywwApproveInfo.setCreateUserName(zywwApplyInfo.getCreateUserName());
+            zywwApproveInfo.setCreateUserPoliceNo(zywwApplyInfo.getCreateUserPoliceNo());
+            zywwApproveInfo.setCreateTime(zywwApplyInfo.getCreateTime());
+            zywwApproveInfo.setApproveUserId(String.valueOf(user.getUserId()));
+            zywwApproveInfo.setApproveUserName(user.getUserName());
+            zywwApproveInfo.setApproveUserPoliceNo(user.getPoliceNo());
+            zywwApproveInfo.setApproveResultCode(optFlag);
+            zywwApproveInfo.setApproveResultDesc(optDesc);
+            int insertRows = zywwApproveInfoMapper.insert(zywwApproveInfo);
+            if(insertRows > 0){
+                log.info("【住院慰问】审批信息保存成功  applyFormId:{},approveUserPoliceNo:{},approveResultDesc:{}", applyFormId, user.getPoliceNo(), optDesc);
                 return true;
             }
         }
@@ -205,6 +258,40 @@ public class ZywwService {
     }
 
 
+    /**
+     * 根据 审批状态码 分页查询【住院慰问】申请信息
+     * @param
+     * @return
+     */
+    public Page<ZywwApplyInfo> getDataByPage(Integer approveStatus, String type, JSONObject reqBody){
+        Integer pageIndex = reqBody.getInteger("pageIndex") == null? 1:reqBody.getInteger("pageIndex");
+        Integer pageSize = reqBody.getInteger("pageSize") == null? 10:reqBody.getInteger("pageSize");
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        // 构造查询条件
+        QueryWrapper<ZywwApplyInfo> queryWrapper = new QueryWrapper<>();
+        // 1.查询当前用户能看到的整个系统中的全量待审批记录(暂不考虑部门)
+        if (approveStatus != null && approveStatus == 0 && "approve".equals(type)){
+            queryWrapper.eq("APPROVE_STATUS_CODE", 0);
+        }
+        // 2.查询当前用户提交的全量待审批记录
+        if (approveStatus != null && approveStatus == 0 && "apply".equals(type)){
+            queryWrapper.eq("CREATE_USER_POLICE_NO", user.getPoliceNo());
+            queryWrapper.eq("APPROVE_STATUS_CODE", 0);
+        }
+        // 3.查询当前用户提交的全量已审批记录
+        if (approveStatus != null && approveStatus != 0 && "apply".equals(type)){
+            queryWrapper.eq("CREATE_USER_POLICE_NO", user.getPoliceNo());
+            // 审批通过/审批驳回均属于已审批状态
+            queryWrapper.eq("APPROVE_STATUS_CODE", 1);
+            queryWrapper.or();
+            queryWrapper.eq("APPROVE_STATUS_CODE", 2);
+        }
+        queryWrapper.orderByDesc("CREATE_TIME");
+        Page<ZywwApplyInfo> page = new Page<>(pageIndex, pageSize);
+        return zywwApplyInfoMapper.selectPage(page, queryWrapper);
+    }
+
+
 
 
 

+ 1 - 1
ruoyi-zzb/src/main/resources/mapper/BaseFileInfoMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.zzb.zyww.domain.BaseFileInfo">
+<mapper namespace="com.ruoyi.zzb.zywwApplyInfo.mapper.BaseFileInfoMapper">
 
 	<resultMap id="BaseFileInfoResultMap" type="BaseFileInfo" >
 		<id property="moduleCode" jdbcType="VARCHAR" column="MODULE_CODE"/>