瀏覽代碼

新增派单明细

wangliang 1 年之前
父節點
當前提交
4ee225d292

+ 5 - 5
sop-api/install/mysql/init/init.sql

@@ -4466,10 +4466,10 @@ INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `ti
 INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (15, 'RADIO', 'FORM', 'approve_radio', 'approve_radio', '审批意见', 'STRING', 1, 0, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, 12, NULL, '[{\"value\":\"1\",\"label\":\"同意\"},{\"value\":\"0\",\"label\":\"不同意\"}]', 'QUALITY_PROBLEM_FLOW', 4, 0, NULL, NULL, 1, 1);
 INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (16, 'SIGN', 'FORM', 'sign', 'sign', '添加签名', 'STRING', 1, 0, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, NULL, 'QUALITY_PROBLEM_FLOW', 4, 0, NULL, NULL, 1, 1);
 INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (17, 'TEXTAREA', 'FORM', 'approve_remark', 'approve_remark', '备注', 'STRING', 0, 0, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, 12, NULL, NULL, 'QUALITY_PROBLEM_FLOW', 4, 0, NULL, NULL, 1, 1);
-INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (18, 'RADIO', 'FORM', 'service_region_radio', 'service_region', '服务范围', 'STRING', 1, 0, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, '[{\"value\":\"SCAN\",\"label\":\"仅扫描\"},{\"value\":\"SCAN_MARK\",\"label\":\"扫描+卷\"}]', 'OFFICE_SOP_FLOW', 1, 0, NULL, NULL, 1, 1);
-INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (19, 'RADIO', 'FORM', 'deploy_way_radio', 'deploy_way', '部署方式', 'STRING', 1, 1, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, '[{\"value\":\"ONLINE\",\"label\":\"线上部署\"},{\"value\":\"LOCAL\",\"label\":\"本地部署\"}]', 'OFFICE_SOP_FLOW', 1, 0, NULL, NULL, 1, 2);
-INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (20, 'RADIO', 'FORM', 'mark_way_radio', 'mark_way', '阅卷方式', 'STRING', 1, 1, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, '[{\"value\":\"TOGETHER\",\"label\":\"集中阅卷\"},{\"value\":\"ANYTIME\",\"label\":\"分散阅卷\"}]', 'OFFICE_SOP_FLOW', 1, 0, NULL, NULL, 1, 3);
-INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (21, 'RADIO', 'FORM', 'scan_net_radio', 'scan_net', '扫描场地网络情况', 'STRING', 1, 1, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, '[{\"value\":\"INTERNET\",\"label\":\"提供外网\"},{\"value\":\"LOCALHOST\",\"label\":\"不提供外网\"}]', 'OFFICE_SOP_FLOW', 1, 0, NULL, NULL, 1, 4);
+INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (18, 'RADIO', 'FORM', 'service_scope_radio', 'service_scope_radio', '服务范围', 'STRING', 1, 0, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, '[{\"value\":\"SCAN\",\"label\":\"仅扫描\"},{\"value\":\"SCAN_MARK\",\"label\":\"扫描+卷\"}]', 'OFFICE_SOP_FLOW', 1, 0, NULL, NULL, 1, 1);
+INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (19, 'RADIO', 'FORM', 'deploy_way_radio', 'deploy_way_radio', '部署方式', 'STRING', 1, 1, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, '[{\"value\":\"ONLINE\",\"label\":\"线上部署\"},{\"value\":\"LOCAL\",\"label\":\"本地部署\"}]', 'OFFICE_SOP_FLOW', 1, 0, NULL, NULL, 1, 2);
+INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (20, 'RADIO', 'FORM', 'mark_way_radio', 'mark_way_radio', '阅卷方式', 'STRING', 1, 1, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, '[{\"value\":\"TOGETHER\",\"label\":\"集中阅卷\"},{\"value\":\"ANYTIME\",\"label\":\"分散阅卷\"}]', 'OFFICE_SOP_FLOW', 1, 0, NULL, NULL, 1, 3);
+INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (21, 'RADIO', 'FORM', 'scan_net_radio', 'scan_net_radio', '扫描场地网络情况', 'STRING', 1, 1, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, '[{\"value\":\"INTERNET\",\"label\":\"提供外网\"},{\"value\":\"LOCALHOST\",\"label\":\"不提供外网\"}]', 'OFFICE_SOP_FLOW', 1, 0, NULL, NULL, 1, 4);
 INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (22, 'TEXT', 'FORM', 'contacts', 'contacts', '联系人', 'STRING', 1, 0, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, NULL, 'OFFICE_SOP_FLOW', 1, 0, NULL, NULL, 1, 5);
 INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (23, 'TEXT', 'FORM', 'mobile_number', 'mobile_number', '电话', 'STRING', 1, 0, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, 6, NULL, NULL, 'OFFICE_SOP_FLOW', 1, 0, NULL, NULL, 1, 6);
 INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (24, 'DATE', 'FORM', 'scan_start_time', 'scan_start_time', '扫描开始时间', 'LONG', 1, 1, 0, 1, NULL, NULL, NULL, NULL, NULL, 'yyyy-MM-dd', 6, NULL, NULL, 'OFFICE_SOP_FLOW', 1, 1, NULL, NULL, 1, 7);
@@ -4489,7 +4489,7 @@ INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `ti
 INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (38, 'FILE', 'FORM', 'scan_end', 'scan_end', '扫描收尾检查', 'ARRAY', 1, 0, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, 12, NULL, NULL, 'OFFICE_SOP_FLOW', 3, 0, NULL, NULL, 1, 1);
 INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (39, 'FORM_GROUP_TITLE', 'FORM', 'not_upload_confirm_title', 'not_upload_confirm_title', '未上传确认', 'STRING', 1, 1, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL, 12, NULL, NULL, 'OFFICE_SOP_FLOW', 3, 0, NULL, NULL, 1, 2);
 INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (40, 'FILE', 'FORM', 'not_upload_confirm', 'not_upload_confirm', '未上传确认', 'ARRAY', 1, 0, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, 12, NULL, NULL, 'OFFICE_SOP_FLOW', 3, 0, NULL, NULL, 1, 2);
-INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (41, 'FORM_GROUP_TITLE', 'FORM', 'Identify_title', 'Identify_title', '识别对照', 'STRING', 1, 1, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL, 12, NULL, NULL, 'OFFICE_SOP_FLOW', 3, 0, NULL, NULL, 1, 3);
+INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (41, 'FORM_GROUP_TITLE', 'FORM', 'identify_title', 'identify_title', '识别对照', 'STRING', 1, 1, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL, 12, NULL, NULL, 'OFFICE_SOP_FLOW', 3, 0, NULL, NULL, 1, 3);
 INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (42, 'FILE', 'FORM', 'identify', 'identify', '识别对照', 'ARRAY', 1, 0, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, 12, NULL, NULL, 'OFFICE_SOP_FLOW', 3, 0, NULL, NULL, 1, 3);
 INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (43, 'FORM_GROUP_TITLE', 'FORM', 'absent_title', 'absent_title', '缺考识别检查', 'STRING', 1, 1, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL, 12, NULL, NULL, 'OFFICE_SOP_FLOW', 3, 0, NULL, NULL, 1, 4);
 INSERT INTO `t_d_form_widget` (`id`, `code`, `type`, `form_id`, `form_name`, `title`, `input_type`, `required`, `readable`, `writable`, `visable`, `scale`, `length`, `binding`, `data_grid`, `tips`, `format`, `span`, `sub_title`, `options`, `flow_type`, `form_setup`, `handle`, `form_group`, `role_type`, `create_id`, `create_time`) VALUES (44, 'FILE', 'FORM', 'absent', 'absent', '缺考识别检查', 'ARRAY', 1, 0, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, 12, NULL, NULL, 'OFFICE_SOP_FLOW', 3, 0, NULL, NULL, 1, 4);

+ 23 - 0
sop-api/src/main/java/com/qmth/sop/server/api/TBCrmDetailController.java

@@ -0,0 +1,23 @@
+package com.qmth.sop.server.api;
+
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.sop.common.contant.SystemConstant;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 派单明细表 控制器
+ *
+ * @author: shudonghui
+ * @date: 2023-08-14 15:55:18
+ * @version: 1.0
+ * @email: shudonghui@qmth.com.cn
+ * @Company: www.qmth.com.cn
+ */
+@Api(tags = "派单明细表 Controller")
+@RestController
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_CRM_DETAIL)
+public class TBCrmDetailController {
+
+}

