Browse Source

流程审批调整、客户查询调整、提取致远服务

mssql
Yen 3 years ago
parent
commit
194fe5d5f5
  1. 8
      src/main/java/com/qs/serve/common/util/StringUtils.java
  2. 2
      src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java
  3. 3
      src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java
  4. 27
      src/main/java/com/qs/serve/modules/seeyon/entity/BaseCreateProcessBo.java
  5. 27
      src/main/java/com/qs/serve/modules/seeyon/entity/CtpAffair.java
  6. 18
      src/main/java/com/qs/serve/modules/seeyon/entity/CtpAffairCancel.java
  7. 24
      src/main/java/com/qs/serve/modules/seeyon/entity/CtpAffairCommit.java
  8. 32
      src/main/java/com/qs/serve/modules/seeyon/entity/CtpAffairQo.java
  9. 61
      src/main/java/com/qs/serve/modules/seeyon/service/SeeYonService.java
  10. 98
      src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonServiceImpl.java
  11. 8
      src/main/java/com/qs/serve/modules/sys/entity/SysUser.java
  12. 4
      src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java
  13. 16
      src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java
  14. 19
      src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java
  15. 119
      src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java
  16. 4
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityTemplate.java
  17. 3
      src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java
  18. 8
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityTemplateBo.java
  19. 37
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsAffairCommitBo.java
  20. 6
      src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsActivityVo.java
  21. 2
      src/main/java/com/qs/serve/modules/tbs/service/TbsActivityTemplateRegionService.java
  22. 2
      src/main/java/com/qs/serve/modules/tbs/service/TbsActivityTemplateService.java
  23. 6
      src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java
  24. 7
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityTemplateRegionServiceImpl.java
  25. 7
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityTemplateServiceImpl.java
  26. 6
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java
  27. 10
      src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java
  28. 2
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

8
src/main/java/com/qs/serve/common/util/StringUtils.java

@ -78,6 +78,14 @@ public class StringUtils extends org.springframework.util.StringUtils {
return false; return false;
} }
public static String getUrlByList(List<?> list,String param){
StringBuilder sb = new StringBuilder();
for (Object val : list) {
sb.append("&"+param+"="+val);
}
return sb.toString();
}
/** /**
* 格式化 * 格式化
* @param exp {}的表达式 * @param exp {}的表达式

2
src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java

@ -288,7 +288,7 @@ public class BmsRegionController {
@SysLog(module = SystemModule.BASE, title = "区域档案", biz = BizType.DELETE) @SysLog(module = SystemModule.BASE, title = "区域档案", biz = BizType.DELETE)
@PreAuthorize("hasRole('bms:region:delete')") @PreAuthorize("hasRole('bms:region:delete')")
public R<?> deleteById(@PathVariable("id") String id){ public R<?> deleteById(@PathVariable("id") String id){
//todo 删除区域档案 //删除区域档案
if(bmsRegionService.listChild(id).size()>0){ if(bmsRegionService.listChild(id).size()>0){
return R.error("含有子区域无法删除"); return R.error("含有子区域无法删除");
} }

3
src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java

@ -190,6 +190,9 @@ public class BmsSupplier implements Serializable {
if(this.getUserId()!=null){ if(this.getUserId()!=null){
userSupplier.setSupplierId(Long.parseLong(this.getId())); userSupplier.setSupplierId(Long.parseLong(this.getId()));
} }
if(this.getId()!=null){
userSupplier.setSupplierId(Long.parseLong(this.getId()));
}
userSupplier.setSupplierName(this.getName()); userSupplier.setSupplierName(this.getName());
userSupplier.setSupplierCode(this.getCode()); userSupplier.setSupplierCode(this.getCode());
userSupplier.setSaleRegionFirst(this.getRegionFirst()); userSupplier.setSaleRegionFirst(this.getRegionFirst());

27
src/main/java/com/qs/serve/modules/seeyon/entity/BaseCreateProcessBo.java

@ -0,0 +1,27 @@
package com.qs.serve.modules.seeyon.entity;
import lombok.Data;
import java.util.List;
/**
* @author YenHex
* @since 2022/11/22
*/
@Data
public class BaseCreateProcessBo {
private String templateCode;
/** 致远登录名 */
private String memberLoginName;
/** 标题 */
private String subjectTitle;
private String dataJson;
/** 致远附件id列表 */
private List<Long> attachments;
}

27
src/main/java/com/qs/serve/modules/seeyon/entity/CtpAffair.java

@ -0,0 +1,27 @@
package com.qs.serve.modules.seeyon.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author YenHex
* @since 2022/11/22
*/
@Data
public class CtpAffair {
private String affairId;
private String memberId;
private Integer state;
private String templateId;
private String formRecordId;
private String costApplyId;
}

