Преглед изворни кода

优化 流程图 自己保存功能

java110 пре 4 година
родитељ
комит
206bd996d4
22 измењених фајлова са 910 додато и 18 уклоњено
  1. 76 0
      java110-bean/src/main/java/com/java110/dto/oaWorkflowXml/OaWorkflowXmlDto.java
  2. 9 0
      java110-bean/src/main/java/com/java110/dto/workflow/WorkflowModelDto.java
  3. 53 0
      java110-bean/src/main/java/com/java110/po/oaWorkflowXml/OaWorkflowXmlPo.java
  4. 1 0
      java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
  5. 106 0
      java110-db/src/main/resources/mapper/oa/OaWorkflowXmlServiceDaoImplMapper.xml
  6. 11 14
      java110-generator/src/main/resources/newBack/template_1.json
  7. 53 0
      java110-interface/src/main/java/com/java110/intf/oa/IOaWorkflowXmlInnerServiceSMO.java
  8. 3 1
      service-common/src/main/java/com/java110/common/api/WorkflowApi.java
  9. 20 3
      service-common/src/main/java/com/java110/common/bmo/workflow/impl/QueryWorkFlowFirstStaffBMOImpl.java
  10. 101 0
      service-oa/src/main/java/com/java110/oa/api/OaWorkflowApi.java
  11. 18 0
      service-oa/src/main/java/com/java110/oa/api/OaWorkflowXmlApi.java
  12. 17 0
      service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IDeleteOaWorkflowXmlBMO.java
  13. 16 0
      service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IGetOaWorkflowXmlBMO.java
  14. 17 0
      service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/ISaveOaWorkflowXmlBMO.java
  15. 17 0
      service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IUpdateOaWorkflowXmlBMO.java
  16. 34 0
      service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/DeleteOaWorkflowXmlBMOImpl.java
  17. 44 0
      service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/GetOaWorkflowXmlBMOImpl.java
  18. 38 0
      service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/SaveOaWorkflowXmlBMOImpl.java
  19. 34 0
      service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/UpdateOaWorkflowXmlBMOImpl.java
  20. 61 0
      service-oa/src/main/java/com/java110/oa/dao/IOaWorkflowXmlServiceDao.java
  21. 98 0
      service-oa/src/main/java/com/java110/oa/dao/impl/OaWorkflowXmlServiceDaoImpl.java
  22. 83 0
      service-oa/src/main/java/com/java110/oa/smo/impl/OaWorkflowXmlInnerServiceSMOImpl.java

+ 76 - 0
java110-bean/src/main/java/com/java110/dto/oaWorkflowXml/OaWorkflowXmlDto.java

@@ -0,0 +1,76 @@
+package com.java110.dto.oaWorkflowXml;
+
+import com.java110.dto.PageDto;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @ClassName FloorDto
+ * @Description OA流程图数据层封装
+ * @Author wuxw
+ * @Date 2019/4/24 8:52
+ * @Version 1.0
+ * add by wuxw 2019/4/24
+ **/
+public class OaWorkflowXmlDto extends PageDto implements Serializable {
+
+    private String xmlId;
+private String storeId;
+private String bpmnXml;
+private String flowId;
+private String svgXml;
+
+
+    private Date createTime;
+
+    private String statusCd = "0";
+
+
+    public String getXmlId() {
+        return xmlId;
+    }
+public void setXmlId(String xmlId) {
+        this.xmlId = xmlId;
+    }
+public String getStoreId() {
+        return storeId;
+    }
+public void setStoreId(String storeId) {
+        this.storeId = storeId;
+    }
+public String getBpmnXml() {
+        return bpmnXml;
+    }
+public void setBpmnXml(String bpmnXml) {
+        this.bpmnXml = bpmnXml;
+    }
+public String getFlowId() {
+        return flowId;
+    }
+public void setFlowId(String flowId) {
+        this.flowId = flowId;
+    }
+public String getSvgXml() {
+        return svgXml;
+    }
+public void setSvgXml(String svgXml) {
+        this.svgXml = svgXml;
+    }
+
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getStatusCd() {
+        return statusCd;
+    }
+
+    public void setStatusCd(String statusCd) {
+        this.statusCd = statusCd;
+    }
+}

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/workflow/WorkflowModelDto.java

