Browse Source

opt: 11/14提交修改

master
Yen 8 months ago
parent
commit
9a0c42d3aa
  1. 44
      src/main/java/com/qs/serve/modules/thirty/ThirtyVisitController.java
  2. 85
      src/main/java/com/qs/serve/modules/thirty/entity/VisitThemeThirtyParam.java
  3. 88
      src/main/java/com/qs/serve/modules/visit/api/VisitMainOuterApi.java
  4. 33
      src/main/java/com/qs/serve/modules/visit/controller/VisitMainController.java
  5. 11
      src/main/java/com/qs/serve/modules/visit/controller/VisitThemeController.java
  6. 7
      src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java
  7. 14
      src/main/java/com/qs/serve/modules/visit/entity/VisitTheme.java
  8. 32
      src/main/java/com/qs/serve/modules/visit/entity/vo/VisitMainVo.java
  9. 11
      src/main/java/com/qs/serve/modules/visit/service/VisitMainService.java
  10. 2
      src/main/java/com/qs/serve/modules/visit/service/VisitThemeService.java
  11. 64
      src/main/java/com/qs/serve/modules/visit/service/impl/VisitMainServiceImpl.java
  12. 26
      src/main/java/com/qs/serve/modules/visit/service/impl/VisitThemeServiceImpl.java

44
src/main/java/com/qs/serve/modules/thirty/ThirtyVisitController.java