18
src/main/java/com/qs/serve/modules/seeyon/entity/CtpAffairCancel.java

@ -0,0 +1,18 @@
package com.qs.serve.modules.seeyon.entity;
import lombok.Data;
/**
* @author YenHex
* @since 2022/11/23
*/
@Data
public class CtpAffairCancel {
private String affairId;
private String memberAccount;
private String summaryId;
}

24
src/main/java/com/qs/serve/modules/seeyon/entity/CtpAffairCommit.java

@ -0,0 +1,24 @@
package com.qs.serve.modules.seeyon.entity;
import lombok.Data;
/**
* @author YenHex
* @since 2022/11/23
*/
@Data
public class CtpAffairCommit {
/** 状态:0-否定,1-同意 */
private Integer state;
private String affairId;
/**
* 如果是state=1 同意传入member的登录账号
*/
private String memberId;
private String comment;
}

32
src/main/java/com/qs/serve/modules/seeyon/entity/CtpAffairQo.java

@ -0,0 +1,32 @@
package com.qs.serve.modules.seeyon.entity;
import lombok.Data;
import lombok.Setter;
import java.util.List;
/**
* @author YenHex
* @since 2022/11/22
*/
@Data
public class CtpAffairQo {
List<String> templateCodes;
List<String> templateIds;
String memberId;
String formMainId;
/**
* 状态0-未完成与已完成1-未完成2已完成其它-加载所有
*/
Integer state;
Integer pageNum;
Integer pageSize;
}

61
src/main/java/com/qs/serve/modules/seeyon/service/SeeYonService.java

@ -0,0 +1,61 @@
package com.qs.serve.modules.seeyon.service;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.modules.seeyon.entity.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* @author YenHex
* @since 2022/11/30
*/
public interface SeeYonService {
/**
* 通用的创建流程接口
* @param createProcessBo
* @return
*/
R<String> baseCreateProcess(BaseCreateProcessBo createProcessBo);
/**
* 获取表单id
* @param costApplyId
* @return
*/
R<String> getFormId(Long costApplyId);
/**
* 提交
* @param affairCommit
* @return
*/
R<String> affairCommit(CtpAffairCommit affairCommit);
/**
* 取消流程
* @param affairCancel
* @return
*/
R<String> affairCancel(CtpAffairCancel affairCancel);
/**
* 获取用户表单
* @param ctpAffairQo
* @return
*/
R<PageVo<CtpAffair>> pageMemberAffair(CtpAffairQo ctpAffairQo);
/**
* 列表表单审批节点
* @param ctpAffairQo
* @return
*/
R<List<CtpAffair>> listFormAffair(CtpAffairQo ctpAffairQo);
}

98
src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonServiceImpl.java

@ -0,0 +1,98 @@
package com.qs.serve.modules.seeyon.service.impl;
import com.qs.serve.common.config.properties.SeeYonProperties;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.*;
import com.qs.serve.common.util.model.DateFormatString;
import com.qs.serve.modules.seeyon.entity.*;
import com.qs.serve.modules.seeyon.service.SeeYonService;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author YenHex
* @since 2022/11/30
*/
@Slf4j
@Service
@AllArgsConstructor
public class SeeYonServiceImpl implements SeeYonService {
private SeeYonProperties seeYonProperties;
@Override
public R<String> baseCreateProcess(BaseCreateProcessBo createProcessBo) {
String title = "创建流程";
return postBase(TbsSeeYonConst.API_PROCESS_CREATE,createProcessBo,title);
}
@Override
public R<String> getFormId(Long costApplyId) {
String title = "获取表单ID";
String url2 = TbsSeeYonConst.API_GET_FORM_ID+"?costApplyId="+costApplyId;
return getBase(url2,title);
}
@Override
public R<String> affairCommit(CtpAffairCommit affairCommit) {
String title = "审批流程";
return postBase(TbsSeeYonConst.API_PROCESS_COMMIT,affairCommit,title);
}
@Override
public R<String> affairCancel(CtpAffairCancel affairCancel) {
String title = "取消流程";
return postBase(TbsSeeYonConst.API_PROCESS_CANCEL,affairCancel,title);
}
@Override
public R<PageVo<CtpAffair>> pageMemberAffair(CtpAffairQo ctpAffairQo) {
String title = "用户审批流程";
R<String> result = postBase(TbsSeeYonConst.API_PAGE_AFFAIR,ctpAffairQo,title);
return null;
}
@Override
public R<List<CtpAffair>> listFormAffair(CtpAffairQo ctpAffairQo) {
String title = "表单审批节点";
R<String> result = postBase(TbsSeeYonConst.API_LIST_AFFAIR,ctpAffairQo,title);
return null;
}
private R<String> getBase(String url2, String title){
String url = getBaseUrl();
R<String> result = HttpUtil.doGetResult(url+url2,null);
if(result.getStatus()!=200){
log.error("致远服务失败[{},{}] url2:{}",title,result.getMsg(),url2);
}
return result;
}
private R<String> postBase(String url2,Object param,String title){
String url = getBaseUrl();
R<String> result = HttpUtil.doPostResult(url + url2, JsonUtil.objectToJson(param),null);
if(result.getStatus()!=200){
log.error("致远服务失败[{},{}]\nParam:{}",title,result.getMsg(),JsonUtil.objectToJson(param));
}
return result;
}
private String getBaseUrl(){
if(!seeYonProperties.getEnable()){
Assert.throwEx("远程服务未开启");
}
return seeYonProperties.getUrl();
}
}

8
src/main/java/com/qs/serve/modules/sys/entity/SysUser.java

@ -93,6 +93,14 @@ public class SysUser implements Serializable {
/** app推送token */ /** app推送token */
private String appToken; private String appToken;
/** 致远登陆账户 */
private String syAccount;
/** 致远用户id */
private String syUserId;
/** 创建时间 */ /** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

4
src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java

@ -11,6 +11,10 @@ public interface TbsSeeYonConst {
String COST_APPLY_USER = "banzhang1"; String COST_APPLY_USER = "banzhang1";
String API_PROCESS_CREATE = "/process/create"; String API_PROCESS_CREATE = "/process/create";
String API_PROCESS_COMMIT = "/process/commit";
String API_PROCESS_CANCEL = "/process/cancel";
String API_GET_FORM_ID = "/process/getFormId"; String API_GET_FORM_ID = "/process/getFormId";
String API_PAGE_AFFAIR = "/process/pageMemberAffair";
String API_LIST_AFFAIR = "/process/listFormAffair";
} }

16
src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java

@ -15,6 +15,7 @@ import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tbs.entity.bo.TbsActivityReopenBo; import com.qs.serve.modules.tbs.entity.bo.TbsActivityReopenBo;
import com.qs.serve.modules.tbs.entity.vo.TbsActivityCenterGoodsVo; import com.qs.serve.modules.tbs.entity.vo.TbsActivityCenterGoodsVo;
import com.qs.serve.modules.tbs.service.*; import com.qs.serve.modules.tbs.service.*;
import com.qs.serve.modules.vtb.service.VtbVerificationService;
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;
@ -50,6 +51,8 @@ public class TbsActivityController {
private final BmsSupplierService bmsSupplierService; private final BmsSupplierService bmsSupplierService;
private final VtbVerificationService verificationService;
/** /**
* 列表 * 列表
* @param param * @param param
@ -257,5 +260,18 @@ public class TbsActivityController {
return R.isTrue(result); return R.isTrue(result);
} }
/**
* 释放活动费用
* @param id
* @return
*/
@PostMapping("/release/{id}")
@SysLog(module = SystemModule.Budget, title = "费用活动", biz = BizType.DELETE)
@PreAuthorize("hasRole('tbs:activity:release')")
public R<?> release(@PathVariable("id") Long id){
verificationService.release(id);
return R.ok();
}
} }

19
src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java

@ -100,12 +100,12 @@ public class TbsActivityTemplateController {
@PostMapping("/updateById") @PostMapping("/updateById")
@SysLog(module = SystemModule.Budget, title = "活动模板", biz = BizType.UPDATE) @SysLog(module = SystemModule.Budget, title = "活动模板", biz = BizType.UPDATE)
@PreAuthorize("hasRole('tbs:activityTemplate:update')") @PreAuthorize("hasRole('tbs:activityTemplate:update')")
public R<?> updateById(@RequestBody @Valid TbsActivityTemplateBo param){ public R<?> updateById(@RequestBody TbsActivityTemplateBo param){
if(param.getId()==null){ if(param.getId()==null){
return R.error("id is null"); return R.error("id is null");
} }
tbsActivityTemplateService.modify(param); TbsActivityTemplate template = tbsActivityTemplateService.modify(param);
return R.ok(); return R.ok(template);
} }
/** /**
@ -120,8 +120,8 @@ public class TbsActivityTemplateController {
if(param.getId()!=null){ if(param.getId()!=null){
return R.error("id is not null"); return R.error("id is not null");
} }
tbsActivityTemplateService.modify(param); TbsActivityTemplate template = tbsActivityTemplateService.modify(param);
return R.ok(); return R.ok(template);
} }
/** /**
@ -145,13 +145,18 @@ public class TbsActivityTemplateController {
*/ */
@GetMapping("/listBySupplier/{id}") @GetMapping("/listBySupplier/{id}")
public R<List<TbsActivityTemplate>> listBySupplier(@PathVariable("id") String id){ public R<List<TbsActivityTemplate>> listBySupplier(@PathVariable("id") String id){
List<TbsActivityTemplateRegion> templateRegions = tbsActivityTemplateRegionService.getTemplateIds(id); LambdaQueryWrapper<TbsActivityTemplate> lqw = new LambdaQueryWrapper<>();
lqw.eq(TbsActivityTemplate::getBizRegionFlag,0).or().eq(TbsActivityTemplate::getSaleRegionFlag,0);
List<TbsActivityTemplate> activityTemplateList = tbsActivityTemplateService.list(lqw);
List<Long> tmpIds = activityTemplateList.stream().map(TbsActivityTemplate::getId).collect(Collectors.toList());
List<TbsActivityTemplateRegion> templateRegions = tbsActivityTemplateRegionService.getTemplateIds(id,tmpIds);
List<Long> templateIds = templateRegions.stream().map(TbsActivityTemplateRegion::getTemplateId) List<Long> templateIds = templateRegions.stream().map(TbsActivityTemplateRegion::getTemplateId)
.distinct().collect(Collectors.toList()); .distinct().collect(Collectors.toList());
if(CollectionUtil.isNotEmpty(templateIds)){ if(CollectionUtil.isEmpty(templateIds)){
return R.ok(); return R.ok();
} }
List<TbsActivityTemplate> templates = tbsActivityTemplateService.listByIds(templateIds); List<TbsActivityTemplate> templates = tbsActivityTemplateService.listByIds(templateIds);
templates.addAll(activityTemplateList);
return R.ok(templates); return R.ok(templates);
} }

119
src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java

@ -1,8 +1,6 @@
package com.qs.serve.modules.tbs.controller; package com.qs.serve.modules.tbs.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.config.properties.SeeYonProperties;
import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
@ -12,11 +10,17 @@ import com.qs.serve.common.util.*;
import com.qs.serve.common.util.model.DateFormatString; import com.qs.serve.common.util.model.DateFormatString;
import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.service.BmsSupplierService; import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo;
import com.qs.serve.modules.seeyon.entity.CtpAffair;
import com.qs.serve.modules.seeyon.entity.CtpAffairCommit;
import com.qs.serve.modules.seeyon.entity.CtpAffairQo;
import com.qs.serve.modules.seeyon.service.SeeYonService;
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.tbs.common.TbsCostApplyState; import com.qs.serve.modules.tbs.common.TbsCostApplyState;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst; import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.entity.TbsActivity; import com.qs.serve.modules.tbs.entity.TbsActivity;
import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo;
import com.qs.serve.modules.tbs.service.TbsActivityService; import com.qs.serve.modules.tbs.service.TbsActivityService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -33,6 +37,7 @@ import java.time.LocalDateTime;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 预算 费用申请 * 预算 费用申请
@ -49,7 +54,7 @@ public class TbsCostApplyController {
private BmsSupplierService bmsSupplierService; private BmsSupplierService bmsSupplierService;
private SysUserService sysUserService; private SysUserService sysUserService;
private TbsActivityService tbsActivityService; private TbsActivityService tbsActivityService;
private SeeYonProperties seeYonProperties; private SeeYonService seeYonService;
/** /**
* 列表 * 列表
@ -111,10 +116,6 @@ public class TbsCostApplyController {
tbsCostApplyService.updateById(costApply); tbsCostApplyService.updateById(costApply);
return R.ok(); return R.ok();
} }
if(!seeYonProperties.getEnable()){
return R.error("远程服务未开启");
}
String url = seeYonProperties.getUrl();
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
TbsCostApply tbsCostApply = tbsCostApplyService.getById(id); TbsCostApply tbsCostApply = tbsCostApplyService.getById(id);
if(tbsCostApply.getChargeState().equals(0)){ if(tbsCostApply.getChargeState().equals(0)){
@ -124,18 +125,18 @@ public class TbsCostApplyController {
data.put("money",tbsCostApply.getTotalActivityAmount()); data.put("money",tbsCostApply.getTotalActivityAmount());
data.put("costApplyCode",tbsCostApply.getId()); data.put("costApplyCode",tbsCostApply.getId());
data.put("costApplyId",tbsCostApply.getId()); data.put("costApplyId",tbsCostApply.getId());
Map<String,Object> param = new HashMap<>(10); BaseCreateProcessBo createProcess = new BaseCreateProcessBo();
param.put("templateCode", TbsSeeYonConst.COST_APPLY_FORM); createProcess.setTemplateCode(TbsSeeYonConst.COST_APPLY_FORM);
param.put("memberLoginName",TbsSeeYonConst.COST_APPLY_USER); createProcess.setMemberLoginName(TbsSeeYonConst.COST_APPLY_USER);
param.put("subjectTitle",tbsCostApply.getChargeTheme()); createProcess.setSubjectTitle(tbsCostApply.getChargeTheme());
param.put("dataJson",JsonUtil.objectToJson(data)); createProcess.setDataJson(JsonUtil.objectToJson(data));
R<String> flowIdResult = HttpUtil.doPostResult(url+TbsSeeYonConst.API_PROCESS_CREATE, JsonUtil.objectToJson(param),null); R<String> flowIdResult = seeYonService.baseCreateProcess(createProcess);
if(flowIdResult.getStatus()!=200){ if(flowIdResult.getStatus()!=200){
return R.error("远程服务调用失败"); return R.error("远程服务调用失败");
} }
String flowId = flowIdResult.getData(); String flowId = flowIdResult.getData();
String formId = null; String formId = null;
R<String> formIdResult = HttpUtil.doGetResult(url+TbsSeeYonConst.API_GET_FORM_ID,null); R<String> formIdResult = seeYonService.getFormId(tbsCostApply.getId());
if(formIdResult.getStatus()==200){ if(formIdResult.getStatus()==200){
formId = formIdResult.getData(); formId = formIdResult.getData();
} }
@ -144,6 +145,7 @@ public class TbsCostApplyController {
costApply.setSyFlowId(flowId); costApply.setSyFlowId(flowId);
costApply.setSyFormId(formId); costApply.setSyFormId(formId);
tbsCostApplyService.updateById(costApply); tbsCostApplyService.updateById(costApply);
//todo 扣除预算
return R.ok(); return R.ok();
}else if (tbsCostApply.getChargeState().equals(4)){ }else if (tbsCostApply.getChargeState().equals(4)){
//todo 驳回重新申请 //todo 驳回重新申请
@ -151,6 +153,8 @@ public class TbsCostApplyController {
return R.error("当前状态不可申请"); return R.error("当前状态不可申请");
} }
/** /**
* 更新 * 更新
* @param param * @param param
@ -208,5 +212,92 @@ public class TbsCostApplyController {
return R.isTrue(result); return R.isTrue(result);
} }
/**
* 申请审批表单(翻页)
* @param state 状态0-未完成与已完成1-未完成2已完成其它-加载所有
* @param pageNum
* @param pageSize
* @return
*/
@GetMapping("/pageMemberAffair")
@SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.DELETE)
public R<?> pageMemberAffair(Integer state,Integer pageNum,Integer pageSize){
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
if(!StringUtils.hasText(sysUser.getSyUserId())){
return R.error("当前账号未绑定致远用户信息");
}
CtpAffairQo param = new CtpAffairQo();
param.setMemberId(sysUser.getSyUserId());
param.setState(state);
param.setPageNum(pageNum);
param.setPageSize(pageSize);
R<PageVo<CtpAffair>> syResult = seeYonService.pageMemberAffair(param);
PageVo<CtpAffair> pageVo = syResult.getData();
List<CtpAffair> ctpAffairs = pageVo.getList();
if(ctpAffairs.size()>0){
List<String> costApplyIds = ctpAffairs.stream().map(CtpAffair::getCostApplyId).collect(Collectors.toList());
List<TbsCostApply> costApplyList = tbsCostApplyService.listByIds(costApplyIds);
for (TbsCostApply costApply : costApplyList) {
for (CtpAffair ctpAffair : ctpAffairs) {
if(costApply.getId().toString().equals(ctpAffair.getCostApplyId())){
costApply.setAffairId(ctpAffair.getAffairId());
break;
}
}
}
PageVo<TbsCostApply> costApplyPageVo = new PageVo<>();
costApplyPageVo.setPageNum(pageVo.getPageNum());
costApplyPageVo.setPageSize(pageVo.getPageSize());
costApplyPageVo.setTotal(pageVo.getTotal());
costApplyPageVo.setTotalPage(pageVo.getTotalPage());
costApplyPageVo.setList(costApplyList);
return R.ok(costApplyPageVo);
}
return R.byEmptyList();
}
/**
* 审批节点
* @return
*/
@PostMapping("/commitAffair")
@SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.DELETE)
@PreAuthorize("hasRole('tbs:costApply:commit')")
public R<?> commitAffair(@RequestBody @Valid TbsAffairCommitBo affairCommit){
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
TbsCostApply costApply = tbsCostApplyService.getById(affairCommit.getAffairId());
if(!costApply.getChargeState().equals(1)){
return R.error("param err1");
}
CtpAffairCommit param = new CtpAffairCommit();
param.setState(affairCommit.getState());
param.setAffairId(affairCommit.getAffairId());
param.setComment(affairCommit.getComment());
if(affairCommit.getState().equals(0)){
param.setMemberId(sysUser.getSyUserId());
}else if(affairCommit.getState().equals(1)){
param.setMemberId(sysUser.getSyAccount());
}else {
Assert.throwEx("param err2");
}
R<String> result = seeYonService.affairCommit(param);
if(result.getStatus()==200){
//判断是否有下一节点
String flag = result.getData();
//审批中(next)、完成(finish)、拒绝(refused)
if(flag.equals("finish")){
TbsCostApply apply = new TbsCostApply();
apply.setId(costApply.getId());
apply.setChargeState(2);
tbsCostApplyService.updateById(apply);
}else if (flag.equals("refused")){
//todo 退回节点
}else if (flag.equals("next")){
return R.ok();
}
}
return R.error("远程调用失败");
}
} }

