home 2 years ago
parent
commit
02b382e88e
20 changed files with 344 additions and 478 deletions
  1. 13 1
      hx-common/service-flow/src/main/java/com/fjhx/controller/process/ProcessInfoController.java
  2. 1 33
      hx-common/service-flow/src/main/java/com/fjhx/controller/process/ProcessNodeController.java
  3. 1 33
      hx-common/service-flow/src/main/java/com/fjhx/controller/process/ProcessNodeHandleController.java
  4. 2 1
      hx-common/service-flow/src/main/java/com/fjhx/service/process/ProcessInfoService.java
  5. 1 13
      hx-common/service-flow/src/main/java/com/fjhx/service/process/ProcessNodeHandleService.java
  6. 2 14
      hx-common/service-flow/src/main/java/com/fjhx/service/process/ProcessNodeService.java
  7. 59 9
      hx-common/service-flow/src/main/java/com/fjhx/service/process/impl/ProcessInfoServiceImpl.java
  8. 2 36
      hx-common/service-flow/src/main/java/com/fjhx/service/process/impl/ProcessNodeHandleServiceImpl.java
  9. 2 36
      hx-common/service-flow/src/main/java/com/fjhx/service/process/impl/ProcessNodeServiceImpl.java
  10. 6 0
      hx-service-api/service-flow-api/src/main/java/com/fjhx/constants/FlowExplainConstant.java
  11. 1 1
      hx-service-api/service-flow-api/src/main/java/com/fjhx/entity/process/ProcessInfo.java
  12. 1 1
      hx-service-api/service-flow-api/src/main/java/com/fjhx/enums/ProcessNodeTypeEnum.java
  13. 0 17
      hx-service-api/service-flow-api/src/main/java/com/fjhx/params/process/ProcessInfoEx.java
  14. 0 22
      hx-service-api/service-flow-api/src/main/java/com/fjhx/params/process/ProcessInfoVo.java
  15. 0 17
      hx-service-api/service-flow-api/src/main/java/com/fjhx/params/process/ProcessNodeEx.java
  16. 0 17
      hx-service-api/service-flow-api/src/main/java/com/fjhx/params/process/ProcessNodeHandleEx.java
  17. 0 17
      hx-service-api/service-flow-api/src/main/java/com/fjhx/params/process/ProcessNodeHandleVo.java
  18. 1 6
      hx-service-api/service-flow-api/src/main/java/com/fjhx/params/process/ProcessNodeVo.java
  19. 17 0
      hx-service-api/service-flow-api/src/main/java/com/fjhx/params/process/ProcessObject.java
  20. 235 204
      hx-service/storage/src/main/java/com/fjhx/supplier/mapper/SupplierMapper.xml

+ 13 - 1
hx-common/service-flow/src/main/java/com/fjhx/controller/process/ProcessInfoController.java

@@ -1,6 +1,7 @@
 package com.fjhx.controller.process;
 
 import com.fjhx.entity.process.ProcessInfo;
+import com.fjhx.params.process.ProcessObject;
 import com.fjhx.service.process.ProcessInfoService;
 import org.springblade.core.tool.api.R;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,9 +30,20 @@ public class ProcessInfoController {
      */
     @PostMapping("/addSystem")
     public R addSystem(@RequestBody ProcessInfo processInfo) {
-        processInfoService.addSystem(processInfo);
+        ProcessObject result = processInfoService.addSystem(processInfo);
+        return R.success(result);
+    }
+
+    /**
+     * 编辑系统流程
+     */
+    @PostMapping("/editSystem")
+    public R editSystem(@RequestBody ProcessObject processObject) {
+
+
         return R.success();
     }
 
+
 }
 

+ 1 - 33
hx-common/service-flow/src/main/java/com/fjhx/controller/process/ProcessNodeController.java

@@ -1,21 +1,13 @@
 package com.fjhx.controller.process;
 
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import org.springblade.core.tool.api.R;
-import com.fjhx.entity.process.ProcessNode;
-import com.fjhx.params.process.ProcessNodeVo;
 import com.fjhx.service.process.ProcessNodeService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.Map;
-
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author ${author}
@@ -28,29 +20,5 @@ public class ProcessNodeController {
     @Autowired
     private ProcessNodeService processNodeService;
 
-    @PostMapping("/page")
-    public R page(@RequestBody Map<String, String> condition){
-        Page<ProcessNode> result = processNodeService.getPage(condition);
-        return R.success(result);
-    }
-
-    @PostMapping("/add")
-    public R add(@RequestBody ProcessNodeVo processNodeVo){
-        processNodeService.add(processNodeVo);
-        return R.success();
-    }
-
-    @PostMapping("/edit")
-    public R edit(@RequestBody ProcessNodeVo processNodeVo){
-        processNodeService.edit(processNodeVo);
-        return R.success();
-    }
-
-    @PostMapping("/delete")
-    public R delete(@RequestBody ProcessNodeVo processNodeVo){
-        processNodeService.delete(processNodeVo);
-        return R.success();
-    }
-
 }
 

+ 1 - 33
hx-common/service-flow/src/main/java/com/fjhx/controller/process/ProcessNodeHandleController.java

@@ -1,21 +1,13 @@
 package com.fjhx.controller.process;
 
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import org.springblade.core.tool.api.R;
-import com.fjhx.entity.process.ProcessNodeHandle;
-import com.fjhx.params.process.ProcessNodeHandleVo;
 import com.fjhx.service.process.ProcessNodeHandleService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.Map;
-
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author ${author}
@@ -28,29 +20,5 @@ public class ProcessNodeHandleController {
     @Autowired
     private ProcessNodeHandleService processNodeHandleService;
 
-    @PostMapping("/page")
-    public R page(@RequestBody Map<String, String> condition){
-        Page<ProcessNodeHandle> result = processNodeHandleService.getPage(condition);
-        return R.success(result);
-    }
-
-    @PostMapping("/add")
-    public R add(@RequestBody ProcessNodeHandleVo processNodeHandleVo){
-        processNodeHandleService.add(processNodeHandleVo);
-        return R.success();
-    }
-
-    @PostMapping("/edit")
-    public R edit(@RequestBody ProcessNodeHandleVo processNodeHandleVo){
-        processNodeHandleService.edit(processNodeHandleVo);
-        return R.success();
-    }
-
-    @PostMapping("/delete")
-    public R delete(@RequestBody ProcessNodeHandleVo processNodeHandleVo){
-        processNodeHandleService.delete(processNodeHandleVo);
-        return R.success();
-    }
-
 }
 

