Explorar o código

一系列改造适配

wanger hai 5 meses
pai
achega
8848845a8e
Modificáronse 30 ficheiros con 1376 adicións e 223 borrados
  1. 59 7
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/controller/cggl/CgglController.java
  2. 13 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/controller/sbjk/XzczghcgsbController.java
  3. 82 33
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/controller/scpz/ExamgctaskController.java
  4. 31 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/cggl/CgscDto.java
  5. 9 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/cggl/EscalationDTO.java
  6. 48 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/cggl/ScmxDTO.java
  7. 85 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/cggl/ScmxRecordDTO.java
  8. 2 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/cggl/EscalationFileMapper.java
  9. 8 1
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/cggl/EscalationMapper.java
  10. 14 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/cggl/ScmxMapper.java
  11. 19 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/cggl/ScmxRecordMapper.java
  12. 5 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/sbjk/XzczghcgsbMapper.java
  13. 9 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/cggl/CgglService.java
  14. 184 42
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/impl/cggl/CgglServiceImpl.java
  15. 171 121
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/impl/sbjk/XzczghcgsbServiceImpl.java
  16. 3 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/sbjk/XzczghcgsbService.java
  17. 1 1
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/task/CgjcSchedule.java
  18. 65 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/task/RedundancyFileSchedule.java
  19. 37 7
      onemap-modules/onemap-apply/src/main/resources/mapper/oracle/cggl/EscalationMapper.xml
  20. 25 0
      onemap-modules/onemap-apply/src/main/resources/mapper/oracle/cggl/ScmxRecordMapper.xml
  21. 47 0
      onemap-modules/onemap-apply/src/main/resources/mapper/oracle/sbjk/XzxzghcgsbMapper.xml
  22. 4 4
      onemap-modules/onemap-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml
  23. 6 6
      onemap-modules/onemap-gen/src/main/resources/mapper/generator/GenTableMapper.xml
  24. 105 0
      onemap-modules/onemap-system/src/main/java/com/onemap/system/controller/TCgglScmxController.java
  25. 66 0
      onemap-modules/onemap-system/src/main/java/com/onemap/system/domain/TCgglScmx.java
  26. 61 0
      onemap-modules/onemap-system/src/main/java/com/onemap/system/mapper/TCgglScmxMapper.java
  27. 61 0
      onemap-modules/onemap-system/src/main/java/com/onemap/system/service/ITCgglScmxService.java
  28. 88 0
      onemap-modules/onemap-system/src/main/java/com/onemap/system/service/impl/TCgglScmxServiceImpl.java
  29. 67 0
      onemap-modules/onemap-system/src/main/resources/mapper/oracle/system/TCgglScmxMapper.xml
  30. 1 1
      onemap-modules/pom.xml

+ 59 - 7
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/controller/cggl/CgglController.java

@@ -1,8 +1,10 @@
 package com.onemap.apply.controller.cggl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.onemap.apply.domain.cggl.CgscDto;
 import com.onemap.apply.domain.cggl.EscalationDTO;
 import com.onemap.apply.domain.cggl.EscalationInfoDTO;
+import com.onemap.apply.domain.cggl.ScmxDTO;
 import com.onemap.apply.service.cggl.CgglService;
 import com.onemap.apply.service.fzss.IFzxzService;
 import com.onemap.apply.utils.Md5Utils;