4
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityTemplate.java

@ -32,10 +32,6 @@ public class TbsActivityTemplate implements Serializable {
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
private Long id; private Long id;
/** 供应商id */
@NotNull(message = "供应商id不能为空")
private Long supplierId;
/** 模板名称 */ /** 模板名称 */
@NotBlank(message = "模板名称不能为空") @NotBlank(message = "模板名称不能为空")
@Length(max = 30,message = "模板名称长度不能超过30字") @Length(max = 30,message = "模板名称长度不能超过30字")

3
src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java

@ -111,5 +111,8 @@ public class TbsCostApply implements Serializable {
/** 统计所有活动使用的金额 */ /** 统计所有活动使用的金额 */
private BigDecimal totalActivityUsedAmount; private BigDecimal totalActivityUsedAmount;
@TableField(exist = false)
private String affairId;
} }

8
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityTemplateBo.java

@ -29,10 +29,6 @@ public class TbsActivityTemplateBo implements Serializable {
/** id */ /** id */
private Long id; private Long id;
/** 供应商id */
@NotNull(message = "供应商id不能为空")
private Long supplierId;
/** 模板名称 */ /** 模板名称 */
@NotBlank(message = "模板名称不能为空") @NotBlank(message = "模板名称不能为空")
@Length(max = 30,message = "模板名称长度不能超过30字") @Length(max = 30,message = "模板名称长度不能超过30字")
@ -58,10 +54,10 @@ public class TbsActivityTemplateBo implements Serializable {
private Integer bizRegionFlag; private Integer bizRegionFlag;
/** 销售区域id列表 */ /** 销售区域id列表 */
private List<Long> saleRegionIds; private List<String> saleRegionIds;
/** 销售区域id列表 */ /** 销售区域id列表 */
private List<Long> bizRegionIds; private List<String> bizRegionIds;
} }