+ 2 - 1
hx-common/service-flow/src/main/java/com/fjhx/service/process/ProcessInfoService.java

@@ -2,6 +2,7 @@ package com.fjhx.service.process;
 
 import com.fjhx.base.BaseService;
 import com.fjhx.entity.process.ProcessInfo;
+import com.fjhx.params.process.ProcessObject;
 
 /**
  * <p>
@@ -13,6 +14,6 @@ import com.fjhx.entity.process.ProcessInfo;
  */
 public interface ProcessInfoService extends BaseService<ProcessInfo> {
 
-    void addSystem(ProcessInfo processInfo);
+    ProcessObject addSystem(ProcessInfo processInfo);
 
 }

+ 1 - 13
hx-common/service-flow/src/main/java/com/fjhx/service/process/ProcessNodeHandleService.java

@@ -1,11 +1,7 @@
 package com.fjhx.service.process;
 
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.entity.process.ProcessNodeHandle;
-import com.fjhx.params.process.ProcessNodeHandleVo;
 import com.fjhx.base.BaseService;
-
-import java.util.Map;
+import com.fjhx.entity.process.ProcessNodeHandle;
 
 /**
  * <p>
@@ -17,12 +13,4 @@ import java.util.Map;
  */
 public interface ProcessNodeHandleService extends BaseService<ProcessNodeHandle> {
 
-    Page<ProcessNodeHandle> getPage(Map<String, String> condition);
-
-    void add(ProcessNodeHandleVo processNodeHandleVo);
-
-    void edit(ProcessNodeHandleVo processNodeHandleVo);
-
-    void delete(ProcessNodeHandleVo processNodeHandleVo);
-
 }

+ 2 - 14
hx-common/service-flow/src/main/java/com/fjhx/service/process/ProcessNodeService.java

@@ -1,15 +1,11 @@
 package com.fjhx.service.process;
 
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.entity.process.ProcessNode;
-import com.fjhx.params.process.ProcessNodeVo;
 import com.fjhx.base.BaseService;
-
-import java.util.Map;
+import com.fjhx.entity.process.ProcessNode;
 
 /**
  * <p>
- *  服务类
+ * 服务类
  * </p>
  *
  * @author ${author}
@@ -17,12 +13,4 @@ import java.util.Map;
  */
 public interface ProcessNodeService extends BaseService<ProcessNode> {
 
-    Page<ProcessNode> getPage(Map<String, String> condition);
-
-    void add(ProcessNodeVo processNodeVo);
-
-    void edit(ProcessNodeVo processNodeVo);
-
-    void delete(ProcessNodeVo processNodeVo);
-
 }

+ 59 - 9
hx-common/service-flow/src/main/java/com/fjhx/service/process/impl/ProcessInfoServiceImpl.java

@@ -5,11 +5,14 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.constants.FlowExplainConstant;
 import com.fjhx.constants.ProcessConstant;
+import com.fjhx.constants.StatusConstant;
 import com.fjhx.entity.process.ProcessInfo;
-import com.fjhx.entity.process.ProcessNode;
+import com.fjhx.enums.ProcessInfoParallelRulesEnum;
 import com.fjhx.enums.ProcessNodeHandleObjectTypeEnum;
 import com.fjhx.enums.ProcessNodeTypeEnum;
 import com.fjhx.mapper.process.ProcessInfoMapper;
+import com.fjhx.params.process.ProcessNodeVo;
+import com.fjhx.params.process.ProcessObject;
 import com.fjhx.service.process.ProcessInfoService;
 import com.fjhx.service.process.ProcessNodeService;
 import com.fjhx.utils.Assert;
@@ -17,6 +20,8 @@ import org.springblade.common.constant.CommonConstant;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Arrays;
+
 /**
  * <p>
  * 服务实现类
@@ -32,17 +37,56 @@ public class ProcessInfoServiceImpl extends ServiceImpl<ProcessInfoMapper, Proce
     private ProcessNodeService processNodeService;
 
     @Override
-    public void addSystem(ProcessInfo processInfo) {
-        // 编码非空
-        String code = processInfo.getCode();
-        Assert.notEmpty(code, FlowExplainConstant.CODE_EMPTY);
+    public ProcessObject addSystem(ProcessInfo processInfo) {
+
+        // 验证字段
+        verificationField(processInfo);
 
         // 验证编码唯一性
-        Integer count = count(ProcessInfo::getCode, code);
+        Integer count = count(ProcessInfo::getCode, processInfo.getCode());
         Assert.eqZero(count, FlowExplainConstant.PROCESS_EXIST);
 
+        // 设为当前版本
+        processInfo.setCurrent(StatusConstant.YES);
+
+        // 系统流程不绑定任何租户
+        processInfo.setBindingTenantId(null);
 
+        // 版本号为空,设为默认值
+        if (ObjectUtil.isEmpty(processInfo.getVersionNumber())) {
+            processInfo.setVersionNumber(ProcessConstant.DEFAULT_VERSION_NUMBER);
+        }
+
+        // 并行规则
+        if (ObjectUtil.isEmpty(processInfo.getParallelRules())) {
+            processInfo.setParallelRules(ProcessInfoParallelRulesEnum.no.getType());
+        }
 
+        // 创建流程
+        return createProcess(processInfo);
+
+    }
+
+    /**
+     * 验证字段
+     */
+    private void verificationField(ProcessInfo processInfo) {
+
+        // 编码非空
+        String code = processInfo.getCode();
+        Assert.notEmpty(code, FlowExplainConstant.CODE_EMPTY);
+
+        // 服务名称非空
+        String serviceName = processInfo.getServiceName();
+        Assert.notEmpty(serviceName, FlowExplainConstant.SERVICE_NAME_EMPTY);
+
+        // 模块名称非空
+        String moduleName = processInfo.getModuleName();
+        Assert.notEmpty(moduleName, FlowExplainConstant.MODULE_NAME_EMPTY);
+
+        // 流程名称非空
+        String name = processInfo.getName();
+        Assert.notEmpty(name, FlowExplainConstant.PROCESS_NAME);
 
     }
 