@ -8,6 +8,7 @@ import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.CodeGenUtil;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.sys.entity.SysDept;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysDeptService;
@ -47,28 +48,41 @@ public class ThirtyVisitController {
@PostMapping("/saveTheme")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.INSERT)
public R<?> save(@RequestBody @Valid VisitThemeThirtyParam param){
VisitTheme entity = CopierUtil.copy(param,new VisitTheme());
SysUser sysUser = sysUserService.getByAccount(param.getUserCode());
VisitTheme entity = new VisitTheme();
entity.setId(param.getId());
SysUser applyUser = sysUserService.getByAccount(param.getUserId());
if(applyUser==null){
return R.error("申请人的编码无效或未被收录");
}
entity.setCreateBy(applyUser.getId());
SysUser sysUser = sysUserService.getByAccount(param.getVisitEmpNo());
if(sysUser==null){
return R.error("用户编码无效或未被收录");
return R.error("拜访用户编码无效或未被收录");
}
entity.setUserId(sysUser.getId());
entity.setUserCode(sysUser.getCode());
if(StringUtils.hasText(param.getVisitEmpName())){
entity.setUserName(param.getVisitEmpName());
}else {
entity.setUserName(sysUser.getName());
SysDept dept = sysDeptService.getOne(new LambdaQueryWrapper<SysDept>()
.eq(SysDept::getCode,param.getDeptCode()),false);
if(dept==null){
return R.error("部门编码无效或未被收录");
}
entity.setDeptId(dept.getId());
entity.setDeptName(dept.getName());
if(entity.getId()==null){
if(StringUtils.hasText(param.getVisitCode())){
entity.setThemeCode(param.getVisitCode());
}else {
entity.setThemeCode("TP"+ CodeGenUtil.getDataCode(CodeGenUtil.SourceDataKey.VISIT));
entity.setUserId(sysUser.getId());
entity.setUserCode(sysUser.getCode());
entity.setUserName(sysUser.getName());
boolean result = visitThemeService.save(entity);
}
}
entity.setThemeTitle(param.getThemeTitle());
entity.setDeptName(param.getDeptName());
entity.setVisitCompany(param.getVisitCompany());
entity.setVisitAddress(param.getVisitAddress());
entity.setUserRoom(param.getUserRoom());
entity.setVisitStartDate(param.getVisitStartDate());
entity.setVisitEndDate(param.getVisitEndDate());
entity.setSkipApprovalFlag(param.getIsNeedVerify()?0:1);
entity.setSkipMessageFlag(param.getIsNeedVerifyStatus()?0:1);
boolean result = visitThemeService.saveOrUpdate(entity);
return R.isTrue(result);
}

85
src/main/java/com/qs/serve/modules/thirty/entity/VisitThemeThirtyParam.java

@ -18,36 +18,85 @@ import java.time.LocalDateTime;
@Data
public class VisitThemeThirtyParam {
/** 拜访主题 */
@NotNull(message = "拜访主题不能为空")
private String themeTitle;
/**
* 用于更新
*/
public String id;
/**
* 拜访编号非必须系统自动生成,不支持更新
*/
public String visitCode;
/**
* 拜访主题
*/
@NotNull(message = "themeTitle is null")
public String themeTitle;
/**
* 拜访部门
*/
@NotNull(message = "deptName is null")
public String deptName;
/** 部门编码 */
@NotNull(message = "部门昵称不能为空")
private String deptCode;
/**
* 拜访地址
*/
@NotNull(message = "visitAddress is null")
public String visitAddress;
/** 用户编码 */
@NotNull(message = "用户编码不能为空")
private String userCode;
/**
* 拜访公司
*/
@NotNull(message = "visitCompany is null")
public String visitCompany;
/** 接待地点 */
@NotNull(message = "接待地点不能为空")
private String userRoom;
/**
* 申请人工号也是企业微信ID
*/
@NotNull(message = "userId is null")
public String userId;
/**
* 被拜访人工号
*/
@NotNull(message = "visitEmpNo is null")
public String visitEmpNo;
/**
* 被拜访人名称
*/
@NotNull(message = "visitEmpName is null")
public String visitEmpName;
/**
* 拜访接待地点
*/
@NotNull(message = "userRoom is null")
public String userRoom;
/** 来访开始时间 */
@NotNull(message = "来访开始时间不能为空")
@NotNull(message = "visitStartDate is null")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime visitStartDate;
/** 来访结束时间 */
@NotNull(message = "来访结束时间不能为空")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@NotNull(message = "visitEndDate is null")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime visitEndDate;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
/**
* 是否需要表单审批 true/false
*/
@NotNull(message = "isNeedVerify is null")
public Boolean isNeedVerify;
/**
* 调用短信通知 true/false
*/
@NotNull(message = "isNeedVerifyStatus is null")
public Boolean isNeedVerifyStatus;
}

88
src/main/java/com/qs/serve/modules/visit/api/VisitMainOuterApi.java

@ -2,6 +2,7 @@ package com.qs.serve.modules.visit.api;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.consts.ResultFlag;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
@ -18,6 +19,7 @@ import com.qs.serve.modules.wx.entity.WxUser;
import com.qs.serve.modules.wx.service.WxUserService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@ -66,14 +68,8 @@ public class VisitMainOuterApi {
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
public R<VisitMainVo> getById(@PathVariable("id") String id){
VisitMain visitMain = visitMainService.getById(id);
VisitTheme visitTheme = visitThemeService.getById(visitMain.getThemeId());
VisitMainVo mainVo = CopierUtil.copy(visitMain,new VisitMainVo());
if(visitTheme!=null){
mainVo.setThemeTitle(visitTheme.getThemeTitle());
mainVo.setThemeCode(visitTheme.getThemeCode());
}
return R.ok(mainVo);
VisitMainVo visitMain = visitMainService.getDetail(id);
return R.ok(visitMain);
}
/**
@ -85,7 +81,6 @@ public class VisitMainOuterApi {
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
public R<VisitMainVo> getByThemeId_old(@PathVariable("id") String id){
WxUser wxUser = wxUserService.getCurrentWxUser();
VisitMain dbMain = visitMainService.getOne(new LambdaQueryWrapper<VisitMain>()
.eq(VisitMain::getThemeId,id)
.eq(VisitMain::getVisitorId,wxUser.getId()),
@ -107,10 +102,28 @@ public class VisitMainOuterApi {
*/
@GetMapping("/getThemeById/{id}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
public R<VisitMainVo> getByThemeId(@PathVariable("id") String id){
public R<VisitTheme> getByThemeId(@PathVariable("id") String id){
VisitTheme visitTheme = visitThemeService.getById(id);
VisitMainVo mainVo = CopierUtil.copy(visitTheme,new VisitMainVo());
return R.ok(mainVo);
return R.ok(visitTheme);
}
/**
* ID查询并校验是否可填写(查询主题id)
* @param id
* @return
*/
@GetMapping("/validThemeById/{id}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
public R<Boolean> getThemeAndValidById(@PathVariable("id") String id){
VisitTheme visitTheme = visitThemeService.getById(id);
LocalDateTime nowTime = LocalDateTime.now();
if(nowTime.isBefore(visitTheme.getCodeStartDate())){
return R.ok(false,"登记时间未开始");
}
if(nowTime.isAfter(visitTheme.getCodeEndDate())){
return R.ok(false,"已结束登记");
}
return R.ok(true);
}
/**
@ -154,6 +167,7 @@ public class VisitMainOuterApi {
* @param param
* @return
*/
@Transactional(rollbackFor = Exception.class)
@PostMapping("/submit")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.SUBMIT)
public R<?> submit(@RequestBody @Valid VisitMain param){
@ -168,19 +182,49 @@ public class VisitMainOuterApi {
if(visitTheme==null){
return R.error("主题标识为空");
}
if(visitTheme.getStopState().equals(1)){
return R.error("主题已停用");
}
LocalDateTime nowTime = LocalDateTime.now();
if(nowTime.isBefore(visitTheme.getCodeStartDate())){
return R.error("登记时间未开始");
}
if(nowTime.isAfter(visitTheme.getCodeEndDate())){
return R.error("已结束登记");
}
VisitMain entity = CopierUtil.copy(visitTheme,new VisitMain());
//页面参数
entity.setVisitorName(param.getVisitorName());
entity.setVisitorMobile(param.getVisitorMobile());
entity.setVisitorIdentity(param.getVisitorIdentity());
entity.setVisitorCompany(param.getVisitorCompany());
entity.setVisitorCar(param.getVisitorCar());
entity.setVisitorEmail(param.getVisitorEmail());
entity.setThemeId(visitTheme.getId());
//其它
entity.setId(null);
param.setCheckState(null);
param.setVisitStatus(null);
param.setSubmitTime(null);
CopierUtil.copy(param,entity);
entity.setVisitCode(CodeGenUtil.getDataCode(CodeGenUtil.SourceDataKey.VISIT));
entity.setCheckState(null);
entity.setVisitStatus(null);
entity.setSubmitTime(null);
entity.setCreateBy(null);
entity.setCreateTime(null);
entity.setUpdateBy(null);
entity.setUpdateTime(null);
// 审批参数
param.setSyFormId("test");
param.setSubmitTime(LocalDateTime.now());
param.setCheckState(VisitMainConst.CheckState_1);
param.setVisitStatus(VisitMainConst.VisitStatus_1);
visitMainService.saveOrUpdate(param);
//visitMainService.submitOaFlow(param.getId());
entity.setSyFormId("0");
entity.setSubmitTime(LocalDateTime.now());
visitMainService.saveOrUpdate(entity);
if(visitTheme.getSkipApprovalFlag()!=null
&&visitTheme.getSkipApprovalFlag().equals(ResultFlag.OK)){
// 跳过审批
visitMainService.doFinish(entity.getId(),null);
}else {
// 申请审批
visitMainService.submitOaFlow(entity.getId());
}
return R.ok(param.getId());
}

33
src/main/java/com/qs/serve/modules/visit/controller/VisitMainController.java

@ -48,13 +48,17 @@ public class VisitMainController {
@GetMapping("/page")
public R<PageVo<VisitMain>> getPage(VisitMain param){
LambdaQueryWrapper<VisitMain> lqw = new LambdaQueryWrapper<>(param);
lqw.orderByDesc(VisitMain::getCreateTime);
PageUtil.startPage();
List<VisitMain> list = visitMainService.list(lqw);
for (VisitMain visit : list) {
// 仅审批中数据进行补偿
if(visit.getCheckState().equals(VisitMainConst.CheckState_0)){
try {
VisitTheme visitTheme = visitThemeService.getById(visit.getThemeId());
if(visitTheme.getSkipApprovalFlag()==null || !visitTheme.getSkipApprovalFlag().equals(1)){
visitMainService.runCompensate(visit.getId());
}
} catch (Exception e) {
e.printStackTrace();
}
@ -74,12 +78,6 @@ public class VisitMainController {
lqw.eq(VisitMain::getUserId,AuthContextUtils.getSysUserId());
PageUtil.startPage();
List<VisitMain> list = visitMainService.list(lqw);
for (VisitMain visit : list) {
// 仅审批中数据进行补偿
if(visit.getCheckState().equals(VisitMainConst.CheckState_0)){
//visitMainService.runCompensate(visit.getId());
}
}
return R.byPageHelperList(list);
}
@ -91,17 +89,20 @@ public class VisitMainController {
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
public R<VisitMainVo> getById(@PathVariable("id") String id){
VisitMain visitMain = visitMainService.getById(id);
if(visitMain==null){
return R.error("来访实例不存在");
}
VisitMainVo mainVo = CopierUtil.copy(visitMain,new VisitMainVo());
VisitTheme visitTheme = visitThemeService.getById(visitMain.getThemeId());
if(visitTheme!=null){
mainVo.setThemeTitle(visitTheme.getThemeTitle());
mainVo.setThemeCode(visitTheme.getThemeCode());
VisitMainVo visitMain = visitMainService.getDetail(id);
return R.ok(visitMain);
}
return R.ok(mainVo);
/**
* ID查询
* @param id
* @return
*/
@GetMapping("/devSubmit/{id}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
public R<VisitMainVo> devSubmit(@PathVariable("id") String id){
visitMainService.submitOaFlow(id);
return R.ok();
}
/**

11
src/main/java/com/qs/serve/modules/visit/controller/VisitThemeController.java

@ -8,7 +8,9 @@ import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.*;
import com.qs.serve.modules.sys.entity.SysDept;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysDeptService;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.visit.common.VisitMainConst;
import com.qs.serve.modules.visit.entity.VisitTheme;
@ -33,6 +35,7 @@ public class VisitThemeController {
private VisitThemeServiceImpl visitThemeService;
private SysUserService sysUserService;
private SysDeptService sysDeptService;
/**
* 翻页
@ -42,6 +45,7 @@ public class VisitThemeController {
@GetMapping("/page")
public R<PageVo<VisitTheme>> getPage(VisitTheme param){
LambdaQueryWrapper<VisitTheme> lqw = new LambdaQueryWrapper<>(param);
lqw.orderByDesc(VisitTheme::getCreateTime);
PageUtil.startPage();
List<VisitTheme> list = visitThemeService.list(lqw);
return R.byPageHelperList(list);
@ -56,6 +60,7 @@ public class VisitThemeController {
public R<PageVo<VisitTheme>> getPageMy(VisitTheme param){
LambdaQueryWrapper<VisitTheme> lqw = new LambdaQueryWrapper<>(param);
lqw.eq(VisitTheme::getUserId,AuthContextUtils.getSysUserId());
lqw.orderByDesc(VisitTheme::getCreateTime);
PageUtil.startPage();
List<VisitTheme> list = visitThemeService.list(lqw);
return R.byPageHelperList(list);
@ -112,7 +117,11 @@ public class VisitThemeController {
param.setUserId(sysUser.getId());
param.setUserCode(sysUser.getCode());
param.setUserName(sysUser.getName());
SysDept dept = sysDeptService.getById(sysUser.getDeptId());
if(dept!=null){
param.setDeptId(dept.getId());
param.setDeptName(dept.getName());
}
boolean result = visitThemeService.save(param);
return R.isTrue(result);
}

7
src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java

@ -78,9 +78,9 @@ public class VisitMain implements Serializable {
private String checkUserName;
/** 预约拜访日期 */
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDate preVisitDate;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime preVisitDate;
/** 实际来访时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ -197,5 +197,6 @@ public class VisitMain implements Serializable {
return main;
}
}

14
src/main/java/com/qs/serve/modules/visit/entity/VisitTheme.java

@ -38,6 +38,9 @@ public class VisitTheme implements Serializable {
/** 跳过审批:0-需要审批;1-不需要审批 */
private Integer skipApprovalFlag;
/** 跳过发送短信:0-发送短信;1-跳过发送短信 */
private Integer skipMessageFlag;
/** 部门id */
@Length(max = 255,message = "部门id长度不能超过255字")
private String deptId;
@ -88,6 +91,17 @@ public class VisitTheme implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime visitEndDate;
/** 二维码开始时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime codeStartDate;
/** 二维码结束时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime codeEndDate;
/** 实际来访时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

32
src/main/java/com/qs/serve/modules/visit/entity/vo/VisitMainVo.java

@ -1,7 +1,11 @@
package com.qs.serve.modules.visit.entity.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.qs.serve.modules.visit.entity.VisitMain;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
* @author YenHex
@ -15,4 +19,32 @@ public class VisitMainVo extends VisitMain {
private String themeTitle;
/** 接待地址 */
private String visitAddress;
/** 接待公司 */
private String visitCompany;
/** 接待地址 */
private String localX;
/** 接待公司 */
private String localY;
/** 跳过审批:0-需要审批;1-不需要审批 */
private Integer skipApprovalFlag;
/** 跳过发送短信:0-发送短信;1-跳过发送短信 */
private Integer skipMessageFlag;
/** 二维码开始时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime codeStartDate;
/** 二维码结束时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime codeEndDate;
}

11
src/main/java/com/qs/serve/modules/visit/service/VisitMainService.java

@ -1,14 +1,16 @@
package com.qs.serve.modules.visit.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.flow.service.SeeYonOptionService;
import com.qs.serve.modules.visit.entity.VisitMain;
import com.qs.serve.modules.visit.entity.vo.VisitMainVo;
/**
* 拜访 服务接口
* @author YenHex
* @date 2024-09-11
*/
public interface VisitMainService extends IService<VisitMain> {
public interface VisitMainService extends IService<VisitMain>, SeeYonOptionService {
/**
* 提交方法到OA
@ -16,5 +18,12 @@ public interface VisitMainService extends IService<VisitMain> {
*/
void submitOaFlow(String id);
/**
* 获取vo
* @param id
* @return
*/
VisitMainVo getDetail(String id);
}

2
src/main/java/com/qs/serve/modules/visit/service/VisitThemeService.java

@ -10,7 +10,7 @@ import com.qs.serve.modules.visit.entity.VisitTheme;
* @author YenHex
* @date 2024-09-11
*/
public interface VisitThemeService extends IService<VisitTheme> , SeeYonOptionService {
public interface VisitThemeService extends IService<VisitTheme> {
}

64
src/main/java/com/qs/serve/modules/visit/service/impl/VisitMainServiceImpl.java

@ -3,14 +3,20 @@ package com.qs.serve.modules.visit.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.model.consts.ResultFlag;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.oa.BaseCreateCallbackBo;
import com.qs.serve.common.model.oa.OaFormMainProcess;
import com.qs.serve.common.util.Assert;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.TianYiYunSmsUtil;
import com.qs.serve.modules.flow.model.TbsAffairCommitBo;
import com.qs.serve.modules.flow.service.SeeYonOptionService;
import com.qs.serve.modules.flow.service.SeeYonService;
import com.qs.serve.modules.visit.common.VisitMainConst;
import com.qs.serve.modules.visit.entity.VisitTheme;
import com.qs.serve.modules.visit.entity.vo.VisitMainVo;
import com.qs.serve.modules.visit.mapper.VisitThemeMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
@ -37,38 +43,81 @@ public class VisitMainServiceImpl extends ServiceImpl<VisitMainMapper,VisitMain>
@Resource
private SeeYonService seeYonService;
@Resource
private VisitThemeMapper visitThemeMapper;
@Value("${project.flowTest}")
private Boolean flowDev;
@Value("${project.h5visitMainUrl}")
private String h5visitMainUrl;
@Override
public String loadTemplateCode(){
return flowDev?"visitApplyForm_Test":"visitApplyForm";
}
@Override
public VisitMainVo getDetail(String id) {
VisitMain visitMain = this.getById(id);
if(visitMain==null){
Assert.throwEx("来访实例不存在");
}
VisitMainVo mainVo = CopierUtil.copy(visitMain,new VisitMainVo());
VisitTheme visitTheme = visitThemeMapper.selectById(visitMain.getThemeId());
if(visitTheme!=null){
mainVo.setThemeTitle(visitTheme.getThemeTitle());
mainVo.setThemeCode(visitTheme.getThemeCode());
mainVo.setVisitAddress(visitTheme.getVisitAddress());
mainVo.setVisitCompany(visitTheme.getVisitCompany());
mainVo.setLocalX(visitTheme.getLocalX());
mainVo.setLocalY(visitTheme.getLocalY());
mainVo.setSkipApprovalFlag(visitTheme.getSkipApprovalFlag());
mainVo.setSkipMessageFlag(visitTheme.getSkipMessageFlag());
mainVo.setCodeEndDate(visitTheme.getCodeEndDate());
mainVo.setCodeStartDate(visitTheme.getCodeStartDate());
mainVo.setVisitStartDate(visitTheme.getVisitStartDate());
mainVo.setVisitEndDate(visitTheme.getVisitEndDate());
}
return mainVo;
}
@Override
public void submitOaFlow(String id) {
String templateCode = loadTemplateCode();
VisitMain visitMain = this.getById(id);
Map<String, Object> mainData = new HashMap<>();
VisitTheme visitTheme = visitThemeMapper.selectById(visitMain.getThemeId());
mainData.put("target_id",id);
mainData.put("target_code",visitMain.getVisitCode());
mainData.put("template_code",templateCode);
mainData.put("rowState","03");
mainData.put("themeCode",visitTheme.getThemeCode());
mainData.put("themeTitle",visitTheme.getThemeTitle());
mainData.put("visitCOde",visitMain.getVisitCode());
mainData.put("visitCode",visitMain.getVisitCode());
mainData.put("deptName",visitMain.getDeptName());
mainData.put("userCode",visitMain.getUserCode());
mainData.put("userName",visitMain.getUserName());
mainData.put("userRoom",visitMain.getUserRoom());
mainData.put("preVisitDate",visitMain.getPreVisitDate());
mainData.put("submitTime",visitMain.getSubmitTime());
mainData.put("visitorCompany",visitMain.getVisitorCompany());
mainData.put("visitorIdentity",visitMain.getVisitorIdentity());
mainData.put("visitStartDate",visitMain.getVisitStartDate());
mainData.put("visitEndDate",visitMain.getVisitEndDate());
mainData.put("visitorName",visitMain.getVisitorName());
mainData.put("visitorMobile",visitMain.getVisitorMobile());
mainData.put("visitorCart",visitMain.getVisitorCar());
mainData.put("visitorSum",visitMain.getVisitorSum());
mainData.put("visitorEmail",visitMain.getVisitorEmail());
mainData.put("visitorContext",visitMain.getVisitorContext());
mainData.put("remark",visitMain.getRemark());
OaFormMainProcess mainProcess = new OaFormMainProcess();
mainProcess.setTargetId(visitMain.getId());
mainProcess.setUploadFiles(new ArrayList<>());
mainProcess.setTableName("formmain_2228");
mainProcess.setTableName("formmain_2282");
mainProcess.setData(mainData);
mainProcess.setTemplateCode(templateCode);
mainProcess.setUserId(visitMain.getUserId());
@ -116,8 +165,19 @@ public class VisitMainServiceImpl extends ServiceImpl<VisitMainMapper,VisitMain>
@Override
public Object doFinish(String targetId, TbsAffairCommitBo commit) {
VisitMain visitMain = this.getById(targetId);
visitMain.setSubmitTime(LocalDateTime.now());
visitMain.setCheckState(VisitMainConst.CheckState_1);
visitMain.setVisitStatus(VisitMainConst.VisitStatus_1);
this.updateById(visitMain);
VisitTheme visitTheme = visitThemeMapper.selectById(visitMain.getThemeId());
// 判断是否需要发送短信
if(visitTheme.getSkipMessageFlag()==null || !visitTheme.getSkipMessageFlag().equals(ResultFlag.OK)){
TianYiYunSmsUtil.sendVisitSuccess(
visitTheme.getVisitorMobile(),
h5visitMainUrl + visitMain.getId(),
visitMain.getPreVisitDate(),
visitMain.getUserName());
}
return null;
}

26
src/main/java/com/qs/serve/modules/visit/service/impl/VisitThemeServiceImpl.java

@ -34,32 +34,8 @@ import java.util.Map;
*/
@Slf4j
@Service
public class VisitThemeServiceImpl extends ServiceImpl<VisitThemeMapper,VisitTheme> implements VisitThemeService, SeeYonOptionService {
public class VisitThemeServiceImpl extends ServiceImpl<VisitThemeMapper,VisitTheme> implements VisitThemeService {
@Override
public String loadTemplateCode() {
return null;
}
@Override
public Object doNext(String targetId, TbsAffairCommitBo commit) {
return null;
}
@Override
public Object doBack(String targetId, TbsAffairCommitBo commit) {
return null;
}
@Override
public Object doFinish(String targetId, TbsAffairCommitBo commit) {
return null;
}
@Override
public Object doRefuse(String targetId, TbsAffairCommitBo commit) {
return null;
}
}

Loading…
Cancel
Save