Commit f635f02d authored by 竹天卫's avatar 竹天卫

审批管理每个检测项可以增加多个人员

parent be2dfeca
......@@ -4,6 +4,7 @@ import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.web.client.RestTemplate;
import java.util.TimeZone;
......@@ -14,6 +15,7 @@ import java.util.TimeZone;
* @author zhutianwei
*/
@SpringBootApplication
@EnableScheduling
@MapperScan("cn.wise.sc.cement.business.mapper")
public class TJCementApplication {
......
......@@ -17,6 +17,7 @@ import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
......@@ -69,6 +70,20 @@ public class EquipmentController {
return BaseResponse.errorMsg("失败!");
}
//设备检定是否到期 定时任务 每天上午6点提醒
@ApiOperation(value = "设备检定是否到期")
@PostMapping("/checktestDate")
public BaseResponse checktestDate() {
try {
return equipmentService.checktestDate();
} catch (Exception e) {
log.debug("设备检定是否到期{}", e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "设备检定历史")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "equipmentId", value = "设备表id", paramType = "query", dataType = "Integer")
......
......@@ -72,7 +72,8 @@ public class SysUserMessage implements Serializable {
private Integer isDeal;
public interface MessageType {
int ENTRUST = 1;
int ENTRUST = 1; //委托
int EQUIPMENT = 2; //设备检定
}
......
......@@ -10,6 +10,7 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import javax.websocket.server.ServerEndpoint;
import java.util.List;
/**
* <p>
......@@ -24,6 +25,6 @@ public interface SysApprovalMapper extends BaseMapper<SysApproval> {
IPage<ApprovalVo> getPage(@Param("page") Page page);
@Select("select user_id from sys_approval where name=#{name} and status=1 ")
Integer getApprovalId(String name);
List<Integer> getApprovalId(String name);
}
......@@ -6,6 +6,7 @@
select sa.*, su.name as userName
from sys_approval sa
left join sys_user su on su.id = sa.user_id
order by sa.name
</select>
</mapper>
......@@ -34,6 +34,8 @@ public interface IEquipmentService extends IService<Equipment> {
BaseResponse<String> test(EquipmentTestQuery query);
BaseResponse<String> checktestDate();
BaseResponse<IPage<EquipmentTestVo>> getTestPage(PageQuery pageQuery, Integer equipmentId);
BaseResponse<EquipmentTestVo> getTestDetail(Integer id);
......
......@@ -142,11 +142,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
params.put("projectName", projectName);
params.put("projectCode", projectCode);
params.put("isUrgent", isUrgent);
Integer approvalId = sysApprovalMapper.getApprovalId("委托评审");
if (approvalId == null) {
List<Integer> approvalIdList = sysApprovalMapper.getApprovalId("委托评审");
if (approvalIdList == null) {
return BaseResponse.errorMsg("委托评审信息错误");
}
if (loginUser.getId() != approvalId) {
if (!approvalIdList.contains(loginUser.getId())) {
params.put("userId", loginUser.getId());
}
Page<EntrustVo> page = new Page<>(pageQuery.getPageNo(), pageQuery.getPageSize());
......@@ -290,25 +290,31 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
}
logsService.saveLog(SysLogs.ObjType.ENTRUST_LOG, entrust.getId(), "提交了委托单", null);
//消息推送
Integer approvalId = sysApprovalMapper.getApprovalId("委托评审");
if (approvalId == null) {
List<Integer> approvalIdList = sysApprovalMapper.getApprovalId("委托评审");
if (approvalIdList == null) {
return BaseResponse.errorMsg("委托评审信息错误");
}
String userIds = "";
for(Integer approvalId : approvalIdList ){
SysUser approvalUser = userService.getById(approvalId);
if(approvalUser == null){
return BaseResponse.errorMsg("委托评审信息错误");
}
BaseResponse wrapper = userMessageService.sendMessage(approvalId, "您有一条新的委托单申请等待评审",entrust.getId(), SysUserMessage.MessageType.ENTRUST);
if(wrapper.getCode() != 200){
return wrapper;
}
//发送企业微信消息内容
if(StringUtils.isNotBlank(approvalUser.getWxId())){
String content="你好!"+loginUser.getName()+"向您申请了一条委托,请前往\n" +
Global.systemUrl +"进行评审。";
weiXinService.sendTextMessage(approvalUser.getWxId(), content);
userIds = userIds.equals("")?approvalUser.getWxId():userIds+"|"+approvalUser.getWxId();
}
}
//发送企业微信消息内容
String content="你好!"+loginUser.getName()+"向您申请了一条委托,请前往\n" +
Global.systemUrl+"进行评审。";
System.out.println("**************************content**********************");
System.out.println(content);
weiXinService.sendTextMessage(userIds, content);
return BaseResponse.okData(entrust);
}
......@@ -521,11 +527,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
if (loginUser == null) {
return BaseResponse.errorMsg("请登录账号");
}
Integer approvalId = sysApprovalMapper.getApprovalId("委托评审");
if (approvalId == null) {
List<Integer> approvalIdList = sysApprovalMapper.getApprovalId("委托评审");
if (approvalIdList == null) {
return BaseResponse.errorMsg("委托评审信息错误");
}
if (loginUser.getId() != approvalId) {
if (!approvalIdList.contains(loginUser.getId())) {
return BaseResponse.errorMsg("权限不足");
}
if (id == null) {
......@@ -580,11 +586,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
if (loginUser == null) {
return BaseResponse.errorMsg("请登录账号");
}
Integer approvalId = sysApprovalMapper.getApprovalId("委托评审");
if (approvalId == null) {
List<Integer> approvalIdList = sysApprovalMapper.getApprovalId("委托评审");
if (approvalIdList == null) {
return BaseResponse.errorMsg("委托评审信息错误");
}
if (loginUser.getId() != approvalId) {
if (!approvalIdList.contains(loginUser.getId())) {
return BaseResponse.errorMsg("权限不足");
}
if (id == null) {
......@@ -624,11 +630,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
if (loginUser == null) {
return BaseResponse.errorMsg("请登录账号");
}
Integer approvalId = sysApprovalMapper.getApprovalId("委托评审");
if (approvalId == null) {
List<Integer> approvalIdList = sysApprovalMapper.getApprovalId("委托评审");
if (approvalIdList == null) {
return BaseResponse.errorMsg("委托评审信息错误");
}
if (loginUser.getId() != approvalId) {
if (!approvalIdList.contains(loginUser.getId())) {
return BaseResponse.errorMsg("权限不足");
}
if (sampleHandleId == null) {
......@@ -651,11 +657,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
if (loginUser == null) {
return BaseResponse.errorMsg("请登录账号");
}
Integer approvalId = sysApprovalMapper.getApprovalId("委托评审");
if (approvalId == null) {
List<Integer> approvalIdList = sysApprovalMapper.getApprovalId("委托评审");
if (approvalIdList == null) {
return BaseResponse.errorMsg("委托评审信息错误");
}
if (loginUser.getId() != approvalId) {
if (!approvalIdList.contains(loginUser.getId())) {
return BaseResponse.errorMsg("权限不足");
}
if (id == null) {
......@@ -763,11 +769,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
if (loginUser == null) {
return BaseResponse.errorMsg("请登录账号");
}
Integer approvalId = sysApprovalMapper.getApprovalId("委托评审");
if (approvalId == null) {
List<Integer> approvalIdList = sysApprovalMapper.getApprovalId("委托评审");
if (approvalIdList == null) {
return BaseResponse.errorMsg("委托评审信息错误");
}
if (loginUser.getId() != approvalId) {
if (!approvalIdList.contains(loginUser.getId())) {
return BaseResponse.errorMsg("没有评审权限");
}
EntrustVo entrustVo = entrustMapper.getDetail(query.getId());
......@@ -1601,11 +1607,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
params.put("clientId", clientId);
params.put("projectName", projectName);
params.put("projectCode", projectCode);
Integer approvalId = sysApprovalMapper.getApprovalId("数据校核");
if (approvalId == null) {
List<Integer> approvalIdList = sysApprovalMapper.getApprovalId("数据校核");
if (approvalIdList == null) {
return BaseResponse.errorMsg("数据校核信息错误");
}
if (loginUser.getId() != approvalId) {
if (!approvalIdList.contains(loginUser.getId())) {
return BaseResponse.errorMsg("当前登录账号没有数据校核权限");
}
Page<EntrustVo> page = new Page<>(pageQuery.getPageNo(), pageQuery.getPageSize());
......@@ -2121,20 +2127,29 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
if (sampleNoCheckList == null || sampleNoCheckList.size() == 0) {
entrust.setStatus(8);
//校核完成之后 ,提醒评审人员查看
Integer approvalId = sysApprovalMapper.getApprovalId("委托评审");
if (approvalId == null) {
List<Integer> approvalIdList = sysApprovalMapper.getApprovalId("委托评审");
if (approvalIdList == null) {
return BaseResponse.errorMsg("委托评审信息错误");
}
String userIds = "";
for(Integer approvalId : approvalIdList ){
SysUser approvalUser = userService.getById(approvalId);
if(approvalUser == null){
return BaseResponse.errorMsg("委托评审信息错误");
}
//发送企业微信消息内容
BaseResponse wrapper = userMessageService.sendMessage(approvalId, "您有一条委托单校核完成",entrust.getId(), SysUserMessage.MessageType.ENTRUST);
if(wrapper.getCode() != 200){
return wrapper;
}
if(StringUtils.isNotBlank(approvalUser.getWxId())){
userIds = userIds.equals("")?approvalUser.getWxId():userIds+"|"+approvalUser.getWxId();
}
}
//发送企业微信消息内容
String content="你好!"+"委托单号"+entrust.getEntrustCode()+"已校核完成,请前往\n" +
Global.systemUrl +"进行查看。";
weiXinService.sendTextMessage(approvalUser.getWxId(), content);
}
weiXinService.sendTextMessage(userIds, content);
}
entrustMapper.updateById(entrust);
logsService.saveLog(SysLogs.ObjType.ENTRUST_LOG, entrust.getId(), "数据校核", null);
......@@ -2276,8 +2291,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
params.put("projectName", projectName);
params.put("projectCode", projectCode);
params.put("projectType", "常规项目");
Integer approvalId = sysApprovalMapper.getApprovalId("委托评审");
if (approvalId == null) {
List<Integer> approvalIdList = sysApprovalMapper.getApprovalId("委托评审");
if (approvalIdList == null) {
return BaseResponse.errorMsg("委托评审信息错误");
}
Page<EntrustVo> page = new Page<>(pageQuery.getPageNo(), pageQuery.getPageSize());
......@@ -2408,8 +2423,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
params.put("projectName", projectName);
params.put("projectCode", projectCode);
params.put("projectType", "质量控制");
Integer approvalId = sysApprovalMapper.getApprovalId("委托评审");
if (approvalId == null) {
List<Integer> approvalIdList = sysApprovalMapper.getApprovalId("委托评审");
if (approvalIdList == null) {
return BaseResponse.errorMsg("委托评审信息错误");
}
......
......@@ -7,8 +7,10 @@ import cn.wise.sc.cement.business.model.PageQuery;
import cn.wise.sc.cement.business.model.query.*;
import cn.wise.sc.cement.business.model.vo.*;
import cn.wise.sc.cement.business.service.IEquipmentService;
import cn.wise.sc.cement.business.service.ISysUserMessageService;
import cn.wise.sc.cement.business.service.ISysUserService;
import cn.wise.sc.cement.business.util.ExcelUtil;
import cn.wise.sc.cement.business.util.weixin.Global;
import cn.wise.sc.cement.business.wrapper.page.Query;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
......@@ -18,11 +20,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
......@@ -54,6 +58,12 @@ public class EquipmentServiceImpl extends ServiceImpl<EquipmentMapper, Equipment
private EquipmentScrapMapper scrapMapper;
@Resource
private EquipmentUseMapper useMapper;
@Resource
private SysApprovalMapper sysApprovalMapper;
@Autowired
private ISysUserMessageService userMessageService;
@Autowired
private WeiXinService weiXinService;
/**
* 设备分页查询
......@@ -268,7 +278,52 @@ public class EquipmentServiceImpl extends ServiceImpl<EquipmentMapper, Equipment
return BaseResponse.okData("检定完成");
}
//TODO判断设备检定是否到期,如果到期,提醒检测人员
/**
* 判断设备检定是否到期,如果到期,提醒检定人员 每天早上6点
* @return
*/
@Override
@Scheduled(cron = "0 0 6 * * *")
public BaseResponse<String> checktestDate(){
//消息推送
List<Integer> approvalIdList = sysApprovalMapper.getApprovalId("设备检定");
if (approvalIdList == null) {
return BaseResponse.errorMsg("设备检定信息错误");
}
String userIds = "";
for(Integer testEQId : approvalIdList ){
SysUser testEQUser = userService.getById(testEQId);
if(testEQUser == null){
return BaseResponse.errorMsg("设备检定信息错误");
}
if(StringUtils.isNotBlank(testEQUser.getWxId())){
userIds = userIds.equals("")?testEQUser.getWxId():userIds+"|"+testEQUser.getWxId();
}
}
QueryWrapper<Equipment> qw = new QueryWrapper<>();
qw.eq("status",1);
List<Equipment> equipmentList = equipmentMapper.selectList(qw);
//当前日期
LocalDate nowDate = LocalDate.now();
for(Equipment eq : equipmentList ){
//检定到期日期 = 上次检定日期+周期的值 - 7 (提前一周提醒)
if(eq.getTestDate() != null && eq.getTestCycle() != null){
LocalDate expireDate = eq.getTestDate().plusYears(Long.valueOf(eq.getTestCycle())).minusWeeks(1);
//如果当前日期等于检定到期日期 或者 当前日期大于检定到期日期,提示设备检定人员检定设备
if(expireDate.isEqual(nowDate) || expireDate.isBefore(nowDate)){
//发送企业微信消息内容
String content="你好!名称:"+eq.getName()+",编号:"+eq.getCode()+"的设备近期需要进行设备检定,如果已经检定完毕请前往\n" +
Global.systemUrl+"更新检定记录。";
System.out.println("**************************content**********************");
System.out.println(content);
weiXinService.sendTextMessage(userIds, content);
}
}
}
return BaseResponse.okMsg("成功");
}
/**
......
......@@ -57,12 +57,12 @@ public class SysApprovalServiceImpl extends ServiceImpl<SysApprovalMapper, SysAp
if (StringUtils.isEmpty(query.getName())) {
return BaseResponse.errorMsg("工作组名称不能为空!");
}
QueryWrapper<SysApproval> qw = new QueryWrapper<>();
/*QueryWrapper<SysApproval> qw = new QueryWrapper<>();
qw.eq("name", query.getName());
int count = approvalMapper.selectCount(qw);
if (count > 0) {
return BaseResponse.errorMsg(query.getName() + "已存在");
}
}*/
query.setStatus(1);
query.setCreateTime(LocalDateTime.now());
approvalMapper.insert(query);
......@@ -81,13 +81,13 @@ public class SysApprovalServiceImpl extends ServiceImpl<SysApprovalMapper, SysAp
if (StringUtils.isEmpty(query.getName())) {
return BaseResponse.errorMsg("工作组名称不能为空!");
}
QueryWrapper<SysApproval> qw = new QueryWrapper<>();
/*QueryWrapper<SysApproval> qw = new QueryWrapper<>();
qw.eq("name", query.getName());
qw.ne("id", query.getId());
int count = approvalMapper.selectCount(qw);
if (count > 0) {
return BaseResponse.errorMsg(query.getName() + "已存在");
}
}*/
approvalMapper.updateById(query);
return BaseResponse.okData(query);
}
......
......@@ -47,7 +47,7 @@ public class WeiXinService {
System.out.println("==================code===================");
System.out.println(code);
try {
/* String accessToken = null;
String accessToken = null;
if (type.equals("PC")) {
accessToken = getAccessToken();
} else if (type.equals("APP")) {
......@@ -64,10 +64,10 @@ public class WeiXinService {
String UserId = jsonObject.getString("UserId");
System.out.println("==================UserId===================");
System.out.println(UserId);
JSONObject userJson = getUser(accessToken, UserId);*/
JSONObject userJson = getUser(accessToken, UserId);
QueryWrapper<SysUser> wrapper = new QueryWrapper<>();
// wrapper.eq("phone", userJson.get("mobile"));
wrapper.eq("phone", code); //暂时用手机号代替code
wrapper.eq("phone", userJson.get("mobile"));
// wrapper.eq("phone", code); //暂时用手机号代替code
SysUser sysUser = userService.getOne(wrapper);
if (sysUser == null) {
return BaseResponse.errorMsg("非系统用户不允许登录!");
......@@ -83,8 +83,8 @@ public class WeiXinService {
sysUser.getName(), sysUser.getPhone());
System.out.println(token);
redisUtil.setString(sysUser.getId().toString(), token, 3600);
// sysUser.setWxId(UserId);
// userService.updateById(sysUser);
sysUser.setWxId(UserId);
userService.updateById(sysUser);
return BaseResponse.okData(token);
} catch (Exception e) {
return BaseResponse.errorMsg(e.getMessage());
......
......@@ -22,7 +22,7 @@ public interface Global {
//编译后的回调地址
public final static String backUrl = "https%3a%2f%2fprogram.oxogroup.com%2flab-system";
//实验室管理系统链接
public final static String systemUrl = "<a href=\"+https://open.weixin.qq.com/connect/oauth2/authorize?appid="+corpId+"&redirect_uri="+backUrl+"%2f&response_type=code&scope=snsapi_base&state=#wechat_redirect\">天津院实验室管理系统</a>,";
public final static String systemUrl = "<a href=\"https://open.weixin.qq.com/connect/oauth2/authorize?appid="+corpId+"&redirect_uri="+backUrl+"%2f&response_type=code&scope=snsapi_base&state=#wechat_redirect\">天津院实验室管理系统" + "</a>,";
//应用的凭证密钥PC
public final static String agentSecretPC = "itCLYcwl9ggA9VfZam_iz96Ikp9StDFfVr4Adb0yY7A";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment