兴安出门证申请开发
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
package com.dcsoft.system.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class IdNamelVo implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
private String name;
|
||||
|
||||
}
|
||||
@@ -1,25 +1,28 @@
|
||||
package com.dcsoft.system.visitor.controller;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.dcsoft.common.core.constant.CacheConstants;
|
||||
import com.dcsoft.common.core.constant.Constants;
|
||||
import com.dcsoft.common.core.exception.ServiceException;
|
||||
import com.dcsoft.common.core.utils.CollUtil;
|
||||
import com.dcsoft.common.core.utils.SmsUtils;
|
||||
import com.dcsoft.common.core.web.controller.BaseController;
|
||||
import com.dcsoft.common.core.web.domain.AjaxResult;
|
||||
import com.dcsoft.common.core.web.page.TableDataInfo;
|
||||
import com.dcsoft.common.log.annotation.Log;
|
||||
import com.dcsoft.common.log.enums.BusinessType;
|
||||
import com.dcsoft.common.redis.service.RedisService;
|
||||
import com.dcsoft.common.security.utils.SecurityUtils;
|
||||
import com.dcsoft.common.sms.config.properties.SmsProperties;
|
||||
import com.dcsoft.system.api.model.LoginUser;
|
||||
import com.dcsoft.system.domain.SysPeople;
|
||||
import com.dcsoft.system.domain.vo.IdNamelVo;
|
||||
import com.dcsoft.system.service.ISysDictDataService;
|
||||
import com.dcsoft.system.service.ISysPeopleService;
|
||||
import com.dcsoft.system.utils.UuidUtil;
|
||||
import com.dcsoft.system.visitor.domain.CheckCodeVo;
|
||||
import com.dcsoft.system.visitor.domain.VisCarryStuffVo;
|
||||
import com.dcsoft.system.visitor.domain.VisExitOutVo;
|
||||
import com.dcsoft.system.visitor.domain.VisStuffInfoVo;
|
||||
import com.dcsoft.system.visitor.domain.VisVisitorExamine;
|
||||
import com.dcsoft.system.visitor.service.IVisCarryStuffService;
|
||||
import com.dcsoft.system.visitor.service.IVisVisitorExamineService;
|
||||
@@ -33,6 +36,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@@ -68,26 +72,45 @@ public class VisCarryStuffController extends BaseController {
|
||||
|
||||
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(VisCarryStuffVo vo) {
|
||||
public TableDataInfo list(VisExitOutVo vo) {
|
||||
startPage();
|
||||
|
||||
Map<String, String> map = dictDataService.queryDictData("vis_out_stuff_type");
|
||||
List<VisCarryStuffVo> list =visCarryStuffService.selectList(vo);
|
||||
list.forEach(vis -> vis.setStuffTypeName(map.get(vis.getStuffType())));
|
||||
|
||||
List<VisExitOutVo> list = visCarryStuffService.selectList(vo);
|
||||
if (CollUtil.isEmpty(list)) {
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 小程序查询我的携物信息列表
|
||||
*/
|
||||
@GetMapping("/app/list")
|
||||
public TableDataInfo appList(VisCarryStuffVo vo) {
|
||||
LoginUser user = SecurityUtils.getLoginUser();
|
||||
vo.setCreateBy(user.getUsername());
|
||||
//查询物品信息列表
|
||||
List<Long> collect = list.stream().map(VisExitOutVo::getId).collect(Collectors.toList());
|
||||
VisStuffInfoVo visStuffInfoVo = new VisStuffInfoVo();
|
||||
visStuffInfoVo.setExitIds(collect);
|
||||
List<VisStuffInfoVo> stuffList = visCarryStuffService.selectStuffList(visStuffInfoVo);
|
||||
if (CollUtil.isEmpty(stuffList)) {
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
//处理字典值
|
||||
Map<String, String> map = dictDataService.queryDictData("vis_out_stuff_type");
|
||||
List<VisCarryStuffVo> list =visCarryStuffService.selectList(vo);
|
||||
list.forEach(vis -> vis.setStuffTypeName(map.get(vis.getStuffType())));
|
||||
stuffList.forEach(stuff -> {
|
||||
if (StrUtil.isNotBlank(stuff.getType())) {
|
||||
stuff.setTypeName(map.get(stuff.getType()));
|
||||
}
|
||||
if (StrUtil.isNotBlank(stuff.getBackType())) {
|
||||
stuff.setBackTypeName(map.get(stuff.getBackType()));
|
||||
}
|
||||
if (StrUtil.isNotBlank(stuff.getImgUrls())) {
|
||||
stuff.setImgUrlList(Arrays.asList(stuff.getImgUrls().split(",")));
|
||||
}
|
||||
if (StrUtil.isNotBlank(stuff.getBackImgUrls())) {
|
||||
stuff.setBackImgUrlList(Arrays.asList(stuff.getBackImgUrls().split(",")));
|
||||
}
|
||||
});
|
||||
|
||||
//构造数据
|
||||
Map<Long, List<VisStuffInfoVo>> collect1 = stuffList.stream().collect(Collectors.groupingBy(VisStuffInfoVo::getExitId));
|
||||
list.forEach(exit -> {
|
||||
exit.setVisStuffInfoList(collect1.get(exit.getId()));
|
||||
});
|
||||
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@@ -96,10 +119,34 @@ public class VisCarryStuffController extends BaseController {
|
||||
*/
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
||||
VisCarryStuffVo stuffVo = visCarryStuffService.selectVisStuffById(id);
|
||||
CheckCodeVo codeVo = visCarryStuffService.selectStuffCheckCode(id);
|
||||
VisExitOutVo stuffVo = visCarryStuffService.selectVisStuffById(id);
|
||||
|
||||
//查询物品信息列表
|
||||
VisStuffInfoVo visStuffInfoVo = new VisStuffInfoVo();
|
||||
visStuffInfoVo.setExitId(stuffVo.getId());
|
||||
List<VisStuffInfoVo> stuffList = visCarryStuffService.selectStuffList(visStuffInfoVo);
|
||||
if (CollUtil.isNotEmpty(stuffList)) {
|
||||
//处理字典
|
||||
Map<String, String> map = dictDataService.queryDictData("vis_out_stuff_type");
|
||||
stuffVo.setStuffTypeName(map.get(stuffVo.getStuffType()));
|
||||
stuffList.forEach(stuff -> {
|
||||
if (StrUtil.isNotBlank(stuff.getType())) {
|
||||
stuff.setTypeName(map.get(stuff.getType()));
|
||||
}
|
||||
if (StrUtil.isNotBlank(stuff.getBackType())) {
|
||||
stuff.setBackTypeName(map.get(stuff.getBackType()));
|
||||
}
|
||||
if (StrUtil.isNotBlank(stuff.getImgUrls())) {
|
||||
stuff.setImgUrlList(Arrays.asList(stuff.getImgUrls().split(",")));
|
||||
}
|
||||
if (StrUtil.isNotBlank(stuff.getBackImgUrls())) {
|
||||
stuff.setBackImgUrlList(Arrays.asList(stuff.getBackImgUrls().split(",")));
|
||||
}
|
||||
});
|
||||
stuffVo.setVisStuffInfoList(stuffList);
|
||||
}
|
||||
|
||||
//查询二维码信息
|
||||
CheckCodeVo codeVo = visCarryStuffService.selectStuffCheckCode(id);
|
||||
if (ObjectUtil.isNotNull(codeVo)) {
|
||||
stuffVo.setQrCode(codeVo.getCode());
|
||||
}
|
||||
@@ -110,65 +157,42 @@ public class VisCarryStuffController extends BaseController {
|
||||
/**
|
||||
* 新增访客信息
|
||||
*/
|
||||
@Log(title = "携物流程审核", businessType = BusinessType.INSERT)
|
||||
@Log(title = "出门证申请", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
@Transactional
|
||||
public AjaxResult add(@RequestBody VisCarryStuffVo vo) {
|
||||
log.info("新增携物申请信息:{}", vo);
|
||||
public AjaxResult add(@RequestBody VisExitOutVo vo) {
|
||||
log.info("新增出门证申请信息:{}", vo);
|
||||
try {
|
||||
visCarryStuffService.insertVisCarryStuff(vo);
|
||||
//新增出门申请
|
||||
visCarryStuffService.insertVisExitOut(vo);
|
||||
|
||||
//新增物资信息
|
||||
List<VisStuffInfoVo> visStuffInfoList = vo.getVisStuffInfoList();
|
||||
visStuffInfoList.forEach(stuff -> stuff.setExitId(vo.getId()));
|
||||
visCarryStuffService.insertVisStuffInfo(visStuffInfoList);
|
||||
} catch (Exception e) {
|
||||
log.error("携物申请add异常:", e);
|
||||
return AjaxResult.error("系统异常,请重新提交或联系管理员!");
|
||||
log.error("出门证申请add异常:", e);
|
||||
throw new ServiceException("系统异常,请重新提交或联系管理员!");
|
||||
}
|
||||
|
||||
//查询一级审核人信息
|
||||
// 审核通知企微发送消息(小程序来源)
|
||||
SysPeople sysPeople = new SysPeople();
|
||||
sysPeople.setCarryStuffExamine("1");
|
||||
sysPeople.setBranchId("0");
|
||||
List<SysPeople> peopleList = sysPeopleService.selectSysPeopleLists(sysPeople);
|
||||
// 通知一级审核人,企微发送消息(小程序来源)
|
||||
SysPeople people = sysPeopleService.selectSysPeopleById(vo.getReviewer1());
|
||||
|
||||
for (SysPeople people : peopleList) {
|
||||
String url = getExamineUrl(String.valueOf(vo.getId()), people.getPhone());
|
||||
log.info("携物申请add发送审核链接:{}", url);
|
||||
//发送钉钉信息
|
||||
// String content = getContent(vo);
|
||||
// visitorController.asyncsendV2(sysPeople.getPhone(), "text", content + url);
|
||||
log.info("出门证申请add发送:{}审核链接:{}", people.getPhone(), url);
|
||||
|
||||
//发送企微信息
|
||||
try {
|
||||
visitorController.sendWeCom(sysPeople.getPhone(), url + " --访客姓名:" + vo.getName());
|
||||
// visitorController.sendWeCom(people.getPhone(), url + " --访客姓名:" + vo.getName());
|
||||
} catch (Exception e) {
|
||||
log.error("携物申请add-sendWeCom异常:", e);
|
||||
return AjaxResult.error("系统异常,请重新提交或联系管理员!");
|
||||
}
|
||||
log.error("出门证申请add-sendWeCom异常:", e);
|
||||
throw new ServiceException("系统异常,请重新提交或联系管理员!");
|
||||
}
|
||||
|
||||
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 组织链接内容(申请人&随访人基本信息)
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private String getContent(VisCarryStuffVo vo) {
|
||||
String matterName = "携物出门申请";
|
||||
// String visTime = DateUtil.format(vo.getVisTime(), DatePattern.NORM_DATE_FORMATTER);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("收到新的携物出门申请:").append(matterName).append("\n");
|
||||
sb.append("申请人:").append(vo.getName()).append("\n");
|
||||
sb.append("物品名称:").append(vo.getStuffName()).append("\n");
|
||||
sb.append("物品类型:").append(vo.getStuffTypeName()).append("\n");
|
||||
sb.append("物品数量:").append(vo.getStuffNumber()).append("\n");
|
||||
sb.append("点击链接进行审核:");
|
||||
log.info("getContent:{}", JSON.toJSONString(sb));
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取审核链接
|
||||
*
|
||||
@@ -188,6 +212,14 @@ public class VisCarryStuffController extends BaseController {
|
||||
return "https://fk.xyxaks.cn/h5/?c=" + code + "2";
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成出门证编号
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/getExitPermitNo")
|
||||
public AjaxResult getExitPermitNo() {
|
||||
return AjaxResult.success("操作成功", System.currentTimeMillis() + SmsUtils.generateSmsCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* 流程审核
|
||||
@@ -195,7 +227,7 @@ public class VisCarryStuffController extends BaseController {
|
||||
@Log(title = "携物流程审核", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/approve")
|
||||
@Transactional
|
||||
public AjaxResult approve(@RequestBody VisCarryStuffVo vo) {
|
||||
public AjaxResult approve(@RequestBody VisExitOutVo vo) {
|
||||
log.info("携物流程审核入参 {}", JSON.toJSONString(vo));
|
||||
try {
|
||||
String telephone = StringUtils.isBlank(vo.getTelephone()) ? "1" : vo.getTelephone();
|
||||
@@ -208,8 +240,8 @@ public class VisCarryStuffController extends BaseController {
|
||||
//查询当前审核人基本信息
|
||||
SysPeople sysPeople = sysPeopleService.queryPeopleName(telephone, null);
|
||||
|
||||
//查询携物申请详情信息
|
||||
VisCarryStuffVo stuffVo = visCarryStuffService.selectVisStuffById(vo.getId());
|
||||
//查询出门证申请详情信息
|
||||
VisExitOutVo stuffVo = visCarryStuffService.selectVisStuffById(vo.getId());
|
||||
|
||||
//保存审核环节表
|
||||
vo.setReviewer(sysPeople.getId());
|
||||
@@ -218,65 +250,51 @@ public class VisCarryStuffController extends BaseController {
|
||||
|
||||
//保存审核历史表
|
||||
VisVisitorExamine examine = new VisVisitorExamine();
|
||||
examine.setStuffId(vo.getId());
|
||||
examine.setExitId(vo.getId());
|
||||
examine.setCreateBy(sysPeople.getName());
|
||||
examine.setExamine(vo.getExamineState());
|
||||
|
||||
//审核通过
|
||||
List<SysPeople> peopleList = new ArrayList<>();
|
||||
SysPeople peopleQuery = new SysPeople();
|
||||
SysPeople people = new SysPeople();
|
||||
if(Constants.ZERO.equals(vo.getExamineState())) {
|
||||
//一级审核人审核
|
||||
if (stuffVo.getCurrentNode() == 1) {
|
||||
vo.setExamineState(null);
|
||||
vo.setExamineState("2");
|
||||
vo.setCurrentNode(2);
|
||||
vo.setReviewer1(sysPeople.getId());
|
||||
//查询二级审核人信息,发送审核链接
|
||||
peopleQuery.setCarryStuffExamine("2");
|
||||
peopleQuery.setBranchId("0");
|
||||
peopleList = sysPeopleService.selectSysPeopleLists(peopleQuery);
|
||||
people = sysPeopleService.selectSysPeopleById(stuffVo.getReviewer2());
|
||||
}
|
||||
//二级审核人审核
|
||||
else if (stuffVo.getCurrentNode() == 2) {
|
||||
vo.setExamineState(null);
|
||||
vo.setExamineState("2");
|
||||
vo.setCurrentNode(3);
|
||||
vo.setReviewer2(sysPeople.getId());
|
||||
//查询三级审核人信息,发送审核链接
|
||||
peopleQuery.setCarryStuffExamine("3");
|
||||
peopleQuery.setBranchId("0");
|
||||
peopleList = sysPeopleService.selectSysPeopleLists(peopleQuery);
|
||||
people = sysPeopleService.selectSysPeopleById(stuffVo.getReviewer3());
|
||||
}
|
||||
else {//三级审核,最后一级
|
||||
vo.setReviewer3(sysPeople.getId());
|
||||
//保存审核历史表
|
||||
visVisitorExamineService.insertVisVisitorExamine(examine);
|
||||
|
||||
// 保存审核二维码地址信息
|
||||
CheckCodeVo codeVo = new CheckCodeVo();
|
||||
codeVo.setCode(vo.getId() + "&time=" + new Date().getTime());
|
||||
codeVo.setStuffId(String.valueOf(vo.getId()));
|
||||
codeVo.setExitId(String.valueOf(vo.getId()));
|
||||
codeVo.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||
visitorService.saveVisCheckCode(codeVo);
|
||||
}
|
||||
}
|
||||
|
||||
//向下级审核人发送审核信息
|
||||
for (SysPeople people : peopleList) {
|
||||
String url = getExamineUrl(String.valueOf(vo.getId()), people.getPhone());
|
||||
log.info("携物申请appove发送审核链接:{}", url);
|
||||
//发送钉钉信息
|
||||
// String content = getContent(vo);
|
||||
// visitorController.asyncsendV2(sysPeople.getPhone(), "text", content + url);
|
||||
log.info("出门证申请appove发送:{}审核链接:{}", people.getPhone(), url);
|
||||
|
||||
//发送企微信息
|
||||
try {
|
||||
visitorController.sendWeCom(sysPeople.getPhone(), url + " --访客姓名:" + vo.getName());
|
||||
// visitorController.sendWeCom(people.getPhone(), url + " --访客姓名:" + vo.getName());
|
||||
} catch (Exception e) {
|
||||
log.error("携物申请add-sendWeCom异常:", e);
|
||||
return AjaxResult.error("系统异常,请重新提交或联系管理员!");
|
||||
log.error("出门证申请add-sendWeCom异常:", e);
|
||||
throw new ServiceException("系统异常,请重新提交或联系管理员!");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//审核拒绝
|
||||
if (Constants.ONE.equals(vo.getExamineState())) {
|
||||
@@ -284,26 +302,42 @@ 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);
|
||||
}
|
||||
// 申请人发送短信(审核不通过)
|
||||
SysPeople sysPeople1 = sysPeopleService.selectSysPeopleById(stuffVo.getUserId());
|
||||
visitorController.sendMessage(sysPeople1.getPhone(), "1", smsProperties.getTemplate3());
|
||||
// visitorController.sendMessage(sysPeople1.getPhone(), "1", smsProperties.getTemplate3());
|
||||
}
|
||||
|
||||
visCarryStuffService.updateStaff(vo);
|
||||
|
||||
return toAjax(true);
|
||||
} catch (Exception e) {
|
||||
log.error("审核异常:", e);
|
||||
return toAjax(false);
|
||||
throw new ServiceException("审核异常");
|
||||
}finally {
|
||||
redisService.deleteObject(APPROVE_KEY);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询审核人下拉数据
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/getReviewerSelect")
|
||||
public AjaxResult getReviewerSelect(@RequestBody SysPeople people) {
|
||||
people.setBranchId("0");
|
||||
List<SysPeople> peopleList = sysPeopleService.selectSysPeopleLists(people);
|
||||
List<IdNamelVo> list = new ArrayList<>();
|
||||
peopleList.forEach(item -> {
|
||||
IdNamelVo vo = new IdNamelVo();
|
||||
vo.setId(item.getId());
|
||||
vo.setName(item.getName());
|
||||
list.add(vo);
|
||||
});
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.dcsoft.system.visitor.controller;
|
||||
|
||||
import com.dcsoft.common.core.exception.ServiceException;
|
||||
import com.dcsoft.common.core.web.controller.BaseController;
|
||||
import com.dcsoft.common.core.web.domain.AjaxResult;
|
||||
import com.dcsoft.common.core.web.page.TableDataInfo;
|
||||
import com.dcsoft.common.log.annotation.Log;
|
||||
import com.dcsoft.common.log.enums.BusinessType;
|
||||
import com.dcsoft.system.visitor.domain.VisExitOutRecordVo;
|
||||
import com.dcsoft.system.visitor.service.IVisExitOutRecordService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/exitRecord")
|
||||
public class VisExitOutRecordController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private IVisExitOutRecordService visExitOutRecordService;
|
||||
|
||||
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(VisExitOutRecordVo vo) {
|
||||
startPage();
|
||||
List<VisExitOutRecordVo> list = visExitOutRecordService.selectList(vo);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取出门记录详情
|
||||
*/
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
||||
VisExitOutRecordVo stuffVo = visExitOutRecordService.selectExitOutRecordById(id);
|
||||
return success(stuffVo);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增访客信息
|
||||
*/
|
||||
@Log(title = "新增出门记录", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
@Transactional
|
||||
public AjaxResult add(@RequestBody VisExitOutRecordVo vo) {
|
||||
log.info("新增出门记录信息:{}", vo);
|
||||
try {
|
||||
//新增出门申请
|
||||
visExitOutRecordService.insertExitOutRecord(vo);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("新增出门记录异常:", e);
|
||||
throw new ServiceException("系统异常");
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -337,7 +337,7 @@ public class VisitorController extends BaseController {
|
||||
String telephone = split[1];
|
||||
|
||||
if (StringUtils.equals("2", type)) {
|
||||
VisCarryStuffVo visCarryStuff = getVisCarryStuff(id, telephone);
|
||||
VisExitOutVo visCarryStuff = getVisCarryStuff(id, telephone);
|
||||
visCarryStuff.setTelephone(telephone);
|
||||
return success(visCarryStuff);
|
||||
}
|
||||
@@ -376,15 +376,24 @@ public class VisitorController extends BaseController {
|
||||
* @param telephone
|
||||
* @return
|
||||
*/
|
||||
private VisCarryStuffVo getVisCarryStuff(Long id, String telephone) {
|
||||
VisCarryStuffVo stuffVo = visCarryStuffService.selectVisStuffById(id);
|
||||
CheckCodeVo codeVo = visCarryStuffService.selectStuffCheckCode(id);
|
||||
private VisExitOutVo getVisCarryStuff(Long id, String telephone) {
|
||||
VisExitOutVo stuffVo = visCarryStuffService.selectVisStuffById(id);
|
||||
|
||||
//查询物品信息列表
|
||||
VisStuffInfoVo visStuffInfoVo = new VisStuffInfoVo();
|
||||
visStuffInfoVo.setExitId(stuffVo.getId());
|
||||
List<VisStuffInfoVo> stuffList = visCarryStuffService.selectStuffList(visStuffInfoVo);
|
||||
if (CollUtil.isNotEmpty(stuffList)) {
|
||||
//处理字典
|
||||
Map<String, String> map = dictDataService.queryDictData("vis_out_stuff_type");
|
||||
stuffVo.setStuffTypeName(map.get(stuffVo.getStuffType()));
|
||||
if (ObjectUtil.isNotNull(codeVo)) {
|
||||
stuffVo.setQrCode(codeVo.getCode());
|
||||
stuffList.forEach(stuff -> {
|
||||
stuff.setTypeName(map.get(stuff.getType()));
|
||||
stuff.setBackTypeName(map.get(stuff.getBackType()));
|
||||
});
|
||||
stuffVo.setVisStuffInfoList(stuffList);
|
||||
}
|
||||
|
||||
//查询审核流程信息
|
||||
List<VisitorReviewProcessVo> reviewProcess = visCarryStuffService.queryVisitorReviewProcessList(id);
|
||||
if(CollUtil.isNotEmpty(reviewProcess)) {
|
||||
stuffVo.setReviewProcessList(reviewProcess);
|
||||
@@ -395,11 +404,10 @@ public class VisitorController extends BaseController {
|
||||
SysPeople sysPeople = sysPeopleService.queryPeopleName(telephone, null);
|
||||
|
||||
//如果当前点击链接的审核人员级别小于流程处于的级别,展示已审核的结果
|
||||
if (Integer.parseInt(sysPeople.getCarryStuffExamine()) < stuffVo.getCurrentNode()) {
|
||||
if (StringUtils.isNotBlank(sysPeople.getCarryStuffExamine()) && Integer.parseInt(sysPeople.getCarryStuffExamine()) < stuffVo.getCurrentNode()) {
|
||||
VisitorReviewProcessVo processVo = visCarryStuffService.queryReviewProcessNew(stuffVo);
|
||||
stuffVo.setExamineState(processVo.getState());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return stuffVo;
|
||||
@@ -538,7 +546,7 @@ public class VisitorController extends BaseController {
|
||||
|
||||
//发送企微信息
|
||||
try {
|
||||
sendWeCom(sysPeople.getPhone(), url + " --访客姓名:" + visitor.getName());
|
||||
// sendWeCom(sysPeople.getPhone(), url + " --访客姓名:" + visitor.getName());
|
||||
} catch (Exception e) {
|
||||
log.error("访客add-sendWeCom异常:", e);
|
||||
}
|
||||
@@ -1053,7 +1061,7 @@ public class VisitorController extends BaseController {
|
||||
log.info("approve发送审核链接:{}", url);
|
||||
|
||||
try {
|
||||
sendWeCom(nextPeople.getPhone(), url + " --访客姓名:" + visitor.getName());
|
||||
// sendWeCom(nextPeople.getPhone(), url + " --访客姓名:" + visitor.getName());
|
||||
} catch (Exception e) {
|
||||
log.error("访客approve-sendWeCom异常:", e);
|
||||
}
|
||||
@@ -1096,14 +1104,14 @@ public class VisitorController extends BaseController {
|
||||
visitorService.updateVisitorReviewProcess(visitor);
|
||||
|
||||
try {
|
||||
sendWeCom(telephone, visitor.getName() + "的访客审核已驳回");
|
||||
// sendWeCom(telephone, visitor.getName() + "的访客审核已驳回");
|
||||
} catch (Exception e) {
|
||||
log.error("访客approve-sendWeCom驳回异常:", e);
|
||||
}
|
||||
// 申请人发送短信(审核不通过)
|
||||
|
||||
log.info("临时日志,发拒绝短信{}", visitor.getPhone());
|
||||
sendMessage(visitor.getPhone(), "1", smsProperties.getTemplate3());
|
||||
// sendMessage(visitor.getPhone(), "1", smsProperties.getTemplate3());
|
||||
}
|
||||
|
||||
visitorService.approve(visitor);
|
||||
@@ -1111,7 +1119,7 @@ public class VisitorController extends BaseController {
|
||||
return toAjax(true);
|
||||
} catch (Exception e) {
|
||||
log.error("审核异常:", e);
|
||||
return toAjax(false);
|
||||
throw new ServiceException("审核异常");
|
||||
}finally {
|
||||
redisService.deleteObject(APPROVE_KEY);
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ public class CheckCodeVo {
|
||||
|
||||
private String visitorId;
|
||||
|
||||
private String stuffId;
|
||||
private String exitId;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.dcsoft.system.visitor.domain;
|
||||
|
||||
|
||||
import com.dcsoft.common.core.web.domain.BaseEntity;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class VisExitOutRecordVo extends BaseEntity {
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 保安
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 保安名字
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 出门申请id
|
||||
*/
|
||||
private Long exitId;
|
||||
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.dcsoft.system.visitor.domain;
|
||||
|
||||
|
||||
import com.dcsoft.common.core.annotation.Excel;
|
||||
import com.dcsoft.common.core.web.domain.BaseEntity;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
@@ -10,10 +9,13 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class VisCarryStuffVo extends BaseEntity {
|
||||
public class VisExitOutVo extends BaseEntity {
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 发货人(申请人)
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
@@ -26,47 +28,42 @@ public class VisCarryStuffVo extends BaseEntity {
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 申请人联系方式
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 出门证编号
|
||||
*/
|
||||
private String exitPermitNo;
|
||||
|
||||
/**
|
||||
* 经办人
|
||||
*/
|
||||
private String peopleId;
|
||||
|
||||
/**
|
||||
* 申请单位
|
||||
*/
|
||||
private String visitingUnit;
|
||||
|
||||
/**
|
||||
* 物品名称
|
||||
*/
|
||||
private String stuffName;
|
||||
|
||||
/**
|
||||
* 物品类型
|
||||
*/
|
||||
private String stuffType;
|
||||
|
||||
/**
|
||||
* 物品类型名称
|
||||
*/
|
||||
private String stuffTypeName;
|
||||
|
||||
/**
|
||||
* 物品数量
|
||||
*/
|
||||
private String stuffNumber;
|
||||
|
||||
/**
|
||||
* 交通工具
|
||||
*/
|
||||
private String vehicle;
|
||||
|
||||
/**
|
||||
* 现场照片
|
||||
*/
|
||||
private String imgUrls;
|
||||
|
||||
/**
|
||||
* 日期
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date visTime;
|
||||
|
||||
/**
|
||||
* 车牌
|
||||
*/
|
||||
private String carNo;
|
||||
|
||||
/**
|
||||
* 一级审核人
|
||||
*/
|
||||
@@ -113,6 +110,11 @@ public class VisCarryStuffVo extends BaseEntity {
|
||||
*/
|
||||
private Integer currentNode;
|
||||
|
||||
/**
|
||||
* 物品信息列表
|
||||
*/
|
||||
private List<VisStuffInfoVo> visStuffInfoList;
|
||||
|
||||
private List<VisitorReviewProcessVo> reviewProcessList;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
package com.dcsoft.system.visitor.domain;
|
||||
|
||||
import com.dcsoft.common.core.web.domain.BaseEntity;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class VisStuffInfoVo extends BaseEntity {
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 出门申请id
|
||||
*/
|
||||
private Long exitId;
|
||||
|
||||
|
||||
private List<Long> exitIds;
|
||||
|
||||
/**
|
||||
* 物资名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 物资用途
|
||||
*/
|
||||
private String purpose;
|
||||
|
||||
/**
|
||||
* 物资类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 物资类型名称
|
||||
*/
|
||||
private String typeName;
|
||||
|
||||
/**
|
||||
* 规格型号
|
||||
*/
|
||||
private String model;
|
||||
|
||||
/**
|
||||
* 计量单位
|
||||
*/
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
private Integer number;
|
||||
|
||||
/**
|
||||
* 图片地址
|
||||
*/
|
||||
private String imgUrls;
|
||||
|
||||
/**
|
||||
* 图片地址集合
|
||||
*/
|
||||
private List<String> imgUrlList;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 是否返厂0:否,1:是
|
||||
*/
|
||||
private Integer isBack;
|
||||
|
||||
/**
|
||||
* 返厂日期
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date backTime;
|
||||
|
||||
/**
|
||||
* 返厂物资名称
|
||||
*/
|
||||
private String backName;
|
||||
|
||||
/**
|
||||
* 返厂物资用途
|
||||
*/
|
||||
private String backPurpose;
|
||||
|
||||
/**
|
||||
* 返厂物资类型
|
||||
*/
|
||||
private String backType;
|
||||
|
||||
/**
|
||||
* 返厂物资类型名称
|
||||
*/
|
||||
private String backTypeName;
|
||||
|
||||
/**
|
||||
* 返厂规格型号
|
||||
*/
|
||||
private String backModel;
|
||||
|
||||
/**
|
||||
* 返厂计量单位
|
||||
*/
|
||||
private String backUnit;
|
||||
|
||||
/**
|
||||
* 返厂数量
|
||||
*/
|
||||
private Integer backNumber;
|
||||
|
||||
/**
|
||||
* 返厂图片地址
|
||||
*/
|
||||
private String backImgUrls;
|
||||
|
||||
/**
|
||||
* 返厂图片地址集合
|
||||
*/
|
||||
private List<String> backImgUrlList;
|
||||
|
||||
/**
|
||||
* 返厂备注
|
||||
*/
|
||||
private String backRemark;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Integer sort;
|
||||
|
||||
|
||||
}
|
||||
@@ -31,7 +31,7 @@ public class VisVisitorExamine extends BaseEntity
|
||||
private Long visitorId;
|
||||
|
||||
/** 访客id */
|
||||
private Long stuffId;
|
||||
private Long exitId;
|
||||
|
||||
/** 准入时间起 */
|
||||
@Excel(name = "准入时间起")
|
||||
@@ -66,12 +66,12 @@ passwordPermission 密码权限 */
|
||||
|
||||
private String rejectReason;
|
||||
|
||||
public Long getStuffId() {
|
||||
return stuffId;
|
||||
public Long getExitId() {
|
||||
return exitId;
|
||||
}
|
||||
|
||||
public void setStuffId(Long stuffId) {
|
||||
this.stuffId = stuffId;
|
||||
public void setExitId(Long exitId) {
|
||||
this.exitId = exitId;
|
||||
}
|
||||
|
||||
public String getRejectReason() {
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
package com.dcsoft.system.visitor.mapper;
|
||||
|
||||
import com.dcsoft.system.visitor.domain.CheckCodeVo;
|
||||
import com.dcsoft.system.visitor.domain.VisCarryStuffVo;
|
||||
import com.dcsoft.system.visitor.domain.VisExitOutVo;
|
||||
import com.dcsoft.system.visitor.domain.VisStuffInfoVo;
|
||||
import com.dcsoft.system.visitor.domain.VisitorReviewProcessVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@@ -9,19 +10,23 @@ import java.util.List;
|
||||
|
||||
public interface VisCarryStuffMapper {
|
||||
|
||||
List<VisCarryStuffVo> selectList(VisCarryStuffVo vo);
|
||||
List<VisExitOutVo> selectList(VisExitOutVo vo);
|
||||
|
||||
void insertVisCarryStuff(VisCarryStuffVo vo);
|
||||
void insertVisExitOut(VisExitOutVo vo);
|
||||
|
||||
VisCarryStuffVo selectVisStuffById(Long id);
|
||||
VisExitOutVo selectVisStuffById(Long id);
|
||||
|
||||
CheckCodeVo selectStuffCheckCode(@Param("stuffId") Long id);
|
||||
CheckCodeVo selectStuffCheckCode(@Param("exitId") Long id);
|
||||
|
||||
void updateStaff(VisCarryStuffVo vo);
|
||||
void updateStaff(VisExitOutVo vo);
|
||||
|
||||
List<VisitorReviewProcessVo> queryVisitorReviewProcessList(Long id);
|
||||
|
||||
void saveVisitorReviewProcess(VisCarryStuffVo vo);
|
||||
void saveVisitorReviewProcess(VisExitOutVo vo);
|
||||
|
||||
VisitorReviewProcessVo queryReviewProcessNew(VisCarryStuffVo stuffVo);
|
||||
VisitorReviewProcessVo queryReviewProcessNew(VisExitOutVo stuffVo);
|
||||
|
||||
void insertVisStuffInfo(@Param("list") List<VisStuffInfoVo> visStuffInfoList);
|
||||
|
||||
List<VisStuffInfoVo> selectStuffList(VisStuffInfoVo visStuffInfoVo);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.dcsoft.system.visitor.mapper;
|
||||
|
||||
import com.dcsoft.system.visitor.domain.*;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface VisExitOutRecordMapper {
|
||||
|
||||
List<VisExitOutRecordVo> selectList(VisExitOutRecordVo vo);
|
||||
|
||||
VisExitOutRecordVo selectExitOutRecordById(Long id);
|
||||
|
||||
void insertExitOutRecord(VisExitOutRecordVo vo);
|
||||
}
|
||||
@@ -1,27 +1,28 @@
|
||||
package com.dcsoft.system.visitor.service;
|
||||
|
||||
import com.dcsoft.system.visitor.domain.CheckCodeVo;
|
||||
import com.dcsoft.system.visitor.domain.VisCarryStuffVo;
|
||||
import com.dcsoft.system.visitor.domain.Visitor;
|
||||
import com.dcsoft.system.visitor.domain.VisitorReviewProcessVo;
|
||||
import com.dcsoft.system.visitor.domain.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IVisCarryStuffService {
|
||||
|
||||
List<VisCarryStuffVo> selectList(VisCarryStuffVo vo);
|
||||
List<VisExitOutVo> selectList(VisExitOutVo vo);
|
||||
|
||||
void insertVisCarryStuff(VisCarryStuffVo vo);
|
||||
void insertVisExitOut(VisExitOutVo vo);
|
||||
|
||||
VisCarryStuffVo selectVisStuffById(Long id);
|
||||
VisExitOutVo selectVisStuffById(Long id);
|
||||
|
||||
CheckCodeVo selectStuffCheckCode(Long id);
|
||||
|
||||
void updateStaff(VisCarryStuffVo vo);
|
||||
void updateStaff(VisExitOutVo vo);
|
||||
|
||||
List<VisitorReviewProcessVo> queryVisitorReviewProcessList(Long id);
|
||||
|
||||
void saveVisitorReviewProcess(VisCarryStuffVo vo);
|
||||
void saveVisitorReviewProcess(VisExitOutVo vo);
|
||||
|
||||
VisitorReviewProcessVo queryReviewProcessNew(VisCarryStuffVo stuffVo);
|
||||
VisitorReviewProcessVo queryReviewProcessNew(VisExitOutVo stuffVo);
|
||||
|
||||
void insertVisStuffInfo(List<VisStuffInfoVo> visStuffInfoList);
|
||||
|
||||
List<VisStuffInfoVo> selectStuffList(VisStuffInfoVo vo);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.dcsoft.system.visitor.service;
|
||||
|
||||
import com.dcsoft.system.visitor.domain.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IVisExitOutRecordService {
|
||||
|
||||
List<VisExitOutRecordVo> selectList(VisExitOutRecordVo vo);
|
||||
|
||||
VisExitOutRecordVo selectExitOutRecordById(Long id);
|
||||
|
||||
void insertExitOutRecord(VisExitOutRecordVo vo);
|
||||
}
|
||||
@@ -4,10 +4,7 @@ import com.dcsoft.common.core.constant.Constants;
|
||||
import com.dcsoft.common.core.enums.ExamineEnum;
|
||||
import com.dcsoft.common.security.utils.SecurityUtils;
|
||||
import com.dcsoft.system.api.model.LoginUser;
|
||||
import com.dcsoft.system.visitor.domain.CheckCodeVo;
|
||||
import com.dcsoft.system.visitor.domain.VisCarryStuffVo;
|
||||
import com.dcsoft.system.visitor.domain.Visitor;
|
||||
import com.dcsoft.system.visitor.domain.VisitorReviewProcessVo;
|
||||
import com.dcsoft.system.visitor.domain.*;
|
||||
import com.dcsoft.system.visitor.mapper.VisCarryStuffMapper;
|
||||
import com.dcsoft.system.visitor.mapper.VisitorMapper;
|
||||
import com.dcsoft.system.visitor.service.IVisCarryStuffService;
|
||||
@@ -30,21 +27,33 @@ public class VisCarryStuffImpl implements IVisCarryStuffService {
|
||||
private VisitorMapper visitorMapper;
|
||||
|
||||
@Override
|
||||
public List<VisCarryStuffVo> selectList(VisCarryStuffVo vo) {
|
||||
public List<VisExitOutVo> selectList(VisExitOutVo vo) {
|
||||
return visCarryStuffMapper.selectList(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertVisCarryStuff(VisCarryStuffVo vo) {
|
||||
public void insertVisExitOut(VisExitOutVo vo) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
vo.setCreateBy(loginUser.getUsername());
|
||||
vo.setUserId(loginUser.getUserid());
|
||||
vo.setExamineState(ExamineEnum.IN_REVIEW.getCode());
|
||||
vo.setExamineState(ExamineEnum.IN_REVIEW.getCode());
|
||||
visCarryStuffMapper.insertVisCarryStuff(vo);
|
||||
visCarryStuffMapper.insertVisExitOut(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VisCarryStuffVo selectVisStuffById(Long id) {
|
||||
public void insertVisStuffInfo(List<VisStuffInfoVo> visStuffInfoList) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
visStuffInfoList.forEach(vo -> vo.setCreateBy(loginUser.getUsername()));
|
||||
visCarryStuffMapper.insertVisStuffInfo(visStuffInfoList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VisStuffInfoVo> selectStuffList(VisStuffInfoVo visStuffInfoVo) {
|
||||
return visCarryStuffMapper.selectStuffList(visStuffInfoVo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VisExitOutVo selectVisStuffById(Long id) {
|
||||
return visCarryStuffMapper.selectVisStuffById(id);
|
||||
}
|
||||
|
||||
@@ -54,7 +63,7 @@ public class VisCarryStuffImpl implements IVisCarryStuffService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateStaff(VisCarryStuffVo vo) {
|
||||
public void updateStaff(VisExitOutVo vo) {
|
||||
visCarryStuffMapper.updateStaff(vo);
|
||||
}
|
||||
|
||||
@@ -64,12 +73,12 @@ public class VisCarryStuffImpl implements IVisCarryStuffService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveVisitorReviewProcess(VisCarryStuffVo vo) {
|
||||
public void saveVisitorReviewProcess(VisExitOutVo vo) {
|
||||
visCarryStuffMapper.saveVisitorReviewProcess(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VisitorReviewProcessVo queryReviewProcessNew(VisCarryStuffVo stuffVo) {
|
||||
public VisitorReviewProcessVo queryReviewProcessNew(VisExitOutVo stuffVo) {
|
||||
return visCarryStuffMapper.queryReviewProcessNew(stuffVo);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.dcsoft.system.visitor.service.impl;
|
||||
|
||||
import com.dcsoft.common.core.enums.ExamineEnum;
|
||||
import com.dcsoft.common.security.utils.SecurityUtils;
|
||||
import com.dcsoft.system.api.model.LoginUser;
|
||||
import com.dcsoft.system.visitor.domain.*;
|
||||
import com.dcsoft.system.visitor.mapper.VisCarryStuffMapper;
|
||||
import com.dcsoft.system.visitor.mapper.VisExitOutRecordMapper;
|
||||
import com.dcsoft.system.visitor.mapper.VisitorMapper;
|
||||
import com.dcsoft.system.visitor.service.IVisCarryStuffService;
|
||||
import com.dcsoft.system.visitor.service.IVisExitOutRecordService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class VisExitOutRecordImpl implements IVisExitOutRecordService {
|
||||
|
||||
@Resource
|
||||
private VisExitOutRecordMapper visExitOutRecordMapper;
|
||||
|
||||
@Override
|
||||
public List<VisExitOutRecordVo> selectList(VisExitOutRecordVo vo) {
|
||||
return visExitOutRecordMapper.selectList(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VisExitOutRecordVo selectExitOutRecordById(Long id) {
|
||||
return visExitOutRecordMapper.selectExitOutRecordById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertExitOutRecord(VisExitOutRecordVo vo) {
|
||||
visExitOutRecordMapper.insertExitOutRecord(vo);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,16 +4,16 @@
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.dcsoft.system.visitor.mapper.VisCarryStuffMapper">
|
||||
|
||||
<resultMap type="VisCarryStuffVo" id="VisitorResult">
|
||||
<resultMap type="VisExitOutVo" id="VisitorResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="name" column="name"/>
|
||||
<result property="phone" column="phone"/>
|
||||
<result property="exitPermitNo" column="exit_permit_no"/>
|
||||
<result property="peopleId" column="people_id"/>
|
||||
<result property="visitingUnit" column="visiting_unit"/>
|
||||
<result property="stuffName" column="stuff_name"/>
|
||||
<result property="stuffType" column="stuff_type"/>
|
||||
<result property="stuffNumber" column="stuff_number"/>
|
||||
<result property="imgUrls" column="img_urls"/>
|
||||
<result property="visTime" column="vis_time"/>
|
||||
<result property="carNo" column="car_no"/>
|
||||
<result property="reviewer1" column="reviewer1"/>
|
||||
<result property="reviewer2" column="reviewer2"/>
|
||||
<result property="reviewer3" column="reviewer3"/>
|
||||
@@ -24,75 +24,101 @@
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="vehicle" column="vehicle"/>
|
||||
<result property="currentNode" column="current_node"/>
|
||||
<!-- <association property="examine" column="id" javaType="VisStuffInfoVo" resultMap="StuffResult"/>-->
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectVisCarryStuffVo">
|
||||
<resultMap type="VisStuffInfoVo" id="StuffResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="exitId" column="exit_id"/>
|
||||
<result property="name" column="name"/>
|
||||
<result property="purpose" column="purpose"/>
|
||||
<result property="type" column="type"/>
|
||||
<result property="model" column="model"/>
|
||||
<result property="unit" column="unit"/>
|
||||
<result property="number" column="number"/>
|
||||
<result property="imgUrls" column="img_urls"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="isBack" column="is_back"/>
|
||||
<result property="backTime" column="back_time"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="backName" column="back_name"/>
|
||||
<result property="backPurpose" column="back_purpose"/>
|
||||
<result property="backType" column="back_type"/>
|
||||
<result property="backModel" column="back_model"/>
|
||||
<result property="backUnit" column="back_unit"/>
|
||||
<result property="backNumber" column="back_number"/>
|
||||
<result property="backImgUrls" column="back_img_urls"/>
|
||||
<result property="backRemark" column="back_remark"/>
|
||||
<result property="sort" column="sort"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectVisExitOutVo">
|
||||
select distinct
|
||||
id,
|
||||
name,
|
||||
user_id,
|
||||
visiting_unit,
|
||||
stuff_name,
|
||||
stuff_type,
|
||||
stuff_number,
|
||||
img_urls,
|
||||
vis_time,
|
||||
reviewer1,
|
||||
reviewer2,
|
||||
reviewer3,
|
||||
examine_state,
|
||||
create_by,
|
||||
create_time,
|
||||
update_by,
|
||||
update_time,
|
||||
vehicle,
|
||||
current_node
|
||||
from vis_carry_stuff_out
|
||||
e.id,
|
||||
e.user_id,
|
||||
e.name,
|
||||
e.phone,
|
||||
e.`exit_permit_no`,
|
||||
e.`people_id`,
|
||||
e.visiting_unit,
|
||||
e.`car_no`,
|
||||
e.vis_time,
|
||||
e.reviewer1,
|
||||
e.reviewer2,
|
||||
e.reviewer3,
|
||||
e.examine_state,
|
||||
e.create_by,
|
||||
e.create_time,
|
||||
e.update_by,
|
||||
e.update_time,
|
||||
e.vehicle,
|
||||
e.current_node
|
||||
from vis_exit_out e
|
||||
</sql>
|
||||
|
||||
<update id="updateStaff">
|
||||
update vis_carry_stuff_out
|
||||
update vis_exit_out
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="userId != null">user_id = #{userId},</if>
|
||||
<if test="name != null and name != ''"> `name` = #{name},</if>
|
||||
<if test="phone != null and phone != ''"> `phone` = #{phone},</if>
|
||||
<if test="exitPermitNo != null and exitPermitNo != ''"> `exit_permit_no` = #{exitPermitNo},</if>
|
||||
<if test="peopleId != null and peopleId != ''"> `people_id` = #{peopleId},</if>
|
||||
<if test="visitingUnit != null and visitingUnit != ''">visiting_unit = #{visitingUnit},</if>
|
||||
<if test="stuffName != null and stuffName != ''">stuff_name = #{stuffName},</if>
|
||||
<if test="stuffType != null and stuffType != ''">stuff_type = #{stuffType},</if>
|
||||
<if test="stuffNumber != null and stuffNumber != ''">stuff_number = #{stuffNumber},</if>
|
||||
<if test="imgUrls != null and imgUrls != ''">img_urls = #{imgUrls},</if>
|
||||
<if test="visTime != null">vis_time = #{visTime},</if>
|
||||
<if test="vehicle != null and vehicle != ''">vehicle = #{vehicle},</if>
|
||||
<if test="carNo != null and carNo != ''">car_no = #{carNo},</if>
|
||||
<if test="reviewer1 != null">reviewer1 = #{reviewer1},</if>
|
||||
<if test="reviewer2 != null">reviewer2 = #{reviewer2},</if>
|
||||
<if test="reviewer3 != null">reviewer3 = #{reviewer3},</if>
|
||||
<if test="examineState != null and examineState != ''">examine_state = #{examineState},</if>
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="vehicle != null">vehicle = #{vehicle},</if>
|
||||
<if test="currentNode != null">current_node = #{currentNode},</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<select id="selectList" resultType="com.dcsoft.system.visitor.domain.VisCarryStuffVo">
|
||||
<include refid="selectVisCarryStuffVo"/>
|
||||
<select id="selectList" resultType="com.dcsoft.system.visitor.domain.VisExitOutVo">
|
||||
<include refid="selectVisExitOutVo"/>
|
||||
<where>
|
||||
<if test="id != null">and id = #{id}</if>
|
||||
<if test="name != null and name != ''">and `name` like concat('%', #{name}, '%')</if>
|
||||
<if test="createBy != null ">and create_by = #{createBy}</if>
|
||||
<if test="userId != null ">and user_id = #{userId}</if>
|
||||
<if test="examineState != null and examineState != 3">and examine_state = #{examineState}</if>
|
||||
<if test="id != null">and e.id = #{id}</if>
|
||||
<if test="name != null and name != ''">and e.`name` like concat('%', #{name}, '%')</if>
|
||||
<if test="createBy != null ">and e.create_by = #{createBy}</if>
|
||||
<if test="userId != null ">and e.user_id = #{userId}</if>
|
||||
<if test="examineState != null and examineState != 3">and e.examine_state = #{examineState}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectVisStuffById" resultType="com.dcsoft.system.visitor.domain.VisCarryStuffVo">
|
||||
<include refid="selectVisCarryStuffVo"/>
|
||||
where id = #{id}
|
||||
<select id="selectVisStuffById" resultType="com.dcsoft.system.visitor.domain.VisExitOutVo">
|
||||
<include refid="selectVisExitOutVo"/>
|
||||
where e.id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectStuffCheckCode" resultType="com.dcsoft.system.visitor.domain.CheckCodeVo">
|
||||
select
|
||||
code
|
||||
from vis_check_code
|
||||
where stuff_id = #{stuffId}
|
||||
where exit_id = #{exitId}
|
||||
order by created_time desc
|
||||
limit 1
|
||||
</select>
|
||||
@@ -105,7 +131,7 @@
|
||||
sp.name reviewerName
|
||||
from vis_visitor_review_process vvrp
|
||||
left join sys_people sp on vvrp.reviewer = sp.id and sp.del_flag = '0'
|
||||
where stuff_id = #{id}
|
||||
where exit_id = #{id}
|
||||
order by ifnull(createdTime, 'zzz')
|
||||
</select>
|
||||
|
||||
@@ -115,23 +141,60 @@
|
||||
state,
|
||||
reject_reason
|
||||
from vis_visitor_review_process
|
||||
where stuff_id = #{id}
|
||||
where exit_id = #{id}
|
||||
order by created_time desc
|
||||
limit 1
|
||||
</select>
|
||||
|
||||
<insert id="insertVisCarryStuff" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into vis_carry_stuff_out
|
||||
<select id="selectStuffList" resultMap="StuffResult">
|
||||
select
|
||||
`id`,
|
||||
`exit_id`,
|
||||
`name`,
|
||||
`purpose`,
|
||||
`type`,
|
||||
`model`,
|
||||
`unit`,
|
||||
`number`,
|
||||
`img_urls`,
|
||||
`remark`,
|
||||
`is_back`,
|
||||
`back_time`,
|
||||
`back_name`,
|
||||
`back_purpose`,
|
||||
`back_type`,
|
||||
`back_model`,
|
||||
`back_unit`,
|
||||
`back_number`,
|
||||
`back_img_urls`,
|
||||
`back_remark`,
|
||||
`sort`
|
||||
from vis_stuff_info
|
||||
<where>
|
||||
<if test="exitId != null">and exit_id = #{exitId}</if>
|
||||
<if test="name != null and name != ''">and `name` like concat('%', #{name}, '%')</if>
|
||||
<if test="createBy != null ">and e.create_by = #{createBy}</if>
|
||||
<if test="exitIds != null and exitIds.size() > 0">
|
||||
exit_id in
|
||||
<foreach item="id" collection="exitIds" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<insert id="insertVisExitOut" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into vis_exit_out
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null and id != ''">id,</if>
|
||||
<if test="userId != null">user_id,</if>
|
||||
<if test="name != null and name != ''">`name`,</if>
|
||||
<if test="phone != null and phone != ''">`phone`,</if>
|
||||
<if test="exitPermitNo != null and exitPermitNo != ''">`exit_permit_no`,</if>
|
||||
<if test="peopleId != null and peopleId != ''">`people_id`,</if>
|
||||
<if test="visitingUnit != null and visitingUnit != ''">visiting_unit,</if>
|
||||
<if test="stuffName != null and stuffName != ''">stuff_name,</if>
|
||||
<if test="stuffType != null and stuffType != ''">stuff_type,</if>
|
||||
<if test="stuffNumber != null and stuffNumber != ''">stuff_number,</if>
|
||||
<if test="imgUrls != null and imgUrls != ''">img_urls,</if>
|
||||
<if test="visTime != null">vis_time,</if>
|
||||
<if test="carNo != null and carNo != ''">car_no,</if>
|
||||
<if test="reviewer1 != null">reviewer1,</if>
|
||||
<if test="reviewer2 != null">reviewer2,</if>
|
||||
<if test="reviewer3 != null">reviewer3,</if>
|
||||
@@ -144,12 +207,12 @@
|
||||
<if test="id != null and id != ''">#{id},</if>
|
||||
<if test="userId != null">#{userId},</if>
|
||||
<if test="name != null and name != ''">#{name},</if>
|
||||
<if test="phone != null and phone != ''">#{phone},</if>
|
||||
<if test="exitPermitNo != null and exitPermitNo != ''">#{exitPermitNo},</if>
|
||||
<if test="peopleId != null and peopleId != ''">#{peopleId},</if>
|
||||
<if test="visitingUnit != null and visitingUnit != ''">#{visitingUnit},</if>
|
||||
<if test="stuffName != null and stuffName != ''">#{stuffName},</if>
|
||||
<if test="stuffType != null and stuffType != ''">#{stuffType},</if>
|
||||
<if test="stuffNumber != null and stuffNumber != ''">#{stuffNumber},</if>
|
||||
<if test="imgUrls != null and imgUrls != ''">#{imgUrls},</if>
|
||||
<if test="visTime != null">#{visTime},</if>
|
||||
<if test="carNo != null and carNo != ''">#{carNo},</if>
|
||||
<if test="reviewer1 != null">#{reviewer1},</if>
|
||||
<if test="reviewer2 != null">#{reviewer2},</if>
|
||||
<if test="reviewer3 != null">#{reviewer3},</if>
|
||||
@@ -160,7 +223,7 @@
|
||||
</trim>
|
||||
</insert>
|
||||
<insert id="saveVisitorReviewProcess">
|
||||
insert into vis_visitor_review_process (id, stuff_id, reviewer
|
||||
insert into vis_visitor_review_process (id, exit_id, reviewer
|
||||
<if test="state != null and state != ''">
|
||||
,state
|
||||
</if>
|
||||
@@ -171,4 +234,53 @@
|
||||
</if>)
|
||||
</insert>
|
||||
|
||||
<insert id="insertVisStuffInfo">
|
||||
INSERT INTO vis_stuff_info (
|
||||
exit_id,
|
||||
`name`,
|
||||
purpose,
|
||||
type,
|
||||
model,
|
||||
unit,
|
||||
number,
|
||||
img_urls,
|
||||
remark,
|
||||
is_back,
|
||||
back_time,
|
||||
back_name,
|
||||
back_purpose,
|
||||
back_type,
|
||||
back_model,
|
||||
back_unit,
|
||||
back_number,
|
||||
back_img_urls,
|
||||
back_remark,
|
||||
sort
|
||||
) VALUES
|
||||
<foreach collection="list" item="i" index="index" separator=",">
|
||||
(
|
||||
#{i.exitId},
|
||||
#{i.name},
|
||||
#{i.purpose},
|
||||
#{i.type},
|
||||
#{i.model},
|
||||
#{i.unit},
|
||||
#{i.number},
|
||||
#{i.imgUrls},
|
||||
#{i.remark},
|
||||
#{i.isBack},
|
||||
#{i.backTime},
|
||||
#{i.backName},
|
||||
#{i.backPurpose},
|
||||
#{i.backType},
|
||||
#{i.backModel},
|
||||
#{i.backUnit},
|
||||
#{i.backNumber},
|
||||
#{i.backImgUrls},
|
||||
#{i.backRemark,},
|
||||
#{i.sort}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.dcsoft.system.visitor.mapper.VisExitOutRecordMapper">
|
||||
|
||||
<resultMap type="VisExitOutRecordVo" id="VisitorResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="exitId" column="exit_id"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="userName" column="user_name"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectVisExitOutRecordVo">
|
||||
select distinct
|
||||
r.id,
|
||||
r.exit_id,
|
||||
r.user_id,
|
||||
r.user_name,
|
||||
r.create_by,
|
||||
r.create_time,
|
||||
r.update_by,
|
||||
r.update_time
|
||||
from vis_exit_out_record r
|
||||
</sql>
|
||||
|
||||
<select id="selectList" resultType="com.dcsoft.system.visitor.domain.VisExitOutRecordVo">
|
||||
select distinct
|
||||
r.id,
|
||||
r.exit_id,
|
||||
r.user_id,
|
||||
r.create_by,
|
||||
r.create_time,
|
||||
r.update_by,
|
||||
r.update_time,
|
||||
p.name,
|
||||
from vis_exit_out_record r
|
||||
left join sys_people p on r.user_id = p.id
|
||||
<where>
|
||||
<if test="id != null">and r.id = #{id}</if>
|
||||
<if test="name != null and name != ''">and r.`name` like concat('%', #{name}, '%')</if>
|
||||
<if test="createBy != null ">and r.create_by = #{createBy}</if>
|
||||
<if test="userId != null ">and r.user_id = #{userId}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectExitOutRecordById" resultType="com.dcsoft.system.visitor.domain.VisExitOutRecordVo">
|
||||
<include refid="selectVisExitOutRecordVo"/>
|
||||
where r.id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertExitOutRecord">
|
||||
insert into vis_exit_out_record
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null and id != ''">id,</if>
|
||||
<if test="userId != null">user_id,</if>
|
||||
<if test="userName != null and userName != ''">user_name,</if>
|
||||
<if test="exitId != null">`exit_id`,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null and id != ''">#{id},</if>
|
||||
<if test="userId != null">#{userId},</if>
|
||||
<if test="userName != null and userName != ''">#{userName},</if>
|
||||
<if test="exitId != null">#{exitId},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user