@@ -257,7 +259,7 @@ public class CgglController extends BaseController {
             fileOutputStream.write(zipFileSlice.getBytes());
             fileOutputStream.close();
             zipFileSlice.transferTo(saveFile);
-            System.out.println("uploadSplitFile : "+filePath);
+            System.out.println("uploadSplitFile : " + filePath);
             if (curSliceOrder == (totalSliceNum - 1)) {
                 if (StringUtils.isEmpty(fileName)) {
                     fileName = zipMd5 + ".zip";
@@ -334,6 +336,7 @@ public class CgglController extends BaseController {
         }
         return jsonObject;
     }
+
     /**
      * 获取成果审查信息
      *
@@ -341,9 +344,8 @@ public class CgglController extends BaseController {
      * @return
      */
     @GetMapping("/getCgSclist")
-    public RequestResult getCgSclist(String type,int page,int num)
-    {
-        RequestResult res = cgglService.getCgSclist(type,page,num);
+    public RequestResult getCgSclist(String type, int page, int num) {
+        RequestResult res = cgglService.getCgSclist(type, page, num);
         return res;
     }
 
@@ -354,19 +356,69 @@ public class CgglController extends BaseController {
      * @return
      */
     @GetMapping("/selectCgSclist")
-    public RequestResult selectCgSclist(String type,int page,int num,String xzqdm,String cgmc,String cglx)
-    {
+    public RequestResult selectCgSclist(String type, int page, int num, String xzqdm, String cgmc, String cglx) {
         //旗县 上传成功的
-        RequestResult res = cgglService.selectCgSclist(type,page,num,xzqdm,cgmc,cglx);
+        RequestResult res = cgglService.selectCgSclist(type, page, num, xzqdm, cgmc, cglx);
         return res;
     }
 
     /**
      * 获取已经补正上传市级未上报自治区的instid集合
+     *
+     * @param param
+     * @return
      */
     @GetMapping("/getInstIds")
     public AjaxResult getInstIds(String param) {
         List<String> instIds = cgglService.getInstIds(param);
         return AjaxResult.success("success!", instIds);
     }
+
+    /**
+     * 查询审查模型列表
+     *
+     * @param name
+     * @return
+     */
+    @GetMapping("/scmx")
+    public RequestResult scmx(String name) {
+        RequestResult res = cgglService.getScmxList(name);
+        return res;
+    }
+
+    /**
+     * 修改或者新增审查模型
+     *
+     * @param scmxDTO
+     * @return
+     */
+    @PostMapping("/scmx")
+    public RequestResult scmx(ScmxDTO scmxDTO) {
+        RequestResult res = cgglService.insertOrUpdateScmx(scmxDTO);
+        return res;
+    }
+
+    /**
+     * 删除审查模型
+     *
+     * @param id
+     * @return
+     */
+    @DeleteMapping("/scmx")
+    public RequestResult scmxDelete(String id) {
+        RequestResult res = cgglService.scmxDelete(id);
+        return res;
+    }
+
+    /**
+     * 发起成果审查
+     *
+     * @param cgscDto
+     * @return
+     */
+    @PostMapping("/startcgsc")
+    public RequestResult startcgsc(@RequestBody CgscDto cgscDto) {
+        RequestResult res = cgglService.startcgsc(cgscDto.getScmodel(), cgscDto.getJqscmodel(), cgscDto.getCgid());
+        return res;
+    }
 }

+ 13 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/controller/sbjk/XzczghcgsbController.java

@@ -1,6 +1,7 @@
 package com.onemap.apply.controller.sbjk;
 
 import com.alibaba.fastjson.JSONArray;
+import com.onemap.apply.domain.cggl.CgscDto;
 import com.onemap.apply.domain.sbjk.TjpgsbDTO;
 import com.onemap.apply.domain.sbjk.XzczghcgsbDTO;
 import com.onemap.apply.service.sbjk.XzczghcgsbService;
@@ -179,4 +180,16 @@ public class XzczghcgsbController extends BaseController {
         }
         return AjaxResult.success("获取成功").put("success", true).put("data", "");
     }
+
+    /**
+     * 发起成果审查
+     *
+     * @param cgscDto
+     * @return
+     */
+    @PostMapping("/startcgsc")
+    public RequestResult startcgsc(@RequestBody CgscDto cgscDto) {
+        RequestResult res = xzczghcgsbService.startcgsc(cgscDto.getScmodel(), cgscDto.getJqscmodel(), cgscDto.getCgid());
+        return res;
+    }
 }

+ 82 - 33
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/controller/scpz/ExamgctaskController.java

@@ -7,13 +7,18 @@ import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.onemap.apply.domain.cggl.EscalationDTO;
 import com.onemap.apply.domain.cggl.EscalationIMPDTO;
+import com.onemap.apply.domain.cggl.ScmxRecordDTO;
 import com.onemap.apply.domain.fzss.HgxfxDTO;
+import com.onemap.apply.domain.sbjk.XzczghcgsbDTO;
 import com.onemap.apply.domain.scpz.ExamGCTaskDo;
 import com.onemap.apply.domain.scpz.ExamTaskDo;
 import com.onemap.apply.domain.scpz.ExamruledicDO;
 import com.onemap.apply.domain.yzt.ZttDTO;
 import com.onemap.apply.mapper.cggl.EscalationImpMapper;
 import com.onemap.apply.mapper.cggl.EscalationMapper;
+import com.onemap.apply.mapper.cggl.ScmxMapper;
+import com.onemap.apply.mapper.cggl.ScmxRecordMapper;
+import com.onemap.apply.mapper.sbjk.XzczghcgsbMapper;
 import com.onemap.apply.mapper.scpz.ExamtaskMapper;
 import com.onemap.apply.service.cggl.CgglService;
 import com.onemap.apply.service.impl.cggl.CgglServiceImpl;
@@ -52,25 +57,25 @@ public class ExamgctaskController extends BaseController {
 
     @Value("${tempath}")
     public String tempath;
-
     @Autowired
     IExamruleService itsexamruleService;
-
     @Autowired
     IExamgctaskService itsexamtaskService;
-
     @Autowired
     ExamtaskMapper examtaskMapper;
     @Autowired
     EscalationImpMapper escalationImpMapper;
-
     @Resource
     private EscalationMapper escalationMapper;
-
+    @Autowired
+    private ScmxMapper scmxMapper;
+    @Autowired
+    private ScmxRecordMapper scmxRecordMapper;
+    @Autowired
+    private XzczghcgsbMapper xzczghcgsbMapper;
     @Autowired
     CgglService cgglService;
 
-
     /**
      * 按照成果id 值获取旗县 市级审查结果 区级审查结果 或者市级 区级审查结果
      *
@@ -262,15 +267,37 @@ public class ExamgctaskController extends BaseController {
     public RequestResult saveandend(@RequestBody JSONObject jsonObject) {
         int k = 0;
         try {
+            String userid = SecurityUtils.getUsername();
             String xzqdm = SecurityUtils.getLoginUserXzq(); //当前用户 点击审查和完结 如果为旗县 则审查和完结sclevel=1的信息
             // 如果为市级 审查和完结sclevel=0的信息
             String sclevel = "0";
-
             String taskid = "";
             String ruleid = "";
             String scyj = jsonObject.get("scyj").toString();
             String sczt = jsonObject.get("sczt").toString();
             String gcid = jsonObject.get("gcid").toString();
+            //TODO wanger 我得先判断下  这个gcid是总体规划表还是村庄规划表
+            QueryWrapper<EscalationDTO> wrapper = new QueryWrapper();
+            wrapper.eq("id", gcid);
+            EscalationDTO result = escalationMapper.selectOne(wrapper);
+            if (result == null) {
+                //TODO wanger 这个就是村庄规划了
+                if (sczt.equals("保存")) {
+                    //TODO wanger 更新审查模型记录表
+                    scmxRecordMapper.updateScyj(scyj, "通过", gcid, userid);
+                    //TODO wanger 完结
+                    int count = scmxRecordMapper.scIsEnd(gcid);
+                    if (count == 0) {
+                        QueryWrapper<XzczghcgsbDTO> czghwrapper = new QueryWrapper();
+                        czghwrapper.eq("uuid", gcid);
+                        XzczghcgsbDTO dto = xzczghcgsbMapper.selectOne(czghwrapper);
+                        dto.setStatus("11");
+                        xzczghcgsbMapper.update(dto, czghwrapper);
+                    }
+                    return RequestResult.success("保存成功", k);
+                }
+            }
+
             JSONArray res = JSON.parseArray(jsonObject.getJSONArray("lists").toString());
             List<ExamGCTaskDo> lists = res.toJavaList(ExamGCTaskDo.class);
             if (scyj.isEmpty()) {
@@ -304,40 +331,62 @@ public class ExamgctaskController extends BaseController {
             } else {
                 sclevel = "0";//点击获取县级审查结果
             }
-            gcid = jsonObject.get("gcid").toString();
-            //更新完后 更新最终意见 gcid taskid 意见 市级意见还是县级意见  sclevel
-            if (sclevel.equals("0")) //市级给出意见
-            {
-                if (sczt.equals("保存")) {
-                    k = cgglService.updatescinfo(5, scyj, gcid, SecurityUtils.getUsername());
-                    return RequestResult.success("保存成功", k);
-                } else if (sczt.equals("完结")) {
-
-                    k = cgglService.updatescinfo(6, scyj, gcid, SecurityUtils.getUsername());
+//            gcid = jsonObject.get("gcid").toString();
+            //TODO wanger 新版人工审核机制
+            if (sczt.equals("保存")) {
+                k = cgglService.updatescinfo(4, scyj, gcid, userid);
+                //TODO wanger 更新审查模型记录表
+                scmxRecordMapper.updateScyj(scyj, "通过", gcid, userid);
+                //TODO wanger 完结
+                int count = scmxRecordMapper.scIsEnd(gcid);
+                if (count == 0) {
+                    k = cgglService.updatescinfo(6, scyj, gcid, userid);
                     //点击完结后 插入入库表
                     List<EscalationIMPDTO> list1 = escalationImpMapper.selectInfoImpList(gcid);
                     if (list1.size() > 0) {
                         EscalationIMPDTO escalationIMPDTO = list1.get(0);
                         k = escalationImpMapper.insert(escalationIMPDTO);
                     }
-                    return RequestResult.success("完结成功", k);
-                } else if (sczt.equals("退回")) {
-                    k = cgglService.updatescinfo(7, scyj, gcid, SecurityUtils.getUsername());
-                    return RequestResult.success("退回成功", k);
-                }
-            } else    //县级给出意见
-            {
-                if (sczt.equals("保存")) {
-                    k = cgglService.updatescqxinfo(1, scyj, gcid, SecurityUtils.getUsername());
-                    return RequestResult.success("保存成功", k);
-                } else if (sczt.equals("完结")) {
-                    k = cgglService.updatescqxinfo(2, scyj, gcid, SecurityUtils.getUsername());
-                    return RequestResult.success("完结成功", k);
-                } else if (sczt.equals("退回")) {
-                    k = cgglService.updatescqxinfo(3, scyj, gcid, SecurityUtils.getUsername());
-                    return RequestResult.success("退回成功", k);
                 }
+                return RequestResult.success("保存成功", k);
+            }  else if (sczt.equals("退回")) {
+                k = cgglService.updatescinfo(7, scyj, gcid, SecurityUtils.getUsername());
+                return RequestResult.success("退回成功", k);
             }
+
+            //更新完后 更新最终意见 gcid taskid 意见 市级意见还是县级意见  sclevel
+//            if (sclevel.equals("0")) //市级给出意见
+//            {
+//                if (sczt.equals("保存")) {
+//                    k = cgglService.updatescinfo(5, scyj, gcid, SecurityUtils.getUsername());
+//                    return RequestResult.success("保存成功", k);
+//                } else if (sczt.equals("完结")) {
+//
+//                    k = cgglService.updatescinfo(6, scyj, gcid, SecurityUtils.getUsername());
+//                    //点击完结后 插入入库表
+//                    List<EscalationIMPDTO> list1 = escalationImpMapper.selectInfoImpList(gcid);
+//                    if (list1.size() > 0) {
+//                        EscalationIMPDTO escalationIMPDTO = list1.get(0);
+//                        k = escalationImpMapper.insert(escalationIMPDTO);
+//                    }
+//                    return RequestResult.success("完结成功", k);
+//                } else if (sczt.equals("退回")) {
+//                    k = cgglService.updatescinfo(7, scyj, gcid, SecurityUtils.getUsername());
+//                    return RequestResult.success("退回成功", k);
+//                }
+//            } else    //县级给出意见
+//            {
+//                if (sczt.equals("保存")) {
+//                    k = cgglService.updatescqxinfo(1, scyj, gcid, SecurityUtils.getUsername());
+//                    return RequestResult.success("保存成功", k);
+//                } else if (sczt.equals("完结")) {
+//                    k = cgglService.updatescqxinfo(2, scyj, gcid, SecurityUtils.getUsername());
+//                    return RequestResult.success("完结成功", k);
+//                } else if (sczt.equals("退回")) {
+//                    k = cgglService.updatescqxinfo(3, scyj, gcid, SecurityUtils.getUsername());
+//                    return RequestResult.success("退回成功", k);
+//                }
+//            }
         } catch (Exception e) {
             e.printStackTrace();
             return RequestResult.error("失败", null);

+ 31 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/cggl/CgscDto.java

@@ -0,0 +1,31 @@
+package com.onemap.apply.domain.cggl;
+
+public class CgscDto {
+    private String cgid ;
+    private String scmodel;
+    private String jqscmodel;
+
+    public String getCgid() {
+        return cgid;
+    }
+
+    public void setCgid(String cgid) {
+        this.cgid = cgid;
+    }
+
+    public String getScmodel() {
+        return scmodel;
+    }
+
+    public void setScmodel(String scmodel) {
+        this.scmodel = scmodel;
+    }
+
+    public String getJqscmodel() {
+        return jqscmodel;
+    }
+
+    public void setJqscmodel(String jqscmodel) {
+        this.jqscmodel = jqscmodel;
+    }
+}

+ 9 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/cggl/EscalationDTO.java

@@ -27,6 +27,15 @@ public class EscalationDTO {
     private String lxdh;
     private String username;
     private String instid;
+    private String scmodel;
+
+    public String getScmodel() {
+        return scmodel;
+    }
+
+    public void setScmodel(String scmodel) {
+        this.scmodel = scmodel;
+    }
 
     public String getInstid() {
         return instid;

+ 48 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/cggl/ScmxDTO.java

@@ -0,0 +1,48 @@
+package com.onemap.apply.domain.cggl;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@TableName("t_cggl_scmx")
+public class ScmxDTO {
+    private String id;
+    private String name;
+    private String users;
+    private String remark;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getUsers() {
+        return users;
+    }
+
+    public void setUsers(String users) {
+        this.users = users;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+}

+ 85 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/cggl/ScmxRecordDTO.java

@@ -0,0 +1,85 @@
+package com.onemap.apply.domain.cggl;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@TableName("t_cggl_scmx_record")
+public class ScmxRecordDTO {
+    private String id;
+    private String userid;
+    private String username;
+    private String scyj;
+    private String scjl;
+    private String cgid;
+    private String sort;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date sctime;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getUserid() {
+        return userid;
+    }
+
+    public void setUserid(String userid) {
+        this.userid = userid;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getScyj() {
+        return scyj;
+    }
+
+    public void setScyj(String scyj) {
+        this.scyj = scyj;
+    }
+
+    public String getScjl() {
+        return scjl;
+    }
+
+    public void setScjl(String scjl) {
+        this.scjl = scjl;
+    }
+
+    public String getCgid() {
+        return cgid;
+    }
+
+    public void setCgid(String cgid) {
+        this.cgid = cgid;
+    }
+
+    public String getSort() {
+        return sort;
+    }
+
+    public void setSort(String sort) {
+        this.sort = sort;
+    }
+
+    public Date getSctime() {
+        return sctime;
+    }
+
+    public void setSctime(Date sctime) {
+        this.sctime = sctime;
+    }
+}

+ 2 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/cggl/EscalationFileMapper.java

@@ -3,6 +3,8 @@ package com.onemap.apply.mapper.cggl;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.onemap.apply.domain.cggl.EscalationFileDTO;
 
+import java.util.List;
+
 /**
  * 数据层
  *

+ 8 - 1
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/cggl/EscalationMapper.java

@@ -50,7 +50,7 @@ public interface EscalationMapper extends BaseMapper<EscalationDTO> {
 
     void updateWaitCheck(@Param("id") String id, @Param("status") String status);
 
-    List<EscalationTaskDTO> getSelectCgSclistbyzt(@Param("type") String type, @Param("xzqdm") String xzqdm, @Param("cgmc") String cgmc, @Param("cglx") String cglx);
+    List<EscalationTaskDTO> getSelectCgSclistbyzt(@Param("type") String type, @Param("xzqdm") String xzqdm, @Param("cgmc") String cgmc, @Param("cglx") String cglx, @Param("username") String username);
 
     List<EscalationTaskDTO> getSelectCgSclistbyztwj(@Param("type") String type, @Param("xzqdm") String xzqdm, @Param("cgmc") String cgmc, @Param("cglx") String cglx);
 
@@ -62,4 +62,11 @@ public interface EscalationMapper extends BaseMapper<EscalationDTO> {
 
     List<String> getInstIds(String param);
 
+    void updateCgScModel(@Param("cgid") String cgid, @Param("scmodel") String scmodel);
+
+    List<String> selectRedundancyFiles();
+
+    void deleteRedundancyFiles();
+
+    void updateCgScZt(@Param("cgid") String cgid, @Param("sczt") String sczt);
 }

+ 14 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/cggl/ScmxMapper.java

@@ -0,0 +1,14 @@
+package com.onemap.apply.mapper.cggl;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.onemap.apply.domain.cggl.EscalationFileDTO;
+import com.onemap.apply.domain.cggl.ScmxDTO;
+
+/**
+ * 数据层
+ *
+ * @author onemap
+ */
+public interface ScmxMapper extends BaseMapper<ScmxDTO> {
+
+}

+ 19 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/cggl/ScmxRecordMapper.java

@@ -0,0 +1,19 @@
+package com.onemap.apply.mapper.cggl;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.onemap.apply.domain.cggl.ScmxDTO;
+import com.onemap.apply.domain.cggl.ScmxRecordDTO;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 数据层
+ *
+ * @author onemap
+ */
+public interface ScmxRecordMapper extends BaseMapper<ScmxRecordDTO> {
+    void updateUserName();
+
+    void updateScyj(@Param("scyj") String scyj, @Param("scjl") String scjl, @Param("cgid") String cgid, @Param("userid") String userid);
+
+    int scIsEnd(String cgid);
+}

+ 5 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/sbjk/XzczghcgsbMapper.java

@@ -1,7 +1,9 @@
 package com.onemap.apply.mapper.sbjk;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.onemap.apply.domain.cggl.EscalationTaskDTO;
 import com.onemap.apply.domain.sbjk.XzczghcgsbDTO;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -12,4 +14,7 @@ import java.util.List;
  */
 public interface XzczghcgsbMapper extends BaseMapper<XzczghcgsbDTO> {
     List<String> getInstIds(String param);
+
+    List<EscalationTaskDTO> getSelectCgSclistbyzt(@Param("type") String type, @Param("xzqdm") String xzqdm, @Param("cgmc") String cgmc, @Param("cglx") String cglx, @Param("username") String username);
+
 }

+ 9 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/cggl/CgglService.java

@@ -2,6 +2,7 @@ package com.onemap.apply.service.cggl;
 
 import com.onemap.apply.domain.cggl.EscalationDTO;
 import com.onemap.apply.domain.cggl.EscalationInfoDTO;
+import com.onemap.apply.domain.cggl.ScmxDTO;
 import com.onemap.common.core.web.domain.RequestResult;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -40,4 +41,12 @@ public interface CgglService {
     int updatescqxinfo(int sczt, String scyj, String gcid, String username);
 
     List<String> getInstIds(String param);
+
+    RequestResult insertOrUpdateScmx(ScmxDTO scmxDTO);
+
+    RequestResult scmxDelete(String id);
+
+    RequestResult getScmxList(String name);
+
+    RequestResult startcgsc(String scmodel, String jqscmodel, String cgid);
 }

+ 184 - 42
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/impl/cggl/CgglServiceImpl.java

@@ -4,13 +4,11 @@ import cn.hutool.core.collection.CollectionUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.onemap.apply.domain.cggl.*;
-import com.onemap.apply.mapper.cggl.EscalationFileMapper;
-import com.onemap.apply.mapper.cggl.EscalationMapper;
-import com.onemap.apply.mapper.cggl.EscalationRzMapper;
+import com.onemap.apply.domain.sbjk.XzczghcgsbDTO;
+import com.onemap.apply.mapper.cggl.*;
+import com.onemap.apply.mapper.sbjk.XzczghcgsbMapper;
 import com.onemap.apply.service.cggl.CgglService;
 import com.onemap.apply.utils.*;
-import com.onemap.common.core.domain.UploadZipDTO;
-import com.onemap.common.core.utils.FileStreamUtils;
 import com.onemap.common.core.utils.StringUtils;
 import com.onemap.common.core.web.domain.RequestResult;
 import com.onemap.common.redis.service.RedisService;
@@ -58,9 +56,17 @@ public class CgglServiceImpl implements CgglService {
     private EscalationRzMapper escalationRzMapper;
     @Autowired
     private RedisService redisService;
+    @Autowired
+    private ScmxMapper scmxMapper;
+    @Autowired
+    private ScmxRecordMapper scmxRecordMapper;
+    @Autowired
+    private XzczghcgsbMapper xzczghcgsbMapper;
 
     @Value("${Cggl.temp}")
     private String temp;
+    @Value("${Cggl.cgjc}")
+    private String cgjcUrl;
 
     @Value("${Cggl.oauthUrl}")
     private String oauthUrl;
@@ -180,10 +186,11 @@ public class CgglServiceImpl implements CgglService {
         escalationDTO.setId(id);
         escalationDTO.setUsername(SecurityUtils.getUsername());
         String xzqdm = SecurityUtils.getLoginUserXzq(); //当前用户 点击获取市级审查结果
-        if (xzqdm.length() == 4) //市级上传 则为市级待审
-        {
-            escalationDTO.setSczt("4");
-        }
+        escalationDTO.setSczt("4");
+//        if (xzqdm.length() == 4) //市级上传 则为市级待审
+//        {
+//            escalationDTO.setSczt("4");
+//        }
         escalationMapper.insert(escalationDTO);
         addCgglRz(escalationDTO);
 //        FixedThreadUtil.FIXED_THREAD_POOL.execute(() -> {
@@ -205,6 +212,48 @@ public class CgglServiceImpl implements CgglService {
         return res;
     }
 
+    @Override
+    public RequestResult startcgsc(String scmodel, String jqscmodel, String cgid) {
+        try {
+            //机器审查
+            escalationMapper.updateWaitCheck(cgid, "1");
+            if (StringUtils.isNotEmpty(jqscmodel)) {
+                String getUrl = cgjcUrl + "" + cgid;
+                System.out.println("开始进行成果完整性检查,调用地址" + getUrl);
+                String msg = HttpClientUtil.doGet(getUrl);
+                System.out.println("成果完整性检查结果" + msg);
+                System.out.println("成果完整性检查模块:" + cgid + "审查任务调用成果!!!!!!!! " + new Date().toString());
+            }
+            //人工审查
+            if (StringUtils.isNotEmpty(scmodel)) {
+                escalationMapper.updateCgScModel(cgid, scmodel);
+                //TODO wanger 增加人工审查模型详情表
+                ScmxDTO scmxdto = scmxMapper.selectById(scmodel);
+                String users = scmxdto.getUsers();
+                if (StringUtils.isNotEmpty(users)) {
+                    String[] userlist = users.split(",");
+                    for (int i = 0; i < userlist.length; i++) {
+                        String userid = userlist[i];
+                        ScmxRecordDTO recordDto = new ScmxRecordDTO();
+                        recordDto.setCgid(cgid);
+                        recordDto.setSort(String.valueOf(i));
+                        recordDto.setUserid(userid);
+                        scmxRecordMapper.insert(recordDto);
+                    }
+                    scmxRecordMapper.updateUserName();
+                } else {
+                    //空的人工审查流程  直接办结
+                    escalationMapper.updateCgScZt(cgid, "6");
+                }
+
+            }
+            return RequestResult.success("发起审查成功!");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return RequestResult.error("发起审查失败!");
+    }
+
     @Override
     public RequestResult updateCgInfo(EscalationDTO escalationDTO) {
         QueryWrapper<EscalationDTO> wrapper = new QueryWrapper<EscalationDTO>();
@@ -470,8 +519,29 @@ public class CgglServiceImpl implements CgglService {
 
     @Override
     public RequestResult cgDelete(String id) {
+        //主表
         QueryWrapper<EscalationDTO> wrapper = new QueryWrapper<EscalationDTO>();
         wrapper.eq("id", id);
+        EscalationDTO dto = escalationMapper.selectOne(wrapper);
+        //文件表
+        String fileid = dto.getFileid();
+        if (StringUtils.isNotEmpty(fileid)) {
+            //删除文件表和文件夹
+            QueryWrapper<EscalationFileDTO> filewrapper = new QueryWrapper<EscalationFileDTO>();
+            filewrapper.eq("id", fileid);
+            EscalationFileDTO fileDto = escalationFileMapper.selectOne(filewrapper);
+            String filepath = fileDto.getPath();
+            //删除文件夹
+            try {
+                File file = new File(filepath);
+                File parentDir = file.getParentFile();
+//                String parentDirPath = parentDir.getAbsolutePath();
+                FileUtils.deleteDirectory(parentDir);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+            escalationFileMapper.delete(filewrapper);
+        }
         escalationMapper.delete(wrapper);
         return RequestResult.success("删除成功!", true);
     }
@@ -511,19 +581,27 @@ public class CgglServiceImpl implements CgglService {
         }
         //判断为id数值还是直接传递的路径
         String fileDir = "";
-        if (id.contains("\\")) {
+        if (id.contains("/") || id.contains("\\")) {
             fileDir = id.substring(0, id.lastIndexOf("."));
         } else {
             QueryWrapper<EscalationDTO> EscalationQrapper = new QueryWrapper<>();
             EscalationQrapper.eq("id", id);
             EscalationDTO escalationDTO = escalationMapper.selectOne(EscalationQrapper);
+            //TODO wanger 成果包id不是总规的   再查询下 是不是村庄规划的
             if (escalationDTO == null) {
-                return RequestResult.error("id数据传错了!", false);
+                QueryWrapper<XzczghcgsbDTO> wrapper = new QueryWrapper();
+                wrapper.eq("uuid", id);
+                XzczghcgsbDTO dto = xzczghcgsbMapper.selectOne(wrapper);
+                if (dto == null) {
+                    return RequestResult.error("id数据传错了!", false);
+                }
+                fileDir = dto.getFilePath().replace(".zip", "").replace(".rar", "");
+            } else {
+                QueryWrapper<EscalationFileDTO> EscalationFileQrapper = new QueryWrapper<>();
+                EscalationFileQrapper.eq("id", escalationDTO.getFileid());
+                EscalationFileDTO fileDto = escalationFileMapper.selectOne(EscalationFileQrapper);
+                fileDir = fileDto.getUnzippath();
             }
-            QueryWrapper<EscalationFileDTO> EscalationFileQrapper = new QueryWrapper<>();
-            EscalationFileQrapper.eq("id", escalationDTO.getFileid());
-            EscalationFileDTO fileDto = escalationFileMapper.selectOne(EscalationFileQrapper);
-            fileDir = fileDto.getUnzippath();
         }
         fileDir = fileDir.replaceAll("\\\\", "/");
         File c = new File(fileDir);
@@ -662,36 +740,45 @@ public class CgglServiceImpl implements CgglService {
         try {
             String username = SecurityUtils.getUsername();
             List<EscalationTaskDTO> lists = null;
-            if (StringUtils.isNotEmpty(cglx)) {
-                if (cglx.equals("总体规划")) {
-                    cglx = "3";
-                } else if (cglx.equals("详细规划")) {
-                    cglx = "4";
-                } else if (cglx.equals("专项规划")) {
-                    cglx = "5";
+            if ("9".equals(cglx)) {//TODO wanger 村庄规划
+                if ("0".equals(type) || "1".equals(type) || "4".equals(type) || "5".equals(type)) {
+                    type = "10";
+                } else if ("2".equals(type) || "6".equals(type)) {
+                    type = "11";
                 }
-            }
-            if (SecurityUtils.getLoginUserXzq().length() == 4) //市级人员 获取到状态信息
-            {
-                lists = escalationMapper.getSelectCgSclistbyzt(type, xzqdm, cgmc, cglx);
-            } else  //县级人员 获取到状态信息
-            {
-                if (type.equals("2")) {
-                    xzqdm = SecurityUtils.getLoginUserXzq();
-                    lists = escalationMapper.getSelectCgSclistbyztwj(type, xzqdm, cgmc, cglx);
-                } else {
-                    xzqdm = SecurityUtils.getLoginUserXzq();
-                    lists = escalationMapper.getSelectCgSclistbyzt(type, xzqdm, cgmc, cglx);
+                lists = xzczghcgsbMapper.getSelectCgSclistbyzt(type, xzqdm, cgmc, cglx, username);
+            } else {
+                if (StringUtils.isNotEmpty(cglx)) {
+                    if (cglx.equals("总体规划")) {
+                        cglx = "3";
+                    } else if (cglx.equals("详细规划")) {
+                        cglx = "4";
+                    } else if (cglx.equals("专项规划")) {
+                        cglx = "5";
+                    }
                 }
-            }
-            if (lists.size() > 0) {
-                for (int i = lists.size() - 1; i > -1; i--) {
-                    if ("0".equals(lists.get(i).getStatus())) {
-                        lists.remove(i);
+                lists = escalationMapper.getSelectCgSclistbyzt(type, xzqdm, cgmc, cglx, username);
+//            if (SecurityUtils.getLoginUserXzq().length() == 4) //市级人员 获取到状态信息
+//            {
+//                lists = escalationMapper.getSelectCgSclistbyzt(type, xzqdm, cgmc, cglx, username);
+//            } else  //县级人员 获取到状态信息
+//            {
+//                if (type.equals("2")) {
+//                    xzqdm = SecurityUtils.getLoginUserXzq();
+//                    lists = escalationMapper.getSelectCgSclistbyztwj(type, xzqdm, cgmc, cglx);
+//                } else {
+//                    xzqdm = SecurityUtils.getLoginUserXzq();
+//                    lists = escalationMapper.getSelectCgSclistbyzt(type, xzqdm, cgmc, cglx, username);
+//                }
+//            }
+                if (lists.size() > 0) {
+                    for (int i = lists.size() - 1; i > -1; i--) {
+                        if ("0".equals(lists.get(i).getStatus())) {
+                            lists.remove(i);
+                        }
                     }
                 }
             }
-
             Map map = new HashMap();
             //返回结果共多少条
             map.put("number", lists.stream().count());
@@ -744,7 +831,8 @@ public class CgglServiceImpl implements CgglService {
             data.setId(map.get(file.getAbsolutePath()));
             data.setPid(map.get(file.getParent()));
             data.setName(file.getName());
-            data.setFilepath(StringUtils.getGhFileStaticPath(file.getAbsolutePath(), temp));
+//            data.setFilepath(StringUtils.getGhFileStaticPath(file.getAbsolutePath(), temp));
+            data.setFilepath(StringUtils.getFileStaticPath(file.getAbsolutePath()));
             data.setIsparent(true);
             if (file.getName().toLowerCase().indexOf(".gdb") > 0) {
                 data.setFilepath(file.getAbsolutePath());
@@ -777,7 +865,8 @@ public class CgglServiceImpl implements CgglService {
                 data.setId(map.get(file.getAbsolutePath()));
                 data.setPid(map.get(file.getParent()));
                 data.setName(file.getName());
-                data.setFilepath(StringUtils.getGhFileStaticPath(file.getAbsolutePath(), temp));
+//                data.setFilepath(StringUtils.getGhFileStaticPath(file.getAbsolutePath(), temp));
+                data.setFilepath(StringUtils.getFileStaticPath(file.getAbsolutePath()));
                 data.setIsparent(false);
                 allFile.add(data);
             }
@@ -861,4 +950,57 @@ public class CgglServiceImpl implements CgglService {
         return new ArrayList<>();
     }
 
+    @Override
+    public RequestResult insertOrUpdateScmx(ScmxDTO scmxDTO) {
+        if (scmxDTO == null) {
+            return RequestResult.error("参数错误");
+        }
+        try {
+            String id = scmxDTO.getId();
+            if (StringUtils.isEmpty(id)) {
+                scmxDTO.setId(StringUtils.getUUID());
+                scmxMapper.insert(scmxDTO);
+            } else {
+                QueryWrapper<ScmxDTO> wrapper = new QueryWrapper();
+                wrapper.eq("id", id);
+                scmxMapper.update(scmxDTO, wrapper);
+            }
+            return RequestResult.success("成功!", 1);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return RequestResult.error("失败!");
+    }
+
+    @Override
+    public RequestResult scmxDelete(String id) {
+        if (StringUtils.isEmpty(id)) {
+            return RequestResult.error("参数错误");
+        }
+        try {
+            QueryWrapper<ScmxDTO> wrapper = new QueryWrapper();
+            wrapper.eq("id", id);
+            scmxMapper.delete(wrapper);
+            return RequestResult.success("成功!", 1);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return RequestResult.error("失败!");
+    }
+
+    @Override
+    public RequestResult getScmxList(String name) {
+        try {
+            QueryWrapper<ScmxDTO> wrapper = new QueryWrapper();
+            if (StringUtils.isNotEmpty(name)) {
+                wrapper.eq("name", name);
+            }
+            List<ScmxDTO> res = scmxMapper.selectList(wrapper);
+            return RequestResult.success("成功!", res);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return RequestResult.error("失败!");
+    }
+
 }

+ 171 - 121
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/impl/sbjk/XzczghcgsbServiceImpl.java

@@ -4,8 +4,13 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.onemap.apply.domain.cggl.EscalationDTO;
+import com.onemap.apply.domain.cggl.ScmxDTO;
+import com.onemap.apply.domain.cggl.ScmxRecordDTO;
 import com.onemap.apply.domain.sbjk.TjpgsbDTO;
 import com.onemap.apply.domain.sbjk.XzczghcgsbDTO;
+import com.onemap.apply.mapper.cggl.EscalationMapper;
+import com.onemap.apply.mapper.cggl.ScmxMapper;
+import com.onemap.apply.mapper.cggl.ScmxRecordMapper;
 import com.onemap.apply.mapper.sbjk.XzczghcgsbMapper;
 import com.onemap.apply.service.sbjk.XzczghcgsbService;
 import com.onemap.apply.utils.Md5Utils;
@@ -55,6 +60,50 @@ public class XzczghcgsbServiceImpl implements XzczghcgsbService {
     @Autowired
     private RedisService redisService;
 
+    @Autowired
+    private EscalationMapper escalationMapper;
+    @Autowired
+    private ScmxMapper scmxMapper;
+    @Autowired
+    private ScmxRecordMapper scmxRecordMapper;
+
+
+    @Override
+    public RequestResult startcgsc(String scmodel, String jqscmodel, String cgid) {
+        try {
+            //人工审查
+            if (StringUtils.isNotEmpty(scmodel)) {
+                QueryWrapper<XzczghcgsbDTO> wrapper = new QueryWrapper();
+                wrapper.eq("uuid", cgid);
+                XzczghcgsbDTO dto = xzczghcgsbMapper.selectOne(wrapper);
+                dto.setMsg(scmodel);
+                //TODO wanger 增加人工审查模型详情表
+                ScmxDTO scmxdto = scmxMapper.selectById(scmodel);
+                String users = scmxdto.getUsers();
+                if (StringUtils.isNotEmpty(users)) {
+                    String[] userlist = users.split(",");
+                    for (int i = 0; i < userlist.length; i++) {
+                        String userid = userlist[i];
+                        ScmxRecordDTO recordDto = new ScmxRecordDTO();
+                        recordDto.setCgid(cgid);
+                        recordDto.setSort(String.valueOf(i));
+                        recordDto.setUserid(userid);
+                        scmxRecordMapper.insert(recordDto);
+                    }
+                    scmxRecordMapper.updateUserName();
+                } else {
+                    //空的人工审查流程  直接办结
+                    dto.setStatus("11");
+                }
+                xzczghcgsbMapper.update(dto, wrapper);
+            }
+            return RequestResult.success("发起审查成功!");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return RequestResult.error("发起审查失败!");
+    }
+
     /**
      * 查询记录
      *
@@ -119,9 +168,10 @@ public class XzczghcgsbServiceImpl implements XzczghcgsbService {
         xzczghcgsbDTO.setUuid(IdUtils.simpleUUID());
         xzczghcgsbDTO.setUploadTime(new Date());
         //如果是补正数据 直接上报到市级
-        if (!StringUtils.isEmpty(xzczghcgsbDTO.getInstid())) {
-            xzczghcgsbDTO.setStatus("12");
-            xzczghcgsbDTO.setCglevel("2");
+        if (StringUtils.isNotEmpty(xzczghcgsbDTO.getInstid())) {
+            xzczghcgsbDTO.setStatus("11");
+            xzczghcgsbDTO.setCglevel("1");
+            xzczghcgsbDTO.setUploadStatus(2);
         }
         return xzczghcgsbMapper.insert(xzczghcgsbDTO);
     }
@@ -270,26 +320,26 @@ public class XzczghcgsbServiceImpl implements XzczghcgsbService {
             return AjaxResult.error("没有找到改数据!");
         }
         try {
-            if ("2".equals(cglevel)) {
-                setSbjd(uuid, "0/0");
-                //调用厅里接口
-                //获取token授权
-                JSONObject jsonObject = new JSONObject();
-                //组装请求参数
-                jsonObject.put("grant_type", "password");
-                jsonObject.put("username", username);
-                jsonObject.put("password", Md5Utils.hash(password));
-                //调用post请求方法
-                JSONObject tokenJson = RInterfaceUtil.postRemote(null, oauthUrl, jsonObject, null);
-                System.out.println(tokenJson);
-                String token = "";
-                String error = "";
-                String fileMd5 = "";
+//            if ("2".equals(cglevel)) {
+            setSbjd(uuid, "0/0");
+            //调用厅里接口
+            //获取token授权
+            JSONObject jsonObject = new JSONObject();
+            //组装请求参数
+            jsonObject.put("grant_type", "password");
+            jsonObject.put("username", username);
+            jsonObject.put("password", Md5Utils.hash(password));
+            //调用post请求方法
+            JSONObject tokenJson = RInterfaceUtil.postRemote(null, oauthUrl, jsonObject, null);
+            System.out.println(tokenJson);
+            String token = "";
+            String error = "";
+            String fileMd5 = "";
 
-                if (tokenJson.containsKey("success") && tokenJson.getBoolean("success")
-                        && tokenJson.containsKey("data") && tokenJson.getJSONObject("data").containsKey("access_token")) {
-                    token = tokenJson.getJSONObject("data").getString("access_token");
-                    System.out.println(token);
+            if (tokenJson.containsKey("success") && tokenJson.getBoolean("success")
+                    && tokenJson.containsKey("data") && tokenJson.getJSONObject("data").containsKey("access_token")) {
+                token = tokenJson.getJSONObject("data").getString("access_token");
+                System.out.println(token);
 //                token = tokenJson.getJSONObject("data").getString("access_token");
 //                //调用上传接口
 //                Map<String, Object> paramFile = new HashMap<>();
@@ -307,121 +357,121 @@ public class XzczghcgsbServiceImpl implements XzczghcgsbService {
 //                xzczghcgsbDTO.setUploadTime(new Date());
 //                update(xzczghcgsbDTO);
 
-                    //获取文件md5
-                    if (xzczghcgsbDTO != null) {
-                        File file = new File(xzczghcgsbDTO.getFilePath());
-                        if (file.exists()) {
-                            fileMd5 = Md5Utils.getMD5(file);
-                            JSONObject jsonObjectMd5 = new JSONObject();
-                            jsonObjectMd5.put("fileName", file.getName());
-                            jsonObjectMd5.put("fileSize", file.length());
-                            jsonObjectMd5.put("fileMd5", fileMd5);
-                            //每个切片文件大小
-                            long mod = file.length() % RInterfaceUtil.sliceSize;
-                            long totalSliceNum = file.length() / RInterfaceUtil.sliceSize;
-                            if (mod > 0) {
-                                totalSliceNum = totalSliceNum + 1;
-                            }
-                            if (!StringUtils.isEmpty(xzczghcgsbDTO.getInstid())) {
-                                jsonObjectMd5.put("instId", xzczghcgsbDTO.getInstid());
+                //获取文件md5
+                if (xzczghcgsbDTO != null) {
+                    File file = new File(xzczghcgsbDTO.getFilePath());
+                    if (file.exists()) {
+                        fileMd5 = Md5Utils.getMD5(file);
+                        JSONObject jsonObjectMd5 = new JSONObject();
+                        jsonObjectMd5.put("fileName", file.getName());
+                        jsonObjectMd5.put("fileSize", file.length());
+                        jsonObjectMd5.put("fileMd5", fileMd5);
+                        //每个切片文件大小
+                        long mod = file.length() % RInterfaceUtil.sliceSize;
+                        long totalSliceNum = file.length() / RInterfaceUtil.sliceSize;
+                        if (mod > 0) {
+                            totalSliceNum = totalSliceNum + 1;
+                        }
+                        if (!StringUtils.isEmpty(xzczghcgsbDTO.getInstid())) {
+                            jsonObjectMd5.put("instId", xzczghcgsbDTO.getInstid());
+                        }
+                        jsonObjectMd5.put("totalSliceNum", totalSliceNum);
+                        jsonObjectMd5.put("curSliceOrder", 0);
+                        jsonObjectMd5.put("resetSliceOrder2Zero", false);
+                        JSONObject reStrMd5 = RInterfaceUtil.postRemote(token, findByMd5Url, jsonObjectMd5, null);
+                        System.out.println("findByMd5Url : " + findByMd5Url);
+                        if (reStrMd5 != null && reStrMd5.containsKey("success") && reStrMd5.getBoolean("success")) {
+                            System.out.println(reStrMd5);
+                            File toDir = new File(temp + File.separator + fileMd5);
+                            String toFileName = toDir.getAbsolutePath() + File.separator + fileMd5;
+                            if (toDir.exists()) {
+                                FileUtils.deleteDirectory(toDir);
                             }
-                            jsonObjectMd5.put("totalSliceNum", totalSliceNum);
-                            jsonObjectMd5.put("curSliceOrder", 0);
-                            jsonObjectMd5.put("resetSliceOrder2Zero", false);
-                            JSONObject reStrMd5 = RInterfaceUtil.postRemote(token, findByMd5Url, jsonObjectMd5, null);
-                            System.out.println("findByMd5Url : " + findByMd5Url);
-                            if (reStrMd5 != null && reStrMd5.containsKey("success") && reStrMd5.getBoolean("success")) {
-                                System.out.println(reStrMd5);
-                                File toDir = new File(temp + File.separator + fileMd5);
-                                String toFileName = toDir.getAbsolutePath() + File.separator + fileMd5;
-                                if (toDir.exists()) {
-                                    FileUtils.deleteDirectory(toDir);
-                                }
-                                toDir.mkdirs();
-                                //切割文件,是否成功
-                                long curSliceSize = RInterfaceUtil.spilt(file.getAbsolutePath(), toFileName, ".");
-                                if (curSliceSize > 0) {
-                                    JSONObject reStrFileUpload = null;
-                                    //上传zip文件分片
-                                    int startIndex = 0;
-                                    try {
-                                        if (reStrMd5 != null && reStrMd5.containsKey("data") && reStrMd5.getJSONObject("data") != null) {
-                                            startIndex = reStrMd5.getJSONObject("data").getInteger("curSliceOrder");
-                                        }
-                                    } catch (Exception r) {
+                            toDir.mkdirs();
+                            //切割文件,是否成功
+                            long curSliceSize = RInterfaceUtil.spilt(file.getAbsolutePath(), toFileName, ".");
+                            if (curSliceSize > 0) {
+                                JSONObject reStrFileUpload = null;
+                                //上传zip文件分片
+                                int startIndex = 0;
+                                try {
+                                    if (reStrMd5 != null && reStrMd5.containsKey("data") && reStrMd5.getJSONObject("data") != null) {
+                                        startIndex = reStrMd5.getJSONObject("data").getInteger("curSliceOrder");
+                                    }
+                                } catch (Exception r) {
 
+                                }
+                                setSbjd(uuid, (startIndex + 1) + "/" + totalSliceNum);
+                                //上传zip文件分片
+                                for (int i = startIndex; i < totalSliceNum; i++) {
+                                    // 生成文件的路径
+                                    String t = toFileName + "." + i;
+                                    Map<String, Object> paramFile = new HashMap<>();
+                                    File f = new File(t);
+                                    paramFile.put("name", file.getName());
+                                    paramFile.put("year", xzczghcgsbDTO.getYear());
+                                    paramFile.put("zipFileSlice", f);
+                                    paramFile.put("zipMd5", fileMd5);
+                                    paramFile.put("totalSliceNum", totalSliceNum);
+                                    paramFile.put("curSliceOrder", i);
+                                    //上传文件总大小
+                                    paramFile.put("curSliceSize", 10240 * 1024);
+                                    if (!StringUtils.isEmpty(xzczghcgsbDTO.getInstid())) {
+                                        paramFile.put("instId", xzczghcgsbDTO.getInstid());
                                     }
-                                    setSbjd(uuid, (startIndex + 1) + "/" + totalSliceNum);
-                                    //上传zip文件分片
-                                    for (int i = startIndex; i < totalSliceNum; i++) {
-                                        // 生成文件的路径
-                                        String t = toFileName + "." + i;
-                                        Map<String, Object> paramFile = new HashMap<>();
-                                        File f = new File(t);
-                                        paramFile.put("name", file.getName());
-                                        paramFile.put("year", xzczghcgsbDTO.getYear());
-                                        paramFile.put("zipFileSlice", f);
-                                        paramFile.put("zipMd5", fileMd5);
-                                        paramFile.put("totalSliceNum", totalSliceNum);
-                                        paramFile.put("curSliceOrder", i);
-                                        //上传文件总大小
-                                        paramFile.put("curSliceSize", 10240 * 1024);
-                                        if (!StringUtils.isEmpty(xzczghcgsbDTO.getInstid())) {
-                                            paramFile.put("instId", xzczghcgsbDTO.getInstid());
-                                        }
-                                        //当前分片文件大小
+                                    //当前分片文件大小
 //                                            paramFile.put("curSliceSize", f.length());
-                                        reStrFileUpload = RInterfaceUtil.postRemote(token, xzczghcgsbUplaodUrl, null, paramFile);
-                                        System.out.println("reStrFileUpload :" + reStrFileUpload);
-                                        if (reStrFileUpload.containsKey("code") && !"200".equals(reStrFileUpload.getString("code"))) {
-                                            System.out.println("上传规划成果数据分片失败,分片数: " + i + "  !");
-                                            xzczghcgsbDTO.setUploadStatus(-1);
-                                            xzczghcgsbDTO.setMsg(reStrFileUpload.toString());
-                                            update(xzczghcgsbDTO);
-                                            return AjaxResult.error("上传分片数据" + i + "失败:" + reStrFileUpload.toString() + "!");
-                                        } else {
-                                            setSbjd(uuid, (i + 1) + "/" + totalSliceNum);
-                                        }
+                                    reStrFileUpload = RInterfaceUtil.postRemote(token, xzczghcgsbUplaodUrl, null, paramFile);
+                                    System.out.println("reStrFileUpload :" + reStrFileUpload);
+                                    if (reStrFileUpload.containsKey("code") && !"200".equals(reStrFileUpload.getString("code"))) {
+                                        System.out.println("上传规划成果数据分片失败,分片数: " + i + "  !");
+                                        xzczghcgsbDTO.setUploadStatus(-1);
+                                        xzczghcgsbDTO.setMsg(reStrFileUpload.toString());
+                                        update(xzczghcgsbDTO);
+                                        return AjaxResult.error("上传分片数据" + i + "失败:" + reStrFileUpload.toString() + "!");
+                                    } else {
+                                        setSbjd(uuid, (i + 1) + "/" + totalSliceNum);
                                     }
-                                    if (reStrFileUpload != null && reStrFileUpload.containsKey("success") && reStrFileUpload.getBoolean("success")) {
-                                        if (toDir.exists()) {
-                                            //删除临时文件
+                                }
+                                if (reStrFileUpload != null && reStrFileUpload.containsKey("success") && reStrFileUpload.getBoolean("success")) {
+                                    if (toDir.exists()) {
+                                        //删除临时文件
 //                                                FileUtils.deleteDirectory(toDir);
 
-                                        }
-                                        xzczghcgsbDTO.setMsg(reStrFileUpload.toString());
-                                        xzczghcgsbDTO.setStatus(cglevel + "2");
-                                        xzczghcgsbDTO.setUploadTime(new Date());
-                                        //补正的村庄规划成果上传完成后,将instid后面追加#标识为历史,当自治区再次推送到待办任务不再限制上传按钮
-                                        if (!StringUtils.isEmpty(xzczghcgsbDTO.getInstid())) {
-                                            xzczghcgsbDTO.setInstid(xzczghcgsbDTO.getInstid() + "#");
-                                        }
-                                        update(xzczghcgsbDTO);
-                                        return AjaxResult.success("上报成功");
                                     }
+                                    xzczghcgsbDTO.setMsg(reStrFileUpload.toString());
+                                    xzczghcgsbDTO.setStatus(cglevel + "2");
+                                    xzczghcgsbDTO.setUploadTime(new Date());
+                                    //补正的村庄规划成果上传完成后,将instid后面追加#标识为历史,当自治区再次推送到待办任务不再限制上传按钮
+                                    if (!StringUtils.isEmpty(xzczghcgsbDTO.getInstid())) {
+                                        xzczghcgsbDTO.setInstid(xzczghcgsbDTO.getInstid() + "#");
+                                    }
+                                    update(xzczghcgsbDTO);
+                                    return AjaxResult.success("上报成功");
                                 }
-                            } else {
-                                xzczghcgsbDTO.setUploadStatus(-1);
-                                xzczghcgsbDTO.setMsg(reStrMd5.toString());
-                                xzczghcgsbDTO.setUploadTime(new Date());
-                                update(xzczghcgsbDTO);
-                                return AjaxResult.error("上传规划成果数据接口-查询MD5值接口失败!", false);
                             }
                         } else {
-                            System.out.println("成果文件不存在!");
-                            return AjaxResult.error("成果文件不存在!", false);
+                            xzczghcgsbDTO.setUploadStatus(-1);
+                            xzczghcgsbDTO.setMsg(reStrMd5.toString());
+                            xzczghcgsbDTO.setUploadTime(new Date());
+                            update(xzczghcgsbDTO);
+                            return AjaxResult.error("上传规划成果数据接口-查询MD5值接口失败!", false);
                         }
+                    } else {
+                        System.out.println("成果文件不存在!");
+                        return AjaxResult.error("成果文件不存在!", false);
                     }
-                    return AjaxResult.success("上报成功");
-                } else {
-                    return AjaxResult.error(tokenJson.toJSONString());
                 }
-            } else {
-                xzczghcgsbDTO.setStatus(cglevel + "2");
-                xzczghcgsbDTO.setCglevel("2");
-                update(xzczghcgsbDTO);
                 return AjaxResult.success("上报成功");
+            } else {
+                return AjaxResult.error(tokenJson.toJSONString());
             }
+//            } else {
+//                xzczghcgsbDTO.setStatus(cglevel + "2");
+//                xzczghcgsbDTO.setCglevel("2");
+//                update(xzczghcgsbDTO);
+//                return AjaxResult.success("上报成功");
+//            }
         } catch (Exception e) {
             xzczghcgsbDTO.setUploadStatus(-1);
             xzczghcgsbDTO.setMsg(e.toString());

+ 3 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/sbjk/XzczghcgsbService.java

@@ -3,6 +3,7 @@ package com.onemap.apply.service.sbjk;
 
 import com.onemap.apply.domain.sbjk.XzczghcgsbDTO;
 import com.onemap.common.core.web.domain.AjaxResult;
+import com.onemap.common.core.web.domain.RequestResult;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
@@ -58,4 +59,6 @@ public interface XzczghcgsbService {
     AjaxResult reportSubmit(String uuid,String cglevel);
 
     List<String> getInstIds(String param);
+
+    RequestResult startcgsc(String scmodel, String jqscmodel, String cgid);
 }

+ 1 - 1
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/task/CgjcSchedule.java

@@ -40,7 +40,7 @@ public class CgjcSchedule {
      * initialDelayString:与initialDelay一样,只是参数类型String
      */
     @Async("taskExecutor")
-    @Scheduled(fixedDelay = TIME_INTERVAL)
+//    @Scheduled(fixedDelay = TIME_INTERVAL)
     public void CgscStatus() {
         try {
             String id = escalationMapper.selectWaitCheck("");

+ 65 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/task/RedundancyFileSchedule.java

@@ -0,0 +1,65 @@
+package com.onemap.apply.task;
+
+import com.onemap.apply.mapper.cggl.EscalationFileMapper;
+import com.onemap.apply.mapper.cggl.EscalationMapper;
+import com.onemap.apply.utils.HttpClientUtil;
+import com.onemap.common.core.utils.StringUtils;
+import org.apache.commons.io.FileUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 删除冗余的规划成果包
+ */
+@Component
+public class RedundancyFileSchedule {
+    //间隔时间 单位ms
+    public static final long TIME_INTERVAL = 1 * 2000000;
+    //制图图片拼接时间戳格式
+    private SimpleDateFormat timeFormat = new SimpleDateFormat("yyyyMMddHHmmss");
+    @Resource
+    private EscalationMapper escalationMapper;
+    @Resource
+    private EscalationFileMapper escalationFileMapper;
+
+    /**
+     * Scheduled 定时器参数
+     * cron表达式:指定任务在特定时间执行
+     * fixedDelay:表示上一次任务执行完成后多久再执行,参数类型long,单位:ms
+     * fixedDelayString:与fixedDelay一样,只是参数类型是String
+     * fixedRate:表示按一定的频率执行任务,参数类型long,单位:ms 如: fixedRate(5000),表示这个定时器任务每5秒执行一次
+     * fixedRateString:与fixedRate一样,只是参数类型变为String
+     * initialDelay:表示延迟多久再第一次执行任务,参数类型为long ,单位:ms
+     * initialDelayString:与initialDelay一样,只是参数类型String
+     */
+    @Async("taskExecutor")
+    @Scheduled(fixedDelay = TIME_INTERVAL)
+    public void CgscStatus() {
+        try {
+            //查询所有未关联上的规划成果包数据列表
+            List<String> filepathlist =  escalationMapper.selectRedundancyFiles();
+            for(int i = 0 ; i < filepathlist.size() ;  i ++){
+                String filepath = filepathlist.get(i);
+                //删除文件夹
+                try{
+                    File file = new File(filepath);
+                    File parentDir = file.getParentFile();
+                    FileUtils.deleteDirectory(parentDir);
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }
+            escalationMapper.deleteRedundancyFiles();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

+ 37 - 7
onemap-modules/onemap-apply/src/main/resources/mapper/oracle/cggl/EscalationMapper.xml

@@ -19,7 +19,8 @@
     </sql>
 
     <sql id="GhcgSbqkWhere2">
-        where cglevel = '1' and uploadstatus != '6' and plantype = '3' and sczt in ('4','5','6','7') and xzqdm is not null
+        where cglevel = '1' and uploadstatus != '6' and plantype = '3' and sczt in ('4','5','6','7') and xzqdm is not
+        null
         <if test="year != null and year != ''">
             and year like #{year}||'%'
         </if>
@@ -129,7 +130,7 @@
         <if test="year != null and year != ''">
             and ta.year like #{year}||'%'
         </if>
-        and ta.plantype = '3'  and ta.xzqdm = t.id and ta.sczt in ('5','6','7')) as "total"
+        and ta.plantype = '3' and ta.xzqdm = t.id and ta.sczt in ('5','6','7')) as "total"
         from v_yzt_zysxcx t where length(id) = 6 and type = 'XZQ'
     </select>
 
@@ -219,16 +220,29 @@
         s.path as "filepath",
         s.status as "status",
         m.modelsname as "modelsname"
-        from (select * from t_cggl_escalation where sczt=#{type} and uploadstatus != '6'
+        from (select * from t_cggl_escalation cg where cg.sczt=#{type} and cg.uploadstatus != '6'
         <if test="xzqdm != null and xzqdm != ''">
-            and xzqdm like '%'||#{xzqdm}||'%'
+            and cg.xzqdm like '%'||#{xzqdm}||'%'
         </if>
         <if test="cgmc != null and cgmc != ''">
-            and name like '%'||#{cgmc}||'%'
+            and cg.name like '%'||#{cgmc}||'%'
         </if>
         <if test="cglx != null and cglx != ''">
-            and plantype =#{cglx}
+            and cg.plantype =#{cglx}
         </if>
+        <choose>
+            <when test="type == '4'.toString() or type == '5'.toString()">
+                and (select record.userid from t_cggl_scmx_record record where record.cgid = cg.id and record.scjl is
+                null and rownum = 1) = #{username}
+            </when>
+            <when test="type == '6'.toString() or type == '7'.toString()">
+                and cg.scmodel in ( select id from t_cggl_scmx where users like '%'||#{username}||'%' )
+            </when>
+            <otherwise>
+
+            </otherwise>
+        </choose>
+
         ) t
         left join t_cggl_escalation_file s
         on s.id = t.fileid
@@ -405,7 +419,7 @@
             and t.year like #{year}||'%'
         </if>
         <if test="xzqdm != null and xzqdm != ''">
-            and t.xzqdm like  '%'||#{xzqdm}||'%'
+            and t.xzqdm like '%'||#{xzqdm}||'%'
         </if>
         <choose>
             <when test="uploadstatus != null and uploadstatus != ''">
@@ -449,4 +463,20 @@ select distinct (t.instid)
      where t.instid is not null
        and t.instid not like '%#'
     </select>
+
+    <update id="updateCgScModel">
+        update t_cggl_escalation set scmodel = #{scmodel} where id = #{cgid}
+    </update>
+
+    <update id="updateCgScZt">
+        update t_cggl_escalation set sczt = #{sczt} where id = #{cgid}
+    </update>
+
+    <select id="selectRedundancyFiles" resultType="java.lang.String">
+        select path from T_CGGL_ESCALATION_FILE t where t.id not in (select fileid from T_CGGL_ESCALATION tt)
+    </select>
+
+    <delete id="deleteRedundancyFiles">
+        delete from T_CGGL_ESCALATION_FILE t where t.id not in (select fileid from T_CGGL_ESCALATION tt)
+    </delete>
 </mapper>

+ 25 - 0
onemap-modules/onemap-apply/src/main/resources/mapper/oracle/cggl/ScmxRecordMapper.xml

@@ -0,0 +1,25 @@
+<?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.onemap.apply.mapper.cggl.ScmxRecordMapper">
+
+    <update id="updateUserName">
+        update t_cggl_scmx_record t set t.username =
+        (select distinct(nick_name) from sys_user where user_name = t.userid and del_flag = 0 )
+        where t.username is null
+    </update>
+
+    <update id="updateScyj" parameterType="java.lang.String">
+        update t_cggl_scmx_record t set scyj = #{scyj} ,
+        scjl = #{scjl},
+        sctime = sysdate
+        where cgid = #{cgid} and userid = #{userid}
+    </update>
+
+    <select id="scIsEnd" parameterType="java.lang.String" resultType="java.lang.Integer">
+        select count(1) from t_cggl_scmx_record t where t.cgid = #{cgid} and t.scjl is null
+    </select>
+
+
+</mapper>

+ 47 - 0
onemap-modules/onemap-apply/src/main/resources/mapper/oracle/sbjk/XzxzghcgsbMapper.xml

@@ -22,5 +22,52 @@
        and s.instid not like '%#'
     </select>
 
+    <select id="getSelectCgSclistbyzt" parameterType="java.lang.String"
+            resultType="com.onemap.apply.domain.cggl.EscalationTaskDTO">
+        select t.uuid "id",
+        '村庄规划' "plantype",
+        (case
+        when t.status = '10' then
+        '待审'
+        when t.status = '11' then
+        '完结'
+        end) "sczt",
+        t.file_path "filepath",
+        t.file_name "name",
+        t.upload_status,
+        t.upload_time "uploadtime",
+        t.task_id,
+        t.status,
+        t.cglevel,
+        t.county,
+        t.town,
+        t.village,
+        t.xzq_code "xzqdm",
+        t.xzq_name "xzqmc",
+        t.year,
+        t.msg,
+        t.instid from t_xzczghcgsb t
+        where 1 = 1
+        <if test="xzqdm != null and xzqdm != ''">
+            and t.xzq_code like '%'||#{xzqdm}||'%'
+        </if>
+        <if test="cgmc != null and cgmc != ''">
+            and t.xzq_name like '%'||#{cgmc}||'%'
+        </if>
+        <choose>
+            <when test="type == '10'.toString()">
+                and (select record.userid from t_cggl_scmx_record record where record.cgid = t.uuid and (record.scjl is
+                null or record.scjl = '') and rownum = 1 ) = #{username}
+            </when>
+            <when test="type == '11'.toString()">
+                and t.msg in ( select id from t_cggl_scmx where users like '%'||#{username}||'%' )
+            </when>
+            <otherwise>
+
+            </otherwise>
+        </choose>
+        order by upload_time desc
+    </select>
+
 
 </mapper>

+ 4 - 4
onemap-modules/onemap-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml

@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.onemap.gen.mapper.GenTableColumnMapper">
 
-    <resultMap type="GenTableColumn" id="GenTableColumnResult">
+    <resultMap type="com.onemap.gen.domain.GenTableColumn" id="GenTableColumnResult">
         <id     property="columnId"       column="column_id"      />
         <result property="tableId"        column="table_id"       />
         <result property="columnName"     column="column_name"    />
@@ -33,7 +33,7 @@
         select column_id, table_id, column_name, column_comment, column_type, java_type, java_field, is_pk, is_increment, is_required, is_insert, is_edit, is_list, is_query, query_type, html_type, dict_type, sort, create_by, create_time, update_by, update_time from gen_table_column
     </sql>
 
-    <select id="selectGenTableColumnListByTableId" parameterType="GenTableColumn" resultMap="GenTableColumnResult">
+    <select id="selectGenTableColumnListByTableId" parameterType="com.onemap.gen.domain.GenTableColumn" resultMap="GenTableColumnResult">
         <include refid="selectGenTableColumnVo"/>
         where table_id = #{tableId}
         order by sort
@@ -60,7 +60,7 @@
           ORDER BY temp.column_id
 	</select>
 
-    <insert id="insertGenTableColumn" parameterType="GenTableColumn">
+    <insert id="insertGenTableColumn" parameterType="com.onemap.gen.domain.GenTableColumn">
         <selectKey keyProperty="columnId" resultType="long" order="BEFORE">
             SELECT seq_gen_table_column.NEXTVAL as columnId FROM DUAL
         </selectKey>
@@ -109,7 +109,7 @@
         )
     </insert>
 
-    <update id="updateGenTableColumn" parameterType="GenTableColumn">
+    <update id="updateGenTableColumn" parameterType="com.onemap.gen.domain.GenTableColumn">
         update gen_table_column
         <set>
             column_comment = #{columnComment},

+ 6 - 6
onemap-modules/onemap-gen/src/main/resources/mapper/generator/GenTableMapper.xml

@@ -4,7 +4,7 @@
 		"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.onemap.gen.mapper.GenTableMapper">
 
-	<resultMap type="GenTable" id="GenTableResult">
+	<resultMap type="com.onemap.gen.domain.GenTable" id="GenTableResult">
 		<id     property="tableId"        column="table_id"          />
 		<result property="tableName"      column="table_name"        />
 		<result property="tableComment"   column="table_comment"     />
@@ -28,7 +28,7 @@
 		<collection  property="columns"  javaType="java.util.List"  resultMap="GenTableColumnResult" />
 	</resultMap>
 
-	<resultMap type="GenTableColumn" id="GenTableColumnResult">
+	<resultMap type="com.onemap.gen.domain.GenTableColumn" id="GenTableColumnResult">
 		<id     property="columnId"       column="column_id"      />
 		<result property="tableId"        column="table_id"       />
 		<result property="columnName"     column="column_name"    />
@@ -57,7 +57,7 @@
         select table_id, table_name, table_comment, sub_table_name, sub_table_fk_name, class_name, tpl_category, package_name, module_name, business_name, function_name, function_author, gen_type, gen_path, options, create_by, create_time, update_by, update_time, remark from gen_table
     </sql>
 
-	<select id="selectGenTableList" parameterType="GenTable" resultMap="GenTableResult">
+	<select id="selectGenTableList" parameterType="com.onemap.gen.domain.GenTable" resultMap="GenTableResult">
 		<include refid="selectGenTableVo"/>
 		<where>
 			<if test="tableName != null and tableName != ''">
@@ -75,7 +75,7 @@
 		</where>
 	</select>
 
-	<select id="selectDbTableList" parameterType="GenTable" resultMap="GenTableResult">
+	<select id="selectDbTableList" parameterType="com.onemap.gen.domain.GenTable" resultMap="GenTableResult">
 		select lower(dt.table_name) as table_name, dtc.comments as table_comment, uo.created as create_time, uo.last_ddl_time as update_time
 		from user_tables dt, user_tab_comments dtc, user_objects uo
 		where dt.table_name = dtc.table_name
@@ -144,7 +144,7 @@
 		order by c.sort
 	</select>
 
-	<insert id="insertGenTable" parameterType="GenTable">
+	<insert id="insertGenTable" parameterType="com.onemap.gen.domain.GenTable">
 		<selectKey keyProperty="tableId" resultType="long" order="BEFORE">
 			SELECT seq_gen_table.NEXTVAL as tableId FROM DUAL
 		</selectKey>
@@ -183,7 +183,7 @@
 		)
 	</insert>
 
-	<update id="updateGenTable" parameterType="GenTable">
+	<update id="updateGenTable" parameterType="com.onemap.gen.domain.GenTable">
 		update gen_table
 		<set>
 			<if test="tableName != null">table_name = #{tableName},</if>

+ 105 - 0
onemap-modules/onemap-system/src/main/java/com/onemap/system/controller/TCgglScmxController.java

@@ -0,0 +1,105 @@
+package com.onemap.system.controller;
+
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.onemap.common.log.annotation.Log;
+import com.onemap.common.log.enums.BusinessType;
+import com.onemap.common.security.annotation.RequiresPermissions;
+import com.onemap.system.domain.TCgglScmx;
+import com.onemap.system.service.ITCgglScmxService;
+import com.onemap.common.core.web.controller.BaseController;
+import com.onemap.common.core.web.domain.AjaxResult;
+import com.onemap.common.core.utils.poi.ExcelUtil;
+import com.onemap.common.core.web.page.TableDataInfo;
+
+/**
+ * 规划成果审查模型配置Controller
+ * 
+ * @author siwei
+ * @date 2025-02-07
+ */
+@RestController
+@RequestMapping("/scmx")
+public class TCgglScmxController extends BaseController
+{
+    @Autowired
+    private ITCgglScmxService tCgglScmxService;
+
+    /**
+     * 查询规划成果审查模型配置列表
+     */
+    @RequiresPermissions("system:scmx:list")
+    @GetMapping("/list")
+    public TableDataInfo list(TCgglScmx tCgglScmx)
+    {
+        startPage();
+        List<TCgglScmx> list = tCgglScmxService.selectTCgglScmxList(tCgglScmx);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出规划成果审查模型配置列表
+     */
+    @RequiresPermissions("system:scmx:export")
+    @Log(title = "规划成果审查模型配置", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TCgglScmx tCgglScmx)
+    {
+        List<TCgglScmx> list = tCgglScmxService.selectTCgglScmxList(tCgglScmx);
+        ExcelUtil<TCgglScmx> util = new ExcelUtil<TCgglScmx>(TCgglScmx.class);
+        util.exportExcel(response, list, "规划成果审查模型配置数据");
+    }
+
+    /**
+     * 获取规划成果审查模型配置详细信息
+     */
+    @RequiresPermissions("system:scmx:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return success(tCgglScmxService.selectTCgglScmxById(id));
+    }
+
+    /**
+     * 新增规划成果审查模型配置
+     */
+    @RequiresPermissions("system:scmx:add")
+    @Log(title = "规划成果审查模型配置", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TCgglScmx tCgglScmx)
+    {
+        return toAjax(tCgglScmxService.insertTCgglScmx(tCgglScmx));
+    }
+
+    /**
+     * 修改规划成果审查模型配置
+     */
+    @RequiresPermissions("system:scmx:edit")
+    @Log(title = "规划成果审查模型配置", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TCgglScmx tCgglScmx)
+    {
+        return toAjax(tCgglScmxService.updateTCgglScmx(tCgglScmx));
+    }
+
+    /**
+     * 删除规划成果审查模型配置
+     */
+    @RequiresPermissions("system:scmx:remove")
+    @Log(title = "规划成果审查模型配置", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(tCgglScmxService.deleteTCgglScmxByIds(ids));
+    }
+}

+ 66 - 0
onemap-modules/onemap-system/src/main/java/com/onemap/system/domain/TCgglScmx.java

@@ -0,0 +1,66 @@
+package com.onemap.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.onemap.common.core.annotation.Excel;
+import com.onemap.common.core.web.domain.BaseEntity;
+
+/**
+ * 规划成果审查模型配置对象 t_cggl_scmx
+ * 
+ * @author siwei
+ * @date 2025-02-07
+ */
+public class TCgglScmx extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键id */
+    private String id;
+
+    /** 名称 */
+    @Excel(name = "名称")
+    private String name;
+
+    /** 审批用户集合,有先后顺序 */
+    @Excel(name = "审批用户集合,有先后顺序")
+    private String users;
+
+    public void setId(String id) 
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setUsers(String users) 
+    {
+        this.users = users;
+    }
+
+    public String getUsers() 
+    {
+        return users;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("users", getUsers())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 61 - 0
onemap-modules/onemap-system/src/main/java/com/onemap/system/mapper/TCgglScmxMapper.java

@@ -0,0 +1,61 @@
+package com.onemap.system.mapper;
+
+import java.util.List;
+import com.onemap.system.domain.TCgglScmx;
+
+/**
+ * 规划成果审查模型配置Mapper接口
+ * 
+ * @author siwei
+ * @date 2025-02-07
+ */
+public interface TCgglScmxMapper 
+{
+    /**
+     * 查询规划成果审查模型配置
+     * 
+     * @param id 规划成果审查模型配置主键
+     * @return 规划成果审查模型配置
+     */
+    public TCgglScmx selectTCgglScmxById(String id);
+
+    /**
+     * 查询规划成果审查模型配置列表
+     * 
+     * @param tCgglScmx 规划成果审查模型配置
+     * @return 规划成果审查模型配置集合
+     */
+    public List<TCgglScmx> selectTCgglScmxList(TCgglScmx tCgglScmx);
+
+    /**
+     * 新增规划成果审查模型配置
+     * 
+     * @param tCgglScmx 规划成果审查模型配置
+     * @return 结果
+     */
+    public int insertTCgglScmx(TCgglScmx tCgglScmx);
+
+    /**
+     * 修改规划成果审查模型配置
+     * 
+     * @param tCgglScmx 规划成果审查模型配置
+     * @return 结果
+     */
+    public int updateTCgglScmx(TCgglScmx tCgglScmx);
+
+    /**
+     * 删除规划成果审查模型配置
+     * 
+     * @param id 规划成果审查模型配置主键
+     * @return 结果
+     */
+    public int deleteTCgglScmxById(String id);
+
+    /**
+     * 批量删除规划成果审查模型配置
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteTCgglScmxByIds(String[] ids);
+}

+ 61 - 0
onemap-modules/onemap-system/src/main/java/com/onemap/system/service/ITCgglScmxService.java

@@ -0,0 +1,61 @@
+package com.onemap.system.service;
+
+import java.util.List;
+import com.onemap.system.domain.TCgglScmx;
+
+/**
+ * 规划成果审查模型配置Service接口
+ * 
+ * @author siwei
+ * @date 2025-02-07
+ */
+public interface ITCgglScmxService 
+{
+    /**
+     * 查询规划成果审查模型配置
+     * 
+     * @param id 规划成果审查模型配置主键
+     * @return 规划成果审查模型配置
+     */
+    public TCgglScmx selectTCgglScmxById(String id);
+
+    /**
+     * 查询规划成果审查模型配置列表
+     * 
+     * @param tCgglScmx 规划成果审查模型配置
+     * @return 规划成果审查模型配置集合
+     */
+    public List<TCgglScmx> selectTCgglScmxList(TCgglScmx tCgglScmx);
+
+    /**
+     * 新增规划成果审查模型配置
+     * 
+     * @param tCgglScmx 规划成果审查模型配置
+     * @return 结果
+     */
+    public int insertTCgglScmx(TCgglScmx tCgglScmx);
+
+    /**
+     * 修改规划成果审查模型配置
+     * 
+     * @param tCgglScmx 规划成果审查模型配置
+     * @return 结果
+     */
+    public int updateTCgglScmx(TCgglScmx tCgglScmx);
+
+    /**
+     * 批量删除规划成果审查模型配置
+     * 
+     * @param ids 需要删除的规划成果审查模型配置主键集合
+     * @return 结果
+     */
+    public int deleteTCgglScmxByIds(String[] ids);
+
+    /**
+     * 删除规划成果审查模型配置信息
+     * 
+     * @param id 规划成果审查模型配置主键
+     * @return 结果
+     */
+    public int deleteTCgglScmxById(String id);
+}

+ 88 - 0
onemap-modules/onemap-system/src/main/java/com/onemap/system/service/impl/TCgglScmxServiceImpl.java

@@ -0,0 +1,88 @@
+package com.onemap.system.service.impl;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.onemap.system.mapper.TCgglScmxMapper;
+import com.onemap.system.domain.TCgglScmx;
+import com.onemap.system.service.ITCgglScmxService;
+
+/**
+ * 规划成果审查模型配置Service业务层处理
+ *
+ * @author siwei
+ * @date 2025-02-07
+ */
+@Service
+public class TCgglScmxServiceImpl implements ITCgglScmxService {
+    @Autowired
+    private TCgglScmxMapper tCgglScmxMapper;
+
+    /**
+     * 查询规划成果审查模型配置
+     *
+     * @param id 规划成果审查模型配置主键
+     * @return 规划成果审查模型配置
+     */
+    @Override
+    public TCgglScmx selectTCgglScmxById(String id) {
+
+        return tCgglScmxMapper.selectTCgglScmxById(id);
+    }
+
+    /**
+     * 查询规划成果审查模型配置列表
+     *
+     * @param tCgglScmx 规划成果审查模型配置
+     * @return 规划成果审查模型配置
+     */
+    @Override
+    public List<TCgglScmx> selectTCgglScmxList(TCgglScmx tCgglScmx) {
+        return tCgglScmxMapper.selectTCgglScmxList(tCgglScmx);
+    }
+
+    /**
+     * 新增规划成果审查模型配置
+     *
+     * @param tCgglScmx 规划成果审查模型配置
+     * @return 结果
+     */
+    @Override
+    public int insertTCgglScmx(TCgglScmx tCgglScmx) {
+        return tCgglScmxMapper.insertTCgglScmx(tCgglScmx);
+    }
+
+    /**
+     * 修改规划成果审查模型配置
+     *
+     * @param tCgglScmx 规划成果审查模型配置
+     * @return 结果
+     */
+    @Override
+    public int updateTCgglScmx(TCgglScmx tCgglScmx) {
+        return tCgglScmxMapper.updateTCgglScmx(tCgglScmx);
+    }
+
+    /**
+     * 批量删除规划成果审查模型配置
+     *
+     * @param ids 需要删除的规划成果审查模型配置主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTCgglScmxByIds(String[] ids) {
+        return tCgglScmxMapper.deleteTCgglScmxByIds(ids);
+    }
+
+    /**
+     * 删除规划成果审查模型配置信息
+     *
+     * @param id 规划成果审查模型配置主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTCgglScmxById(String id) {
+        return tCgglScmxMapper.deleteTCgglScmxById(id);
+    }
+}

+ 67 - 0
onemap-modules/onemap-system/src/main/resources/mapper/oracle/system/TCgglScmxMapper.xml

@@ -0,0 +1,67 @@
+<?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.onemap.system.mapper.TCgglScmxMapper">
+    
+    <resultMap type="TCgglScmx" id="TCgglScmxResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="users"    column="users"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectTCgglScmxVo">
+        select id, name, users, remark from t_cggl_scmx
+    </sql>
+
+    <select id="selectTCgglScmxList" parameterType="TCgglScmx" resultMap="TCgglScmxResult">
+        <include refid="selectTCgglScmxVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like '%'||#{name}||'%' </if>
+            <if test="users != null  and users != ''"> and users like '%'||#{users}||'%' </if>
+        </where>
+    </select>
+    
+    <select id="selectTCgglScmxById" parameterType="String" resultMap="TCgglScmxResult">
+        <include refid="selectTCgglScmxVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertTCgglScmx" parameterType="TCgglScmx">
+        insert into t_cggl_scmx
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="name != null and name != ''">name,</if>
+            <if test="users != null and users != ''">users,</if>
+            <if test="remark != null and remark != ''">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="name != null and name != ''">#{name},</if>
+            <if test="users != null and users != ''">#{users},</if>
+            <if test="remark != null and remark != ''">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTCgglScmx" parameterType="TCgglScmx">
+        update t_cggl_scmx
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null and name != ''">name = #{name},</if>
+            <if test="users != null">users = #{users},</if>
+            <if test="remark != null and remark != ''">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteTCgglScmxById" parameterType="String">
+        delete from t_cggl_scmx where id = #{id}
+    </delete>
+
+    <delete id="deleteTCgglScmxByIds" parameterType="String">
+        delete from t_cggl_scmx where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 1 - 1
onemap-modules/pom.xml

@@ -10,7 +10,7 @@
 
     <modules>
         <module>onemap-system</module>
-<!--        <module>onemap-gen</module>-->
+        <module>onemap-gen</module>
 <!--        <module>onemap-job</module>-->
         <module>onemap-file</module>
         <module>onemap-apply</module>