文件差異過大導致無法顯示
+ 3 - 0
sop-api/src/main/java/com/qmth/sop/server/api/TBSopInfoController.java


二進制
sop-api/src/main/resources/officeSopFlow.zip


+ 180 - 0
sop-business/src/main/java/com/qmth/sop/business/entity/TBCrmDetail.java

@@ -0,0 +1,180 @@
+package com.qmth.sop.business.entity;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.sop.common.base.BaseEntity;
+import com.qmth.sop.common.enums.CrmStatusEnum;
+import com.qmth.sop.common.enums.ServiceScopeEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 派单明细表
+ * </p>
+ *
+ * @author wangliang
+ * @since 2024-05-14
+ */
+@ApiModel(value = "TBCrmDetail对象", description = "派单明细")
+public class TBCrmDetail extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "派单号")
+    private String crmNo;
+
+    @ApiModelProperty(value = "流程部署id")
+    private String flowDeploymentId;
+
+    @ApiModelProperty(value = "流程id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long flowId;
+
+    @ApiModelProperty(value = "过程变量")
+    private String processVar;
+
+    @ApiModelProperty(value = "状态,UN_PUBLISH:未发布,PUBLISH:发布")
+    private CrmStatusEnum status;
+
+    @ApiModelProperty(value = "科目名称")
+    private String courseName;
+
+    @ApiModelProperty(value = "考生人数")
+    private Integer examStudentCount;
+
+    @ApiModelProperty(value = "联系人")
+    private String contacts;
+
+    @ApiModelProperty(value = "电话")
+    private String mobileNumber;
+
+    @ApiModelProperty(value = "服务范围,SCAN:仅扫描,SCAN_MARK:扫描+阅卷")
+    private ServiceScopeEnum serviceScope;
+
+    @ApiModelProperty(value = "扫描开始时间")
+    private Long scanStartTime;
+
+    @ApiModelProperty(value = "扫描结束时间")
+    private Long scanEndTime;
+
+    @ApiModelProperty(value = "阅卷开始时间")
+    private Long markPaperStartTime;
+
+    @ApiModelProperty(value = "阅卷结束时间")
+    private Long markPaperEndTime;
+
+    public String getCrmNo() {
+        return crmNo;
+    }
+
+    public void setCrmNo(String crmNo) {
+        this.crmNo = crmNo;
+    }
+
+    public String getFlowDeploymentId() {
+        return flowDeploymentId;
+    }
+
+    public void setFlowDeploymentId(String flowDeploymentId) {
+        this.flowDeploymentId = flowDeploymentId;
+    }
+
+    public Long getFlowId() {
+        return flowId;
+    }
+
+    public void setFlowId(Long flowId) {
+        this.flowId = flowId;
+    }
+
+    public String getProcessVar() {
+        return processVar;
+    }
+
+    public void setProcessVar(String processVar) {
+        this.processVar = processVar;
+    }
+
+    public CrmStatusEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(CrmStatusEnum status) {
+        this.status = status;
+    }
+
+    public String getCourseName() {
+        return courseName;
+    }
+
+    public void setCourseName(String courseName) {
+        this.courseName = courseName;
+    }
+
+    public Integer getExamStudentCount() {
+        return examStudentCount;
+    }
+
+    public void setExamStudentCount(Integer examStudentCount) {
+        this.examStudentCount = examStudentCount;
+    }
+
+    public String getContacts() {
+        return contacts;
+    }
+
+    public void setContacts(String contacts) {
+        this.contacts = contacts;
+    }
+
+    public String getMobileNumber() {
+        return mobileNumber;
+    }
+
+    public void setMobileNumber(String mobileNumber) {
+        this.mobileNumber = mobileNumber;
+    }
+
+    public ServiceScopeEnum getServiceScope() {
+        return serviceScope;
+    }
+
+    public void setServiceScope(ServiceScopeEnum serviceScope) {
+        this.serviceScope = serviceScope;
+    }
+
+    public Long getScanStartTime() {
+        return scanStartTime;
+    }
+
+    public void setScanStartTime(Long scanStartTime) {
+        this.scanStartTime = scanStartTime;
+    }
+
+    public Long getScanEndTime() {
+        return scanEndTime;
+    }
+
+    public void setScanEndTime(Long scanEndTime) {
+        this.scanEndTime = scanEndTime;
+    }
+
+    public Long getMarkPaperStartTime() {
+        return markPaperStartTime;
+    }
+
+    public void setMarkPaperStartTime(Long markPaperStartTime) {
+        this.markPaperStartTime = markPaperStartTime;
+    }
+
+    public Long getMarkPaperEndTime() {
+        return markPaperEndTime;
+    }
+
+    public void setMarkPaperEndTime(Long markPaperEndTime) {
+        this.markPaperEndTime = markPaperEndTime;
+    }
+}

