Browse Source

feat: update

master
Yen 8 months ago
parent
commit
3c93114661
  1. 15
      src/main/java/com/qs/serve/modules/visit/api/VisitMainInnerController.java
  2. 100
      src/main/java/com/qs/serve/modules/visit/api/VisitMainOuterApi.java
  3. 19
      src/main/java/com/qs/serve/modules/visit/controller/VisitMainController.java
  4. 132
      src/main/java/com/qs/serve/modules/visit/controller/VisitThemeController.java
  5. 11
      src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java
  6. 135
      src/main/java/com/qs/serve/modules/visit/entity/VisitTheme.java
  7. 18
      src/main/java/com/qs/serve/modules/visit/entity/vo/VisitMainVo.java
  8. 7
      src/main/java/com/qs/serve/modules/visit/mapper/VisitMainMapper.java
  9. 14
      src/main/java/com/qs/serve/modules/visit/mapper/VisitThemeMapper.java
  10. 15
      src/main/java/com/qs/serve/modules/visit/service/VisitThemeService.java
  11. 40
      src/main/java/com/qs/serve/modules/visit/service/impl/VisitThemeServiceImpl.java
  12. 2
      src/main/resources/application.yml
  13. 157
      src/main/resources/mapper/visit/VisitMainMapper.xml

15
src/main/java/com/qs/serve/modules/visit/api/VisitMainInnerController.java