37
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsAffairCommitBo.java

@ -0,0 +1,37 @@
package com.qs.serve.modules.tbs.entity.bo;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author YenHex
* @since 2022/11/30
*/
@Data
public class TbsAffairCommitBo {
/**
* 费用申请id
*/
@NotNull
private Long costApplyId;
/** 状态:0-否定,1-同意 */
@NotNull
private Integer state;
/**
* 流程节点id
*/
@NotNull
private String affairId;
/**
* 评论
*/
@NotNull
private String comment;
}

6
src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsActivityVo.java

@ -5,6 +5,7 @@ import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
@ -14,7 +15,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.util.List;
/** /**
* 费用活动 VO * 费用活动 VO
* @author YenHex * @author YenHex
@ -85,5 +86,8 @@ public class TbsActivityVo implements Serializable {
@JsonProperty @JsonProperty
private String delFlag; private String delFlag;
@TableField(exist = false)
List<String> testids;
} }

2
src/main/java/com/qs/serve/modules/tbs/service/TbsActivityTemplateRegionService.java

@ -12,7 +12,7 @@ import java.util.List;
*/ */
public interface TbsActivityTemplateRegionService extends IService<TbsActivityTemplateRegion> { public interface TbsActivityTemplateRegionService extends IService<TbsActivityTemplateRegion> {
List<TbsActivityTemplateRegion> getTemplateIds(String supplierId); List<TbsActivityTemplateRegion> getTemplateIds(String supplierId,List<Long> ignoreTemplateIds);
} }

2
src/main/java/com/qs/serve/modules/tbs/service/TbsActivityTemplateService.java

@ -11,7 +11,7 @@ import com.qs.serve.modules.tbs.entity.bo.TbsActivityTemplateBo;
*/ */
public interface TbsActivityTemplateService extends IService<TbsActivityTemplate> { public interface TbsActivityTemplateService extends IService<TbsActivityTemplate> {
void modify(TbsActivityTemplateBo templateBo); TbsActivityTemplate modify(TbsActivityTemplateBo templateBo);
} }