+ 16 - 0
sop-business/src/main/java/com/qmth/sop/business/mapper/TBCrmDetailMapper.java

@@ -0,0 +1,16 @@
+package com.qmth.sop.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.sop.business.entity.TBCrmDetail;
+
+/**
+ * <p>
+ * 派单明细表 Mapper 接口
+ * </p>
+ *
+ * @author wangliang
+ * @since 2024-05-14
+ */
+public interface TBCrmDetailMapper extends BaseMapper<TBCrmDetail> {
+
+}

+ 16 - 0
sop-business/src/main/java/com/qmth/sop/business/service/TBCrmDetailService.java

@@ -0,0 +1,16 @@
+package com.qmth.sop.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.sop.business.entity.TBCrmDetail;
+
+/**
+ * <p>
+ * 派单明细表 服务类
+ * </p>
+ *
+ * @author wangliang
+ * @since 2024-05-14
+ */
+public interface TBCrmDetailService extends IService<TBCrmDetail> {
+
+}

+ 20 - 0
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBCrmDetailServiceImpl.java

@@ -0,0 +1,20 @@
+package com.qmth.sop.business.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.sop.business.entity.TBCrmDetail;
+import com.qmth.sop.business.mapper.TBCrmDetailMapper;
+import com.qmth.sop.business.service.TBCrmDetailService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 派单明细表 服务实现类
+ * </p>
+ *
+ * @author wangliang
+ * @since 2024-05-14
+ */
+@Service
+public class TBCrmDetailServiceImpl extends ServiceImpl<TBCrmDetailMapper, TBCrmDetail> implements TBCrmDetailService {
+
+}

+ 74 - 63
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBSopInfoServiceImpl.java

@@ -329,19 +329,19 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
         FlowTaskResult flowTaskResult = JSONObject.parseObject(flowApproveParam.getFormProperties(),
                 FlowTaskResult.class);
         Long engineerUserId = null;
