Эх сурвалжийг харах

新增考前异常流程申请

wangliang 1 жил өмнө
parent
commit
c76ad12f83

+ 11 - 12
sop-business/src/main/java/com/qmth/sop/business/entity/TBDingApply.java

@@ -39,12 +39,11 @@ public class TBDingApply implements Serializable {
     private String reason;
 
     @ApiModelProperty(value = "附件id")
-    @JsonSerialize(using = ToStringSerializer.class)
-    private Long attachmentId;
+    private String attachmentIds;
 
-    @ApiModelProperty(value = "流程id")
+    @ApiModelProperty(value = "考勤异常编号")
     @JsonSerialize(using = ToStringSerializer.class)
-    private Long flowId;
+    private String dingExceptionNo;
 
     @ApiModelProperty(value = "创建人id")
     @JsonSerialize(using = ToStringSerializer.class)
@@ -93,20 +92,20 @@ public class TBDingApply implements Serializable {
         this.reason = reason;
     }
 
-    public Long getAttachmentId() {
-        return attachmentId;
+    public String getAttachmentIds() {
+        return attachmentIds;
     }
 
-    public void setAttachmentId(Long attachmentId) {
-        this.attachmentId = attachmentId;
+    public void setAttachmentIds(String attachmentIds) {
+        this.attachmentIds = attachmentIds;
     }
 
-    public Long getFlowId() {
-        return flowId;
+    public String getDingExceptionNo() {
+        return dingExceptionNo;
     }
 
-    public void setFlowId(Long flowId) {
-        this.flowId = flowId;
+    public void setDingExceptionNo(String dingExceptionNo) {
+        this.dingExceptionNo = dingExceptionNo;
     }
 
     public Long getCreateId() {

+ 8 - 0
sop-business/src/main/resources/db/log/wangliang_update_log.sql

@@ -459,3 +459,11 @@ WHERE id=179;
 
 --2023.8.15update
 ALTER TABLE t_b_quality_problem_apply ADD CONSTRAINT t_b_quality_problem_apply_UN_probem_no UNIQUE KEY (problem_no);
+
+ALTER TABLE t_b_ding_apply CHANGE COLUMN flow_id ding_exception_no VARCHAR(100)
+    COMMENT '考勤异常编号' NOT NULL;
+
+ALTER TABLE t_b_ding_apply CHANGE COLUMN attachment_id attachment_ids VARCHAR(500)
+    COMMENT '附件id数组' NULL;
+
+ALTER TABLE t_b_ding_apply ADD CONSTRAINT t_b_ding_apply_UN_ding_exception_no UNIQUE KEY (ding_exception_no);

+ 1 - 0
sop-common/src/main/java/com/qmth/sop/common/contant/SystemConstant.java

@@ -148,6 +148,7 @@ public class SystemConstant {
     public static final String PREFIX_URL_DING = "/admin/tb/ding";
     public static final String PREFIX_URL_QUALITY_PROBLEM_APPLY= "/admin/tb/quality/problem/apply";
     public static final String PREFIX_URL_CRM= "/admin/tb/crm";
+    public static final String PREFIX_URL_DING_EXCEPTION_APPLY= "/admin/ding/exception/apply";
 
     /**
      * 缓存配置

+ 7 - 1
sop-common/src/main/java/com/qmth/sop/common/enums/EnumList.java

@@ -9,7 +9,13 @@ package com.qmth.sop.common.enums;
  */
 public enum EnumList {
 
-    QUALITY_PROBLEM_TYPE_ENUM(QualityProblemTypeEnum.class);
+    QUALITY_PROBLEM_TYPE_ENUM(QualityProblemTypeEnum.class),
+
+    IN_OUT_TYPE_ENUM(InOutTypeEnum.class),
+
+    QUALITY_PROBLEM_REASON_ENUM(QualityProblemReasonEnum.class),
+
+    IN_FLUENCE_DEGREE_ENUM(InfluenceDegreeEnum.class);
 
     private Object obj;
 

+ 19 - 1
sop-server/src/main/java/com/qmth/sop/server/api/SysController.java

@@ -375,12 +375,30 @@ public class SysController {
     public Result queryEnum(@ApiParam(value = "枚举类型", required = true) @RequestParam EnumList enumList) throws ClassNotFoundException {
         Map<Enum, String> map = new LinkedHashMap<>();
         switch (enumList) {
-            case QUALITY_PROBLEM_TYPE_ENUM:
+            case QUALITY_PROBLEM_TYPE_ENUM://问题类型枚举
                 QualityProblemTypeEnum[] qualityProblemTypeEnums = QualityProblemTypeEnum.values();
                 for (QualityProblemTypeEnum qualityProblemTypeEnum : qualityProblemTypeEnums) {
                     map.put(qualityProblemTypeEnum, qualityProblemTypeEnum.getTitle());
                 }
                 break;
+            case IN_OUT_TYPE_ENUM://签到类型枚举
+                InOutTypeEnum[] inOutTypeEnums = InOutTypeEnum.values();
+                for (InOutTypeEnum inOutTypeEnum : inOutTypeEnums) {
+                    map.put(inOutTypeEnum, inOutTypeEnum.getTitle());
+                }
+                break;
+            case QUALITY_PROBLEM_REASON_ENUM://问题原因枚举
+                QualityProblemReasonEnum[] qualityProblemReasonEnums = QualityProblemReasonEnum.values();
+                for (QualityProblemReasonEnum qualityProblemReasonEnum : qualityProblemReasonEnums) {
+                    map.put(qualityProblemReasonEnum, qualityProblemReasonEnum.getTitle());
+                }
+                break;
+            case IN_FLUENCE_DEGREE_ENUM://问题影响度枚举
+                InfluenceDegreeEnum[] influenceDegreeEnums = InfluenceDegreeEnum.values();
+                for (InfluenceDegreeEnum influenceDegreeEnum : influenceDegreeEnums) {
+                    map.put(influenceDegreeEnum, influenceDegreeEnum.name());
+                }
+                break;
             default:
                 break;
         }

+ 22 - 2
sop-server/src/main/java/com/qmth/sop/server/api/TBDingApplyController.java

@@ -1,10 +1,20 @@
 package com.qmth.sop.server.api;
 
 
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.sop.business.entity.TBQualityProblemApply;
+import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.util.Result;
+import com.qmth.sop.common.util.ResultUtil;
+import io.swagger.annotations.*;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
-
+import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.validation.Valid;
+
 /**
  * <p>
  * 考勤补卡申请表 前端控制器
@@ -13,8 +23,18 @@ import org.springframework.web.bind.annotation.RestController;
  * @author wangliang
  * @since 2023-08-01
  */
+@Api(tags = "考勤异常申请Controller")
 @RestController
-@RequestMapping("/t-bding-apply")
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_DING_EXCEPTION_APPLY)
 public class TBDingApplyController {
 
+    @ApiOperation(value = "考勤异常申请新增接口")
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    public Result save(@Valid @ApiParam(value = "考勤异常申请信息", required = true) @RequestBody TBQualityProblemApply tbQualityProblemApply, BindingResult bindingResult) throws InterruptedException {
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
+        }
+        return ResultUtil.ok();
+    }
 }

+ 3 - 3
sop-server/src/main/resources/dingExceptionFlow.bpmn

@@ -3,11 +3,11 @@
   <process id="DING_EXCEPTION_FLOW" isExecutable="true" isClosed="false" processType="None">
     <endEvent id="f_usertask_ding_exception_end_0" name="结束"></endEvent>
     <userTask id="f_usertask_ding_exception_approve_2" name="异常处理审核" activiti:assignee="${assignee2}">
-      <multiInstanceLoopCharacteristics isSequential="true" activiti:collection="${assigneeList2}" activiti:elementVariable="assignee2">
+      <multiInstanceLoopCharacteristics isSequential="false" activiti:collection="${assigneeList2}" activiti:elementVariable="assignee2">
         <completionCondition>${nrOfCompletedInstances/nrOfInstances==1 || reject2==1}</completionCondition>
       </multiInstanceLoopCharacteristics>
     </userTask>
-    <startEvent id="startevent1" name="Start"></startEvent>
+    <startEvent id="startevent1" name="Start" activiti:formKey="ding_exception_start.form"></startEvent>
     <userTask id="f_usertask_ding_exception_apply_1" name="异常处理申请" activiti:assignee="${assignee1}">
       <multiInstanceLoopCharacteristics isSequential="false" activiti:collection="${assigneeList1}" activiti:elementVariable="assignee1">
         <completionCondition>${nrOfCompletedInstances/nrOfInstances==1 || reject1==1}</completionCondition>
@@ -65,7 +65,7 @@
         <omgdi:waypoint x="492.0" y="280.0"></omgdi:waypoint>
         <omgdi:waypoint x="492.0" y="360.0"></omgdi:waypoint>
         <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="16.0" width="100.0" x="492.0" y="280.0"></omgdc:Bounds>
+          <omgdc:Bounds height="16.0" width="22.0" x="492.0" y="280.0"></omgdc:Bounds>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>

BIN
sop-server/src/main/resources/dingExceptionFlow.zip


+ 1 - 0
sop-server/src/main/resources/ding_exception_start.form

@@ -0,0 +1 @@
+{"approveRejectMap":{"f_usertask_ding_exception_approve_2":[{"afterFlowTaskKey":"f_usertask_ding_exception_apply_1","setup":1}]}}