|
@@ -1,5 +1,6 @@
|
|
|
package com.zd.smartlock.service.impl;
|
|
package com.zd.smartlock.service.impl;
|
|
|
|
|
|
|
|
|
|
+import com.zd.common.core.constant.SecurityConstants;
|
|
|
import com.zd.common.core.domain.R;
|
|
import com.zd.common.core.domain.R;
|
|
|
import com.zd.common.core.exception.ServiceException;
|
|
import com.zd.common.core.exception.ServiceException;
|
|
|
import com.zd.common.security.service.TokenService;
|
|
import com.zd.common.security.service.TokenService;
|
|
@@ -12,6 +13,7 @@ import com.zd.smartlock.mapper.SlOpendoorApplyMapper;
|
|
|
import com.zd.smartlock.mapper.SlSubjectRelationMapper;
|
|
import com.zd.smartlock.mapper.SlSubjectRelationMapper;
|
|
|
import com.zd.smartlock.service.ISlApplyApprovalService;
|
|
import com.zd.smartlock.service.ISlApplyApprovalService;
|
|
|
import com.zd.smartlock.utils.SmartlockUtil;
|
|
import com.zd.smartlock.utils.SmartlockUtil;
|
|
|
|
|
+import com.zd.system.api.RemoteUserService;
|
|
|
import com.zd.system.api.chemical.RemoteStockService;
|
|
import com.zd.system.api.chemical.RemoteStockService;
|
|
|
import com.zd.system.api.domain.SysUser;
|
|
import com.zd.system.api.domain.SysUser;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -47,6 +49,9 @@ public class SlApplyApprovalServiceImpl implements ISlApplyApprovalService
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private RemoteStockService remoteStockService;
|
|
private RemoteStockService remoteStockService;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private RemoteUserService remoteUserService;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 查询申请审核
|
|
* 查询申请审核
|
|
|
*
|
|
*
|
|
@@ -198,6 +203,110 @@ public class SlApplyApprovalServiceImpl implements ISlApplyApprovalService
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/***
|
|
/***
|
|
|
|
|
+ * 短信审核
|
|
|
|
|
+ * @param phone 回复人电话
|
|
|
|
|
+ * @param content 回复内容
|
|
|
|
|
+ * @param lockApplyId 申请id
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
|
+ public Map<String,Object> sysMsgApprova(String phone, String content, Long lockApplyId) {
|
|
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
|
|
+ try {
|
|
|
|
|
+ //审核状态 1通过 2驳回
|
|
|
|
|
+ Long approvalStatus=1L ;
|
|
|
|
|
+ SysUser sysUser = new SysUser();
|
|
|
|
|
+ sysUser.setPhonenumber(phone);
|
|
|
|
|
+ sysUser.setUserType("11");
|
|
|
|
|
+ List<SysUser> list = remoteUserService.getNotAuthList(sysUser, SecurityConstants.INNER).getData();
|
|
|
|
|
+ if(list==null){
|
|
|
|
|
+ map.put("msg","未查询到相关人信息");
|
|
|
|
|
+ map.put("status","error");
|
|
|
|
|
+ return map;
|
|
|
|
|
+ }else{
|
|
|
|
|
+ sysUser = list.get(0);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //查询申请记录
|
|
|
|
|
+ SlOpendoorApply opendoorApply = slOpendoorApplyMapper.selectSlOpendoorApplyById(lockApplyId);
|
|
|
|
|
+
|
|
|
|
|
+ if(opendoorApply.getApplyStatus()==3){
|
|
|
|
|
+ map.put("msg","该记录已驳回,无需审核!");
|
|
|
|
|
+ map.put("status","error");
|
|
|
|
|
+ return map;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(opendoorApply.getApplyNumber()==2){
|
|
|
|
|
+ map.put("msg","该记录已有两次审核,无需再次审核!");
|
|
|
|
|
+ map.put("status","error");
|
|
|
|
|
+ return map;
|
|
|
|
|
+ }
|
|
|
|
|
+ //通过
|
|
|
|
|
+ if( "1".equals(content)){
|
|
|
|
|
+ opendoorApply.setApplyNumber(opendoorApply.getApplyNumber()+1);
|
|
|
|
|
+ //审核通过,下发密码(第二次,审核通过的情况下)
|
|
|
|
|
+ if(opendoorApply.getApplyNumber()==2){
|
|
|
|
|
+ //判断是否同一个人连续审核
|
|
|
|
|
+ SlApplyApproval approval = new SlApplyApproval();
|
|
|
|
|
+ approval.setApplyId(lockApplyId);
|
|
|
|
|
+ approval.setApprovaId(sysUser.getUserId());
|
|
|
|
|
+ List<SlApplyApproval> applyVoList = slApplyApprovalMapper.selectSlApplyApprovalList(approval);
|
|
|
|
|
+ if(applyVoList.size()>0){
|
|
|
|
|
+ map.put("msg","您已审核过该条申请,无需重复审核!");
|
|
|
|
|
+ map.put("status","error");
|
|
|
|
|
+ return map;
|
|
|
|
|
+ }
|
|
|
|
|
+ //审核通过,刷新审核状态
|
|
|
|
|
+ opendoorApply.setApplyStatus(2L);
|
|
|
|
|
+
|
|
|
|
|
+ //审核通过后,添加人员并且授权、短信发送
|
|
|
|
|
+ /*String str = authPower(opendoorApply.getId());
|
|
|
|
|
+ if(!"ok".equals(str)){
|
|
|
|
|
+ map.put("msg",str);
|
|
|
|
|
+ map.put("status","error");
|
|
|
|
|
+ return map;
|
|
|
|
|
+ }*/
|
|
|
|
|
+ }
|
|
|
|
|
+ }else if( "0".equals(content)){
|
|
|
|
|
+ approvalStatus=2L;
|
|
|
|
|
+ //驳回
|
|
|
|
|
+ opendoorApply.setApplyNumber(opendoorApply.getApplyNumber()+1);
|
|
|
|
|
+ //修改申请表状态
|
|
|
|
|
+ opendoorApply.setApplyStatus(3L);
|
|
|
|
|
+
|
|
|
|
|
+ //申请人1短信发送通知
|
|
|
|
|
+ /*R r1= remoteStockService.sendSydSms("【实验室安全系统】"+opendoorApply.getSubjectName()+"-门禁远程授权申请已拒绝,请联系实验室管理人员。",3,opendoorApply.getId(),opendoorApply.getPhonenumber());
|
|
|
|
|
+ log.info("开门申请拒绝,人员1短信通知结果:"+r1);
|
|
|
|
|
+ //申请人2短信发送通知
|
|
|
|
|
+ R r2= remoteStockService.sendSydSms("【实验室安全系统】"+opendoorApply.getSubjectName()+"-门禁远程授权申请已拒绝,请联系实验室管理人员。",3,opendoorApply.getId(),opendoorApply.getPhonenumber2());
|
|
|
|
|
+ log.info("开门申请拒绝,人员2短信通知结果:"+r2);*/
|
|
|
|
|
+ }
|
|
|
|
|
+ //申请表操作
|
|
|
|
|
+ opendoorApply.setApprovalTime(new Date());
|
|
|
|
|
+ opendoorApply.setApprovalUser(sysUser.getNickName());
|
|
|
|
|
+
|
|
|
|
|
+ slOpendoorApplyMapper.updateSlOpendoorApply(opendoorApply);
|
|
|
|
|
+ SlApplyApproval approval = new SlApplyApproval();
|
|
|
|
|
+ approval.setApprovaId(lockApplyId);
|
|
|
|
|
+ approval.setDeptId(sysUser.getDept().getDeptId());
|
|
|
|
|
+ approval.setDeptName(sysUser.getDept().getDeptName());
|
|
|
|
|
+ approval.setApprovaId(sysUser.getUserId());
|
|
|
|
|
+ approval.setApprovaName(sysUser.getNickName());
|
|
|
|
|
+ approval.setApprovaStatus(approvalStatus);
|
|
|
|
|
+ approval.setCretaTime(new Date());
|
|
|
|
|
+ slApplyApprovalMapper.insertSlApplyApproval(approval);
|
|
|
|
|
+ }catch (Exception e){
|
|
|
|
|
+ log.info("短信审核处理异常:"+e);
|
|
|
|
|
+ map.put("msg",e);
|
|
|
|
|
+ map.put("status","error");
|
|
|
|
|
+ return map;
|
|
|
|
|
+ }
|
|
|
|
|
+ map.put("msg","成功");
|
|
|
|
|
+ map.put("status","ok");
|
|
|
|
|
+ return map;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /***
|
|
|
* 审批通过后人员密码授权处理
|
|
* 审批通过后人员密码授权处理
|
|
|
* @param applyId 申请id
|
|
* @param applyId 申请id
|
|
|
*/
|
|
*/
|