-        if (flowTaskResult.getSetup().intValue() == 1) {
-            Long regionUserId = null;
-            String assistantEngineerUserIds = null;
-            Map<String, Object> map = this.getApproveUserIds(flowTaskResult);
-            regionUserId = (Long) map.get(SystemConstant.REGION_USER_ID);
-            engineerUserId = (Long) map.get(SystemConstant.ENGINEER_USER_ID);
-            assistantEngineerUserIds = (String) map.get(SystemConstant.ASSISTANT_ENGINEER_USER_ID);
-
-            tbSopInfoDetail.updateUserIdInfo(regionUserId, engineerUserId, assistantEngineerUserIds);
-            tbSopInfoDetailService.updateById(tbSopInfoDetail);
-        } else {
-            engineerUserId = Long.parseLong(taskApproveUserList.get(0));
-        }
+        //        if (flowTaskResult.getSetup().intValue() == 1) {
+        //            //            Long regionUserId = null;
+        //            String assistantEngineerUserIds = null;
+        ////            Map<String, Object> map = this.getApproveUserIds(flowTaskResult);
+        //            //            regionUserId = (Long) map.get(SystemConstant.REGION_USER_ID);
+        ////            engineerUserId = (Long) map.get(SystemConstant.ENGINEER_USER_ID);
+        //            //            assistantEngineerUserIds = (String) map.get(SystemConstant.ASSISTANT_ENGINEER_USER_ID);
+        //
+        //            //            tbSopInfoDetail.updateUserIdInfo(regionUserId, engineerUserId, assistantEngineerUserIds);
+        //            tbSopInfoDetailService.updateById(tbSopInfoDetail);
+        //        } else {
+        //            engineerUserId = Long.parseLong(taskApproveUserList.get(0));
+        //        }
         if (flowApproveParam.getApprove() == FlowApprovePassEnum.PASS
                 || flowApproveParam.getApprove() == FlowApprovePassEnum.START) {
             List<String> approveUserIds = this.getNextApproveUserIds(tfCustomFlow.getType(), flowTaskResult,
@@ -781,50 +781,61 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
         return approveUserIds;
     }
 
-    /**
-     * 获取审批人
-     *
-     * @param flowTaskResult
-     * @return
-     */
-    public Map<String, Object> getApproveUserIds(FlowTaskResult flowTaskResult) {
-        Map<String, Object> map = new HashMap<>();
-        Long regionUserId = null, engineerUserId = null;
-        String assistantEngineerUserIds = null;
-        List<FlowFormWidgetResult> formProperty = flowTaskResult.getFormProperty();
-        for (FlowFormWidgetResult f : formProperty) {
-            if (f.getFormId().contains(SystemConstant.REGION_USER_ID) && Objects.nonNull(f.getValue())
-                    && !Objects.equals(f.getValue(), "{\"value\":null}")) {
-                JSONObject jsonObject = JSONObject.parseObject(f.getValue());
-                String value = jsonObject.getString(SystemConstant.VALUE);
-                regionUserId = Long.parseLong(value);
-            } else if (f.getFormId().contains(SystemConstant.ASSISTANT_ENGINEER_USER_ID) && Objects.nonNull(
-                    f.getValue()) && !Objects.equals(f.getValue(), "{\"value\":null}")) {
-                JSONObject jsonObject = JSONObject.parseObject(f.getValue());
-                JSONArray jsonArray = jsonObject.getJSONArray(SystemConstant.VALUE);
-                StringJoiner stringJoiner = new StringJoiner(",");
-                for (int i = 0; i < jsonArray.size(); i++) {
-                    stringJoiner.add(jsonArray.getString(i));
-                }
-                assistantEngineerUserIds = stringJoiner.toString();
-            } else if ((f.getFormId().contains(SystemConstant.ENGINEER_USER_ID) && Objects.nonNull(f.getValue()))
-                    && !Objects.equals(f.getValue(), "{\"value\":null}")) {
-                JSONObject jsonObject = JSONObject.parseObject(f.getValue());
-                String value = jsonObject.getString(SystemConstant.VALUE);
-                engineerUserId = Long.parseLong(value);
-            }
-            if (Objects.nonNull(regionUserId) && Objects.nonNull(engineerUserId) && Objects.nonNull(
-                    assistantEngineerUserIds)) {
-                break;
-            }
-        }
-        Optional.ofNullable(regionUserId).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("区域协调人不能为空"));
-        Optional.ofNullable(engineerUserId).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("实施工程师不能为空"));
-        map.put(SystemConstant.REGION_USER_ID, regionUserId);
-        map.put(SystemConstant.ENGINEER_USER_ID, engineerUserId);
-        map.put(SystemConstant.ASSISTANT_ENGINEER_USER_ID, assistantEngineerUserIds);
-        return map;
-    }
+    //    /**
+    //     * 获取审批人
+    //     *
+    //     * @param flowTaskResult
+    //     * @return
+    //     */
+    //    public Map<String, Object> getApproveUserIds(FlowTaskResult flowTaskResult) {
+    //        Map<String, Object> map = new HashMap<>();
+    //        //        Long regionUserId = null, engineerUserId = null;
+    //        //        String assistantEngineerUserIds = null;
+    //        String engineerUsersIds = null;
+    //        List<FlowFormWidgetResult> formProperty = flowTaskResult.getFormProperty();
+    //        for (FlowFormWidgetResult f : formProperty) {
+    //            //            if (f.getFormId().contains(SystemConstant.REGION_USER_ID) && Objects.nonNull(f.getValue())
+    //            //                    && !Objects.equals(f.getValue(), "{\"value\":null}")) {
+    //            //                JSONObject jsonObject = JSONObject.parseObject(f.getValue());
+    //            //                String value = jsonObject.getString(SystemConstant.VALUE);
+    //            //                regionUserId = Long.parseLong(value);
+    //            //            } else if (f.getFormId().contains(SystemConstant.ASSISTANT_ENGINEER_USER_ID) && Objects.nonNull(
+    //            //                    f.getValue()) && !Objects.equals(f.getValue(), "{\"value\":null}")) {
+    //            //                JSONObject jsonObject = JSONObject.parseObject(f.getValue());
+    //            //                JSONArray jsonArray = jsonObject.getJSONArray(SystemConstant.VALUE);
+    //            //                StringJoiner stringJoiner = new StringJoiner(",");
+    //            //                for (int i = 0; i < jsonArray.size(); i++) {
+    //            //                    stringJoiner.add(jsonArray.getString(i));
+    //            //                }
+    //            //                assistantEngineerUserIds = stringJoiner.toString();
+    //            //            }
+    //            //            else if ((f.getFormId().contains(SystemConstant.ENGINEER_USER_ID) && Objects.nonNull(f.getValue()))
+    //            //                    && !Objects.equals(f.getValue(), "{\"value\":null}")) {
+    //            //                JSONObject jsonObject = JSONObject.parseObject(f.getValue());
+    //            //                String value = jsonObject.getString(SystemConstant.VALUE);
+    //            //                engineerUserId = Long.parseLong(value);
+    //            //            }
+    //            if (f.getFormId().contains(SystemConstant.ENGINEER_USERS_ID) && Objects.nonNull(f.getValue())
+    //                    && !Objects.equals(f.getValue(), "{\"value\":null}")) {
+    //                JSONObject jsonObject = JSONObject.parseObject(f.getValue());
+    //                JSONArray jsonArray = jsonObject.getJSONArray(SystemConstant.VALUE);
+    //                StringJoiner stringJoiner = new StringJoiner(",");
+    //                for (int i = 0; i < jsonArray.size(); i++) {
+    //                    stringJoiner.add(jsonArray.getString(i));
+    //                }
+    //                engineerUsersIds = stringJoiner.toString();
+    //            }
+    //            if (Objects.nonNull(engineerUsersIds)) {
+    //                break;
+    //            }
+    //        }
+    //        //        Optional.ofNullable(regionUserId).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("区域协调人不能为空"));
+    //        Optional.ofNullable(engineerUsersIds).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("工程师不能为空"));
+    //        //        map.put(SystemConstant.REGION_USER_ID, regionUserId);
+    //        //        map.put(SystemConstant.ENGINEER_USERS_ID, engineerUsersIds);
+    //        //        map.put(SystemConstant.ASSISTANT_ENGINEER_USER_ID, assistantEngineerUserIds);
+    //        return map;
+    //    }
 
     /**
      * sop申请或发布
@@ -882,12 +893,12 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
             }
 
             FlowTaskResult flowTaskResult = JSONObject.parseObject(formProperties, FlowTaskResult.class);
-            Map<String, Object> map = this.getApproveUserIds(flowTaskResult);
-            Long regionUserId = (Long) map.get(SystemConstant.REGION_USER_ID);
-            Long engineerUserId = (Long) map.get(SystemConstant.ENGINEER_USER_ID);
-            String assistantEngineerUserIds = (String) map.get(SystemConstant.ASSISTANT_ENGINEER_USER_ID);
-            tbSopInfoDetail = new TBSopInfoDetail(crmProjectResult.getRegionManagerId(), regionUserId, engineerUserId,
-                    assistantEngineerUserIds);
+            //            Map<String, Object> map = this.getApproveUserIds(flowTaskResult);
+            //            Long regionUserId = (Long) map.get(SystemConstant.REGION_USER_ID);
+            //            Long engineerUserId = (Long) map.get(SystemConstant.ENGINEER_USER_ID);
+            //            String assistantEngineerUserIds = (String) map.get(SystemConstant.ASSISTANT_ENGINEER_USER_ID);
+            //            tbSopInfoDetail = new TBSopInfoDetail(crmProjectResult.getRegionManagerId(), regionUserId, engineerUserId,
+            //                    assistantEngineerUserIds);
             approveUserIds = this.getNextApproveUserIds(tfCustomFlow.getType(), flowTaskResult, tbSopInfoDetail, null);
         }
 

+ 51 - 1
sop-business/src/main/resources/db/log/wangliang_update_log.sql

@@ -1,2 +1,52 @@
 --2024-05-13update
-ALTER TABLE t_d_form_widget MODIFY COLUMN role_type varchar(500) NULL COMMENT '角色类型';
+ALTER TABLE t_d_form_widget MODIFY COLUMN role_type varchar(500) NULL COMMENT '角色类型';
+
+--2024-05-14update
+CREATE TABLE t_b_crm_detail
+(
+    id BIGINT
+        COMMENT '主键' NOT NULL,
+    crm_no VARCHAR(100)
+        COMMENT '派单号' NOT NULL,
+    flow_deployment_id VARCHAR(50)
+        COMMENT '流程部署id' NOT NULL,
+    flow_id BIGINT
+        COMMENT '流程id' NULL,
+    process_var MEDIUMTEXT
+        COMMENT '过程变量' NOT NULL,
+    status VARCHAR(20)
+        COMMENT '状态,UN_PUBLISH:未发布,PUBLISH:发布' NOT NULL,
+    course_name VARCHAR(255)
+        COMMENT '科目名称' NOT NULL,
+    exam_student_count INTEGER
+        COMMENT '考生人数' NOT NULL,
+    contacts VARCHAR(100)
+        COMMENT '联系人' NULL,
+    mobile_number VARCHAR(30)
+        COMMENT '电话' NULL,
+    service_scope VARCHAR(30)
+        COMMENT '服务范围,SCAN:仅扫描,SCAN_MARK:扫描+阅卷' NOT NULL,
+    scan_start_time BIGINT
+        COMMENT '扫描开始时间' NOT NULL,
+    scan_end_time BIGINT
+        COMMENT '扫描结束时间' NOT NULL,
+    mark_paper_start_time BIGINT
+        COMMENT '阅卷开始时间' NOT NULL,
+    mark_paper_end_time BIGINT
+        COMMENT '阅卷结束时间' NOT NULL,
+    create_id BIGINT
+        COMMENT '创建人id' NULL,
+    create_time BIGINT
+        COMMENT '创建时间' NULL,
+    update_id BIGINT
+        COMMENT '更新人id' NULL,
+    update_time BIGINT
+        COMMENT '更新时间' NULL
+);
+
+/* Add Primary Key */
+ALTER TABLE t_b_crm_detail ADD CONSTRAINT pkt_b_crm_detail
+    PRIMARY KEY (id);
+
+/* Add Comments */
+ALTER TABLE t_b_crm_detail COMMENT = '派单明细表';