@ -7,14 +7,18 @@ import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.StringUtils; import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.visit.common.VisitMainConst; import com.qs.serve.modules.visit.common.VisitMainConst;
import com.qs.serve.modules.visit.entity.VisitMain; import com.qs.serve.modules.visit.entity.VisitMain;
import com.qs.serve.modules.visit.entity.VisitTheme;
import com.qs.serve.modules.visit.entity.bo.VisitCheckIn; import com.qs.serve.modules.visit.entity.bo.VisitCheckIn;
import com.qs.serve.modules.visit.entity.vo.VisitMainVo;
import com.qs.serve.modules.visit.service.VisitMainService; import com.qs.serve.modules.visit.service.VisitMainService;
import com.qs.serve.modules.visit.service.VisitThemeService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -35,6 +39,7 @@ import java.util.List;
public class VisitMainInnerController { public class VisitMainInnerController {
private VisitMainService visitMainService; private VisitMainService visitMainService;
private VisitThemeService visitThemeService;
private SysUserService sysUserService; private SysUserService sysUserService;
/** /**
@ -58,9 +63,15 @@ public class VisitMainInnerController {
*/ */
@GetMapping("/getById/{id}") @GetMapping("/getById/{id}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY) @SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
public R<VisitMain> getById(@PathVariable("id") String id){ public R<VisitMainVo> getById(@PathVariable("id") String id){
VisitMain visitMain = visitMainService.getById(id); VisitMain visitMain = visitMainService.getById(id);
return R.ok(visitMain); VisitMainVo mainVo = CopierUtil.copy(visitMain,new VisitMainVo());
VisitTheme visitTheme = visitThemeService.getById(visitMain.getThemeId());
if(visitTheme!=null){
mainVo.setThemeTitle(visitTheme.getThemeTitle());
mainVo.setThemeCode(visitTheme.getThemeCode());
}
return R.ok(mainVo);
} }
/** /**

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

@ -6,12 +6,13 @@ import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.common.util.*;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.visit.common.VisitMainConst; import com.qs.serve.modules.visit.common.VisitMainConst;
import com.qs.serve.modules.visit.entity.VisitMain; import com.qs.serve.modules.visit.entity.VisitMain;
import com.qs.serve.modules.visit.entity.VisitTheme;
import com.qs.serve.modules.visit.entity.vo.VisitMainVo;
import com.qs.serve.modules.visit.service.VisitMainService; import com.qs.serve.modules.visit.service.VisitMainService;
import com.qs.serve.modules.visit.service.VisitThemeService;
import com.qs.serve.modules.wx.common.consts.WxUserTypeConst; import com.qs.serve.modules.wx.common.consts.WxUserTypeConst;
import com.qs.serve.modules.wx.entity.WxUser; import com.qs.serve.modules.wx.entity.WxUser;
import com.qs.serve.modules.wx.service.WxUserService; import com.qs.serve.modules.wx.service.WxUserService;
@ -35,6 +36,7 @@ import java.util.List;
public class VisitMainOuterApi { public class VisitMainOuterApi {
private WxUserService wxUserService; private WxUserService wxUserService;
private VisitThemeService visitThemeService;
private VisitMainService visitMainService; private VisitMainService visitMainService;
/** /**
@ -47,7 +49,7 @@ public class VisitMainOuterApi {
WxUser wxUser = wxUserService.getCurrentWxUser(); WxUser wxUser = wxUserService.getCurrentWxUser();
if(wxUser.getUserType().equals(WxUserTypeConst.UMS_MEMBER)){ if(wxUser.getUserType().equals(WxUserTypeConst.UMS_MEMBER)){
LambdaQueryWrapper<VisitMain> lqw = new LambdaQueryWrapper<>(param); LambdaQueryWrapper<VisitMain> lqw = new LambdaQueryWrapper<>(param);
lqw.eq(VisitMain::getVisitorId,wxUser.getUserId()); lqw.eq(VisitMain::getVisitorId,wxUser.getId());
lqw.orderByDesc(VisitMain::getCreateTime); lqw.orderByDesc(VisitMain::getCreateTime);
PageUtil.startPage(); PageUtil.startPage();
List<VisitMain> list = visitMainService.list(lqw); List<VisitMain> list = visitMainService.list(lqw);
@ -57,19 +59,49 @@ public class VisitMainOuterApi {
} }
/** /**
* ID查询 * ID查询(查询实例id)
* @param id * @param id
* @return * @return
*/ */
@GetMapping("/getById/{id}") @GetMapping("/getById/{id}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY) @SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
public R<VisitMain> getById(@PathVariable("id") String id){ public R<VisitMainVo> getById(@PathVariable("id") String id){
VisitMain visitMain = visitMainService.getById(id); VisitMain visitMain = visitMainService.getById(id);
return R.ok(visitMain); 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);
} }
/** /**
* 更新 * ID查询(查询主题id)
* @param id
* @return
*/
@GetMapping("/getThemeById/{id}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
public R<VisitMainVo> getByThemeId(@PathVariable("id") String id){
WxUser wxUser = wxUserService.getCurrentWxUser();
VisitMain dbMain = visitMainService.getOne(new LambdaQueryWrapper<VisitMain>()
.eq(VisitMain::getThemeId,id)
.eq(VisitMain::getVisitorId,wxUser.getId()),
false
);
VisitTheme visitTheme = visitThemeService.getById(id);
VisitMainVo mainVo = CopierUtil.copy(visitTheme,new VisitMainVo());
if(dbMain != null){
CopierUtil.copy(dbMain, mainVo);
return R.ok(mainVo);
}
return R.ok(mainVo);
}
/**
* 更新(主题id参数名 themeId )
* @param param * @param param
* @return * @return
*/ */
@ -78,6 +110,12 @@ public class VisitMainOuterApi {
public R<?> updateById(@RequestBody @Valid VisitMain param){ public R<?> updateById(@RequestBody @Valid VisitMain param){
WxUser wxUser = wxUserService.getCurrentWxUser(); WxUser wxUser = wxUserService.getCurrentWxUser();
if(wxUser.getUserType().equals(WxUserTypeConst.UMS_MEMBER)){ if(wxUser.getUserType().equals(WxUserTypeConst.UMS_MEMBER)){
VisitMain dbMain = visitMainService.getOne(new LambdaQueryWrapper<VisitMain>()
.eq(VisitMain::getThemeId,param.getThemeId())
.eq(VisitMain::getVisitorId,wxUser.getId()),
false
);
if(dbMain!=null){
param.setCheckState(null); param.setCheckState(null);
param.setVisitStatus(null); param.setVisitStatus(null);
param.setDeptId(null); param.setDeptId(null);
@ -86,8 +124,14 @@ public class VisitMainOuterApi {
param.setUserCode(null); param.setUserCode(null);
param.setUserName(null); param.setUserName(null);
param.setSubmitTime(null); param.setSubmitTime(null);
boolean result = visitMainService.updateById(param); visitMainService.updateById(param);
return R.isTrue(result); }else {
VisitTheme visitTheme = visitThemeService.getById(param.getId());
VisitMain main = CopierUtil.copy(visitTheme,new VisitMain());
main.setVisitCode("V"+CodeGenUtil.generate(CodeGenUtil.SourceKey.CostApply));
visitMainService.save(main);
}
return R.ok();
} }
return R.error("用户角色暂不支持"); return R.error("用户角色暂不支持");
} }
@ -102,23 +146,35 @@ public class VisitMainOuterApi {
public R<?> submit(@RequestBody @Valid VisitMain param){ public R<?> submit(@RequestBody @Valid VisitMain param){
WxUser wxUser = wxUserService.getCurrentWxUser(); WxUser wxUser = wxUserService.getCurrentWxUser();
if(wxUser.getUserType().equals(WxUserTypeConst.UMS_MEMBER)){ if(wxUser.getUserType().equals(WxUserTypeConst.UMS_MEMBER)){
if(param.getId()==null){
VisitMain dbMain = visitMainService.getOne(new LambdaQueryWrapper<VisitMain>()
.eq(VisitMain::getThemeId,param.getThemeId())
.eq(VisitMain::getVisitorId,wxUser.getId()),
false
);
if(dbMain!=null){
VisitTheme visitTheme = visitThemeService.getById(param.getThemeId());
if(visitTheme==null){
return R.error("主题标识为空");
}
param.setDeptId(visitTheme.getDeptId());
param.setDeptName(visitTheme.getDeptName());
param.setUserId(visitTheme.getUserId());
param.setUserCode(visitTheme.getUserCode());
param.setUserName(visitTheme.getUserName());
param.setId(dbMain.getId());
}
}
param.setCheckState(null); param.setCheckState(null);
param.setVisitStatus(null); param.setVisitStatus(null);
param.setDeptId(null);
param.setDeptName(null);
param.setUserId(null);
param.setUserCode(null);
param.setUserName(null);
param.setSubmitTime(null); param.setSubmitTime(null);
param.setVisitorId(wxUser.getId());
param.setVisitorId(wxUser.getUserId());
param.setSyFormId("test"); param.setSyFormId("test");
param.setSubmitTime(LocalDateTime.now()); param.setSubmitTime(LocalDateTime.now());
param.setCheckState(VisitMainConst.CheckState_0); param.setCheckState(VisitMainConst.CheckState_1);
visitMainService.updateById(param); param.setVisitStatus(VisitMainConst.VisitStatus_1);
visitMainService.saveOrUpdate(param);
visitMainService.submitOaFlow(param.getId()); //visitMainService.submitOaFlow(param.getId());
return R.ok(); return R.ok();
} }
return R.error("用户角色暂不支持"); return R.error("用户角色暂不支持");

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

@ -10,7 +10,10 @@ import com.qs.serve.common.util.*;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.visit.common.VisitMainConst; 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.service.impl.VisitMainServiceImpl; import com.qs.serve.modules.visit.service.impl.VisitMainServiceImpl;
import com.qs.serve.modules.visit.service.impl.VisitThemeServiceImpl;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
@ -35,6 +38,7 @@ public class VisitMainController {
private VisitMainServiceImpl visitMainService; private VisitMainServiceImpl visitMainService;
private SysUserService sysUserService; private SysUserService sysUserService;
private VisitThemeServiceImpl visitThemeService;
/** /**
* 翻页 * 翻页
@ -86,9 +90,18 @@ public class VisitMainController {
*/ */
@GetMapping("/getById/{id}") @GetMapping("/getById/{id}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY) @SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
public R<VisitMain> getById(@PathVariable("id") String id){ public R<VisitMainVo> getById(@PathVariable("id") String id){
VisitMain visitMain = visitMainService.getById(id); VisitMain visitMain = visitMainService.getById(id);
return R.ok(visitMain); 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());
}
return R.ok(mainVo);
} }
/** /**
@ -152,7 +165,7 @@ public class VisitMainController {
@DeleteMapping("/deleteById/{ids}") @DeleteMapping("/deleteById/{ids}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.DELETE) @SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.DELETE)
public R<?> deleteById(@PathVariable("ids") String ids){ public R<?> deleteById(@PathVariable("ids") String ids){
List<Long> idsLong = StringUtils.splitIdLong(ids); List<String> idsLong = StringUtils.splitIdString(ids);
boolean result = visitMainService.removeByIds(idsLong); boolean result = visitMainService.removeByIds(idsLong);
return R.isTrue(result); return R.isTrue(result);
} }

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

@ -0,0 +1,132 @@
package com.qs.serve.modules.visit.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
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.SysUser;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.visit.common.VisitMainConst;
import com.qs.serve.modules.visit.entity.VisitTheme;
import com.qs.serve.modules.visit.service.impl.VisitThemeServiceImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* 系统 拜访主题
* @author YenHex
* @since 2024-09-11
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("visit/theme")
public class VisitThemeController {
private VisitThemeServiceImpl visitThemeService;
private SysUserService sysUserService;
/**
* 翻页
* @param param
* @return
*/
@GetMapping("/page")
public R<PageVo<VisitTheme>> getPage(VisitTheme param){
LambdaQueryWrapper<VisitTheme> lqw = new LambdaQueryWrapper<>(param);
PageUtil.startPage();
List<VisitTheme> list = visitThemeService.list(lqw);
return R.byPageHelperList(list);
}
/**
* 翻页(我的)
* @param param
* @return
*/
@GetMapping("/pageMy")
public R<PageVo<VisitTheme>> getPageMy(VisitTheme param){
LambdaQueryWrapper<VisitTheme> lqw = new LambdaQueryWrapper<>(param);
lqw.eq(VisitTheme::getUserId,AuthContextUtils.getSysUserId());
PageUtil.startPage();
List<VisitTheme> list = visitThemeService.list(lqw);
return R.byPageHelperList(list);
}
/**
* ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
public R<VisitTheme> getById(@PathVariable("id") String id){
VisitTheme visitTheme = visitThemeService.getById(id);
return R.ok(visitTheme);
}
/**
* 更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.UPDATE)
public R<?> updateById(@RequestBody @Valid VisitTheme param){
boolean result = visitThemeService.updateById(param);
return R.isTrue(result);
}
/**
* 取消/恢复
* @param id
* @param option 0-恢复 1-取消(默认)
* @return
*/
@PostMapping("/cancel/{id}/{option}")
public R<?> cancel(@PathVariable("id") String id,@PathVariable("option")Integer option){
VisitTheme visitMain = visitThemeService.getById(id);
visitMain.setStopState(option);
visitThemeService.updateById(visitMain);
return R.ok();
}
/**
* 新增
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.INSERT)
public R<?> save(@RequestBody @Valid VisitTheme param){
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
param.setThemeCode("TP"+CodeGenUtil.getDataCode(CodeGenUtil.SourceDataKey.VISIT));
param.setUserId(sysUser.getId());
param.setUserCode(sysUser.getCode());
param.setUserName(sysUser.getName());
boolean result = visitThemeService.save(param);
return R.isTrue(result);
}
/**
* 删除
* @param ids
* @return
*/
@DeleteMapping("/deleteById/{ids}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.DELETE)
public R<?> deleteById(@PathVariable("ids") String ids){
List<String> idsLong = StringUtils.splitIdString(ids);
boolean result = visitThemeService.removeByIds(idsLong);
return R.isTrue(result);
}
}

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

@ -31,6 +31,9 @@ public class VisitMain implements Serializable {
@TableId(type = IdType.ASSIGN_UUID) @TableId(type = IdType.ASSIGN_UUID)
private String id; private String id;
/** 拜访主题id */
private String themeId;
/** 拜访编码 */ /** 拜访编码 */
private String visitCode; private String visitCode;
@ -60,6 +63,8 @@ public class VisitMain implements Serializable {
@Length(max = 255,message = "用户名称长度不能超过255字") @Length(max = 255,message = "用户名称长度不能超过255字")
private String userName; private String userName;
private String userRoom;
/** 门卫id */ /** 门卫id */
@Length(max = 255,message = "用户id长度不能超过255字") @Length(max = 255,message = "用户id长度不能超过255字")
private String checkUserId; private String checkUserId;
@ -109,6 +114,12 @@ public class VisitMain implements Serializable {
@Length(max = 255,message = "来访人数合计长度不能超过255字") @Length(max = 255,message = "来访人数合计长度不能超过255字")
private String visitorSum; private String visitorSum;
/** 来访车辆 */
private String visitorCar;
/** 来访邮箱 */
private String visitorEmail;
/** 来访内容 */ /** 来访内容 */
@Length(max = 255,message = "来访内容长度不能超过255字") @Length(max = 255,message = "来访内容长度不能超过255字")
private String visitorContext; private String visitorContext;

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

@ -0,0 +1,135 @@
package com.qs.serve.modules.visit.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* 拜访 实体类
* @author YenHex
* @since 2024-09-11
*/
@Data
@TableName("visit_theme")
public class VisitTheme implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
@TableId(type = IdType.ASSIGN_UUID)
private String id;
/** 拜访编码 */
private String themeCode;
private String themeTitle;
/** 审批状态: 0=正常;1=关闭 */
private Integer stopState;
/** 部门id */
@Length(max = 255,message = "部门id长度不能超过255字")
private String deptId;
/** 部门昵称 */
@Length(max = 255,message = "部门昵称长度不能超过255字")
private String deptName;
/** 用户id */
@Length(max = 255,message = "用户id长度不能超过255字")
private String userId;
/** 用户编码 */
@Length(max = 255,message = "用户编码长度不能超过255字")
private String userCode;
/** 用户名称 */
@Length(max = 255,message = "用户名称长度不能超过255字")
private String userName;
/** 接待地点 */
private String userRoom;
/** 预约拜访日期 */
@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 visitTime;
/** 提交时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime submitTime;
private String syFormId;
/** 来访公司 */
@Length(max = 255,message = "来访公司长度不能超过255字")
private String visitorCompany;
/** 来访人ID */
@Length(max = 255,message = "来访人姓名长度不能超过255字")
private String visitorId;
/** 来访人姓名 */
@Length(max = 255,message = "来访人姓名长度不能超过255字")
private String visitorName;
/** 来访人电话 */
@Length(max = 255,message = "来访人电话长度不能超过255字")
private String visitorMobile;
/** 来访人数合计 */
@Length(max = 255,message = "来访人数合计长度不能超过255字")
private String visitorSum;
/** 来访内容 */
@Length(max = 255,message = "来访内容长度不能超过255字")
private String visitorContext;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
private String remark2;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
/** 删除标识 */
@JsonIgnore
@JsonProperty
private Boolean delFlag;
}

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

@ -0,0 +1,18 @@
package com.qs.serve.modules.visit.entity.vo;
import com.qs.serve.modules.visit.entity.VisitMain;
import lombok.Data;
/**
* @author YenHex
* @since 2024/11/11
*/
@Data
public class VisitMainVo extends VisitMain {
/** 拜访编码 */
private String themeCode;
private String themeTitle;
}

7
src/main/java/com/qs/serve/modules/visit/mapper/VisitMainMapper.java

@ -1,7 +1,12 @@
package com.qs.serve.modules.visit.mapper; package com.qs.serve.modules.visit.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qs.serve.modules.visit.entity.VisitMain; import com.qs.serve.modules.visit.entity.VisitMain;
import com.qs.serve.modules.visit.entity.vo.VisitMainVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 拜访 Mapper * 拜访 Mapper
@ -10,5 +15,7 @@ import com.qs.serve.modules.visit.entity.VisitMain;
*/ */
public interface VisitMainMapper extends BaseMapper<VisitMain> { public interface VisitMainMapper extends BaseMapper<VisitMain> {
List<VisitMainVo> selectListVo(@Param("page") Page<VisitMain> pager, @Param("query") VisitMain main);
} }

14
src/main/java/com/qs/serve/modules/visit/mapper/VisitThemeMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.visit.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.visit.entity.VisitTheme;
/**
* 拜访 Mapper
* @author YenHex
* @date 2024-09-11
*/
public interface VisitThemeMapper extends BaseMapper<VisitTheme> {
}

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

@ -0,0 +1,15 @@
package com.qs.serve.modules.visit.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.visit.entity.VisitMain;
import com.qs.serve.modules.visit.entity.VisitTheme;
/**
* 拜访 服务接口
* @author YenHex
* @date 2024-09-11
*/
public interface VisitThemeService extends IService<VisitTheme> {
}

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

@ -0,0 +1,40 @@
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.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.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.VisitMain;
import com.qs.serve.modules.visit.entity.VisitTheme;
import com.qs.serve.modules.visit.mapper.VisitMainMapper;
import com.qs.serve.modules.visit.mapper.VisitThemeMapper;
import com.qs.serve.modules.visit.service.VisitMainService;
import com.qs.serve.modules.visit.service.VisitThemeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/**
* 拜访 服务实现类
* @author YenHex
* @since 2024-09-11
*/
@Slf4j
@Service
public class VisitThemeServiceImpl extends ServiceImpl<VisitThemeMapper,VisitTheme> implements VisitThemeService {
}

2
src/main/resources/application.yml

@ -4,7 +4,7 @@ spring:
max-file-size: 100MB max-file-size: 100MB
max-request-size: 160MB max-request-size: 160MB
profiles: profiles:
active: pro active: dev
main: main:
#easypoi启用覆盖 #easypoi启用覆盖
allow-bean-definition-overriding: true allow-bean-definition-overriding: true

157
src/main/resources/mapper/visit/VisitMainMapper.xml

@ -0,0 +1,157 @@
<?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.qs.serve.modules.visit.mapper.VisitMainMapper">
<resultMap id="visitMainMap" type="com.qs.serve.modules.visit.entity.VisitMain" >
<result property="id" column="id"/>
<result property="themeId" column="theme_id"/>
<result property="visitCode" column="visit_code"/>
<result property="checkState" column="check_state"/>
<result property="visitStatus" column="visit_status"/>
<result property="deptId" column="dept_id"/>
<result property="deptName" column="dept_name"/>
<result property="userId" column="user_id"/>
<result property="userCode" column="user_code"/>
<result property="userName" column="user_name"/>
<result property="userRoom" column="user_room"/>
<result property="preVisitDate" column="pre_visit_date"/>
<result property="syFormId" column="sy_form_id"/>
<result property="submitTime" column="submit_time"/>
<result property="visitTime" column="visit_time"/>
<result property="visitorId" column="visitor_id"/>
<result property="visitorCompany" column="visitor_company"/>
<result property="visitorName" column="visitor_name"/>
<result property="visitorMobile" column="visitor_mobile"/>
<result property="visitorSum" column="visitor_sum"/>
<result property="visitorCar" column="visitor_car"/>
<result property="visitorEmail" column="visitor_email"/>
<result property="visitorContext" column="visitor_context"/>
<result property="checkUserId" column="check_user_id"/>
<result property="checkUserCode" column="check_user_code"/>
<result property="checkUserName" column="check_user_name"/>
<result property="remark" column="remark"/>
<result property="remark2" column="remark2"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
<result property="delFlag" column="del_flag"/>
</resultMap>
<sql id="visitMainSql">
visit_main.`id`,
visit_main.`theme_id`,
visit_main.`visit_code`,
visit_main.`check_state`,
visit_main.`visit_status`,
visit_main.`dept_id`,
visit_main.`dept_name`,
visit_main.`user_id`,
visit_main.`user_code`,
visit_main.`user_name`,
visit_main.`user_room`,
visit_main.`pre_visit_date`,
visit_main.`sy_form_id`,
visit_main.`submit_time`,
visit_main.`visit_time`,
visit_main.`visitor_id`,
visit_main.`visitor_company`,
visit_main.`visitor_name`,
visit_main.`visitor_mobile`,
visit_main.`visitor_sum`,
visit_main.`visitor_car`,
visit_main.`visitor_email`,
visit_main.`visitor_context`,
visit_main.`check_user_id`,
visit_main.`check_user_code`,
visit_main.`check_user_name`,
visit_main.`remark`,
visit_main.`remark2`,
visit_main.`create_time`,
visit_main.`create_by`,
visit_main.`update_time`,
visit_main.`update_by`,
visit_main.`del_flag` </sql>
<select id="selectVisitMainList" parameterType="com.qs.serve.modules.visit.entity.VisitMain" resultMap="visitMainMap">
SELECT <include refid="visitMainSql"/> FROM `visit_main` `visit_main`
<where>
<if test="query.id != null and query.id != ''"> and `visit_main`.`id` = #{query.id}</if>
<if test="query.themeId != null and query.themeId != ''"> and `visit_main`.`theme_id` = #{query.themeId}</if>
<if test="query.visitCode != null and query.visitCode != ''"> and `visit_main`.`visit_code` = #{query.visitCode}</if>
<if test="query.checkState != null"> and `visit_main`.`check_state` = #{query.checkState}</if>
<if test="query.visitStatus != null"> and `visit_main`.`visit_status` = #{query.visitStatus}</if>
<if test="query.deptId != null and query.deptId != ''"> and `visit_main`.`dept_id` = #{query.deptId}</if>
<if test="query.deptName != null and query.deptName != ''"> and `visit_main`.`dept_name` = #{query.deptName}</if>
<if test="query.userId != null and query.userId != ''"> and `visit_main`.`user_id` = #{query.userId}</if>
<if test="query.userCode != null and query.userCode != ''"> and `visit_main`.`user_code` = #{query.userCode}</if>
<if test="query.userName != null and query.userName != ''"> and `visit_main`.`user_name` = #{query.userName}</if>
<if test="query.userRoom != null and query.userRoom != ''"> and `visit_main`.`user_room` = #{query.userRoom}</if>
<if test="query.preVisitDate != null"> and `visit_main`.`pre_visit_date` = #{query.preVisitDate}</if>
<if test="query.syFormId != null and query.syFormId != ''"> and `visit_main`.`sy_form_id` = #{query.syFormId}</if>
<if test="query.submitTime != null"> and `visit_main`.`submit_time` = #{query.submitTime}</if>
<if test="query.visitTime != null"> and `visit_main`.`visit_time` = #{query.visitTime}</if>
<if test="query.visitorId != null and query.visitorId != ''"> and `visit_main`.`visitor_id` = #{query.visitorId}</if>
<if test="query.visitorCompany != null and query.visitorCompany != ''"> and `visit_main`.`visitor_company` = #{query.visitorCompany}</if>
<if test="query.visitorName != null and query.visitorName != ''"> and `visit_main`.`visitor_name` = #{query.visitorName}</if>
<if test="query.visitorMobile != null and query.visitorMobile != ''"> and `visit_main`.`visitor_mobile` = #{query.visitorMobile}</if>
<if test="query.visitorSum != null and query.visitorSum != ''"> and `visit_main`.`visitor_sum` = #{query.visitorSum}</if>
<if test="query.visitorCar != null and query.visitorCar != ''"> and `visit_main`.`visitor_car` = #{query.visitorCar}</if>
<if test="query.visitorEmail != null and query.visitorEmail != ''"> and `visit_main`.`visitor_email` = #{query.visitorEmail}</if>
<if test="query.visitorContext != null and query.visitorContext != ''"> and `visit_main`.`visitor_context` = #{query.visitorContext}</if>
<if test="query.checkUserId != null and query.checkUserId != ''"> and `visit_main`.`check_user_id` = #{query.checkUserId}</if>
<if test="query.checkUserCode != null and query.checkUserCode != ''"> and `visit_main`.`check_user_code` = #{query.checkUserCode}</if>
<if test="query.checkUserName != null and query.checkUserName != ''"> and `visit_main`.`check_user_name` = #{query.checkUserName}</if>
<if test="query.remark != null and query.remark != ''"> and `visit_main`.`remark` = #{query.remark}</if>
<if test="query.remark2 != null and query.remark2 != ''"> and `visit_main`.`remark2` = #{query.remark2}</if>
<if test="query.createTime != null"> and `visit_main`.`create_time` = #{query.createTime}</if>
<if test="query.createBy != null and query.createBy != ''"> and `visit_main`.`create_by` = #{query.createBy}</if>
<if test="query.updateTime != null"> and `visit_main`.`update_time` = #{query.updateTime}</if>
<if test="query.updateBy != null and query.updateBy != ''"> and `visit_main`.`update_by` = #{query.updateBy}</if>
<if test="query.delFlag != null"> and `visit_main`.`del_flag` = #{query.delFlag}</if>
</where>
</select>
<select id="selectListVo" resultType="com.qs.serve.modules.visit.entity.vo.VisitMainVo">
SELECT
<include refid="visitMainSql"/>,
visit_theme.theme_code,
visit_theme.theme_title
FROM `visit_main` `visit_main`
left join visit_theme.id = visit_main.theme_id
<where>
and `visit_main`.`del_flag` = 0
<if test="query.id != null and query.id != ''"> and `visit_main`.`id` = #{query.id}</if>
<if test="query.themeId != null and query.themeId != ''"> and `visit_main`.`theme_id` = #{query.themeId}</if>
<if test="query.visitCode != null and query.visitCode != ''"> and `visit_main`.`visit_code` = #{query.visitCode}</if>
<if test="query.checkState != null"> and `visit_main`.`check_state` = #{query.checkState}</if>
<if test="query.visitStatus != null"> and `visit_main`.`visit_status` = #{query.visitStatus}</if>
<if test="query.deptId != null and query.deptId != ''"> and `visit_main`.`dept_id` = #{query.deptId}</if>
<if test="query.deptName != null and query.deptName != ''"> and `visit_main`.`dept_name` = #{query.deptName}</if>
<if test="query.userId != null and query.userId != ''"> and `visit_main`.`user_id` = #{query.userId}</if>
<if test="query.userCode != null and query.userCode != ''"> and `visit_main`.`user_code` = #{query.userCode}</if>
<if test="query.userName != null and query.userName != ''"> and `visit_main`.`user_name` = #{query.userName}</if>
<if test="query.userRoom != null and query.userRoom != ''"> and `visit_main`.`user_room` = #{query.userRoom}</if>
<if test="query.preVisitDate != null"> and `visit_main`.`pre_visit_date` = #{query.preVisitDate}</if>
<if test="query.syFormId != null and query.syFormId != ''"> and `visit_main`.`sy_form_id` = #{query.syFormId}</if>
<if test="query.submitTime != null"> and `visit_main`.`submit_time` = #{query.submitTime}</if>
<if test="query.visitTime != null"> and `visit_main`.`visit_time` = #{query.visitTime}</if>
<if test="query.visitorId != null and query.visitorId != ''"> and `visit_main`.`visitor_id` = #{query.visitorId}</if>
<if test="query.visitorCompany != null and query.visitorCompany != ''"> and `visit_main`.`visitor_company` = #{query.visitorCompany}</if>
<if test="query.visitorName != null and query.visitorName != ''"> and `visit_main`.`visitor_name` = #{query.visitorName}</if>
<if test="query.visitorMobile != null and query.visitorMobile != ''"> and `visit_main`.`visitor_mobile` = #{query.visitorMobile}</if>
<if test="query.visitorSum != null and query.visitorSum != ''"> and `visit_main`.`visitor_sum` = #{query.visitorSum}</if>
<if test="query.visitorCar != null and query.visitorCar != ''"> and `visit_main`.`visitor_car` = #{query.visitorCar}</if>
<if test="query.visitorEmail != null and query.visitorEmail != ''"> and `visit_main`.`visitor_email` = #{query.visitorEmail}</if>
<if test="query.visitorContext != null and query.visitorContext != ''"> and `visit_main`.`visitor_context` = #{query.visitorContext}</if>
<if test="query.checkUserId != null and query.checkUserId != ''"> and `visit_main`.`check_user_id` = #{query.checkUserId}</if>
<if test="query.checkUserCode != null and query.checkUserCode != ''"> and `visit_main`.`check_user_code` = #{query.checkUserCode}</if>
<if test="query.checkUserName != null and query.checkUserName != ''"> and `visit_main`.`check_user_name` = #{query.checkUserName}</if>
<if test="query.remark != null and query.remark != ''"> and `visit_main`.`remark` = #{query.remark}</if>
<if test="query.remark2 != null and query.remark2 != ''"> and `visit_main`.`remark2` = #{query.remark2}</if>
</where>
</select>
</mapper>
Loading…
Cancel
Save