Commit 57f9a42dca1630997fde16cfec2fe954c0d89a3f

Authored by 房远帅
1 parent c4be58da

采购:内贸客户资信-审核流程

@@ -321,6 +321,12 @@ public class ProcurementDomesticCustomerCredit extends BaseEntity implements Bas @@ -321,6 +321,12 @@ public class ProcurementDomesticCustomerCredit extends BaseEntity implements Bas
321 private Boolean showChangeReviewExamineDetail; 321 private Boolean showChangeReviewExamineDetail;
322 322
323 /** 323 /**
  324 + * 角色编码(非持久化字段)
  325 + */
  326 + @TableField(exist = false)
  327 + private String roleCode;
  328 +
  329 + /**
324 * 创建人ID 330 * 创建人ID
325 */ 331 */
326 @TableField(fill = FieldFill.INSERT) 332 @TableField(fill = FieldFill.INSERT)
@@ -14,6 +14,7 @@ import com.lframework.starter.bpm.service.FlowInstanceWrapperService; @@ -14,6 +14,7 @@ import com.lframework.starter.bpm.service.FlowInstanceWrapperService;
14 import com.lframework.starter.bpm.vo.flow.task.QueryTodoTaskListVo; 14 import com.lframework.starter.bpm.vo.flow.task.QueryTodoTaskListVo;
15 import com.lframework.starter.common.exceptions.impl.DefaultClientException; 15 import com.lframework.starter.common.exceptions.impl.DefaultClientException;
16 import com.lframework.starter.common.utils.Assert; 16 import com.lframework.starter.common.utils.Assert;
  17 +import com.lframework.starter.common.utils.CollectionUtil;
17 import com.lframework.starter.common.utils.ObjectUtil; 18 import com.lframework.starter.common.utils.ObjectUtil;
18 import com.lframework.starter.mq.core.service.MqProducerService; 19 import com.lframework.starter.mq.core.service.MqProducerService;
19 import com.lframework.starter.web.core.annotations.oplog.OpLog; 20 import com.lframework.starter.web.core.annotations.oplog.OpLog;
@@ -24,7 +25,9 @@ import com.lframework.starter.web.core.impl.BaseMpServiceImpl; @@ -24,7 +25,9 @@ import com.lframework.starter.web.core.impl.BaseMpServiceImpl;
24 import com.lframework.starter.web.core.utils.*; 25 import com.lframework.starter.web.core.utils.*;
25 import com.lframework.starter.web.inner.components.oplog.OtherOpLogType; 26 import com.lframework.starter.web.inner.components.oplog.OtherOpLogType;
26 import com.lframework.starter.web.inner.dto.message.SysSiteMessageDto; 27 import com.lframework.starter.web.inner.dto.message.SysSiteMessageDto;
  28 +import com.lframework.starter.web.inner.entity.SysRole;
27 import com.lframework.starter.web.inner.entity.SysUser; 29 import com.lframework.starter.web.inner.entity.SysUser;
  30 +import com.lframework.starter.web.inner.service.system.SysRoleService;
28 import com.lframework.starter.web.inner.service.system.SysUserService; 31 import com.lframework.starter.web.inner.service.system.SysUserService;
29 import com.lframework.xingyun.sc.procurement.dto.DomesticReviewerDto; 32 import com.lframework.xingyun.sc.procurement.dto.DomesticReviewerDto;
30 import com.lframework.xingyun.sc.procurement.entity.ProcurementDomesticCustomerCredit; 33 import com.lframework.xingyun.sc.procurement.entity.ProcurementDomesticCustomerCredit;
@@ -65,6 +68,9 @@ public class ProcurementDomesticCustomerCreditServiceImpl @@ -65,6 +68,9 @@ public class ProcurementDomesticCustomerCreditServiceImpl
65 private FlowTaskWrapperMapper flowTaskWrapperMapper; 68 private FlowTaskWrapperMapper flowTaskWrapperMapper;
66 @Autowired 69 @Autowired
67 private MqProducerService mqProducerService; 70 private MqProducerService mqProducerService;
  71 + @Autowired
  72 + private SysRoleService sysRoleService;
  73 +