@@ -23,6 +23,7 @@ public class WorkflowModelDto implements Serializable {
     private String description;
     private String json_xml;
     private String svg_xml;
+    private String storeId;
 
     private String deploymentId;
 
@@ -89,4 +90,12 @@ public class WorkflowModelDto implements Serializable {
     public void setFlowId(String flowId) {
         this.flowId = flowId;
     }
+
+    public String getStoreId() {
+        return storeId;
+    }
+
+    public void setStoreId(String storeId) {
+        this.storeId = storeId;
+    }
 }

+ 53 - 0
java110-bean/src/main/java/com/java110/po/oaWorkflowXml/OaWorkflowXmlPo.java

@@ -0,0 +1,53 @@
+package com.java110.po.oaWorkflowXml;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class OaWorkflowXmlPo implements Serializable {
+
+    private String statusCd = "0";
+private String xmlId;
+private String storeId;
+private String bpmnXml;
+private String flowId;
+private String svgXml;
+public String getStatusCd() {
+        return statusCd;
+    }
+public void setStatusCd(String statusCd) {
+        this.statusCd = statusCd;
+    }
+public String getXmlId() {
+        return xmlId;
+    }
+public void setXmlId(String xmlId) {
+        this.xmlId = xmlId;
+    }
+public String getStoreId() {
+        return storeId;
+    }
+public void setStoreId(String storeId) {
+        this.storeId = storeId;
+    }
+public String getBpmnXml() {
+        return bpmnXml;
+    }
+public void setBpmnXml(String bpmnXml) {
+        this.bpmnXml = bpmnXml;
+    }
+public String getFlowId() {
+        return flowId;
+    }
+public void setFlowId(String flowId) {
+        this.flowId = flowId;
+    }
+public String getSvgXml() {
+        return svgXml;
+    }
+public void setSvgXml(String svgXml) {
+        this.svgXml = svgXml;
+    }
+
+
+
+}

+ 1 - 0
java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java

@@ -216,6 +216,7 @@ public class GenerateCodeFactory {
 
     public static final String CODE_PREFIX_backId = "78";
     public static final String CODE_PREFIX_monthId = "79";
+    public static final String CODE_PREFIX_xmlId = "79";
 
 
 

+ 106 - 0
java110-db/src/main/resources/mapper/oa/OaWorkflowXmlServiceDaoImplMapper.xml

@@ -0,0 +1,106 @@
+<?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="oaWorkflowXmlServiceDaoImpl">
+
+
+
+
+
+    <!-- 保存OA流程图信息 add by wuxw 2018-07-03 -->
+    <insert id="saveOaWorkflowXmlInfo" parameterType="Map">
+        insert into oa_workflow_xml(
+xml_id,store_id,bpmn_xml,flow_id,svg_xml
+) values (
+#{xmlId},#{storeId},#{bpmnXml},#{flowId},#{svgXml}
+)
+    </insert>
+
+
+
+    <!-- 查询OA流程图信息 add by wuxw 2018-07-03 -->
+    <select id="getOaWorkflowXmlInfo" parameterType="Map" resultType="Map">
+        select  t.status_cd,t.status_cd statusCd,t.xml_id,t.xml_id xmlId,t.store_id,t.store_id storeId,t.bpmn_xml,t.bpmn_xml bpmnXml,t.flow_id,t.flow_id flowId,t.svg_xml,t.svg_xml svgXml 
+from oa_workflow_xml t 
+where 1 =1 
+<if test="statusCd !=null and statusCd != ''">
+   and t.status_cd= #{statusCd}
+</if> 
+<if test="xmlId !=null and xmlId != ''">
+   and t.xml_id= #{xmlId}
+</if> 
+<if test="storeId !=null and storeId != ''">
+   and t.store_id= #{storeId}
+</if> 
+<if test="bpmnXml !=null and bpmnXml != ''">
+   and t.bpmn_xml= #{bpmnXml}
+</if> 
+<if test="flowId !=null and flowId != ''">
+   and t.flow_id= #{flowId}
+</if> 
+<if test="svgXml !=null and svgXml != ''">
+   and t.svg_xml= #{svgXml}
+</if> 
+order by t.create_time desc
+<if test="page != -1 and page != null ">
+   limit #{page}, #{row}
+</if> 
+
+    </select>
+
+
+
+
+    <!-- 修改OA流程图信息 add by wuxw 2018-07-03 -->
+    <update id="updateOaWorkflowXmlInfo" parameterType="Map">
+        update  oa_workflow_xml t set t.status_cd = #{statusCd}
+<if test="newBId != null and newBId != ''">
+,t.b_id = #{newBId}
+</if> 
+<if test="storeId !=null and storeId != ''">
+, t.store_id= #{storeId}
+</if> 
+<if test="bpmnXml !=null and bpmnXml != ''">
+, t.bpmn_xml= #{bpmnXml}
+</if> 
+<if test="flowId !=null and flowId != ''">
+, t.flow_id= #{flowId}
+</if> 
+<if test="svgXml !=null and svgXml != ''">
+, t.svg_xml= #{svgXml}
+</if> 
+ where 1=1 <if test="xmlId !=null and xmlId != ''">
+and t.xml_id= #{xmlId}
+</if> 
+
+    </update>
+
+    <!-- 查询OA流程图数量 add by wuxw 2018-07-03 -->
+     <select id="queryOaWorkflowXmlsCount" parameterType="Map" resultType="Map">
+        select  count(1) count 
+from oa_workflow_xml t 
+where 1 =1 
+<if test="statusCd !=null and statusCd != ''">
+   and t.status_cd= #{statusCd}
+</if> 
+<if test="xmlId !=null and xmlId != ''">
+   and t.xml_id= #{xmlId}
+</if> 
+<if test="storeId !=null and storeId != ''">
+   and t.store_id= #{storeId}
+</if> 
+<if test="bpmnXml !=null and bpmnXml != ''">
+   and t.bpmn_xml= #{bpmnXml}
+</if> 
+<if test="flowId !=null and flowId != ''">
+   and t.flow_id= #{flowId}
+</if> 
+<if test="svgXml !=null and svgXml != ''">
+   and t.svg_xml= #{svgXml}
+</if> 
+
+
+     </select>
+
+</mapper>

+ 11 - 14
java110-generator/src/main/resources/newBack/template_1.json

@@ -1,31 +1,28 @@
 {
   "autoMove": true,
-  "id": "flowId",
-  "name": "oaWorkflow",
-  "desc": "OA工作流",
+  "id": "xmlId",
+  "name": "oaWorkflowXml",
+  "desc": "OA流程图",
   "shareParam": "storeId",
   "shareColumn": "store_id",
   "shareName": "oa",
-  "tableName": "oa_workflow",
+  "tableName": "oa_workflow_xml",
   "param": {
+    "xmlId": "xml_id",
     "flowId": "flow_id",
-    "flowName": "flow_name",
-    "describle": "describle",
     "storeId": "store_id",
-    "flowType": "flow_type",
-    "modelId": "model_id",
-    "flowKey": "flow_key",
-    "processDefinitionKey": "process_definition_key",
+    "bpmnXml": "bpmn_xml",
+    "svgXml": "svg_xml",
     "statusCd": "status_cd"
   },
   "required": [
     {
-      "code": "flowName",
-      "msg": "流程名称不能为空"
+      "code": "flowId",
+      "msg": "流程不能为空"
     },
     {
-      "code": "flowType",
-      "msg": "流程类型不能为空"
+      "code": "bpmnXml",
+      "msg": "流程不能为空"
     }
   ]
 }

+ 53 - 0
java110-interface/src/main/java/com/java110/intf/oa/IOaWorkflowXmlInnerServiceSMO.java

@@ -0,0 +1,53 @@
+package com.java110.intf.oa;
+
+import com.java110.config.feign.FeignConfiguration;
+import com.java110.dto.oaWorkflowXml.OaWorkflowXmlDto;
+import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import java.util.List;
+
+/**
+ * @ClassName IOaWorkflowXmlInnerServiceSMO
+ * @Description OA流程图接口类
+ * @Author wuxw
+ * @Date 2019/4/24 9:04
+ * @Version 1.0
+ * add by wuxw 2019/4/24
+ **/
+@FeignClient(name = "oa-service", configuration = {FeignConfiguration.class})
+@RequestMapping("/oaWorkflowXmlApi")
+public interface IOaWorkflowXmlInnerServiceSMO {
+
+
+    @RequestMapping(value = "/saveOaWorkflowXml", method = RequestMethod.POST)
+    public int saveOaWorkflowXml(@RequestBody OaWorkflowXmlPo oaWorkflowXmlPo);
+
+    @RequestMapping(value = "/updateOaWorkflowXml", method = RequestMethod.POST)
+    public int updateOaWorkflowXml(@RequestBody  OaWorkflowXmlPo oaWorkflowXmlPo);
+
+    @RequestMapping(value = "/deleteOaWorkflowXml", method = RequestMethod.POST)
+    public int deleteOaWorkflowXml(@RequestBody  OaWorkflowXmlPo oaWorkflowXmlPo);
+
+    /**
+     * <p>查询小区楼信息</p>
+     *
+     *
+     * @param oaWorkflowXmlDto 数据对象分享
+     * @return OaWorkflowXmlDto 对象数据
+     */
+    @RequestMapping(value = "/queryOaWorkflowXmls", method = RequestMethod.POST)
+    List<OaWorkflowXmlDto> queryOaWorkflowXmls(@RequestBody OaWorkflowXmlDto oaWorkflowXmlDto);
+
+    /**
+     * 查询<p>小区楼</p>总记录数
+     *
+     * @param oaWorkflowXmlDto 数据对象分享
+     * @return 小区下的小区楼记录数
+     */
+    @RequestMapping(value = "/queryOaWorkflowXmlsCount", method = RequestMethod.POST)
+    int queryOaWorkflowXmlsCount(@RequestBody OaWorkflowXmlDto oaWorkflowXmlDto);
+}

+ 3 - 1
service-common/src/main/java/com/java110/common/api/WorkflowApi.java

@@ -80,8 +80,10 @@ public class WorkflowApi {
      */
     @RequestMapping(value = "/saveModel", method = RequestMethod.POST)
     @ResponseStatus(value = HttpStatus.OK)
-    public ResponseEntity<String> saveModel(@RequestBody JSONObject reqJson) {
+    public ResponseEntity<String> saveModel(
+                                            @RequestBody JSONObject reqJson) {
         WorkflowModelDto workflowModelDto = BeanConvertUtil.covertBean(reqJson, WorkflowModelDto.class);
+
         //部署model
         return queryWorkFlowFirstStaffBMOImpl.saveModel(workflowModelDto);
 

+ 20 - 3
service-common/src/main/java/com/java110/common/bmo/workflow/impl/QueryWorkFlowFirstStaffBMOImpl.java

@@ -3,18 +3,21 @@ package com.java110.common.bmo.workflow.impl;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.java110.common.api.WorkflowApi;
 import com.java110.common.bmo.workflow.IQueryWorkFlowFirstStaffBMO;
 import com.java110.common.dao.IWorkflowServiceDao;
 import com.java110.common.dao.IWorkflowStepServiceDao;
 import com.java110.common.dao.IWorkflowStepStaffServiceDao;
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.oaWorkflow.OaWorkflowDto;
 import com.java110.dto.org.OrgDto;
 import com.java110.dto.workflow.WorkflowDto;
 import com.java110.dto.workflow.WorkflowModelDto;
 import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
+import com.java110.intf.oa.IOaWorkflowXmlInnerServiceSMO;
 import com.java110.intf.user.IOrgInnerServiceSMO;
 import com.java110.po.oaWorkflow.OaWorkflowPo;
+import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.Base64Convert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -65,6 +68,9 @@ public class QueryWorkFlowFirstStaffBMOImpl implements IQueryWorkFlowFirstStaffB
     @Autowired
     private IOaWorkflowInnerServiceSMO oaWorkflowInnerServiceSMOImpl;
 
+    @Autowired
+    private IOaWorkflowXmlInnerServiceSMO oaWorkflowXmlInnerServiceSMOImpl;
+
     @Autowired
     private RepositoryService repositoryService;
 
@@ -72,7 +78,6 @@ public class QueryWorkFlowFirstStaffBMOImpl implements IQueryWorkFlowFirstStaffB
     private ObjectMapper objectMapper;
 
 
-
     String MODEL_ID = "modelId";
     String MODEL_NAME = "name";
     String MODEL_REVISION = "revision";
@@ -189,6 +194,7 @@ public class QueryWorkFlowFirstStaffBMOImpl implements IQueryWorkFlowFirstStaffB
     }
 
     @Override
+    @Java110Transactional
     public ResponseEntity<String> saveModel(WorkflowModelDto workflowModelDto) {
         //根据
         OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();
@@ -196,6 +202,18 @@ public class QueryWorkFlowFirstStaffBMOImpl implements IQueryWorkFlowFirstStaffB
         List<OaWorkflowDto> oaWorkflowDtos = oaWorkflowInnerServiceSMOImpl.queryOaWorkflows(oaWorkflowDto);
 
         Assert.listOnlyOne(oaWorkflowDtos, "未包含流程");
+
+        OaWorkflowXmlPo oaWorkflowXmlPo = new OaWorkflowXmlPo();
+        oaWorkflowXmlPo.setStoreId(oaWorkflowDtos.get(0).getStoreId());
+        oaWorkflowXmlPo.setBpmnXml(workflowModelDto.getJson_xml());
+        oaWorkflowXmlPo.setFlowId(oaWorkflowDtos.get(0).getFlowId());
+        oaWorkflowXmlPo.setSvgXml(workflowModelDto.getSvg_xml());
+        oaWorkflowXmlPo.setXmlId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_xmlId));
+        int flag = oaWorkflowXmlInnerServiceSMOImpl.saveOaWorkflowXml(oaWorkflowXmlPo);
+        if (flag < 1) {
+            throw new IllegalArgumentException("保存流程图");
+        }
+
         try {
             Model model = repositoryService.getModel(workflowModelDto.getModelId());
             ObjectNode modelJson = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
@@ -221,7 +239,6 @@ public class QueryWorkFlowFirstStaffBMOImpl implements IQueryWorkFlowFirstStaffB
             repositoryService.addModelEditorSourceExtra(model.getId(), result);
             outStream.close();
 
-
         } catch (Exception e) {
             logger.error("Error saving model", e);
             throw new ActivitiException("Error saving model", e);

+ 101 - 0
service-oa/src/main/java/com/java110/oa/api/OaWorkflowApi.java

@@ -2,11 +2,17 @@ package com.java110.oa.api;
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.oaWorkflow.OaWorkflowDto;
+import com.java110.dto.oaWorkflowXml.OaWorkflowXmlDto;
 import com.java110.oa.bmo.oaWorkflow.IDeleteOaWorkflowBMO;
 import com.java110.oa.bmo.oaWorkflow.IGetOaWorkflowBMO;
 import com.java110.oa.bmo.oaWorkflow.ISaveOaWorkflowBMO;
 import com.java110.oa.bmo.oaWorkflow.IUpdateOaWorkflowBMO;
+import com.java110.oa.bmo.oaWorkflowXml.IDeleteOaWorkflowXmlBMO;
+import com.java110.oa.bmo.oaWorkflowXml.IGetOaWorkflowXmlBMO;
+import com.java110.oa.bmo.oaWorkflowXml.ISaveOaWorkflowXmlBMO;
+import com.java110.oa.bmo.oaWorkflowXml.IUpdateOaWorkflowXmlBMO;
 import com.java110.po.oaWorkflow.OaWorkflowPo;
+import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -27,6 +33,16 @@ public class OaWorkflowApi {
     @Autowired
     private IGetOaWorkflowBMO getOaWorkflowBMOImpl;
 
+    @Autowired
+    private ISaveOaWorkflowXmlBMO saveOaWorkflowXmlBMOImpl;
+    @Autowired
+    private IUpdateOaWorkflowXmlBMO updateOaWorkflowXmlBMOImpl;
+    @Autowired
+    private IDeleteOaWorkflowXmlBMO deleteOaWorkflowXmlBMOImpl;
+
+    @Autowired
+    private IGetOaWorkflowXmlBMO getOaWorkflowXmlBMOImpl;
+
     /**
      * 微信保存消息模板
      *
@@ -105,4 +121,89 @@ public class OaWorkflowApi {
         oaWorkflowDto.setStoreId(storeId);
         return getOaWorkflowBMOImpl.get(oaWorkflowDto);
     }
+
+
+
+
+    /**
+     * 微信保存消息模板
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /oaWorkflow/saveOaWorkflowXml
+     * @path /app/oaWorkflow/saveOaWorkflowXml
+     */
+    @RequestMapping(value = "/saveOaWorkflowXml", method = RequestMethod.POST)
+    public ResponseEntity<String> saveOaWorkflowXml(@RequestHeader(value = "store-id") String storeId,
+                                                    @RequestBody JSONObject reqJson) {
+
+        Assert.hasKeyAndValue(reqJson, "flowId", "请求报文中未包含flowId");
+        Assert.hasKeyAndValue(reqJson, "bpmnXml", "请求报文中未包含bpmnXml");
+
+
+        OaWorkflowXmlPo oaWorkflowXmlPo = BeanConvertUtil.covertBean(reqJson, OaWorkflowXmlPo.class);
+        oaWorkflowXmlPo.setStoreId(storeId);
+        return saveOaWorkflowXmlBMOImpl.save(oaWorkflowXmlPo);
+    }
+
+    /**
+     * 微信修改消息模板
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /oaWorkflow/updateOaWorkflowXml
+     * @path /app/oaWorkflow/updateOaWorkflowXml
+     */
+    @RequestMapping(value = "/updateOaWorkflowXml", method = RequestMethod.POST)
+    public ResponseEntity<String> updateOaWorkflowXml(@RequestHeader(value = "store-id") String storeId,
+                                                      @RequestBody JSONObject reqJson) {
+
+        Assert.hasKeyAndValue(reqJson, "flowId", "请求报文中未包含flowId");
+        Assert.hasKeyAndValue(reqJson, "bpmnXml", "请求报文中未包含bpmnXml");
+        Assert.hasKeyAndValue(reqJson, "xmlId", "xmlId不能为空");
+
+
+        OaWorkflowXmlPo oaWorkflowXmlPo = BeanConvertUtil.covertBean(reqJson, OaWorkflowXmlPo.class);
+        oaWorkflowXmlPo.setStoreId(storeId);
+        return updateOaWorkflowXmlBMOImpl.update(oaWorkflowXmlPo);
+    }
+
+    /**
+     * 微信删除消息模板
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /oaWorkflow/deleteOaWorkflowXml
+     * @path /app/oaWorkflow/deleteOaWorkflowXml
+     */
+    @RequestMapping(value = "/deleteOaWorkflowXml", method = RequestMethod.POST)
+    public ResponseEntity<String> deleteOaWorkflowXml(@RequestHeader(value = "store-id") String storeId,
+                                                      @RequestBody JSONObject reqJson) {
+
+        Assert.hasKeyAndValue(reqJson, "xmlId", "xmlId不能为空");
+
+
+        OaWorkflowXmlPo oaWorkflowXmlPo = BeanConvertUtil.covertBean(reqJson, OaWorkflowXmlPo.class);
+        oaWorkflowXmlPo.setStoreId(storeId);
+        return deleteOaWorkflowXmlBMOImpl.delete(oaWorkflowXmlPo);
+    }
+
+    /**
+     * 微信删除消息模板
+     *
+     * @param storeId 小区ID
+     * @return
+     * @serviceCode /oaWorkflow/queryOaWorkflowXml
+     * @path /app/oaWorkflow/queryOaWorkflowXml
+     */
+    @RequestMapping(value = "/queryOaWorkflowXml", method = RequestMethod.GET)
+    public ResponseEntity<String> queryOaWorkflowXml(@RequestHeader(value = "store-id") String storeId,
+                                                     @RequestParam(value = "page") int page,
+                                                     @RequestParam(value = "row") int row) {
+        OaWorkflowXmlDto oaWorkflowXmlDto = new OaWorkflowXmlDto();
+        oaWorkflowXmlDto.setPage(page);
+        oaWorkflowXmlDto.setRow(row);
+        oaWorkflowXmlDto.setStoreId(storeId);
+        return getOaWorkflowXmlBMOImpl.get(oaWorkflowXmlDto);
+    }
 }

+ 18 - 0
service-oa/src/main/java/com/java110/oa/api/OaWorkflowXmlApi.java

@@ -0,0 +1,18 @@
+package com.java110.oa.api;
+
+import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping(value = "/oaWorkflowXml")
+public class OaWorkflowXmlApi {
+
+}

+ 17 - 0
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IDeleteOaWorkflowXmlBMO.java

@@ -0,0 +1,17 @@
+package com.java110.oa.bmo.oaWorkflowXml;
+import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
+import org.springframework.http.ResponseEntity;
+
+public interface IDeleteOaWorkflowXmlBMO {
+
+
+    /**
+     * 修改OA流程图
+     * add by wuxw
+     * @param oaWorkflowXmlPo
+     * @return
+     */
+    ResponseEntity<String> delete(OaWorkflowXmlPo oaWorkflowXmlPo);
+
+
+}

+ 16 - 0
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IGetOaWorkflowXmlBMO.java

@@ -0,0 +1,16 @@
+package com.java110.oa.bmo.oaWorkflowXml;
+import com.java110.dto.oaWorkflowXml.OaWorkflowXmlDto;
+import org.springframework.http.ResponseEntity;
+public interface IGetOaWorkflowXmlBMO {
+
+
+    /**
+     * 查询OA流程图
+     * add by wuxw
+     * @param  oaWorkflowXmlDto
+     * @return
+     */
+    ResponseEntity<String> get(OaWorkflowXmlDto oaWorkflowXmlDto);
+
+
+}

+ 17 - 0
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/ISaveOaWorkflowXmlBMO.java

@@ -0,0 +1,17 @@
+package com.java110.oa.bmo.oaWorkflowXml;
+
+import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
+import org.springframework.http.ResponseEntity;
+public interface ISaveOaWorkflowXmlBMO {
+
+
+    /**
+     * 添加OA流程图
+     * add by wuxw
+     * @param oaWorkflowXmlPo
+     * @return
+     */
+    ResponseEntity<String> save(OaWorkflowXmlPo oaWorkflowXmlPo);
+
+
+}

+ 17 - 0
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IUpdateOaWorkflowXmlBMO.java

@@ -0,0 +1,17 @@
+package com.java110.oa.bmo.oaWorkflowXml;
+import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
+import org.springframework.http.ResponseEntity;
+
+public interface IUpdateOaWorkflowXmlBMO {
+
+
+    /**
+     * 修改OA流程图
+     * add by wuxw
+     * @param oaWorkflowXmlPo
+     * @return
+     */
+    ResponseEntity<String> update(OaWorkflowXmlPo oaWorkflowXmlPo);
+
+
+}

+ 34 - 0
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/DeleteOaWorkflowXmlBMOImpl.java

@@ -0,0 +1,34 @@
+package com.java110.oa.bmo.oaWorkflowXml.impl;
+
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.intf.oa.IOaWorkflowXmlInnerServiceSMO;
+import com.java110.oa.bmo.oaWorkflowXml.IDeleteOaWorkflowXmlBMO;
+import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+@Service("deleteOaWorkflowXmlBMOImpl")
+public class DeleteOaWorkflowXmlBMOImpl implements IDeleteOaWorkflowXmlBMO {
+
+    @Autowired
+    private IOaWorkflowXmlInnerServiceSMO oaWorkflowXmlInnerServiceSMOImpl;
+
+    /**
+     * @param oaWorkflowXmlPo 数据
+     * @return 订单服务能够接受的报文
+     */
+    @Java110Transactional
+    public ResponseEntity<String> delete(OaWorkflowXmlPo oaWorkflowXmlPo) {
+
+        int flag = oaWorkflowXmlInnerServiceSMOImpl.deleteOaWorkflowXml(oaWorkflowXmlPo);
+
+        if (flag > 0) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
+        }
+
+        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+    }
+
+}

+ 44 - 0
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/GetOaWorkflowXmlBMOImpl.java

@@ -0,0 +1,44 @@
+package com.java110.oa.bmo.oaWorkflowXml.impl;
+
+import com.java110.dto.oaWorkflowXml.OaWorkflowXmlDto;
+import com.java110.intf.oa.IOaWorkflowXmlInnerServiceSMO;
+import com.java110.oa.bmo.oaWorkflowXml.IGetOaWorkflowXmlBMO;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service("getOaWorkflowXmlBMOImpl")
+public class GetOaWorkflowXmlBMOImpl implements IGetOaWorkflowXmlBMO {
+
+    @Autowired
+    private IOaWorkflowXmlInnerServiceSMO oaWorkflowXmlInnerServiceSMOImpl;
+
+    /**
+     * @param oaWorkflowXmlDto
+     * @return 订单服务能够接受的报文
+     */
+    public ResponseEntity<String> get(OaWorkflowXmlDto oaWorkflowXmlDto) {
+
+
+        int count = oaWorkflowXmlInnerServiceSMOImpl.queryOaWorkflowXmlsCount(oaWorkflowXmlDto);
+
+        List<OaWorkflowXmlDto> oaWorkflowXmlDtos = null;
+        if (count > 0) {
+            oaWorkflowXmlDtos = oaWorkflowXmlInnerServiceSMOImpl.queryOaWorkflowXmls(oaWorkflowXmlDto);
+        } else {
+            oaWorkflowXmlDtos = new ArrayList<>();
+        }
+
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) oaWorkflowXmlDto.getRow()), count, oaWorkflowXmlDtos);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        return responseEntity;
+    }
+
+}

