wangliang преди 1 година
родител
ревизия
b18b83fe9a

+ 0 - 2
sop-business/src/main/java/com/qmth/sop/business/entity/TBDingApply.java

@@ -34,12 +34,10 @@ public class TBDingApply implements Serializable {
     private Long id;
 
     @ApiModelProperty(value = "sop编号")
-    @NotNull(message = "sop号不能为空")
     @NotBlank(message = "sop号不能为空")
     private String sopNo;
 
     @ApiModelProperty(value = "派单号")
-    @NotNull(message = "crm派单号不能为空")
     @NotBlank(message = "crm派单号不能为空")
     private String crmNo;
 

+ 10 - 3
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBDingApplyServiceImpl.java

@@ -74,15 +74,22 @@ public class TBDingApplyServiceImpl extends ServiceImpl<TBDingApplyMapper, TBDin
     public Boolean saveDingApply(TBDingApply tbDingApply) throws InterruptedException {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         TBDing tbDing = tbDingService.getById(tbDingApply.getDingId());
-        Optional.ofNullable(tbDing).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("考勤记录为空"));
 
-        CrmProjectResult crmProjectResult = tbCrmService.findCrmProjectBySopNoOrCrmNo(tbDing.getSopNo(), tbDing.getCrmNo());
+        String sopNo = null, crmNo = null;
+        if (Objects.nonNull(tbDing)) {
+            sopNo = tbDing.getSopNo();
+            crmNo = tbDing.getCrmNo();
+        } else {
+            sopNo = tbDingApply.getSopNo();
+            crmNo = tbDingApply.getCrmNo();
+        }
+        CrmProjectResult crmProjectResult = tbCrmService.findCrmProjectBySopNoOrCrmNo(sopNo, crmNo);
         Optional.ofNullable(crmProjectResult).orElseThrow(() -> ExceptionResultEnum.CRM_NO_NO_DATA.exception());
         Optional.ofNullable(crmProjectResult.getRegionManagerId()).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("crm大区经理数据为空"));
 
         List<String> approveUserIds = new ArrayList<>();
         approveUserIds.add(crmProjectResult.getRegionManagerId().toString());
-        FlowApproveParam flowApproveParam = new FlowApproveParam(tbDingApply.getFlowDeploymentId(), FlowApprovePassEnum.START, approveUserIds, tbDing.getCrmNo());
+        FlowApproveParam flowApproveParam = new FlowApproveParam(tbDingApply.getFlowDeploymentId(), FlowApprovePassEnum.START, approveUserIds, crmNo);
         flowApproveParam.setApproveRemark(FlowApprovePassEnum.START.getTitle());
         Map<String, Object> map = activitiService.taskApprove(flowApproveParam);
         TFCustomFlowEntity tfCustomFlowEntity = (TFCustomFlowEntity) map.get(SystemConstant.FLOW_ENTITY);