68 74
69 @Override 75 @Override
70 public PageResult<ProcurementDomesticCustomerCredit> query(Integer pageIndex, Integer pageSize, 76 public PageResult<ProcurementDomesticCustomerCredit> query(Integer pageIndex, Integer pageSize,
@@ -166,6 +172,31 @@ public class ProcurementDomesticCustomerCreditServiceImpl @@ -166,6 +172,31 @@ public class ProcurementDomesticCustomerCreditServiceImpl
166 172
167 //开启审核 173 //开启审核
168 ProcurementDomesticCustomerCredit customerCredit = getBaseMapper().findById(data.getId()); 174 ProcurementDomesticCustomerCredit customerCredit = getBaseMapper().findById(data.getId());
  175 + List<SysRole> sysRoleList = sysRoleService.getByUserId(SecurityUtil.getCurrentUser().getId());
  176 + String roleCode = null;
  177 + if (CollectionUtil.isNotEmpty(sysRoleList)) {
  178 + // 1. 提取角色列表中的所有 code,转换为 Set 集合,提升后续判断效率
  179 + Set<String> roleCodeSet = sysRoleList.stream()
  180 + .map(SysRole::getCode)
  181 + .collect(Collectors.toSet());
  182 +
  183 + // 2. 判断是否包含采购主管相关的角色
  184 + if (roleCodeSet.contains("htcgeczg") || roleCodeSet.contains("htcgyczg")
  185 + || roleCodeSet.contains("ltcgczg") || roleCodeSet.contains("ztcgczg")) {
  186 + roleCode = "cgczg";
  187 + } else if (roleCodeSet.contains("qyjl")) {
  188 + // 3. 如果没有,继续判断是否包含区域经理
  189 + roleCode = "qyjl";
  190 + } else if (roleCodeSet.contains("nmcgkywy")) {
  191 + // 4. 如果还没有,继续判断是否包含内贸采购科业务员
  192 + roleCode = "nmcgkywy";
  193 + } else {
  194 + throw new DefaultClientException("当前角色无法发起审核!");
  195 + }
  196 + } else {
  197 + throw new DefaultClientException("当前角色无法发起审核!");
  198 + }
  199 + customerCredit.setRoleCode(roleCode);
169 flowInstanceWrapperService.startInstance(BPM_FLAG, data.getId(), BPM_FLAG, customerCredit); 200 flowInstanceWrapperService.startInstance(BPM_FLAG, data.getId(), BPM_FLAG, customerCredit);
170 201
171 OpLogUtil.setVariable("id", data.getId()); 202 OpLogUtil.setVariable("id", data.getId());
@@ -253,7 +284,31 @@ public class ProcurementDomesticCustomerCreditServiceImpl @@ -253,7 +284,31 @@ public class ProcurementDomesticCustomerCreditServiceImpl
253 //编辑-直接更新入库 284 //编辑-直接更新入库
254 getBaseMapper().updateById(data); 285 getBaseMapper().updateById(data);
255 } 286 }
256 - 287 + List<SysRole> sysRoleList = sysRoleService.getByUserId(SecurityUtil.getCurrentUser().getId());
  288 + String roleCode = null;
  289 + if (CollectionUtil.isNotEmpty(sysRoleList)) {
  290 + // 1. 提取角色列表中的所有 code,转换为 Set 集合,提升后续判断效率
  291 + Set<String> roleCodeSet = sysRoleList.stream()
  292 + .map(SysRole::getCode)
  293 + .collect(Collectors.toSet());
  294 +
  295 + // 2. 判断是否包含采购主管相关的角色
  296 + if (roleCodeSet.contains("htcgeczg") || roleCodeSet.contains("htcgyczg")
  297 + || roleCodeSet.contains("ltcgczg") || roleCodeSet.contains("ztcgczg")) {
  298 + roleCode = "cgczg";
  299 + } else if (roleCodeSet.contains("qyjl")) {
  300 + // 3. 如果没有,继续判断是否包含区域经理
  301 + roleCode = "qyjl";
  302 + } else if (roleCodeSet.contains("nmcgkywy")) {
  303 + // 4. 如果还没有,继续判断是否包含内贸采购科业务员
  304 + roleCode = "nmcgkywy";
  305 + } else {
  306 + throw new DefaultClientException("当前角色无法发起审核!");
  307 + }
  308 + } else {
  309 + throw new DefaultClientException("当前角色无法发起审核!");
  310 + }
  311 + data.setRoleCode(roleCode);
257 //开启审核 312 //开启审核
258 flowInstanceWrapperService.startInstance(BPM_FLAG, data.getId(), BPM_FLAG, data); 313 flowInstanceWrapperService.startInstance(BPM_FLAG, data.getId(), BPM_FLAG, data);
259 314