@@ -50,7 +94,7 @@ public class ProcessInfoServiceImpl extends ServiceImpl<ProcessInfoMapper, Proce
     /**
      * 生成默认流程
      */
-    private void createProcess(ProcessInfo processInfo) {
+    private ProcessObject createProcess(ProcessInfo processInfo) {
 
         // 保存流程
         save(processInfo);
@@ -58,7 +102,7 @@ public class ProcessInfoServiceImpl extends ServiceImpl<ProcessInfoMapper, Proce
         Long processInfoId = processInfo.getId();
 
         // 生成默认开始节点
-        ProcessNode startProcessNode = new ProcessNode();
+        ProcessNodeVo startProcessNode = new ProcessNodeVo();
         startProcessNode.setType(ProcessNodeTypeEnum.start.getType());
         startProcessNode.setProcessInfoId(processInfoId);
         startProcessNode.setParentId(CommonConstant.TOP_PARENT_ID);
@@ -69,7 +113,7 @@ public class ProcessInfoServiceImpl extends ServiceImpl<ProcessInfoMapper, Proce
 
         // 生成默认结束节点
         Long startProcessNodeId = startProcessNode.getId();
-        ProcessNode endProcessNode = new ProcessNode();
+        ProcessNodeVo endProcessNode = new ProcessNodeVo();
         endProcessNode.setType(ProcessNodeTypeEnum.end.getType());
         endProcessNode.setProcessInfoId(processInfoId);
         endProcessNode.setParentId(startProcessNodeId);
@@ -77,6 +121,12 @@ public class ProcessInfoServiceImpl extends ServiceImpl<ProcessInfoMapper, Proce
         endProcessNode.setCode(ProcessConstant.END_CODE);
         processNodeService.save(endProcessNode);
 
+        ProcessObject processObject = new ProcessObject();
+        processObject.setProcessInfo(processInfo);
+        processObject.setProcessNodeList(Arrays.asList(startProcessNode, endProcessNode));
+
+        return processObject;
+
     }
 
     /**

+ 2 - 36
hx-common/service-flow/src/main/java/com/fjhx/service/process/impl/ProcessNodeHandleServiceImpl.java

@@ -1,21 +1,14 @@
 package com.fjhx.service.process.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.utils.WrapperUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.entity.process.ProcessNodeHandle;
-import com.fjhx.params.process.ProcessNodeHandleVo;
 import com.fjhx.mapper.process.ProcessNodeHandleMapper;
 import com.fjhx.service.process.ProcessNodeHandleService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
-import java.util.Map;
-
 /**
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  *
  * @author ${author}
@@ -24,31 +17,4 @@ import java.util.Map;
 @Service
 public class ProcessNodeHandleServiceImpl extends ServiceImpl<ProcessNodeHandleMapper, ProcessNodeHandle> implements ProcessNodeHandleService {
 
-    @Override
-    public Page<ProcessNodeHandle> getPage(Map<String, String> condition) {
-
-        QueryWrapper<ProcessNodeHandle> wrapper = Wrappers.query();
-
-        WrapperUtil.init(condition, wrapper)
-                .createTimeDesc();
-
-        Page<ProcessNodeHandle> page = page(condition, wrapper);
-        return page;
-    }
-
-    @Override
-    public void add(ProcessNodeHandleVo processNodeHandleVo) {
-        save(processNodeHandleVo);
-    }
-
-    @Override
-    public void edit(ProcessNodeHandleVo processNodeHandleVo) {
-        updateById(processNodeHandleVo);
-    }
-
-    @Override
-    public void delete(ProcessNodeHandleVo processNodeHandleVo) {
-        removeById(processNodeHandleVo.getId());
-    }
-
 }

+ 2 - 36
hx-common/service-flow/src/main/java/com/fjhx/service/process/impl/ProcessNodeServiceImpl.java

@@ -1,21 +1,14 @@
 package com.fjhx.service.process.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.utils.WrapperUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.entity.process.ProcessNode;
-import com.fjhx.params.process.ProcessNodeVo;
 import com.fjhx.mapper.process.ProcessNodeMapper;
 import com.fjhx.service.process.ProcessNodeService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
-import java.util.Map;
-
 /**
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  *
  * @author ${author}
@@ -24,31 +17,4 @@ import java.util.Map;
 @Service
 public class ProcessNodeServiceImpl extends ServiceImpl<ProcessNodeMapper, ProcessNode> implements ProcessNodeService {
 
-    @Override
-    public Page<ProcessNode> getPage(Map<String, String> condition) {
-
-        QueryWrapper<ProcessNode> wrapper = Wrappers.query();
-
-        WrapperUtil.init(condition, wrapper)
-                .createTimeDesc();
-
-        Page<ProcessNode> page = page(condition, wrapper);
-        return page;
-    }
-
-    @Override
-    public void add(ProcessNodeVo processNodeVo) {
-        save(processNodeVo);
-    }
-
-    @Override
-    public void edit(ProcessNodeVo processNodeVo) {
-        updateById(processNodeVo);
-    }
-
-    @Override
-    public void delete(ProcessNodeVo processNodeVo) {
-        removeById(processNodeVo.getId());
-    }
-
 }

+ 6 - 0
hx-service-api/service-flow-api/src/main/java/com/fjhx/constants/FlowExplainConstant.java

@@ -9,4 +9,10 @@ public interface FlowExplainConstant {
 
     String PROCESS_EXIST = "流程已存在";
 
+    String SERVICE_NAME_EMPTY = "服务名称不能为空";
+
+    String MODULE_NAME_EMPTY = "模块名称不能为空";
+
+    String PROCESS_NAME = "流程名称不能为空";
+
 }

+ 1 - 1
hx-service-api/service-flow-api/src/main/java/com/fjhx/entity/process/ProcessInfo.java

@@ -46,7 +46,7 @@ public class ProcessInfo implements Serializable {
     private String moduleName;
 
     /**
-     * 并行规则 0无规则 1禁止业务重复提交 2禁止用户重复提交 3角色重复提交 4禁止部门重复提交 5禁止岗位重复提交
+     * 并行规则 0无规则 1禁止业务重复提交 2禁止用户重复提交 3角色重复提交 4禁止部门重复提交
      */
     private Integer parallelRules;
 

+ 1 - 1
hx-service-api/service-flow-api/src/main/java/com/fjhx/enums/ProcessNodeTypeEnum.java

@@ -3,7 +3,7 @@ package com.fjhx.enums;
 import lombok.Getter;
 
 /**
- * 流程节点类型
+ * 流程节点类型枚举
  */
 @Getter
 public enum ProcessNodeTypeEnum {

+ 0 - 17
hx-service-api/service-flow-api/src/main/java/com/fjhx/params/process/ProcessInfoEx.java

@@ -1,17 +0,0 @@
-package com.fjhx.params.process;
-
-import com.fjhx.entity.process.ProcessInfo;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-/**
- * 
- *
- * @author ${author}
- * @since 2022-08-12
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-public class ProcessInfoEx extends ProcessInfo {
-
-}

+ 0 - 22
hx-service-api/service-flow-api/src/main/java/com/fjhx/params/process/ProcessInfoVo.java

@@ -1,22 +0,0 @@
-package com.fjhx.params.process;
-
-import com.fjhx.entity.process.ProcessInfo;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-/**
- * @author ${author}
- * @since 2022-08-12
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-public class ProcessInfoVo extends ProcessInfo {
-
-    /**
-     * 是否租户定制流程
-     * 1 是
-     * 0 否(公共流程)
-     */
-    private Integer customized;
-
-}

+ 0 - 17
hx-service-api/service-flow-api/src/main/java/com/fjhx/params/process/ProcessNodeEx.java

@@ -1,17 +0,0 @@
-package com.fjhx.params.process;
-
-import com.fjhx.entity.process.ProcessNode;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-/**
- * 
- *
- * @author ${author}
- * @since 2022-08-12
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-public class ProcessNodeEx extends ProcessNode {
-
-}

+ 0 - 17
hx-service-api/service-flow-api/src/main/java/com/fjhx/params/process/ProcessNodeHandleEx.java

@@ -1,17 +0,0 @@
-package com.fjhx.params.process;
-
-import com.fjhx.entity.process.ProcessNodeHandle;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-/**
- * 
- *
- * @author ${author}
- * @since 2022-08-12
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-public class ProcessNodeHandleEx extends ProcessNodeHandle {
-
-}

+ 0 - 17
hx-service-api/service-flow-api/src/main/java/com/fjhx/params/process/ProcessNodeHandleVo.java

@@ -1,17 +0,0 @@
-package com.fjhx.params.process;
-
-import com.fjhx.entity.process.ProcessNodeHandle;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-/**
- * 
- *
- * @author ${author}
- * @since 2022-08-12
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-public class ProcessNodeHandleVo extends ProcessNodeHandle {
-
-}

+ 1 - 6
hx-service-api/service-flow-api/src/main/java/com/fjhx/params/process/ProcessNodeVo.java

@@ -4,14 +4,9 @@ import com.fjhx.entity.process.ProcessNode;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-/**
- * 
- *
- * @author ${author}
- * @since 2022-08-12
- */
 @Data
 @EqualsAndHashCode(callSuper = true)
 public class ProcessNodeVo extends ProcessNode {
 
+
 }

+ 17 - 0
hx-service-api/service-flow-api/src/main/java/com/fjhx/params/process/ProcessObject.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.process;
+
+import com.fjhx.entity.process.ProcessInfo;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ProcessObject {
+
+    // 流程
+    private ProcessInfo processInfo;
+
+    // 节点
+    private List<ProcessNodeVo> processNodeList;
+
+}

+ 235 - 204
hx-service/storage/src/main/java/com/fjhx/supplier/mapper/SupplierMapper.xml

@@ -4,18 +4,22 @@
 
     <select id="getSumList" resultType="com.fjhx.entity.supplier.Supplier">
         SELECT
-            t1.*,
-            t3.TechnologyType AS TechnologyType,
-            (<include refid="warningCount_filed"/> ) AS warningCount,
-            (<include refid="warningTypeCount_filed"/> ) AS warningTypeCount,
-            (select `Name` from material_category where `Code` = t1.CategoryCode) AS categoryName,
-            FORMAT(IFNULL((<include refid="sumMoney_filed"/>),0),2)AS sumMoney,
-            FORMAT(IFNULL((<include refid="lastYearMoney_filed"/>),0),2)AS lastYearMoney,
-            FORMAT(IFNULL((<include refid="yearMoney_filed"/>),0),2)AS yearMoney,
-            FORMAT(IFNULL((<include refid="lastMonthMoney_filed"/>),0),2)AS lastMonthMoney,
-            FORMAT(IFNULL((<include refid="monthMoney_filed"/>),0),2)AS monthMoney
+        t1.*,
+        t3.TechnologyType AS TechnologyType,
+        (
+        <include refid="warningCount_filed"/>
+        ) AS warningCount,
+        (
+        <include refid="warningTypeCount_filed"/>
+        ) AS warningTypeCount,
+        (select `Name` from material_category where `Code` = t1.CategoryCode) AS categoryName,
+        FORMAT(IFNULL((<include refid="sumMoney_filed"/>),0),2)AS sumMoney,
+        FORMAT(IFNULL((<include refid="lastYearMoney_filed"/>),0),2)AS lastYearMoney,
+        FORMAT(IFNULL((<include refid="yearMoney_filed"/>),0),2)AS yearMoney,
+        FORMAT(IFNULL((<include refid="lastMonthMoney_filed"/>),0),2)AS lastMonthMoney,
+        FORMAT(IFNULL((<include refid="monthMoney_filed"/>),0),2)AS monthMoney
         FROM
-            supplier t1
+        supplier t1
         LEFT JOIN supplier_price sp ON t1.ID = sp.FactoryId
         LEFT JOIN material t3 ON t3.`Code` = sp.MaterialCode
         <include refid="list_condition"/>
@@ -26,28 +30,32 @@
 
     <select id="getSumListCount" resultType="java.lang.Integer">
         SELECT
-            Count( 1 )
+        Count( 1 )
         FROM
         (
-            SELECT
-                count(1)
-            FROM
-                supplier t1
-            LEFT JOIN supplier_price sp ON t1.ID = sp.FactoryId
-            LEFT JOIN material t3 ON t3.`Code` = sp.MaterialCode
+        SELECT
+        count(1)
+        FROM
+        supplier t1
+        LEFT JOIN supplier_price sp ON t1.ID = sp.FactoryId
+        LEFT JOIN material t3 ON t3.`Code` = sp.MaterialCode
         <include refid="list_condition"/>
-            GROUP BY t1.ID
+        GROUP BY t1.ID
         )AS a
     </select>
     <select id="getList" resultType="com.fjhx.entity.supplier.Supplier">
         SELECT
-            t1.*,
-            t3.TechnologyType AS TechnologyType,
-            (<include refid="warningCount_filed"/> ) AS warningCount,
-            (<include refid="warningTypeCount_filed"/> ) AS warningTypeCount,
-            (select `Name` from material_category where `Code` = t1.CategoryCode) AS categoryName
+        t1.*,
+        t3.TechnologyType AS TechnologyType,
+        (
+        <include refid="warningCount_filed"/>
+        ) AS warningCount,
+        (
+        <include refid="warningTypeCount_filed"/>
+        ) AS warningTypeCount,
+        (select `Name` from material_category where `Code` = t1.CategoryCode) AS categoryName
         FROM
-            material t3
+        material t3
         LEFT JOIN supplier_price sp ON t3.`Code` = sp.MaterialCode
         LEFT JOIN supplier t1 ON sp.FactoryId = t1.ID
         <include refid="list_condition"/>
@@ -59,36 +67,40 @@
     </select>
     <select id="getListCount" resultType="java.lang.Integer">
         SELECT
-            Count( 1 )
+        Count( 1 )
         FROM
         (
-            SELECT
-                count(1)
-            FROM
-            material t3
-            LEFT JOIN supplier_price sp ON t3.`Code` = sp.MaterialCode
-            LEFT JOIN supplier t1 ON sp.FactoryId = t1.ID
-            <include refid="list_condition"/>
-            AND t3.IsDelete = 0
-            GROUP BY t1.ID,
-            t3.TechnologyType
+        SELECT
+        count(1)
+        FROM
+        material t3
+        LEFT JOIN supplier_price sp ON t3.`Code` = sp.MaterialCode
+        LEFT JOIN supplier t1 ON sp.FactoryId = t1.ID
+        <include refid="list_condition"/>
+        AND t3.IsDelete = 0
+        GROUP BY t1.ID,
+        t3.TechnologyType
         )AS a
     </select>
     <select id="getPurList" resultType="com.fjhx.entity.supplier.Supplier">
         SELECT
-            t1.*,
-            t3.CategoryCode,
-            t3.TechnologyType AS TechnologyType,
-            t3.Purpose AS purpose,
-            (<include refid="warningCount_filed"/> ) AS warningCount,
-            (<include refid="warningTypeCount_filed"/> ) AS warningTypeCount,
-            FORMAT(IFNULL((<include refid="sumMoney_filed"/>),0),2)AS sumMoney,
-            FORMAT(IFNULL((<include refid="lastYearMoney_filed"/>),0),2)AS lastYearMoney,
-            FORMAT(IFNULL((<include refid="yearMoney_filed"/>),0),2)AS yearMoney,
-            FORMAT(IFNULL((<include refid="lastMonthMoney_filed"/>),0),2)AS lastMonthMoney,
-            FORMAT(IFNULL((<include refid="monthMoney_filed"/>),0),2)AS monthMoney
+        t1.*,
+        t3.CategoryCode,
+        t3.TechnologyType AS TechnologyType,
+        t3.Purpose AS purpose,
+        (
+        <include refid="warningCount_filed"/>
+        ) AS warningCount,
+        (
+        <include refid="warningTypeCount_filed"/>
+        ) AS warningTypeCount,
+        FORMAT(IFNULL((<include refid="sumMoney_filed"/>),0),2)AS sumMoney,
+        FORMAT(IFNULL((<include refid="lastYearMoney_filed"/>),0),2)AS lastYearMoney,
+        FORMAT(IFNULL((<include refid="yearMoney_filed"/>),0),2)AS yearMoney,
+        FORMAT(IFNULL((<include refid="lastMonthMoney_filed"/>),0),2)AS lastMonthMoney,
+        FORMAT(IFNULL((<include refid="monthMoney_filed"/>),0),2)AS monthMoney
         FROM
-            material t3
+        material t3
         LEFT JOIN supplier_price sp ON t3.`Code` = sp.MaterialCode
         LEFT JOIN supplier t1 ON sp.FactoryId = t1.ID
         <include refid="list_condition"/>
@@ -100,223 +112,239 @@
     </select>
     <select id="getPurListCount" resultType="java.lang.Integer">
         SELECT
-            Count( 1 )
+        Count( 1 )
         FROM
         (
-            SELECT
-                count(1)
-            FROM
-            material t3
-            LEFT JOIN supplier_price sp ON t3.`Code` = sp.MaterialCode
-            LEFT JOIN supplier t1 ON sp.FactoryId = t1.ID
-            <include refid="list_condition"/>
-            AND t3.IsDelete = 0
-            GROUP BY t1.ID,
-            t3.TechnologyType
+        SELECT
+        count(1)
+        FROM
+        material t3
+        LEFT JOIN supplier_price sp ON t3.`Code` = sp.MaterialCode
+        LEFT JOIN supplier t1 ON sp.FactoryId = t1.ID
+        <include refid="list_condition"/>
+        AND t3.IsDelete = 0
+        GROUP BY t1.ID,
+        t3.TechnologyType
         ) AS a
     </select>
     <select id="getGroupByCategory" resultType="com.fjhx.entity.supplier.Supplier">
         SELECT
-            TechnologyType AS TechnologyType,
-            Count( 1 ) AS CategoryCount
+        TechnologyType AS TechnologyType,
+        Count( 1 ) AS CategoryCount
         FROM
-            (
-                SELECT
-                    t1.ID,
-                    t1.`Name`,
-                    t3.TechnologyType AS TechnologyType
-                FROM
-                    material t3
-                LEFT JOIN supplier_price sp ON t3.`Code` = sp.MaterialCode
-                LEFT JOIN supplier t1 ON sp.FactoryId = t1.ID
-                <where>
-                    t1.IsDelete = 0
-                    AND t3.IsDelete = 0
-                    <if test="search neq null and search neq '' ">
-                        AND ((INSTR(t1.`Name`, #{search}) > 0) OR (INSTR(t1.`Code`, #{search}) > 0) )
-                    </if>
-                    <if test="Purpose neq null and Purpose neq '' ">
-                        AND INSTR( t3.Purpose, #{Purpose} ) > 0
-                    </if>
-                </where>
-                GROUP BY t1.ID,t3.TechnologyType
-                    ) detail
+        (
+        SELECT
+        t1.ID,
+        t1.`Name`,
+        t3.TechnologyType AS TechnologyType
+        FROM
+        material t3
+        LEFT JOIN supplier_price sp ON t3.`Code` = sp.MaterialCode
+        LEFT JOIN supplier t1 ON sp.FactoryId = t1.ID
+        <where>
+            t1.IsDelete = 0
+            AND t3.IsDelete = 0
+            <if test="search neq null and search neq '' ">
+                AND ((INSTR(t1.`Name`, #{search}) > 0) OR (INSTR(t1.`Code`, #{search}) > 0) )
+            </if>
+            <if test="Purpose neq null and Purpose neq '' ">
+                AND INSTR( t3.Purpose, #{Purpose} ) > 0
+            </if>
+        </where>
+        GROUP BY t1.ID,t3.TechnologyType
+        ) detail
         GROUP BY
-            TechnologyType
+        TechnologyType
         ORDER BY
-            TechnologyType
+        TechnologyType
     </select>
     <select id="getSuById" resultType="com.fjhx.entity.supplier.Supplier">
         SELECT
-            t1.*,
-            ( <include refid="warningCount_filed"/> ) AS warningCount,
-            ( <include refid="warningTypeCount_filed"/> ) AS warningTypeCount
+        t1.*,
+        (
+        <include refid="warningCount_filed"/>
+        ) AS warningCount,
+        (
+        <include refid="warningTypeCount_filed"/>
+        ) AS warningTypeCount
         FROM
-            supplier t1
+        supplier t1
         WHERE IsDelete = 0
         AND id = #{id}
     </select>
     <select id="getMaterialTypeCount" resultType="java.lang.Integer">
-        SELECT
-            count( 1 )
-        FROM
-            (SELECT
-                count( 1 )
-            FROM
-                supplier t1
-            LEFT JOIN purchase_contract t2 ON t1.ID = t2.SupplierId
-            WHERE
-                t1.`id` = #{id}
-            GROUP BY
-                t2.MaterialCode
-            ) AS t1
+        SELECT count(1)
+        FROM (SELECT count(1)
+              FROM supplier t1
+                       LEFT JOIN purchase_contract t2 ON t1.ID = t2.SupplierId
+              WHERE t1.`id` = #{id}
+              GROUP BY t2.MaterialCode
+             ) AS t1
     </select>
     <select id="getBackCount" resultType="java.lang.Integer">
-        SELECT
-            count(1)
-        FROM
-            supplier t1
-        LEFT JOIN purchase_contract t2 ON t1.ID = t2.SupplierId
-        LEFT JOIN apply_scenebackdetail t3 ON t2.PurchaseBillNo = t3.PurchaseBillNo
-        WHERE
-            t1.`id` = #{id}
+        SELECT count(1)
+        FROM supplier t1
+                 LEFT JOIN purchase_contract t2 ON t1.ID = t2.SupplierId
+                 LEFT JOIN apply_scenebackdetail t3 ON t2.PurchaseBillNo = t3.PurchaseBillNo
+        WHERE t1.`id` = #{id}
           AND t3.PurchaseBillNo IS NOT NULL
           AND t3.SceneBackType = 1
     </select>
     <select id="getSuPurMaterialAnalyse" resultType="com.fjhx.entity.supplier.Supplier">
         SELECT
-            t3.`Name` AS materialName,
-            t4.`Name` AS categoryName,
-            t5.totalMoney AS totalMoney,
-            FORMAT( IFNULL( SUM( t2.TotalAmount ), 0 ), 2 ) AS sumMoney,
-            FORMAT(IFNULL((<include refid="lastMonthMoney_filed"/> AND MaterialCode = t2.MaterialCode),0),2)AS lastMonthMoney,
-            FORMAT(IFNULL((<include refid="monthMoney_filed"/> AND MaterialCode = t2.MaterialCode),0),2)AS monthMoney,
-            count( 1 ) AS count
-        FROM
-            supplier t1
-            LEFT JOIN purchase_contract t2 ON t1.ID = t2.SupplierId
-            LEFT JOIN material t3 ON t2.MaterialCode = t3.`Code`
-            LEFT JOIN material_category t4 ON t1.CategoryCode = t4.`Code`
-            LEFT JOIN ( SELECT IFNULL(SUM( TotalAmount ),0) AS totalMoney, MaterialCode FROM purchase_contract WHERE IsDelete = 0 GROUP BY MaterialCode ) t5 ON t5.MaterialCode = t2.MaterialCode
-        WHERE
-            t1.`id` = #{id}
-            AND t2.IsDelete = 0
-        GROUP BY
-            t2.MaterialCode
-        ORDER BY SUM( t2.TotalAmount ) DESC
-        <include refid="sql_limit"/>
-    </select>
-    <select id="getSuPurMaterialAnalyseCount" resultType="java.lang.Integer">
-        SELECT
-               count(1)
-        FROM
-        (SELECT
-            count( 1 ) AS count
+        t3.`Name` AS materialName,
+        t4.`Name` AS categoryName,
+        t5.totalMoney AS totalMoney,
+        FORMAT( IFNULL( SUM( t2.TotalAmount ), 0 ), 2 ) AS sumMoney,
+        FORMAT(IFNULL((
+        <include refid="lastMonthMoney_filed"/>
+        AND MaterialCode = t2.MaterialCode),0),2)AS lastMonthMoney,
+        FORMAT(IFNULL((
+        <include refid="monthMoney_filed"/>
+        AND MaterialCode = t2.MaterialCode),0),2)AS monthMoney,
+        count( 1 ) AS count
         FROM
         supplier t1
         LEFT JOIN purchase_contract t2 ON t1.ID = t2.SupplierId
         LEFT JOIN material t3 ON t2.MaterialCode = t3.`Code`
         LEFT JOIN material_category t4 ON t1.CategoryCode = t4.`Code`
+        LEFT JOIN ( SELECT IFNULL(SUM( TotalAmount ),0) AS totalMoney, MaterialCode FROM purchase_contract WHERE
+        IsDelete = 0 GROUP BY MaterialCode ) t5 ON t5.MaterialCode = t2.MaterialCode
         WHERE
         t1.`id` = #{id}
+        AND t2.IsDelete = 0
         GROUP BY
-        t2.MaterialCode)AS a
+        t2.MaterialCode
+        ORDER BY SUM( t2.TotalAmount ) DESC
+        <include refid="sql_limit"/>
+    </select>
+    <select id="getSuPurMaterialAnalyseCount" resultType="java.lang.Integer">
+        SELECT count(1)
+        FROM (SELECT count(1) AS count
+              FROM supplier t1
+                       LEFT JOIN purchase_contract t2 ON t1.ID = t2.SupplierId
+                       LEFT JOIN material t3 ON t2.MaterialCode = t3.`Code`
+                       LEFT JOIN material_category t4 ON t1.CategoryCode = t4.`Code`
+              WHERE t1.`id` = #{id}
+              GROUP BY t2.MaterialCode) AS a
     </select>
 
     <select id="getBackSumMoneyAndCount" resultType="com.fjhx.entity.supplier.Supplier">
         SELECT
-            a.CreatedTime,
-            b.count,
-            b.sumMoney
+        a.CreatedTime,
+        b.count,
+        b.sumMoney
         FROM
-            (<include refid="getMonth"/>)AS a
+        (<include refid="getMonth"/>)AS a
         LEFT JOIN (
         SELECT
-            count(1)AS count,
-            SUM(t3.Amount)AS sumMoney,
-            t3.CreatedTime AS CreatedTime
+        count(1)AS count,
+        SUM(t3.Amount)AS sumMoney,
+        t3.CreatedTime AS CreatedTime
         FROM
-            supplier t1
+        supplier t1
         LEFT JOIN purchase_contract t2 ON t1.ID = t2.SupplierId
         LEFT JOIN apply_scenebackdetail t3 ON t2.PurchaseBillNo = t3.PurchaseBillNo
         WHERE
-          t1.`id` = #{id}
-          AND t3.PurchaseBillNo IS NOT NULL
-          AND t3.SceneBackType = 1
-          AND DATE_FORMAT(t2.CreatedTime,'%Y') = #{date}
+        t1.`id` = #{id}
+        AND t3.PurchaseBillNo IS NOT NULL
+        AND t3.SceneBackType = 1
+        AND DATE_FORMAT(t2.CreatedTime,'%Y') = #{date}
         GROUP BY
-            DATE_FORMAT(t3.CreatedTime,"%Y-%m"))AS b
+        DATE_FORMAT(t3.CreatedTime,"%Y-%m"))AS b
         ON DATE_FORMAT(a.`CreatedTime`,'%c') = DATE_FORMAT(b.CreatedTime,"%c")
         ORDER BY a.CreatedTime ASC
     </select>
 
     <select id="getAllSumMoneyAndCount" resultType="java.util.Map">
-        SELECT
-            Count(1) AS count,
-            IFNULL(SUM( t3.Amount ),0) AS sumMoney
-        FROM
-            supplier t1
-        LEFT JOIN purchase_contract t2 ON t1.ID = t2.SupplierId
-        LEFT JOIN apply_scenebackdetail t3 ON t2.PurchaseBillNo = t3.PurchaseBillNo
-        WHERE
-              t1.`id` = #{id}
-              AND t3.PurchaseBillNo IS NOT NULL
-              AND t3.SceneBackType = 1
-              AND DATE_FORMAT(t2.CreatedTime,'%Y') = #{date}
+        SELECT Count(1)                  AS count,
+               IFNULL(SUM(t3.Amount), 0) AS sumMoney
+        FROM supplier t1
+                 LEFT JOIN purchase_contract t2 ON t1.ID = t2.SupplierId
+                 LEFT JOIN apply_scenebackdetail t3 ON t2.PurchaseBillNo = t3.PurchaseBillNo
+        WHERE t1.`id` = #{id}
+          AND t3.PurchaseBillNo IS NOT NULL
+          AND t3.SceneBackType = 1
+          AND DATE_FORMAT(t2.CreatedTime, '%Y') = #{date}
     </select>
 
     <select id="getMonthSumPurMoney" resultType="com.fjhx.entity.supplier.Supplier">
         SELECT
-            a.CreatedTime,
-            IFNULL(b.money,0) AS money
+        a.CreatedTime,
+        IFNULL(b.money,0) AS money
         FROM
         (<include refid="getMonth"/>)AS a
         LEFT JOIN (
         SELECT
-            SUM( TotalAmount ) AS money,
-            t2.CreatedTime AS CreatedTime
+        SUM( TotalAmount ) AS money,
+        t2.CreatedTime AS CreatedTime
         FROM
-            supplier t1
+        supplier t1
         LEFT JOIN purchase_contract t2 ON t1.ID = t2.SupplierId
         WHERE
-            t1.ID = #{id}
-          AND t2.isDelete = 0
-          AND DATE_FORMAT( t2.CreatedTime, '%Y' ) = #{date}
+        t1.ID = #{id}
+        AND t2.isDelete = 0
+        AND DATE_FORMAT( t2.CreatedTime, '%Y' ) = #{date}
         GROUP BY
-            DATE_FORMAT( t2.CreatedTime, '%Y-%m' ))AS b
+        DATE_FORMAT( t2.CreatedTime, '%Y-%m' ))AS b
         ON DATE_FORMAT(a.`CreatedTime`,'%c') = DATE_FORMAT(b.CreatedTime,"%c")
         ORDER BY a.CreatedTime ASC
     </select>
 
     <select id="selectList" resultType="com.fjhx.entity.supplier.Supplier">
         SELECT
-            *
+        *
         FROM
-            supplier t1
+        supplier t1
         <include refid="list_condition"/>
         ORDER BY CreatedTime DESC
         <include refid="sql_limit"/>
     </select>
+
+
     <sql id="warningCount_filed">
-        SELECT count( 1 ) FROM supplier_problem WHERE SupplierId = t1.id
+        SELECT count(1)
+        FROM supplier_problem
+        WHERE SupplierId = t1.id
     </sql>
     <sql id="warningTypeCount_filed">
-        SELECT SUM( ProblemTypeCount ) FROM supplier_problem WHERE SupplierId = t1.id
+        SELECT SUM(ProblemTypeCount)
+        FROM supplier_problem
+        WHERE SupplierId = t1.id
     </sql>
     <sql id="sumMoney_filed">
-        SELECT SUM( TotalAmount ) FROM purchase_contract WHERE IsDelete = 0 AND SupplierId = t1.ID
+        SELECT SUM(TotalAmount)
+        FROM purchase_contract
+        WHERE IsDelete = 0
+          AND SupplierId = t1.ID
     </sql>
     <sql id="yearMoney_filed">
-        select SUM(TotalAmount) from purchase_contract where IsDelete = 0 AND SupplierId = t1.ID  AND YEAR(CreatedTime)=YEAR(NOW())
+        select SUM(TotalAmount)
+        from purchase_contract
+        where IsDelete = 0
+          AND SupplierId = t1.ID
+          AND YEAR(CreatedTime) = YEAR(NOW())
     </sql>
     <sql id="lastYearMoney_filed">
-        select SUM(TotalAmount) from purchase_contract where IsDelete = 0 AND SupplierId = t1.ID AND YEAR(CreatedTime) = YEAR(DATE_SUB(NOW(),INTERVAL 1 YEAR))
+        select SUM(TotalAmount)
+        from purchase_contract
+        where IsDelete = 0
+          AND SupplierId = t1.ID
+          AND YEAR(CreatedTime) = YEAR(DATE_SUB(NOW(), INTERVAL 1 YEAR))
     </sql>
     <sql id="monthMoney_filed">
-        select SUM(TotalAmount) from purchase_contract where IsDelete = 0 AND SupplierId = t1.ID AND DATE_FORMAT(CreatedTime,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m')
+        select SUM(TotalAmount)
+        from purchase_contract
+        where IsDelete = 0
+          AND SupplierId = t1.ID
+          AND DATE_FORMAT(CreatedTime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
     </sql>
     <sql id="lastMonthMoney_filed">
-        select SUM(TotalAmount) from purchase_contract where IsDelete = 0 AND SupplierId = t1.ID AND PERIOD_DIFF(DATE_FORMAT(NOW(),'%Y%m'),DATE_FORMAT(CreatedTime,'%Y%m')) = 1
+        select SUM(TotalAmount)
+        from purchase_contract
+        where IsDelete = 0
+          AND SupplierId = t1.ID
+          AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), DATE_FORMAT(CreatedTime, '%Y%m')) = 1
     </sql>
     <sql id="list_condition">
         <where>
@@ -331,6 +359,10 @@
                 AND INSTR( t3.Purpose, #{Purpose} ) > 0
             </if>
 
+            <if test="materialCode neq null and materialCode neq '' ">
+                AND t1.ID in ( select sp.FactoryId from supplier_price sp where sp.MaterialCode = #{materialCode} )
+            </if>
+
         </where>
     </sql>
     <sql id="sql_limit">
@@ -339,29 +371,28 @@
         </if>
     </sql>
     <sql id="getMonth">
-        SELECT
-            CONCAT(#{date},"-01-01 00:00:00") AS CreatedTime UNION
-        SELECT
-            CONCAT(#{date},"-02-01 00:00:00") AS CreatedTime UNION
-        SELECT
-            CONCAT(#{date},"-03-01 00:00:00") AS CreatedTime UNION
-        SELECT
-            CONCAT(#{date},"-04-01 00:00:00") AS CreatedTime UNION
-        SELECT
-            CONCAT(#{date},"-05-01 00:00:00") AS CreatedTime UNION
-        SELECT
-            CONCAT(#{date},"-06-01 00:00:00") AS CreatedTime UNION
-        SELECT
-            CONCAT(#{date},"-07-01 00:00:00") AS CreatedTime UNION
-        SELECT
-            CONCAT(#{date},"-08-01 00:00:00") AS CreatedTime UNION
-        SELECT
-            CONCAT(#{date},"-09-01 00:00:00") AS CreatedTime UNION
-        SELECT
-            CONCAT(#{date},"-10-01 00:00:00") AS CreatedTime UNION
-        SELECT
-            CONCAT(#{date},"-11-01 00:00:00") AS CreatedTime UNION
-        SELECT
-            CONCAT(#{date},"-12-01 00:00:00") AS CreatedTime
+        SELECT CONCAT(#{date}, "-01-01 00:00:00") AS CreatedTime
+        UNION
+        SELECT CONCAT(#{date}, "-02-01 00:00:00") AS CreatedTime
+        UNION
+        SELECT CONCAT(#{date}, "-03-01 00:00:00") AS CreatedTime
+        UNION
+        SELECT CONCAT(#{date}, "-04-01 00:00:00") AS CreatedTime
+        UNION
+        SELECT CONCAT(#{date}, "-05-01 00:00:00") AS CreatedTime
+        UNION
+        SELECT CONCAT(#{date}, "-06-01 00:00:00") AS CreatedTime
+        UNION
+        SELECT CONCAT(#{date}, "-07-01 00:00:00") AS CreatedTime
+        UNION
+        SELECT CONCAT(#{date}, "-08-01 00:00:00") AS CreatedTime
+        UNION
+        SELECT CONCAT(#{date}, "-09-01 00:00:00") AS CreatedTime
+        UNION
+        SELECT CONCAT(#{date}, "-10-01 00:00:00") AS CreatedTime
+        UNION
+        SELECT CONCAT(#{date}, "-11-01 00:00:00") AS CreatedTime
+        UNION
+        SELECT CONCAT(#{date}, "-12-01 00:00:00") AS CreatedTime
     </sql>
 </mapper>