+ 38 - 0
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/SaveOaWorkflowXmlBMOImpl.java

@@ -0,0 +1,38 @@
+package com.java110.oa.bmo.oaWorkflowXml.impl;
+
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.intf.oa.IOaWorkflowXmlInnerServiceSMO;
+import com.java110.oa.bmo.oaWorkflowXml.ISaveOaWorkflowXmlBMO;
+import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+@Service("saveOaWorkflowXmlBMOImpl")
+public class SaveOaWorkflowXmlBMOImpl implements ISaveOaWorkflowXmlBMO {
+
+    @Autowired
+    private IOaWorkflowXmlInnerServiceSMO oaWorkflowXmlInnerServiceSMOImpl;
+
+    /**
+     * 添加小区信息
+     *
+     * @param oaWorkflowXmlPo
+     * @return 订单服务能够接受的报文
+     */
+    @Java110Transactional
+    public ResponseEntity<String> save(OaWorkflowXmlPo oaWorkflowXmlPo) {
+
+        oaWorkflowXmlPo.setXmlId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_xmlId));
+        int flag = oaWorkflowXmlInnerServiceSMOImpl.saveOaWorkflowXml(oaWorkflowXmlPo);
+
+        if (flag > 0) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
+        }
+
+        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+    }
+
+}