6
src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java

@ -10,11 +10,5 @@ import com.qs.serve.modules.tbs.entity.TbsCostApply;
*/ */
public interface TbsCostApplyService extends IService<TbsCostApply> { public interface TbsCostApplyService extends IService<TbsCostApply> {
/**
* 更新活动金额
* @param id
*/
void updateActivityAmount(Long id);
} }

7
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityTemplateRegionServiceImpl.java

@ -28,7 +28,7 @@ public class TbsActivityTemplateRegionServiceImpl extends ServiceImpl<TbsActivit
private final BmsSupplierService supplierService; private final BmsSupplierService supplierService;
@Override @Override
public List<TbsActivityTemplateRegion> getTemplateIds(String supplierId){ public List<TbsActivityTemplateRegion> getTemplateIds(String supplierId,List<Long> ignoreTemplateIds){
List<String> saleRegionIds = new ArrayList<>(); List<String> saleRegionIds = new ArrayList<>();
List<String> bizRegionIds = new ArrayList<>(); List<String> bizRegionIds = new ArrayList<>();
BmsSupplier supplier = supplierService.getById(supplierId); BmsSupplier supplier = supplierService.getById(supplierId);
@ -36,13 +36,14 @@ public class TbsActivityTemplateRegionServiceImpl extends ServiceImpl<TbsActivit
if(supplier.getRegionSecond()!=null){ saleRegionIds.add(supplier.getRegionSecond()); } if(supplier.getRegionSecond()!=null){ saleRegionIds.add(supplier.getRegionSecond()); }
if(supplier.getRegionThird()!=null){ saleRegionIds.add(supplier.getRegionThird()); } if(supplier.getRegionThird()!=null){ saleRegionIds.add(supplier.getRegionThird()); }
if(supplier.getRegionFourthly()!=null){ saleRegionIds.add(supplier.getRegionFourthly()); } if(supplier.getRegionFourthly()!=null){ saleRegionIds.add(supplier.getRegionFourthly()); }
if(supplier.getRegion2First()!=null){ bizRegionIds.add(supplier.getRegion2First()); } if(supplier.getRegion2First()!=null){ bizRegionIds.add(supplier.getRegion2First()); }
if(supplier.getRegion2Second()!=null){ bizRegionIds.add(supplier.getRegion2Second()); } if(supplier.getRegion2Second()!=null){ bizRegionIds.add(supplier.getRegion2Second()); }
if(supplier.getRegion2Third()!=null){ bizRegionIds.add(supplier.getRegion2Third()); } if(supplier.getRegion2Third()!=null){ bizRegionIds.add(supplier.getRegion2Third()); }
if(supplier.getRegion2Fourthly()!=null){ bizRegionIds.add(supplier.getRegion2Fourthly()); } if(supplier.getRegion2Fourthly()!=null){ bizRegionIds.add(supplier.getRegion2Fourthly()); }
LambdaQueryWrapper<TbsActivityTemplateRegion> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TbsActivityTemplateRegion> lqw = new LambdaQueryWrapper<>();
if(CollectionUtil.isNotEmpty(ignoreTemplateIds)){
lqw.notIn(TbsActivityTemplateRegion::getTemplateId,ignoreTemplateIds);
}
if(CollectionUtil.isNotEmpty(saleRegionIds) && bizRegionIds.size()==0 ){ if(CollectionUtil.isNotEmpty(saleRegionIds) && bizRegionIds.size()==0 ){
lqw.eq(TbsActivityTemplateRegion::getType,"sale") lqw.eq(TbsActivityTemplateRegion::getType,"sale")
.in(TbsActivityTemplateRegion::getRegionId,saleRegionIds); .in(TbsActivityTemplateRegion::getRegionId,saleRegionIds);

7
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityTemplateServiceImpl.java

@ -37,10 +37,11 @@ public class TbsActivityTemplateServiceImpl extends ServiceImpl<TbsActivityTempl
private final BmsRegion2Service bizRegionService; private final BmsRegion2Service bizRegionService;
@Override @Override
public void modify(TbsActivityTemplateBo templateBo) { public TbsActivityTemplate modify(TbsActivityTemplateBo templateBo) {
TbsActivityTemplate template = CopierUtil.copy(templateBo,new TbsActivityTemplate()); TbsActivityTemplate template = CopierUtil.copy(templateBo,new TbsActivityTemplate());
this.saveOrUpdate(template); this.saveOrUpdate(template);
//移除历史 //移除历史
if(templateBo.getBizRegionFlag()!=null&&templateBo.getSaleRegionFlag()!=null){
LambdaQueryWrapper<TbsActivityTemplateRegion> rmRegion = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TbsActivityTemplateRegion> rmRegion = new LambdaQueryWrapper<>();
rmRegion.eq(TbsActivityTemplateRegion::getTemplateId,template.getId()); rmRegion.eq(TbsActivityTemplateRegion::getTemplateId,template.getId());
templateRegionService.remove(rmRegion); templateRegionService.remove(rmRegion);
@ -54,7 +55,7 @@ public class TbsActivityTemplateServiceImpl extends ServiceImpl<TbsActivityTempl
templateRegion.setTemplateId(template.getId()); templateRegion.setTemplateId(template.getId());
templateRegion.setType("sale"); templateRegion.setType("sale");
templateRegion.setRegionId(reg.getId()); templateRegion.setRegionId(reg.getId());
templateRegion.setRegionId(reg.getName()); templateRegion.setRegionName(reg.getName());
templateRegion.setRegionCode(reg.getCode()); templateRegion.setRegionCode(reg.getCode());
templateRegion.setRegionLevel(reg.getLevel()); templateRegion.setRegionLevel(reg.getLevel());
return templateRegion; return templateRegion;
@ -80,6 +81,8 @@ public class TbsActivityTemplateServiceImpl extends ServiceImpl<TbsActivityTempl
templateRegionService.saveBatch(templateRegionList); templateRegionService.saveBatch(templateRegionList);
} }
} }
return template;
}
} }

