Browse Source

用章申请流程修改

zhangjq 3 months ago
parent
commit
6d18ead439

+ 13 - 0
zjugis-business/src/main/java/com/zjugis/business/constants/ApplySealReasonTypeConstants.java

@@ -0,0 +1,13 @@
+package com.zjugis.business.constants;
+
+/**
+ * @Author:zjq
+ * @Date:2025-03-19
+ */
+public class ApplySealReasonTypeConstants {
+
+    public static final int MARKET = 1;
+    public static final int OTHER = 2;
+
+
+}

+ 10 - 0
zjugis-business/src/main/java/com/zjugis/business/constants/DictConstants.java

@@ -54,6 +54,16 @@ public class DictConstants {
      */
     public static final String WF_SEAL_NAME = "WF_SEAL_NAME";
 
+    /**
+     * 印章所在地
+     */
+    public static final String WF_SEAL_LOCATION = "WF_SEAL_LOCATION";
+
+    /**
+     * 申请事由类型
+     */
+    public static final String APPLY_SEAL_REASON_TYPE = "APPLY_SEAL_REASON_TYPE";
+
     /**
      * 用章形式
      */

+ 17 - 0
zjugis-business/src/main/java/com/zjugis/business/constants/PostConstants.java

@@ -18,4 +18,21 @@ public class PostConstants {
     public final static String FINANCE = "cw";
 
     public final static String BEIJING_FINANCE = "bjcw";
+
+
+
+    //市场助理
+    public final static String MARKET_ASSISTANT = "sczl";
+
+    //公章管理员
+    public final static String SEAL_MANAGER = "gzgly";
+
+    //北京公章管理员
+    public final static String BJ_SEAL_MANAGER = "bjgzgly";
+
+
+    //江苏公章管理员
+    public final static String JS_SEAL_MANAGER = "jsgzgly";
+
+
 }

+ 13 - 0
zjugis-business/src/main/java/com/zjugis/business/constants/UseSealLocationConstants.java

@@ -0,0 +1,13 @@
+package com.zjugis.business.constants;
+
+/**
+ * @Author:zjq
+ * @Date:2025-03-19
+ */
+public class UseSealLocationConstants {
+    public static final int HZ = 1;
+    public static final int NJ = 2;
+    public static final int BJ = 3;
+
+
+}

+ 15 - 1
zjugis-business/src/main/java/com/zjugis/business/flow/officialSeal/entity/OfficialSealUseDO.java

@@ -136,8 +136,22 @@ public class OfficialSealUseDO implements Serializable {
 
 
     /**
-     * 用章份
+     * 用印个
      */
     @TableField("USE_NUMS")
     private Integer useNums;
+
+
+    /**
+     * 申请事由类型
+     */
+    @TableField("APPLY_REASON_TYPE")
+    private Integer applyReasonType;
+
+    /**
+     * 印章所在地
+     */
+    @TableField("OFFICIAL_SEAL_LOCATION")
+    private Integer officialSealLocation;
+
 }

+ 52 - 18
zjugis-business/src/main/java/com/zjugis/business/flow/officialSeal/event/OfficialSealUseEvent.java

@@ -1,8 +1,10 @@
 package com.zjugis.business.flow.officialSeal.event;
 
 
+import com.zjugis.business.constants.ApplySealReasonTypeConstants;
 import com.zjugis.business.constants.OfficialSealNameConstants;
 import com.zjugis.business.constants.PostConstants;
+import com.zjugis.business.constants.UseSealLocationConstants;
 import com.zjugis.business.converter.officialSeal.OfficialSealUseConvert;
 import com.zjugis.business.flow.officialSeal.entity.OfficialSealUseDO;
 import com.zjugis.business.flow.officialSeal.service.OfficialSealUseService;
@@ -22,6 +24,7 @@ import com.zjugis.module.system.api.user.dto.AdminUserRespDTO;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -257,30 +260,37 @@ public class OfficialSealUseEvent extends BaseController {
             if (StringUtils.isNotBlank(flowInstanceId)) {
                 OfficialSealUseDO entity = officialSealUseService.findByInstanceId(flowInstanceId);
                 List<Map<String, String>> userMaps = new ArrayList<>();
-                if (entity.getOfficialSealName().equals(OfficialSealNameConstants.WW) || entity.getOfficialSealName().equals(OfficialSealNameConstants.WW_JS)) {
-                    int pId = entity.getOfficialSealName().equals(OfficialSealNameConstants.WW) ? PostConstants.OFFICIAL_SEAL_MANAGER : PostConstants.JIANGSU_OFFICIAL_SEAL_MANAGER;
-                    Collection<Long> collection = new ArrayList<>();
-                    collection.add(Long.valueOf(pId));
-                    List<AdminUserRespDTO> userList = adminUserApi.getUserListByPostIds(collection).getCheckedData();
-                    for (AdminUserRespDTO adminUserRespDTO : userList) {
-                        HashMap<String, String> map = new HashMap<>();
-                        map.put("id", adminUserRespDTO.getId());
-                        userMaps.add(map);
-                    }
-                    return ok(userMaps);
-                } else if (entity.getOfficialSealName().equals(OfficialSealNameConstants.WW_BJ)){
-                    Collection<String> collection = new ArrayList<>();
-                    collection.add(PostConstants.BEIJING_FINANCE);
-                    List<AdminUserRespDTO> userList = adminUserApi.getUserListByPostCodes(collection).getCheckedData();
+
+                Collection<String> collection = new ArrayList<>();
+
+                //市场
+                if(entity.getApplyReasonType().equals(ApplySealReasonTypeConstants.MARKET)){
+                    collection.add(PostConstants.MARKET_ASSISTANT);
+                } else if (entity.getApplyReasonType().equals(ApplySealReasonTypeConstants.OTHER)){
+                    collection.add(PostConstants.SEAL_MANAGER);
+                }  else {
+                    throw new BusinessException("执行事件出错,请联系管理员!");
+                }
+
+                //杭州
+                if (entity.getOfficialSealLocation().equals(UseSealLocationConstants.HZ) ) {
+                    collection.add(PostConstants.SEAL_MANAGER);
+                }  else if (entity.getOfficialSealLocation().equals(UseSealLocationConstants.NJ)) {
+                    collection.add(PostConstants.JS_SEAL_MANAGER);
+                } else if (entity.getOfficialSealLocation().equals(UseSealLocationConstants.BJ)) {
+                    collection.add(PostConstants.BJ_SEAL_MANAGER);
+                }  else {
+                    throw new BusinessException("执行事件出错,请联系管理员!");
+                }
+
+
+                List<AdminUserRespDTO> userList = adminUserApi.getUserListByPostCodes(collection).getCheckedData();
                     for (AdminUserRespDTO adminUserRespDTO : userList) {
                         HashMap<String, String> map = new HashMap<>();
                         map.put("id", adminUserRespDTO.getId());
                         userMaps.add(map);
                     }
                     return ok(userMaps);
-                } else {
-                    throw new BusinessException("执行事件出错,请联系管理员!");
-                }
 
             } else {
                 throw new BusinessException("执行事件出错,请联系管理员!");
@@ -292,4 +302,28 @@ public class OfficialSealUseEvent extends BaseController {
     }
 
 
+    /**
+     * 申请事由类型:其他/市场相关材料盖章
+     * @param flowInstance
+     * @param type
+     * @return
+     */
+    @PostMapping("/reasonType/{type}")
+    public String reasonType(@ParamModel Map flowInstance, @PathVariable String type) {
+        try {
+            String flowInstanceId = flowInstance.get("id").toString();
+
+            OfficialSealUseDO entity = officialSealUseService.findByInstanceId(flowInstanceId);
+
+            if (type.equals(String.valueOf(entity.getApplyReasonType()))) {
+                return "true";
+            } else {
+                return "false";
+            }
+
+
+        } catch (Exception ex) {
+            return error(ex.getMessage(), ErrorCode.DEFAULT);
+        }
+    }
 }

+ 6 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/officialSeal/service/OfficialSealUseServiceImpl.java

@@ -130,6 +130,12 @@ public class OfficialSealUseServiceImpl implements OfficialSealUseService {
         map.put("sealTypeList", JSON.toJSONString(sealTypeList));
         List<Select> sealNameList = SelectConvert.INSTANCE.convertList(dictDataApi.getDictDataList(DictConstants.WF_SEAL_NAME).getCheckedData());
         map.put("sealNameList", JSON.toJSONString(sealNameList));
+
+        List<Select> sealLocationList = SelectConvert.INSTANCE.convertList(dictDataApi.getDictDataList(DictConstants.WF_SEAL_LOCATION).getCheckedData());
+        map.put("sealLocationList", JSON.toJSONString(sealLocationList));
+        List<Select> applyReasonTypeList = SelectConvert.INSTANCE.convertList(dictDataApi.getDictDataList(DictConstants.APPLY_SEAL_REASON_TYPE).getCheckedData());
+        map.put("applyReasonTypeList", JSON.toJSONString(applyReasonTypeList));
+
         return map;
     }
 

+ 12 - 1
zjugis-business/src/main/java/com/zjugis/business/flow/officialSeal/vo/OfficialSealUseVO.java

@@ -77,10 +77,21 @@ public class OfficialSealUseVO {
      */
     private String officialSealApplyReason;
 
+    /**
+     * 申请事由类型
+     */
+    private Integer applyReasonType;
+
+    /**
+     * 印章所在地
+     */
+    private Integer officialSealLocation;
+
+
     private LocalDateTime createTime;
 
     /**
-     * 用章份数
+     * 用印个
      */
     private Integer useNums;
 }

+ 35 - 2
zjugis-business/src/main/resources/templates/OfficialSealUse/index.ftl

@@ -95,6 +95,39 @@ styles=[ '/flow/css/formCommon.css','/OwCommon/OwCommon.css' ]>
                                 </div>
                             </td>
                         </tr>
+                        <tr>
+                            <td class="th">
+                                <div class="form-label">申请事由类型:</div>
+                            </td>
+                            <td>
+                                <div class="form-group">
+                                    <div class="form-item">
+                                        <div class="z-comp-select" name="createReqVO$applyReasonType"
+                                             data='${applyReasonTypeList!}' value="${formEntity.applyReasonType!}">
+                                            <div class="z-inputselect-bar">
+                                                <span></span><i></i>
+                                            </div>
+                                        </div>
+
+                                    </div>
+                                </div>
+                            </td>
+                            <td class="th">
+                                <div class="form-label">印章所在地:</div>
+                            </td>
+                            <td>
+                                <div class="form-group">
+                                    <div class="form-item">
+                                        <div class="z-comp-select" name="createReqVO$officialSealLocation"
+                                             data='${sealLocationList!}' value="${formEntity.officialSealLocation!}">
+                                            <div class="z-inputselect-bar">
+                                                <span></span><i></i>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                            </td>
+                        </tr>
                         <tr>
                             <td class="th">
                                 <div class="form-label">用章类型:</div>
@@ -113,7 +146,7 @@ styles=[ '/flow/css/formCommon.css','/OwCommon/OwCommon.css' ]>
                                 </div>
                             </td>
                             <td class="th">
-                                <div class="form-label">章名称:</div>
+                                <div class="form-label">章名称:</div>
                             </td>
                             <td>
                                 <div class="form-group">
@@ -130,7 +163,7 @@ styles=[ '/flow/css/formCommon.css','/OwCommon/OwCommon.css' ]>
                         </tr>
                         <tr>
                             <td class="th">
-                                <div class="form-label">用章份数:</div>
+                                <div class="form-label">用印个数:</div>
                             </td>
                             <td>
                                 <div class="form-group">