+ 34 - 0
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/UpdateOaWorkflowXmlBMOImpl.java

@@ -0,0 +1,34 @@
+package com.java110.oa.bmo.oaWorkflowXml.impl;
+
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.intf.oa.IOaWorkflowXmlInnerServiceSMO;
+import com.java110.oa.bmo.oaWorkflowXml.IUpdateOaWorkflowXmlBMO;
+import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+@Service("updateOaWorkflowXmlBMOImpl")
+public class UpdateOaWorkflowXmlBMOImpl implements IUpdateOaWorkflowXmlBMO {
+
+    @Autowired
+    private IOaWorkflowXmlInnerServiceSMO oaWorkflowXmlInnerServiceSMOImpl;
+
+    /**
+     * @param oaWorkflowXmlPo
+     * @return 订单服务能够接受的报文
+     */
+    @Java110Transactional
+    public ResponseEntity<String> update(OaWorkflowXmlPo oaWorkflowXmlPo) {
+
+        int flag = oaWorkflowXmlInnerServiceSMOImpl.updateOaWorkflowXml(oaWorkflowXmlPo);
+
+        if (flag > 0) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
+        }
+
+        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+    }
+
+}

+ 61 - 0
service-oa/src/main/java/com/java110/oa/dao/IOaWorkflowXmlServiceDao.java

