|
@@ -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);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
|