diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/controller/SysPeopleController.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/controller/SysPeopleController.java index d5e18d3..5a2e415 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/controller/SysPeopleController.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/controller/SysPeopleController.java @@ -1,5 +1,7 @@ package com.dcsoft.system.controller; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSONArray; @@ -39,10 +41,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -140,7 +139,11 @@ public class SysPeopleController extends BaseController @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { - return success(sysPeopleService.selectSysPeopleById(id)); + SysPeople sysPeople = sysPeopleService.selectSysPeopleById(id); + if (StrUtil.isNotBlank(sysPeople.getCarryStuffExamine())) { + sysPeople.setCarryStuffExamineList(Arrays.asList(sysPeople.getCarryStuffExamine().split(","))); + } + return success(sysPeople); } /** @@ -292,6 +295,9 @@ public class SysPeopleController extends BaseController } } + if (CollUtil.isNotEmpty(sysPeople.getCarryStuffExamineList())) { + sysPeople.setCarryStuffExamine(String.join(",", sysPeople.getCarryStuffExamineList())); + } i=sysPeopleService.insertSysPeople(sysPeople); } @@ -471,6 +477,9 @@ public class SysPeopleController extends BaseController } } + if (CollUtil.isNotEmpty(sysPeople.getCarryStuffExamineList())) { + sysPeople.setCarryStuffExamine(String.join(",", sysPeople.getCarryStuffExamineList())); + } return toAjax(sysPeopleService.updateSysPeople(sysPeople)); } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/domain/SysPeople.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/domain/SysPeople.java index 8a41cab..e999185 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/domain/SysPeople.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/domain/SysPeople.java @@ -7,6 +7,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import java.util.Date; +import java.util.List; /** * 人员管理对象 sys_people @@ -124,6 +125,19 @@ public class SysPeople extends BaseEntity */ private String carryStuffExamine; + /** + * 携物出门审核人员,1:一级审核人2:二级审核人3:三级审核人 + */ + private List carryStuffExamineList; + + public List getCarryStuffExamineList() { + return carryStuffExamineList; + } + + public void setCarryStuffExamineList(List carryStuffExamineList) { + this.carryStuffExamineList = carryStuffExamineList; + } + public String getCarryStuffExamine() { return carryStuffExamine; } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisCarryStuffController.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisCarryStuffController.java index 3047a4e..38a263a 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisCarryStuffController.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisCarryStuffController.java @@ -42,7 +42,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.concurrent.TimeUnit; -import java.util.function.Function; import java.util.stream.Collectors; @Slf4j @@ -236,7 +235,7 @@ public class VisCarryStuffController extends BaseController { //发送企微信息 try { -// visitorController.sendWeCom(people.getPhone(), url + " --访客姓名:" + vo.getName()); + visitorController.sendWeCom(people.getPhone(), url + " --访客姓名:" + vo.getName()); } catch (Exception e) { log.error("出门证申请add-sendWeCom异常:", e); throw new ServiceException("系统异常,请重新提交或联系管理员!"); @@ -333,7 +332,7 @@ public class VisCarryStuffController extends BaseController { // 保存审核二维码地址信息 CheckCodeVo codeVo = new CheckCodeVo(); - codeVo.setCode(vo.getId() + "&time=" + new Date().getTime()); + codeVo.setCode(String.valueOf(vo.getId())); codeVo.setExitId(String.valueOf(vo.getId())); codeVo.setId(UUID.randomUUID().toString().replace("-", "")); visitorService.saveVisCheckCode(codeVo); @@ -350,7 +349,7 @@ public class VisCarryStuffController extends BaseController { //发送企微信息 try { -// visitorController.sendWeCom(people.getPhone(), url + " --访客姓名:" + vo.getName()); + visitorController.sendWeCom(people.getPhone(), url + " --访客姓名:" + vo.getName()); } catch (Exception e) { log.error("出门证申请add-sendWeCom异常:", e); throw new ServiceException("系统异常,请重新审核或联系管理员!"); @@ -362,7 +361,7 @@ public class VisCarryStuffController extends BaseController { visVisitorExamineService.insertVisVisitorExamine(examine); try { -// visitorController.sendWeCom(telephone, vo.getName() + "的访客审核已驳回"); + visitorController.sendWeCom(telephone, vo.getName() + "的访客审核已驳回"); } catch (Exception e) { log.error("访客approve-sendWeCom驳回异常", e); throw new ServiceException("系统异常,请重新审核或联系管理员!"); @@ -393,6 +392,10 @@ public class VisCarryStuffController extends BaseController { List peopleList = sysPeopleService.selectSysPeopleLists(people); List list = new ArrayList<>(); peopleList.forEach(item -> { + if (StrUtil.isNotBlank(item.getCarryStuffExamine())) { + item.setCarryStuffExamineList(Arrays.asList(item.getCarryStuffExamine().split(","))); + } + IdNamelVo vo = new IdNamelVo(); vo.setId(item.getId()); vo.setName(item.getName()); @@ -436,4 +439,18 @@ public class VisCarryStuffController extends BaseController { util.exportExcel(response, list, "出厂物资明细数据"); } + /** + * 取消出门证申请 + */ + @Log(title = "取消出门证申请", businessType = BusinessType.DELETE) + @PostMapping("/cancel") + @Transactional + public AjaxResult cancel(@RequestBody VisExitOutVo vo) { + log.info("取消出门证申请 {}", JSON.toJSONString(vo)); + //审核业务 + visCarryStuffService.cancel(vo); + + return toAjax(true); + } + } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisExitOutRecordController.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisExitOutRecordController.java index a17f988..0492466 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisExitOutRecordController.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisExitOutRecordController.java @@ -61,6 +61,25 @@ public class VisExitOutRecordController extends BaseController { return AjaxResult.success(); } + /** + * 扫码确认放行 + */ + @Log(title = "扫码确认放行", businessType = BusinessType.INSERT) + @PostMapping("/confirmPass") + @Transactional + public AjaxResult confirmPass(@RequestBody VisExitOutRecordVo vo) { + log.info("扫码确认放行入参:{}", vo); + try { + //新增出门申请 + visExitOutRecordService.confirmPass(vo); + + } catch (Exception e) { + log.error("扫码确认放行异常:", e); + throw new ServiceException("系统异常"); + } + return AjaxResult.success(); + } + /** * 删除出门证记录信息 */ diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisitorController.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisitorController.java index 5f80a44..bd3f43d 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisitorController.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisitorController.java @@ -416,10 +416,18 @@ public class VisitorController extends BaseController { //查询当前点击审核链接的人员信息 SysPeople sysPeople = sysPeopleService.queryPeopleName(telephone, null); - //如果当前点击链接的审核人员级别小于流程处于的级别,展示已审核的结果 - if (StringUtils.isNotBlank(sysPeople.getCarryStuffExamine()) && Integer.parseInt(sysPeople.getCarryStuffExamine()) < stuffVo.getCurrentNode()) { - VisitorReviewProcessVo processVo = visCarryStuffService.queryReviewProcessNew(stuffVo); - stuffVo.setExamineState(processVo.getState()); + //查询审核节点,查看当前点击审核链接的人审核状态 + VisExitOutVo visExitOutVo = new VisExitOutVo(); + visExitOutVo.setId(id); + visExitOutVo.setReviewer(sysPeople.getId()); + List list = visCarryStuffService.queryReviewProcessNew(visExitOutVo); + if (CollUtil.isNotEmpty(list)) { + stuffVo.setExamineState(list.get(0).getState()); + for (VisitorReviewProcessVo processVo : list) { + if (StringUtils.isBlank(processVo.getUpdatedTime())) { + stuffVo.setExamineState(processVo.getState()); + } + } } } @@ -1097,7 +1105,11 @@ public class VisitorController extends BaseController { } log.info("approve-发同意短信:{}", JSON.toJSONString(phoneList)); for (String phone : phoneList) { - sendMessage(phone, "1", parkName, smsProperties.getTemplate2()); + try { + sendMessage(phone, "1", parkName, smsProperties.getTemplate2()); + } catch (Exception e) { + log.error(e.getMessage()); + } } } } @@ -1119,7 +1131,11 @@ public class VisitorController extends BaseController { // 申请人发送短信(审核不通过) log.info("approve-发拒绝短信:{}", visitor.getPhone()); - sendMessage(visitor.getPhone(), "1", parkName, smsProperties.getTemplate3()); + try { + sendMessage(visitor.getPhone(), "1", parkName, smsProperties.getTemplate3()); + } catch (Exception e) { + log.error(e.getMessage()); + } } visitorService.approve(visitor); @@ -1238,7 +1254,11 @@ public class VisitorController extends BaseController { visitor2.setReviewer3(visitor.getReviewer3()); visitorService.updateVisitor(visitor2); if(Constants.ONE.equals(examine.getExamine())) { - sendMessage(visitor.getPhone(), "1", null, smsProperties.getTemplate8()); + try { + sendMessage(visitor.getPhone(), "1", null, smsProperties.getTemplate8()); + } catch (Exception e) { + log.error(e.getMessage()); + } visitor.setState(examine.getExamine()); visitorService.updateVisitorReviewProcess(visitor); @@ -1309,7 +1329,11 @@ public class VisitorController extends BaseController { visitorService.updateVisitorReviewProcess(visitor2); // 审核通知企微发送消息(小程序来源) sendWeCom(officialAccountVo.getPhone(), visitor.getName() + "的访客审核被拒绝"); - sendMessage(visitor.getPhone(), "1", null, smsProperties.getTemplate8()); + try { + sendMessage(visitor.getPhone(), "1", null, smsProperties.getTemplate8()); + } catch (Exception e) { + log.error(e.getMessage()); + } Visitor visitor3 = new Visitor(); if("1".equals(examine.getExamine())) { visitor3.setOutTime(new Date()); @@ -1368,21 +1392,31 @@ public class VisitorController extends BaseController { // 申请人发送短信(审核通过) String appletLink = getAppletLink(String.valueOf(visitor.getId()), "pagesC/visExamineEwm/index"); String[] split = appletLink.split("wxaurl.cn/"); - sendMessage(visitor.getPhone(), split[1], null, smsProperties.getTemplate5()); - redisService.setCacheObject(CacheConstants.WEIXIN_URL_LINK + visitor.getPhone(), appletLink, 24L, TimeUnit.HOURS); + try { + sendMessage(visitor.getPhone(), split[1], null, smsProperties.getTemplate5()); - // 被访人发送短信(审核通过) - sendMessage(officialAccountVo.getPhone(), visitor.getName() + "访问" + officialAccountVo.getName(), null, smsProperties.getTemplate9()); + redisService.setCacheObject(CacheConstants.WEIXIN_URL_LINK + visitor.getPhone(), appletLink, 24L, TimeUnit.HOURS); + + // 被访人发送短信(审核通过) + sendMessage(officialAccountVo.getPhone(), visitor.getName() + "访问" + officialAccountVo.getName(), null, smsProperties.getTemplate9()); + } catch (Exception e) { + log.error(e.getMessage()); + } } + if("1".equals(examine.getExamine())) { // 申请人发送短信(审核不通过) SysPeople people1 = sysPeopleService.selectSysPeopleById(visitor.getUserId()); sendWeCom(people1.getPhone(), visitor.getName() + "的访客审核被拒绝"); - sendMessage(visitor.getPhone(), "1", null, smsProperties.getTemplate8()); + try { + sendMessage(visitor.getPhone(), "1", null, smsProperties.getTemplate8()); - // 被访人发送短信(审核不通过) - sendMessage(officialAccountVo.getPhone(), visitor.getName() + "访问" + officialAccountVo.getName(), null, smsProperties.getTemplate10()); + // 被访人发送短信(审核不通过) + sendMessage(officialAccountVo.getPhone(), visitor.getName() + "访问" + officialAccountVo.getName(), null, smsProperties.getTemplate10()); + } catch (Exception e) { + log.error(e.getMessage()); + } } visitor.setState(examine.getExamine()); @@ -1475,6 +1509,21 @@ public class VisitorController extends BaseController { return s; } + + /** + * 取消访问申请 + */ + @Log(title = "取消访问申请", businessType = BusinessType.DELETE) + @PostMapping("/cancel") + @Transactional + public AjaxResult cancel(@RequestBody Visitor visitor) { + log.info("取消访问申请入参 {}", JSON.toJSONString(visitor)); + //审核业务 + visitorService.cancel(visitor); + + return toAjax(true); + } + /** * 访客签到签退 */ @@ -1593,7 +1642,8 @@ public class VisitorController extends BaseController { String code = js.getString("code"); String template = js.getString("template"); String parkName = js.getString("parkName"); - return sendMessage("15155304840", code, parkName, template); + String phone = js.getString("phone"); + return sendMessage(phone, code, parkName, template); } /** diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/domain/VisitorReviewProcessVo.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/domain/VisitorReviewProcessVo.java index 38f4dfa..576f874 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/domain/VisitorReviewProcessVo.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/domain/VisitorReviewProcessVo.java @@ -38,6 +38,11 @@ public class VisitorReviewProcessVo { */ private String createdTime; + /** + * + */ + private String updatedTime; + /** * 出门申请表id */ diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisCarryStuffMapper.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisCarryStuffMapper.java index 318f2cb..f92de8d 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisCarryStuffMapper.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisCarryStuffMapper.java @@ -21,7 +21,7 @@ public interface VisCarryStuffMapper { void saveVisitorReviewProcess(VisExitOutVo vo); - VisitorReviewProcessVo queryReviewProcessNew(VisExitOutVo stuffVo); + List queryReviewProcessNew(VisExitOutVo stuffVo); void insertVisStuffInfo(@Param("list") List visStuffInfoList); @@ -34,4 +34,6 @@ public interface VisCarryStuffMapper { VisitorReviewProcessVo selectVisitorReviewProcessOne(VisitorReviewProcessVo reviewProcessVo); void updateVisitorReviewProcessById(VisitorReviewProcessVo reviewProcess); + + void deleteVisitorReviewProcess(Long id); } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisitorMapper.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisitorMapper.java index 93f7bc5..f3bd7f7 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisitorMapper.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisitorMapper.java @@ -251,4 +251,6 @@ public interface VisitorMapper int queryVisitorByIdCountOld(String phone); String queryReviewProcessOld(Visitor visitor); + + void deleteVisitorReviewProcess(@Param("id") Long id); } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisCarryStuffService.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisCarryStuffService.java index 6ef30dc..38f9863 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisCarryStuffService.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisCarryStuffService.java @@ -20,7 +20,7 @@ public interface IVisCarryStuffService { void saveVisitorReviewProcess(VisExitOutVo vo); - VisitorReviewProcessVo queryReviewProcessNew(VisExitOutVo stuffVo); + List queryReviewProcessNew(VisExitOutVo stuffVo); void insertVisStuffInfo(List visStuffInfoList); @@ -33,4 +33,6 @@ public interface IVisCarryStuffService { VisitorReviewProcessVo selectVisitorReviewProcessOne(VisitorReviewProcessVo reviewProcessVo); void updateVisitorReviewProcessById(VisitorReviewProcessVo reviewProcess); + + void cancel(VisExitOutVo vo); } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisExitOutRecordService.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisExitOutRecordService.java index 0806b3b..4bf2730 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisExitOutRecordService.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisExitOutRecordService.java @@ -13,4 +13,6 @@ public interface IVisExitOutRecordService { void insertExitOutRecord(VisExitOutRecordVo vo); void delete(Long[] ids); + + void confirmPass(VisExitOutRecordVo vo); } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisitorService.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisitorService.java index 1475204..a0e3e81 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisitorService.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisitorService.java @@ -263,4 +263,6 @@ public interface IVisitorService int queryVisitorByIdCountOld(String phone); String queryReviewProcessOld(Visitor visitor); + + void cancel(Visitor visitor); } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisCarryStuffImpl.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisCarryStuffImpl.java index 303285f..06a9794 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisCarryStuffImpl.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisCarryStuffImpl.java @@ -2,6 +2,7 @@ package com.dcsoft.system.visitor.service.impl; import com.dcsoft.common.core.constant.Constants; import com.dcsoft.common.core.enums.ExamineEnum; +import com.dcsoft.common.core.exception.ServiceException; import com.dcsoft.common.security.utils.SecurityUtils; import com.dcsoft.system.api.model.LoginUser; import com.dcsoft.system.visitor.domain.*; @@ -69,6 +70,23 @@ public class VisCarryStuffImpl implements IVisCarryStuffService { visCarryStuffMapper.updateVisitorReviewProcessById(reviewProcess); } + @Override + public void cancel(VisExitOutVo vo) { + VisExitOutVo visExitOutVo = visCarryStuffMapper.selectVisExitOutById(vo.getId()); + if (visExitOutVo != null && !StringUtils.equals(visExitOutVo.getExamineState(), ExamineEnum.IN_REVIEW.getCode())) { + throw new ServiceException("审核中,无法取消"); + } + + //修改申请状态 + VisExitOutVo updateVo = new VisExitOutVo(); + updateVo.setId(vo.getId()); + updateVo.setExamineState("4"); + visCarryStuffMapper.updateStaff(updateVo); + + //删除流程环节信息 + visCarryStuffMapper.deleteVisitorReviewProcess(vo.getId()); + } + @Override public VisExitOutVo selectVisExitOutById(Long id) { return visCarryStuffMapper.selectVisExitOutById(id); @@ -95,7 +113,7 @@ public class VisCarryStuffImpl implements IVisCarryStuffService { } @Override - public VisitorReviewProcessVo queryReviewProcessNew(VisExitOutVo stuffVo) { + public List queryReviewProcessNew(VisExitOutVo stuffVo) { return visCarryStuffMapper.queryReviewProcessNew(stuffVo); } } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisExitOutRecordImpl.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisExitOutRecordImpl.java index bad32cf..d860303 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisExitOutRecordImpl.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisExitOutRecordImpl.java @@ -44,4 +44,13 @@ public class VisExitOutRecordImpl implements IVisExitOutRecordService { visExitOutRecordMapper.delete(list); } + @Override + public void confirmPass(VisExitOutRecordVo vo) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + vo.setCreateBy(loginUser.getUsername()); + vo.setUserId(loginUser.getUserid()); + vo.setUserName(loginUser.getUsername()); + visExitOutRecordMapper.insertExitOutRecord(vo); + } + } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisitorServiceImpl.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisitorServiceImpl.java index 3e68ec4..b8e009d 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisitorServiceImpl.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisitorServiceImpl.java @@ -796,4 +796,25 @@ public class VisitorServiceImpl implements IVisitorService { public String queryReviewProcessOld(Visitor visitor) { return visitorMapper.queryReviewProcessOld(visitor); } + + @Override + public void cancel(Visitor visitor) { + Visitor visitor1 = visitorMapper.selectVisitorById(visitor.getId()); + if (visitor1 != null && !StringUtils.equals(visitor1.getExamineState(), ExamineEnum.IN_REVIEW.getCode())) { + throw new ServiceException("审核中,无法取消"); + } + + //修改访客申请主表信息 + Visitor updateVisitor = new Visitor(); + updateVisitor.setId(visitor.getId()); + updateVisitor.setExamineState("4"); + visitorMapper.updateVisitor(updateVisitor); + + updateVisitor.setParentId(visitor.getId()); + //修改随访人员信息 + visitorMapper.updateVisitorByParentId(updateVisitor); + + //删除流程环节信息 + visitorMapper.deleteVisitorReviewProcess(visitor.getId()); + } } diff --git a/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysPeopleMapper.xml b/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysPeopleMapper.xml index 00a6c76..3b65320 100644 --- a/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysPeopleMapper.xml +++ b/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysPeopleMapper.xml @@ -105,7 +105,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and p.del_flag = #{sysPeople.delFlag} and b.id like concat(#{sysPeople.branchParent}, '%') - and p.carry_stuff_examine = #{sysPeople.carryStuffExamine} + and FIND_IN_SET(#{sysPeople.carryStuffExamine},p.carry_stuff_examine) > 0 diff --git a/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/visitor/VisCarryStuffMapper.xml b/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/visitor/VisCarryStuffMapper.xml index a4f88dc..276096a 100644 --- a/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/visitor/VisCarryStuffMapper.xml +++ b/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/visitor/VisCarryStuffMapper.xml @@ -149,6 +149,10 @@ where id = #{id} + + delete from vis_visitor_review_process where exit_id = #{id} + + where vv.guid = #{guid}