@@ -0,0 +1,61 @@
+package com.java110.oa.dao;
+
+
+import com.java110.utils.exception.DAOException;
+import com.java110.entity.merchant.BoMerchant;
+import com.java110.entity.merchant.BoMerchantAttr;
+import com.java110.entity.merchant.Merchant;
+import com.java110.entity.merchant.MerchantAttr;
+
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * OA流程图组件内部之间使用,没有给外围系统提供服务能力
+ * OA流程图服务接口类,要求全部以字符串传输,方便微服务化
+ * 新建客户,修改客户,删除客户,查询客户等功能
+ *
+ * Created by wuxw on 2016/12/27.
+ */
+public interface IOaWorkflowXmlServiceDao {
+
+
+    /**
+     * 保存 OA流程图信息
+     * @param info
+     * @throws DAOException DAO异常
+     */
+    void saveOaWorkflowXmlInfo(Map info) throws DAOException;
+
+
+
+
+    /**
+     * 查询OA流程图信息(instance过程)
+     * 根据bId 查询OA流程图信息
+     * @param info bId 信息
+     * @return OA流程图信息
+     * @throws DAOException DAO异常
+     */
+    List<Map> getOaWorkflowXmlInfo(Map info) throws DAOException;
+
+
+
+    /**
+     * 修改OA流程图信息
+     * @param info 修改信息
+     * @throws DAOException DAO异常
+     */
+    void updateOaWorkflowXmlInfo(Map info) throws DAOException;
+
+
+    /**
+     * 查询OA流程图总数
+     *
+     * @param info OA流程图信息
+     * @return OA流程图数量
+     */
+    int queryOaWorkflowXmlsCount(Map info);
+
+}

