Browse Source

feat: 调整

master
Yen 8 months ago
parent
commit
0bcb8f1cb3
  1. 2
      src/main/java/com/qs/serve/modules/sys/controller/SysRoleController.java
  2. 1
      src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java
  3. 25
      src/main/java/com/qs/serve/modules/thirty/ThirtyVisitController.java
  4. 12
      src/main/java/com/qs/serve/modules/thirty/entity/VisitThemeThirtyParam.java
  5. 24
      src/main/java/com/qs/serve/modules/thirty/entity/VisitThemeThirtyVo.java
  6. 14
      src/main/java/com/qs/serve/modules/visit/api/VisitMainOuterApi.java
  7. 26
      src/main/java/com/qs/serve/modules/visit/controller/VisitMainController.java
  8. 7
      src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java
  9. 11
      src/main/java/com/qs/serve/modules/visit/entity/VisitTheme.java
  10. 26
      src/main/java/com/qs/serve/modules/visit/service/impl/VisitMainServiceImpl.java
  11. 3
      src/main/resources/application-dev.yml

2
src/main/java/com/qs/serve/modules/sys/controller/SysRoleController.java

@ -6,6 +6,7 @@ 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.util.AuthContextUtils;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.sys.entity.SysRole;
import com.qs.serve.modules.sys.entity.SysRoleMenu;
@ -102,6 +103,7 @@ public class SysRoleController {
@PreAuthorize("hasRole('sys:role:insert')")
public R<?> save(@RequestBody @Valid SysRole param){
param.setIsDefault(null);
param.setTenantId(AuthContextUtils.getTenant());
boolean result = sysRoleService.save(param);
return R.isTrue(result);
}

1
src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java

@ -161,6 +161,7 @@ public class SysUserController {
List<SysUserRole> userRoles = userRoleService.list(new LambdaQueryWrapper<SysUserRole>()
.in(SysUserRole::getRoleId,param.getRoleIds()));
List<String> ids = userRoles.stream().map(SysUserRole::getUserId).collect(Collectors.toList());
ids.add("0");
param.setSelectIds(ids);
}
PageHelper.startPage(param.getPageNum(),param.getPageSize());

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

@ -14,15 +14,18 @@ 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.thirty.entity.VisitThemeThirtyParam;
import com.qs.serve.modules.thirty.entity.VisitThemeThirtyVo;
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.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
/**
@ -31,15 +34,20 @@ import javax.validation.Valid;
* @since 2024/11/12
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("/thirty")
public class ThirtyVisitController {
@Resource
private VisitThemeServiceImpl visitThemeService;
@Resource
private SysUserService sysUserService;
@Resource
private SysDeptService sysDeptService;
@Value("${project.pcvisitThemeUrl}")
private String pcvisitThemeUrl;
/**
* 新增
* @param param
@ -47,7 +55,7 @@ public class ThirtyVisitController {
*/
@PostMapping("/saveTheme")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.INSERT)
public R<?> save(@RequestBody @Valid VisitThemeThirtyParam param){
public R<VisitThemeThirtyVo> save(@RequestBody @Valid VisitThemeThirtyParam param){
VisitTheme entity = new VisitTheme();
entity.setId(param.getId());
SysUser applyUser = sysUserService.getByAccount(param.getUserId());
@ -80,10 +88,19 @@ public class ThirtyVisitController {
entity.setUserRoom(param.getUserRoom());
entity.setVisitStartDate(param.getVisitStartDate());
entity.setVisitEndDate(param.getVisitEndDate());
entity.setCodeStartDate(param.getVisitStartDate());
entity.setCodeEndDate(param.getVisitEndDate());
entity.setSkipApprovalFlag(param.getIsNeedVerify()?0:1);
entity.setSkipMessageFlag(param.getIsNeedVerifyStatus()?0:1);
boolean result = visitThemeService.saveOrUpdate(entity);
return R.isTrue(result);
entity.setSkipApprovalNumber(param.getSkipApprovalFlag());
entity.setApprover(param.getApprover());
visitThemeService.saveOrUpdate(entity);
String url = pcvisitThemeUrl+entity.getId();
VisitThemeThirtyVo thirtyVo = new VisitThemeThirtyVo();
thirtyVo.setThemeQrCode(url);
thirtyVo.setThemeId(entity.getId());
return R.ok(thirtyVo);
}
}

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

@ -81,7 +81,7 @@ public class VisitThemeThirtyParam {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime visitStartDate;
/** 来访结束时间 */
/** 来访结束时间(二维码结束时间) */
@NotNull(message = "visitEndDate is null")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ -99,4 +99,14 @@ public class VisitThemeThirtyParam {
@NotNull(message = "isNeedVerifyStatus is null")
public Boolean isNeedVerifyStatus;
/**
* 未指明含义只做接收和传到OA
*/
private Long skipApprovalFlag;
/**
* 审批人或者知会人
*/
private String approver;
}

24
src/main/java/com/qs/serve/modules/thirty/entity/VisitThemeThirtyVo.java

@ -0,0 +1,24 @@
package com.qs.serve.modules.thirty.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/**
* @author YenHex
* @since 2024/11/12
*/
@Data
public class VisitThemeThirtyVo {
/**
* 用于更新
*/
public String themeId;
public String themeQrCode;
}

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

@ -117,10 +117,10 @@ public class VisitMainOuterApi {
public R<Boolean> getThemeAndValidById(@PathVariable("id") String id){
VisitTheme visitTheme = visitThemeService.getById(id);
LocalDateTime nowTime = LocalDateTime.now();
if(nowTime.isBefore(visitTheme.getCodeStartDate())){
if(visitTheme.getCodeStartDate()!=null&&nowTime.isBefore(visitTheme.getCodeStartDate())){
return R.ok(false,"登记时间未开始");
}
if(nowTime.isAfter(visitTheme.getCodeEndDate())){
if(visitTheme.getCodeEndDate()!=null&&nowTime.isAfter(visitTheme.getCodeEndDate())){
return R.ok(false,"已结束登记");
}
return R.ok(true);
@ -186,10 +186,10 @@ public class VisitMainOuterApi {
return R.error("主题已停用");
}
LocalDateTime nowTime = LocalDateTime.now();
if(nowTime.isBefore(visitTheme.getCodeStartDate())){
if(visitTheme.getCodeStartDate()!=null&&nowTime.isBefore(visitTheme.getCodeStartDate())){
return R.error("登记时间未开始");
}
if(nowTime.isAfter(visitTheme.getCodeEndDate())){
if(visitTheme.getCodeEndDate()!=null&&nowTime.isAfter(visitTheme.getCodeEndDate())){
return R.error("已结束登记");
}
@ -204,7 +204,9 @@ public class VisitMainOuterApi {
// 主题相关
entity.setThemeId(visitTheme.getId());
entity.setVisitStartDate(visitTheme.getVisitStartDate());
entity.setVisitEndDate(visitTheme.getVisitEndDate());
//entity.setVisitEndDate(visitTheme.getVisitEndDate());
entity.setVisitEndDate(LocalDateTime.now());
entity.setSkipApprovalNumber(visitTheme.getSkipApprovalNumber());
//其它
entity.setId(null);
entity.setVisitCode(CodeGenUtil.getDataCode(CodeGenUtil.SourceDataKey.VISIT));
@ -226,10 +228,8 @@ public class VisitMainOuterApi {
visitMainService.doFinish(entity.getId(),null);
}else {
// 申请审批
if(1==2){
visitMainService.submitOaFlow(entity.getId());
}
}
return R.ok(param.getId());
}

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

@ -169,5 +169,31 @@ public class VisitMainController {
return R.isTrue(result);
}
/**
* 成功
* @param id
* @return
*/
@GetMapping("/doSuccess/{id}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
public R<?> doSuccess(@PathVariable("id") String id){
visitMainService.doFinish(id,null);
return R.ok();
}
/**
* 拒绝
* @param id
* @return
*/
@GetMapping("/doRefuse/{id}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
public R<?> doRefuse(@PathVariable("id") String id){
visitMainService.doRefuse(id,null);
return R.ok();
}
}

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

@ -146,6 +146,13 @@ public class VisitMain implements Serializable {
private String remark2;
/**
* 未指明含义只做接收和传到OA
* 对应 visitMain.skipApprovalNumber
* 传入OA时使用`·`skipApprovalFlag`做参数名
*/
private Long skipApprovalNumber;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

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

@ -169,6 +169,17 @@ public class VisitTheme implements Serializable {
@JsonProperty
private Boolean delFlag;
/**
* 未指明含义只做接收和传到OA
* 对应 visitMain.skipApprovalNumber
* 传入OA时使用`·`skipApprovalFlag`做参数名
*/
private Long skipApprovalNumber;
/**
* 审批人或者知会人
*/
private String approver;
}

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

@ -7,10 +7,7 @@ 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.DateUtils;
import com.qs.serve.common.util.TianYiYunSmsUtil;
import com.qs.serve.common.util.*;
import com.qs.serve.common.util.model.DateFormatString;
import com.qs.serve.modules.flow.model.TbsAffairCommitBo;
import com.qs.serve.modules.flow.service.SeeYonOptionService;
@ -54,9 +51,12 @@ public class VisitMainServiceImpl extends ServiceImpl<VisitMainMapper,VisitMain>
@Value("${project.h5visitMainUrl}")
private String h5visitMainUrl;
@Value("${project.pcvisitThemeUrl}")
private String pcvisitThemeUrl;
@Override
public String loadTemplateCode(){
return flowDev?"visitApplyForm_Test":"visitApplyForm";
return flowDev?"visitRegister_Test":"visitRegister";
}
@Override
@ -102,6 +102,7 @@ public class VisitMainServiceImpl extends ServiceImpl<VisitMainMapper,VisitMain>
mainData.put("userCode",visitMain.getUserCode());
mainData.put("userName",visitMain.getUserName());
mainData.put("userRoom",visitMain.getUserRoom());
mainData.put("skipApprovalFlag",visitTheme.getSkipApprovalFlag());
mainData.put("preVisitDate",visitMain.getPreVisitDate());
mainData.put("submitTime",DateUtils.format(visitMain.getSubmitTime(), DateFormatString.DATE_TIME));
mainData.put("visitorCompany",visitMain.getVisitorCompany());
@ -114,20 +115,29 @@ public class VisitMainServiceImpl extends ServiceImpl<VisitMainMapper,VisitMain>
}
mainData.put("visitorName",visitMain.getVisitorName());
mainData.put("visitorMobile",visitMain.getVisitorMobile());
mainData.put("visitorCart",visitMain.getVisitorCar());
mainData.put("visitorCar",visitMain.getVisitorCar());
mainData.put("visitorSum",visitMain.getVisitorSum());
mainData.put("visitorEmail",visitMain.getVisitorEmail());
mainData.put("visitorContext",visitMain.getVisitorContext());
mainData.put("remark",visitMain.getRemark());
mainData.put("qrCode",h5visitMainUrl+visitMain.getId());
mainData.put("skipApprovalFlag",visitMain.getSkipApprovalNumber());
mainData.put("approver",visitTheme.getApprover());
Map<String, Object> mainbody = new HashMap<>();
mainbody.put("formmain_2282",mainData);
OaFormMainProcess mainProcess = new OaFormMainProcess();
mainProcess.setTargetId(visitMain.getId());
mainProcess.setUploadFiles(new ArrayList<>());
mainProcess.setTableName("formmain_2282");
mainProcess.setData(mainData);
mainProcess.setData(mainbody);
mainProcess.setTemplateCode(templateCode);
mainProcess.setUserId(visitMain.getUserId());
mainProcess.setSenderLoginName(visitMain.getUserCode());
log.warn("创建流程===> {}", JsonUtil.objectToJson(mainProcess));
R flowIdResult = seeYonService.newCreateProcess(mainProcess);
if(flowIdResult==null||flowIdResult.getStatus()!=200){
@ -180,7 +190,7 @@ public class VisitMainServiceImpl extends ServiceImpl<VisitMainMapper,VisitMain>
TianYiYunSmsUtil.sendVisitSuccess(
visitMain.getVisitorMobile(),
h5visitMainUrl + visitMain.getId(),
visitTheme.getCodeStartDate(),
visitMain.getVisitEndDate(),
visitMain.getUserName());
}
return null;

3
src/main/resources/application-dev.yml

@ -1,6 +1,7 @@
#项目配置
project:
h5visitMainUrl: 'http://192.168.0.9:7350/h5-dev/#/visit-item-check-qrcode?id='
h5visitMainUrl: 'http://192.168.0.9:7350/h5/#/visit-item-check-qrcode?id='
pcvisitThemeUrl: 'http://192.168.0.9:7350/pc/#/visit-group-item-invite-qrcode?groupId='
flowTest: true
upload:
#上传映射地址

Loading…
Cancel
Save