6
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

@ -18,11 +18,5 @@ import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper;
@AllArgsConstructor @AllArgsConstructor
public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsCostApply> implements TbsCostApplyService { public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsCostApply> implements TbsCostApplyService {
@Override
public void updateActivityAmount(Long id) {
}
} }

10
src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java

@ -55,7 +55,7 @@ public class VtbVerificationController {
* @param param * @param param
* @return * @return
*/ */
//@GetMapping("/page") @GetMapping("/page")
@PreAuthorize("hasRole('vtb:verification:query')") @PreAuthorize("hasRole('vtb:verification:query')")
public R<PageVo<VtbVerification>> getPage(VtbVerificationSo param){ public R<PageVo<VtbVerification>> getPage(VtbVerificationSo param){
VtbVerification entity = CopierUtil.copy(param,new VtbVerification()); VtbVerification entity = CopierUtil.copy(param,new VtbVerification());
@ -70,7 +70,7 @@ public class VtbVerificationController {
* @param id * @param id
* @return * @return
*/ */
//@GetMapping("/getById/{id}") @GetMapping("/getById/{id}")
@SysLog(module = SystemModule.Verification, title = "核销", biz = BizType.QUERY) @SysLog(module = SystemModule.Verification, title = "核销", biz = BizType.QUERY)
@PreAuthorize("hasRole('vtb:verification:query')") @PreAuthorize("hasRole('vtb:verification:query')")
public R<VtbVerification> getById(@PathVariable("id") String id){ public R<VtbVerification> getById(@PathVariable("id") String id){
@ -81,11 +81,11 @@ public class VtbVerificationController {
/** /**
* 更新 * 提交核销
* @param param * @param param
* @return * @return
*/ */
//@PostMapping("/updateById") @PostMapping("/commit")
@SysLog(module = SystemModule.Verification, title = "核销", biz = BizType.UPDATE) @SysLog(module = SystemModule.Verification, title = "核销", biz = BizType.UPDATE)
@PreAuthorize("hasRole('vtb:verification:update')") @PreAuthorize("hasRole('vtb:verification:update')")
public R<?> updateById(@RequestBody @Valid VtbVerificationBo param){ public R<?> updateById(@RequestBody @Valid VtbVerificationBo param){
@ -112,7 +112,7 @@ public class VtbVerificationController {
* @param ids * @param ids
* @return * @return
*/ */
@DeleteMapping("/deleteById/{ids}") //@DeleteMapping("/deleteById/{ids}")
@SysLog(module = SystemModule.Verification, title = "核销", biz = BizType.DELETE) @SysLog(module = SystemModule.Verification, title = "核销", biz = BizType.DELETE)
@PreAuthorize("hasRole('vtb:verification:delete')") @PreAuthorize("hasRole('vtb:verification:delete')")
public R<?> deleteById(@PathVariable("ids") String ids){ public R<?> deleteById(@PathVariable("ids") String ids){

2
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

@ -84,6 +84,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
fundFlow.setActivityId(activity.getId()); fundFlow.setActivityId(activity.getId());
fundFlow.setUsedAmount(releaseAmount); fundFlow.setUsedAmount(releaseAmount);
fundFlowService.save(fundFlow); fundFlowService.save(fundFlow);
//todo 恢复预算
} }

Loading…
Cancel
Save