+ 98 - 0
service-oa/src/main/java/com/java110/oa/dao/impl/OaWorkflowXmlServiceDaoImpl.java

@@ -0,0 +1,98 @@
+package com.java110.oa.dao.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.utils.constant.ResponseConstant;
+import com.java110.utils.exception.DAOException;
+import com.java110.utils.util.DateUtil;
+import com.java110.core.base.dao.BaseServiceDao;
+import com.java110.oa.dao.IOaWorkflowXmlServiceDao;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * OA流程图服务 与数据库交互
+ * Created by wuxw on 2017/4/5.
+ */
+@Service("oaWorkflowXmlServiceDaoImpl")
+//@Transactional
+public class OaWorkflowXmlServiceDaoImpl extends BaseServiceDao implements IOaWorkflowXmlServiceDao {
+
+    private static Logger logger = LoggerFactory.getLogger(OaWorkflowXmlServiceDaoImpl.class);
+
+
+
+
+
+    /**
+     * 保存OA流程图信息 到 instance
+     * @param info   bId 信息
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public void saveOaWorkflowXmlInfo(Map info) throws DAOException {
+        logger.debug("保存OA流程图信息Instance 入参 info : {}",info);
+
+        int saveFlag = sqlSessionTemplate.insert("oaWorkflowXmlServiceDaoImpl.saveOaWorkflowXmlInfo",info);
+
+        if(saveFlag < 1){
+            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存OA流程图信息Instance数据失败:"+ JSONObject.toJSONString(info));
+        }
+    }
+
+
+    /**
+     * 查询OA流程图信息(instance)
+     * @param info bId 信息
+     * @return List<Map>
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public List<Map> getOaWorkflowXmlInfo(Map info) throws DAOException {
+        logger.debug("查询OA流程图信息 入参 info : {}",info);
+
+        List<Map> businessOaWorkflowXmlInfos = sqlSessionTemplate.selectList("oaWorkflowXmlServiceDaoImpl.getOaWorkflowXmlInfo",info);
+
+        return businessOaWorkflowXmlInfos;
+    }
+
+
+    /**
+     * 修改OA流程图信息
+     * @param info 修改信息
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public void updateOaWorkflowXmlInfo(Map info) throws DAOException {
+        logger.debug("修改OA流程图信息Instance 入参 info : {}",info);
+
+        int saveFlag = sqlSessionTemplate.update("oaWorkflowXmlServiceDaoImpl.updateOaWorkflowXmlInfo",info);
+
+        if(saveFlag < 1){
+            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"修改OA流程图信息Instance数据失败:"+ JSONObject.toJSONString(info));
+        }
+    }
+
+     /**
+     * 查询OA流程图数量
+     * @param info OA流程图信息
+     * @return OA流程图数量
+     */
+    @Override
+    public int queryOaWorkflowXmlsCount(Map info) {
+        logger.debug("查询OA流程图数据 入参 info : {}",info);
+
+        List<Map> businessOaWorkflowXmlInfos = sqlSessionTemplate.selectList("oaWorkflowXmlServiceDaoImpl.queryOaWorkflowXmlsCount", info);
+        if (businessOaWorkflowXmlInfos.size() < 1) {
+            return 0;
+        }
+
+        return Integer.parseInt(businessOaWorkflowXmlInfos.get(0).get("count").toString());
+    }
+
+
+}