+ 5 - 0
sop-business/src/main/resources/mapper/TBCrmDetailMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.qmth.sop.business.mapper.TBCrmDetailMapper">
+
+</mapper>

+ 5 - 3
sop-common/src/main/java/com/qmth/sop/common/contant/SystemConstant.java

@@ -137,9 +137,10 @@ public class SystemConstant {
     public static final String VERSION = "version";
     public static final String CODE = "code";
     public static final String FLOW_ID = "flow_id";
-    public static final String REGION_USER_ID = "region_user_id";
-    public static final String ENGINEER_USER_ID = "engineer_user_id";
-    public static final String ASSISTANT_ENGINEER_USER_ID = "assistant_engineer_user_id";
+//    public static final String REGION_USER_ID = "region_user_id";
+//    public static final String ENGINEER_USER_ID = "engineer_user_id";
+//    public static final String ASSISTANT_ENGINEER_USER_ID = "assistant_engineer_user_id";
+//    public static final String ENGINEER_USERS_ID = "engineer_users_id";
     public static final String APPROVE_RADIO_REGION = "approve_radio_region";
     public static final String APPROVE_REMARK_REGION = "approve_remark_region";
     public static final String SIGN_REGION = "sign_region";
@@ -252,6 +253,7 @@ public class SystemConstant {
     public static final String PREFIX_URL_DING_SUBMIT = "/admin/tb/ding/submit";
     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_CRM_DETAIL = "/admin/tb/crm/detail";
     public static final String PREFIX_URL_DING_EXCEPTION_APPLY = "/admin/ding/exception/apply";
     public static final String PREFIX_URL_PRODUCT = "/admin/tb/product";
     public static final String PREFIX_URL_MY_WORK_BENCH = "/admin/my/work_bench";

+ 24 - 0
sop-common/src/main/java/com/qmth/sop/common/enums/ServiceScopeEnum.java

@@ -0,0 +1,24 @@
+package com.qmth.sop.common.enums;
+
+/**
+ * @Description: 服务范围enum
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2024/5/14
+ */
+public enum ServiceScopeEnum {
+    SCAN("仅扫描"),
+
+    SCAN_MARK("扫描+阅卷");
+
+    ServiceScopeEnum(String title) {
+        this.title = title;
+    }
+
+    private final String title;
+
+    public String getTitle() {
+        return title;
+    }
+}

部分文件因文件數量過多而無法顯示