+ 83 - 0
service-oa/src/main/java/com/java110/oa/smo/impl/OaWorkflowXmlInnerServiceSMOImpl.java

@@ -0,0 +1,83 @@
+package com.java110.oa.smo.impl;
+
+
+import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.dto.PageDto;
+import com.java110.dto.oaWorkflowXml.OaWorkflowXmlDto;
+import com.java110.intf.IOaWorkflowXmlInnerServiceSMO;
+import com.java110.oa.dao.IOaWorkflowXmlServiceDao;
+import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
+import com.java110.utils.util.BeanConvertUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @ClassName FloorInnerServiceSMOImpl
+ * @Description OA流程图内部服务实现类
+ * @Author wuxw
+ * @Date 2019/4/24 9:20
+ * @Version 1.0
+ * add by wuxw 2019/4/24
+ **/
+@RestController
+public class OaWorkflowXmlInnerServiceSMOImpl extends BaseServiceSMO implements IOaWorkflowXmlInnerServiceSMO {
+
+    @Autowired
+    private IOaWorkflowXmlServiceDao oaWorkflowXmlServiceDaoImpl;
+
+
+    @Override
+    public int saveOaWorkflowXml(@RequestBody OaWorkflowXmlPo oaWorkflowXmlPo) {
+        int saveFlag = 1;
+        oaWorkflowXmlServiceDaoImpl.saveOaWorkflowXmlInfo(BeanConvertUtil.beanCovertMap(oaWorkflowXmlPo));
+        return saveFlag;
+    }
+
+    @Override
+    public int updateOaWorkflowXml(@RequestBody OaWorkflowXmlPo oaWorkflowXmlPo) {
+        int saveFlag = 1;
+        oaWorkflowXmlServiceDaoImpl.updateOaWorkflowXmlInfo(BeanConvertUtil.beanCovertMap(oaWorkflowXmlPo));
+        return saveFlag;
+    }
+
+    @Override
+    public int deleteOaWorkflowXml(@RequestBody OaWorkflowXmlPo oaWorkflowXmlPo) {
+        int saveFlag = 1;
+        oaWorkflowXmlPo.setStatusCd("1");
+        oaWorkflowXmlServiceDaoImpl.updateOaWorkflowXmlInfo(BeanConvertUtil.beanCovertMap(oaWorkflowXmlPo));
+        return saveFlag;
+    }
+
+    @Override
+    public List<OaWorkflowXmlDto> queryOaWorkflowXmls(@RequestBody OaWorkflowXmlDto oaWorkflowXmlDto) {
+
+        //校验是否传了 分页信息
+
+        int page = oaWorkflowXmlDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            oaWorkflowXmlDto.setPage((page - 1) * oaWorkflowXmlDto.getRow());
+        }
+
+        List<OaWorkflowXmlDto> oaWorkflowXmls = BeanConvertUtil.covertBeanList(oaWorkflowXmlServiceDaoImpl.getOaWorkflowXmlInfo(BeanConvertUtil.beanCovertMap(oaWorkflowXmlDto)), OaWorkflowXmlDto.class);
+
+        return oaWorkflowXmls;
+    }
+
+
+    @Override
+    public int queryOaWorkflowXmlsCount(@RequestBody OaWorkflowXmlDto oaWorkflowXmlDto) {
+        return oaWorkflowXmlServiceDaoImpl.queryOaWorkflowXmlsCount(BeanConvertUtil.beanCovertMap(oaWorkflowXmlDto));
+    }
+
+    public IOaWorkflowXmlServiceDao getOaWorkflowXmlServiceDaoImpl() {
+        return oaWorkflowXmlServiceDaoImpl;
+    }
+
+    public void setOaWorkflowXmlServiceDaoImpl(IOaWorkflowXmlServiceDao oaWorkflowXmlServiceDaoImpl) {
+        this.oaWorkflowXmlServiceDaoImpl = oaWorkflowXmlServiceDaoImpl;
+    }
+}