From ab6a423cf604b83f06b5768dbc162ece744a32d9 Mon Sep 17 00:00:00 2001
From: shane <88386378@qq.com>
Date: 星期五, 20 八月 2021 00:34:11 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-common/src/main/java/com/java110/common/api/WorkflowApi.java                                  |   48 -
 service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/GetOaWorkflowXmlBMOImpl.java           |   44 ++
 java110-db/src/main/resources/mapper/oa/OaWorkflowXmlServiceDaoImplMapper.xml                         |  106 ++++
 service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/SaveOaWorkflowXmlBMOImpl.java          |   38 +
 java110-interface/src/main/java/com/java110/intf/oa/IOaWorkflowXmlInnerServiceSMO.java                |   53 ++
 service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/SaveOaWorkflowBMOImpl.java                |    2 
 service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/ISaveOaWorkflowXmlBMO.java                  |   17 
 java110-db/src/main/resources/mapper/oa/OaWorkflowServiceDaoImplMapper.xml                            |   15 
 java110-db/src/main/resources/mapper/community/MenuServiceDaoImplMapper.xml                           |    2 
 service-oa/src/main/java/com/java110/oa/smo/impl/OaWorkflowXmlInnerServiceSMOImpl.java                |   83 +++
 service-front/src/main/java/com/java110/front/controller/activiti/ActivitiController.java             |   17 
 java110-bean/src/main/java/com/java110/po/oaWorkflow/OaWorkflowPo.java                                |   79 ++-
 service-common/src/main/java/com/java110/common/bmo/workflow/IQueryWorkFlowFirstStaffBMO.java         |    2 
 service-common/src/main/java/com/java110/common/bmo/workflow/impl/QueryWorkFlowFirstStaffBMOImpl.java |  115 ++++
 java110-bean/src/main/java/com/java110/dto/oaWorkflow/OaWorkflowDto.java                              |   72 ++-
 service-common/src/main/java/com/java110/common/CommonServiceApplicationStart.java                    |    1 
 java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java                          |    1 
 java110-bean/src/main/java/com/java110/dto/oaWorkflowXml/OaWorkflowXmlDto.java                        |   86 +++
 service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IUpdateOaWorkflowXmlBMO.java                |   17 
 service-front/src/main/java/com/java110/front/smo/assetImport/impl/AssetImportSMOImpl.java            |   50 +-
 service-oa/src/main/java/com/java110/oa/dao/impl/OaWorkflowXmlServiceDaoImpl.java                     |   98 ++++
 service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/UpdateOaWorkflowBMOImpl.java              |    4 
 java110-bean/src/main/java/com/java110/dto/workflow/WorkflowModelDto.java                             |   19 
 java110-generator/src/main/resources/newBack/template_1.json                                          |   25 
 service-oa/src/main/java/com/java110/oa/dao/IOaWorkflowXmlServiceDao.java                             |   61 ++
 java110-bean/src/main/java/com/java110/po/oaWorkflowXml/OaWorkflowXmlPo.java                          |   53 ++
 service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/UpdateOaWorkflowXmlBMOImpl.java        |   34 +
 service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IGetOaWorkflowXmlBMO.java                   |   16 
 service-oa/src/main/java/com/java110/oa/api/OaWorkflowApi.java                                        |  106 ++++
 service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IDeleteOaWorkflowXmlBMO.java                |   17 
 service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/DeleteOaWorkflowXmlBMOImpl.java        |   34 +
 31 files changed, 1,168 insertions(+), 147 deletions(-)

diff --git a/java110-bean/src/main/java/com/java110/dto/oaWorkflow/OaWorkflowDto.java b/java110-bean/src/main/java/com/java110/dto/oaWorkflow/OaWorkflowDto.java
index bb72822..5e609d8 100644
--- a/java110-bean/src/main/java/com/java110/dto/oaWorkflow/OaWorkflowDto.java
+++ b/java110-bean/src/main/java/com/java110/dto/oaWorkflow/OaWorkflowDto.java
@@ -1,6 +1,7 @@
 package com.java110.dto.oaWorkflow;
 
 import com.java110.dto.PageDto;
+
 import java.io.Serializable;
 import java.util.Date;
 
@@ -14,14 +15,18 @@
  **/
 public class OaWorkflowDto extends PageDto implements Serializable {
 
+    public static final String STATE_WAIT = "W";//寰呴儴缃�
+    public static final String STATE_COMPLAINT = "C";//閮ㄧ讲瀹屾垚
+
     private String describle;
-private String modelId;
-private String flowKey;
-private String storeId;
-private String flowId;
-private String flowName;
-private String flowType;
-private String processDefinitionKey;
+    private String modelId;
+    private String flowKey;
+    private String storeId;
+    private String flowId;
+    private String flowName;
+    private String flowType;
+    private String processDefinitionKey;
+    private String state;
 
 
     private Date createTime;
@@ -32,49 +37,64 @@
     public String getDescrible() {
         return describle;
     }
-public void setDescrible(String describle) {
+
+    public void setDescrible(String describle) {
         this.describle = describle;
     }
-public String getModelId() {
+
+    public String getModelId() {
         return modelId;
     }
-public void setModelId(String modelId) {
+
+    public void setModelId(String modelId) {
         this.modelId = modelId;
     }
-public String getFlowKey() {
+
+    public String getFlowKey() {
         return flowKey;
     }
-public void setFlowKey(String flowKey) {
+
+    public void setFlowKey(String flowKey) {
         this.flowKey = flowKey;
     }
-public String getStoreId() {
+
+    public String getStoreId() {
         return storeId;
     }
-public void setStoreId(String storeId) {
+
+    public void setStoreId(String storeId) {
         this.storeId = storeId;
     }
-public String getFlowId() {
+
+    public String getFlowId() {
         return flowId;
     }
-public void setFlowId(String flowId) {
+
+    public void setFlowId(String flowId) {
         this.flowId = flowId;
     }
-public String getFlowName() {
+
+    public String getFlowName() {
         return flowName;
     }
-public void setFlowName(String flowName) {
+
+    public void setFlowName(String flowName) {
         this.flowName = flowName;
     }
-public String getFlowType() {
+
+    public String getFlowType() {
         return flowType;
     }
-public void setFlowType(String flowType) {
+
+    public void setFlowType(String flowType) {
         this.flowType = flowType;
     }
-public String getProcessDefinitionKey() {
+
+    public String getProcessDefinitionKey() {
         return processDefinitionKey;
     }
-public void setProcessDefinitionKey(String processDefinitionKey) {
+
+    public void setProcessDefinitionKey(String processDefinitionKey) {
         this.processDefinitionKey = processDefinitionKey;
     }
 
@@ -94,4 +114,12 @@
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public String getState() {
+        return state;
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
 }
diff --git a/java110-bean/src/main/java/com/java110/dto/oaWorkflowXml/OaWorkflowXmlDto.java b/java110-bean/src/main/java/com/java110/dto/oaWorkflowXml/OaWorkflowXmlDto.java
new file mode 100644
index 0000000..f0f0416
--- /dev/null
+++ b/java110-bean/src/main/java/com/java110/dto/oaWorkflowXml/OaWorkflowXmlDto.java
@@ -0,0 +1,86 @@
+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;
+    }
+}
diff --git a/java110-bean/src/main/java/com/java110/dto/workflow/WorkflowModelDto.java b/java110-bean/src/main/java/com/java110/dto/workflow/WorkflowModelDto.java
index 80f4581..a40af68 100644
--- a/java110-bean/src/main/java/com/java110/dto/workflow/WorkflowModelDto.java
+++ b/java110-bean/src/main/java/com/java110/dto/workflow/WorkflowModelDto.java
@@ -12,6 +12,8 @@
  **/
 public class WorkflowModelDto implements Serializable {
 
+    private String flowId;
+
     private String name;
 
     private String key;
@@ -21,6 +23,7 @@
     private String description;
     private String json_xml;
     private String svg_xml;
+    private String storeId;
 
     private String deploymentId;
 
@@ -79,4 +82,20 @@
     public void setDeploymentId(String deploymentId) {
         this.deploymentId = deploymentId;
     }
+
+    public String getFlowId() {
+        return flowId;
+    }
+
+    public void setFlowId(String flowId) {
+        this.flowId = flowId;
+    }
+
+    public String getStoreId() {
+        return storeId;
+    }
+
+    public void setStoreId(String storeId) {
+        this.storeId = storeId;
+    }
 }
diff --git a/java110-bean/src/main/java/com/java110/po/oaWorkflow/OaWorkflowPo.java b/java110-bean/src/main/java/com/java110/po/oaWorkflow/OaWorkflowPo.java
index c351b11..ff3ba89 100644
--- a/java110-bean/src/main/java/com/java110/po/oaWorkflow/OaWorkflowPo.java
+++ b/java110-bean/src/main/java/com/java110/po/oaWorkflow/OaWorkflowPo.java
@@ -1,74 +1,97 @@
 package com.java110.po.oaWorkflow;
 
 import java.io.Serializable;
-import java.util.Date;
 
 public class OaWorkflowPo implements Serializable {
 
     private String describle;
-private String modelId;
-private String statusCd = "0";
-private String flowKey;
-private String storeId;
-private String flowId;
-private String flowName;
-private String flowType;
-private String processDefinitionKey;
-public String getDescrible() {
+    private String modelId;
+    private String statusCd = "0";
+    private String flowKey;
+    private String storeId;
+    private String flowId;
+    private String flowName;
+    private String flowType;
+    private String state;
+    private String processDefinitionKey;
+
+    public String getDescrible() {
         return describle;
     }
-public void setDescrible(String describle) {
+
+    public void setDescrible(String describle) {
         this.describle = describle;
     }
-public String getModelId() {
+
+    public String getModelId() {
         return modelId;
     }
-public void setModelId(String modelId) {
+
+    public void setModelId(String modelId) {
         this.modelId = modelId;
     }
-public String getStatusCd() {
+
+    public String getStatusCd() {
         return statusCd;
     }
-public void setStatusCd(String statusCd) {
+
+    public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
-public String getFlowKey() {
+
+    public String getFlowKey() {
         return flowKey;
     }
-public void setFlowKey(String flowKey) {
+
+    public void setFlowKey(String flowKey) {
         this.flowKey = flowKey;
     }
-public String getStoreId() {
+
+    public String getStoreId() {
         return storeId;
     }
-public void setStoreId(String storeId) {
+
+    public void setStoreId(String storeId) {
         this.storeId = storeId;
     }
-public String getFlowId() {
+
+    public String getFlowId() {
         return flowId;
     }
-public void setFlowId(String flowId) {
+
+    public void setFlowId(String flowId) {
         this.flowId = flowId;
     }
-public String getFlowName() {
+
+    public String getFlowName() {
         return flowName;
     }
-public void setFlowName(String flowName) {
+
+    public void setFlowName(String flowName) {
         this.flowName = flowName;
     }
-public String getFlowType() {
+
+    public String getFlowType() {
         return flowType;
     }
-public void setFlowType(String flowType) {
+
+    public void setFlowType(String flowType) {
         this.flowType = flowType;
     }
-public String getProcessDefinitionKey() {
+
+    public String getProcessDefinitionKey() {
         return processDefinitionKey;
     }
-public void setProcessDefinitionKey(String processDefinitionKey) {
+
+    public void setProcessDefinitionKey(String processDefinitionKey) {
         this.processDefinitionKey = processDefinitionKey;
     }
 
+    public String getState() {
+        return state;
+    }
 
-
+    public void setState(String state) {
+        this.state = state;
+    }
 }
diff --git a/java110-bean/src/main/java/com/java110/po/oaWorkflowXml/OaWorkflowXmlPo.java b/java110-bean/src/main/java/com/java110/po/oaWorkflowXml/OaWorkflowXmlPo.java
new file mode 100644
index 0000000..49e9442
--- /dev/null
+++ b/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;
+    }
+
+
+
+}
diff --git a/java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java b/java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
index 47738f3..4452a90 100644
--- a/java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
+++ b/java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
@@ -216,6 +216,7 @@
 
     public static final String CODE_PREFIX_backId = "78";
     public static final String CODE_PREFIX_monthId = "79";
+    public static final String CODE_PREFIX_xmlId = "79";
 
 
 
diff --git a/java110-db/src/main/resources/mapper/community/MenuServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/community/MenuServiceDaoImplMapper.xml
index c6bb93e..e84d4bf 100755
--- a/java110-db/src/main/resources/mapper/community/MenuServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/community/MenuServiceDaoImplMapper.xml
@@ -319,7 +319,7 @@
             AND ppr.status_cd = '0'
             )
         </if>
-        order by t.m_id desc
+        order by t.seq
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
         </if>
diff --git a/java110-db/src/main/resources/mapper/oa/OaWorkflowServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/oa/OaWorkflowServiceDaoImplMapper.xml
index 21bd0f7..185e3db 100644
--- a/java110-db/src/main/resources/mapper/oa/OaWorkflowServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/oa/OaWorkflowServiceDaoImplMapper.xml
@@ -8,9 +8,9 @@
     <!-- 淇濆瓨OA宸ヤ綔娴佷俊鎭� add by wuxw 2018-07-03 -->
     <insert id="saveOaWorkflowInfo" parameterType="Map">
         insert into oa_workflow(
-        describle,model_id,flow_key,store_id,flow_id,flow_name,flow_type,process_definition_key
+        describle,model_id,flow_key,store_id,flow_id,flow_name,flow_type,process_definition_key,state
         ) values (
-        #{describle},#{modelId},#{flowKey},#{storeId},#{flowId},#{flowName},#{flowType},#{processDefinitionKey}
+        #{describle},#{modelId},#{flowKey},#{storeId},#{flowId},#{flowName},#{flowType},#{processDefinitionKey},#{state}
         )
     </insert>
 
@@ -20,7 +20,7 @@
         select t.describle,t.model_id,t.model_id modelId,t.status_cd,t.status_cd statusCd,t.flow_key,t.flow_key
         flowKey,t.store_id,t.store_id storeId,t.flow_id,t.flow_id flowId,t.flow_name,t.flow_name
         flowName,t.flow_type,t.flow_type flowType,t.process_definition_key,t.process_definition_key processDefinitionKey,
-        t.create_time createTime
+        t.create_time createTime,t.state
         from oa_workflow t
         where 1 =1
         <if test="describle !=null and describle != ''">
@@ -43,6 +43,9 @@
         </if>
         <if test="flowName !=null and flowName != ''">
             and t.flow_name= #{flowName}
+        </if>
+        <if test="state !=null and state != ''">
+            and t.state= #{state}
         </if>
         <if test="flowType !=null and flowType != ''">
             and t.flow_type= #{flowType}
@@ -72,6 +75,9 @@
         </if>
         <if test="flowKey !=null and flowKey != ''">
             , t.flow_key= #{flowKey}
+        </if>
+        <if test="state !=null and state != ''">
+            , t.state= #{state}
         </if>
 
         <if test="flowName !=null and flowName != ''">
@@ -116,6 +122,9 @@
         <if test="flowId !=null and flowId != ''">
             and t.flow_id= #{flowId}
         </if>
+        <if test="state !=null and state != ''">
+            and t.state= #{state}
+        </if>
         <if test="flowName !=null and flowName != ''">
             and t.flow_name= #{flowName}
         </if>
diff --git a/java110-db/src/main/resources/mapper/oa/OaWorkflowXmlServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/oa/OaWorkflowXmlServiceDaoImplMapper.xml
new file mode 100644
index 0000000..0e5434f
--- /dev/null
+++ b/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>
diff --git a/java110-generator/src/main/resources/newBack/template_1.json b/java110-generator/src/main/resources/newBack/template_1.json
index 9e2e7ce..c70e314 100755
--- a/java110-generator/src/main/resources/newBack/template_1.json
+++ b/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": "娴佺▼鍥句笉鑳戒负绌�"
     }
   ]
 }
diff --git a/java110-interface/src/main/java/com/java110/intf/oa/IOaWorkflowXmlInnerServiceSMO.java b/java110-interface/src/main/java/com/java110/intf/oa/IOaWorkflowXmlInnerServiceSMO.java
new file mode 100644
index 0000000..0c1620f
--- /dev/null
+++ b/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娴佺▼鍥炬帴鍙g被
+ * @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);
+}
diff --git a/service-common/src/main/java/com/java110/common/CommonServiceApplicationStart.java b/service-common/src/main/java/com/java110/common/CommonServiceApplicationStart.java
index 8d20764..d13c24e 100755
--- a/service-common/src/main/java/com/java110/common/CommonServiceApplicationStart.java
+++ b/service-common/src/main/java/com/java110/common/CommonServiceApplicationStart.java
@@ -65,6 +65,7 @@
         "com.java110.intf.community",
         "com.java110.intf.job",
         "com.java110.intf.order",
+        "com.java110.intf.oa",
         "com.java110.intf.report"
 })
 public class CommonServiceApplicationStart {
diff --git a/service-common/src/main/java/com/java110/common/api/WorkflowApi.java b/service-common/src/main/java/com/java110/common/api/WorkflowApi.java
index 669e4c3..7f1f6bd 100755
--- a/service-common/src/main/java/com/java110/common/api/WorkflowApi.java
+++ b/service-common/src/main/java/com/java110/common/api/WorkflowApi.java
@@ -75,43 +75,33 @@
     /**
      * 鏇存柊娴佺▼
      *
-     * @param reqJson 妯″瀷ID
+     * @param reqString 妯″瀷ID
      * @ServiceCode /workflow/saveModel
      */
     @RequestMapping(value = "/saveModel", method = RequestMethod.POST)
     @ResponseStatus(value = HttpStatus.OK)
-    public ResponseEntity<String> saveModel(@RequestBody JSONObject reqJson) {
+    public ResponseEntity<String> saveModel(
+                                            @RequestBody String reqString) {
+        JSONObject reqJson = JSONObject.parseObject(reqString);
         WorkflowModelDto workflowModelDto = BeanConvertUtil.covertBean(reqJson, WorkflowModelDto.class);
-        try {
-            Model model = repositoryService.getModel(workflowModelDto.getModelId());
-            ObjectNode modelJson = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
-            modelJson.put(MODEL_NAME, workflowModelDto.getName());
-            modelJson.put(MODEL_DESCRIPTION, workflowModelDto.getDescription());
-            modelJson.put(ModelDataJsonConstants.MODEL_REVISION, model.getVersion() + 1);
-            model.setMetaInfo(modelJson.toString());
-            model.setName(workflowModelDto.getName());
-            repositoryService.saveModel(model);
-            repositoryService.addModelEditorSource(model.getId(), workflowModelDto.getJson_xml().getBytes("utf-8"));
 
-            InputStream svgStream = new ByteArrayInputStream(workflowModelDto.getSvg_xml().getBytes("utf-8"));
-            TranscoderInput input = new TranscoderInput(svgStream);
+        //閮ㄧ讲model
+        return queryWorkFlowFirstStaffBMOImpl.saveModel(workflowModelDto);
 
-            PNGTranscoder transcoder = new PNGTranscoder();
-            // Setup output
-            ByteArrayOutputStream outStream = new ByteArrayOutputStream();
-            TranscoderOutput output = new TranscoderOutput(outStream);
+    }
 
-            // Do the transformation
-            transcoder.transcode(input, output);
-            final byte[] result = outStream.toByteArray();
-            repositoryService.addModelEditorSourceExtra(model.getId(), result);
-            outStream.close();
-
-
-        } catch (Exception e) {
-            logger.error("Error saving model", e);
-            throw new ActivitiException("Error saving model", e);
-        }
+    /**
+     * 閮ㄧ讲娴佺▼
+     *
+     * @param reqString 妯″瀷ID
+     * @ServiceCode /workflow/deployModel
+     */
+    @RequestMapping(value = "/deployModel", method = RequestMethod.POST)
+    @ResponseStatus(value = HttpStatus.OK)
+    public ResponseEntity<String> deployModel(
+            @RequestBody String reqString) {
+        JSONObject reqJson = JSONObject.parseObject(reqString);
+        WorkflowModelDto workflowModelDto = BeanConvertUtil.covertBean(reqJson, WorkflowModelDto.class);
 
         //閮ㄧ讲model
         return queryWorkFlowFirstStaffBMOImpl.deployModel(workflowModelDto);
diff --git a/service-common/src/main/java/com/java110/common/bmo/workflow/IQueryWorkFlowFirstStaffBMO.java b/service-common/src/main/java/com/java110/common/bmo/workflow/IQueryWorkFlowFirstStaffBMO.java
index 4c328c9..b6f3695 100755
--- a/service-common/src/main/java/com/java110/common/bmo/workflow/IQueryWorkFlowFirstStaffBMO.java
+++ b/service-common/src/main/java/com/java110/common/bmo/workflow/IQueryWorkFlowFirstStaffBMO.java
@@ -15,4 +15,6 @@
     ResponseEntity<String> query(WorkflowDto workflowDto);
 
     ResponseEntity<String> deployModel(WorkflowModelDto workflowModelDto);
+
+    ResponseEntity<String> saveModel(WorkflowModelDto workflowModelDto);
 }
diff --git a/service-common/src/main/java/com/java110/common/bmo/workflow/impl/QueryWorkFlowFirstStaffBMOImpl.java b/service-common/src/main/java/com/java110/common/bmo/workflow/impl/QueryWorkFlowFirstStaffBMOImpl.java
index b91a3ca..8834de9 100755
--- a/service-common/src/main/java/com/java110/common/bmo/workflow/impl/QueryWorkFlowFirstStaffBMOImpl.java
+++ b/service-common/src/main/java/com/java110/common/bmo/workflow/impl/QueryWorkFlowFirstStaffBMOImpl.java
@@ -1,44 +1,56 @@
 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.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.oaWorkflowXml.OaWorkflowXmlDto;
 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;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
-import org.activiti.bpmn.converter.BpmnXMLConverter;
-import org.activiti.bpmn.model.BpmnModel;
+import org.activiti.editor.constants.ModelDataJsonConstants;
 import org.activiti.editor.language.json.converter.BpmnJsonConverter;
+import org.activiti.engine.ActivitiException;
 import org.activiti.engine.ProcessEngine;
 import org.activiti.engine.ProcessEngines;
 import org.activiti.engine.RepositoryService;
 import org.activiti.engine.repository.Deployment;
 import org.activiti.engine.repository.Model;
 import org.activiti.engine.repository.ProcessDefinition;
+import org.apache.batik.transcoder.TranscoderInput;
+import org.apache.batik.transcoder.TranscoderOutput;
+import org.apache.batik.transcoder.image.PNGTranscoder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 
 import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 @Service("queryWorkFlowFirstStaffServiceImpl")
 public class QueryWorkFlowFirstStaffBMOImpl implements IQueryWorkFlowFirstStaffBMO {
-
+    private static final Logger logger = LoggerFactory.getLogger(QueryWorkFlowFirstStaffBMOImpl.class);
     @Autowired
     private IWorkflowServiceDao workflowServiceDaoImpl;
 
@@ -53,6 +65,22 @@
 
     @Autowired
     private IOaWorkflowInnerServiceSMO oaWorkflowInnerServiceSMOImpl;
+
+    @Autowired
+    private IOaWorkflowXmlInnerServiceSMO oaWorkflowXmlInnerServiceSMOImpl;
+
+    @Autowired
+    private RepositoryService repositoryService;
+
+    @Autowired
+    private ObjectMapper objectMapper;
+
+
+    String MODEL_ID = "modelId";
+    String MODEL_NAME = "name";
+    String MODEL_REVISION = "revision";
+    String MODEL_DESCRIPTION = "description";
+
 
     @Override
     public ResponseEntity<String> query(WorkflowDto workflowDto) {
@@ -122,10 +150,11 @@
         try {
             Model modelData = repositoryService.getModel(workflowModelDto.getModelId());
             byte[] bpmnBytes = null;
-            JsonNode editorNode = new ObjectMapper().readTree(repositoryService.getModelEditorSource(workflowModelDto.getModelId()));
-            BpmnJsonConverter jsonConverter = new BpmnJsonConverter();
-            BpmnModel model = jsonConverter.convertToBpmnModel(editorNode);
-            bpmnBytes = new BpmnXMLConverter().convertToXML(model);
+            //JsonNode editorNode = new ObjectMapper().readTree(repositoryService.getModelEditorSource(workflowModelDto.getModelId()));
+            //BpmnJsonConverter jsonConverter = new BpmnJsonConverter();
+            //BpmnModel model = jsonConverter.convertToBpmnModel(editorNode);
+            //bpmnBytes = new BpmnXMLConverter().convertToXML(model);
+            bpmnBytes = repositoryService.getModelEditorSource(workflowModelDto.getModelId());
             String encoded = Base64Convert.byteToBase64(bpmnBytes);
             byte[] decoded = Base64Convert.base64ToByte(encoded);
             String xml = new String(decoded);
@@ -135,7 +164,7 @@
                     .addInputStream(processName, in).deploy();
             deploymentid = deployment.getId();
         } catch (Exception e) {
-            System.out.println(e);
+            throw new IllegalArgumentException(e);
         }
         Assert.isTrue(!StringUtil.isEmpty(deploymentid), "娴佺▼閮ㄧ讲鍑洪敊");
         ProcessDefinition processDefinition = repositoryService
@@ -149,6 +178,7 @@
         oaWorkflowPo.setFlowId(oaWorkflowDtos.get(0).getFlowId());
         oaWorkflowPo.setStoreId(oaWorkflowDtos.get(0).getStoreId());
         oaWorkflowPo.setProcessDefinitionKey(deploymentid);
+        oaWorkflowPo.setState(OaWorkflowDto.STATE_COMPLAINT);
         oaWorkflowInnerServiceSMOImpl.updateOaWorkflow(oaWorkflowPo);
 //        //閮ㄧ讲鍘嗗彶琛�
 //        List<DeployHistoryEntity> deployHistoryEntities = deployHistoryRepository.getDeployHistoryByDeptWithProcessKeyId(deptWithProcessKeyId);
@@ -163,4 +193,71 @@
         return ResultVo.success();
     }
 
+    @Override
+    @Java110Transactional
+    public ResponseEntity<String> saveModel(WorkflowModelDto workflowModelDto) {
+        //鏍规嵁
+        OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();
+        oaWorkflowDto.setModelId(workflowModelDto.getModelId());
+        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());
+        //鏌ヨ閮ㄧ讲
+
+        OaWorkflowXmlDto oaWorkflowXmlDto = new OaWorkflowXmlDto();
+        oaWorkflowXmlDto.setFlowId(oaWorkflowDtos.get(0).getFlowId());
+        oaWorkflowXmlDto.setStoreId(oaWorkflowDtos.get(0).getStoreId());
+
+        List<OaWorkflowXmlDto> oaWorkflowXmlDtos = oaWorkflowXmlInnerServiceSMOImpl.queryOaWorkflowXmls(oaWorkflowXmlDto);
+        int flag = 0;
+        if (oaWorkflowXmlDtos == null || oaWorkflowXmlDtos.size() < 1) {
+            oaWorkflowXmlPo.setXmlId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_xmlId));
+            flag = oaWorkflowXmlInnerServiceSMOImpl.saveOaWorkflowXml(oaWorkflowXmlPo);
+        } else {
+            oaWorkflowXmlPo.setXmlId(oaWorkflowXmlDtos.get(0).getXmlId());
+            flag = oaWorkflowXmlInnerServiceSMOImpl.updateOaWorkflowXml(oaWorkflowXmlPo);
+        }
+        if (flag < 1) {
+            throw new IllegalArgumentException("娴佺▼鍥惧鐞嗗け璐�");
+        }
+
+        try {
+            Model model = repositoryService.getModel(workflowModelDto.getModelId());
+            ObjectNode modelJson = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
+            modelJson.put(MODEL_NAME, oaWorkflowDtos.get(0).getFlowName());
+            modelJson.put(MODEL_DESCRIPTION, oaWorkflowDtos.get(0).getDescrible());
+            modelJson.put(ModelDataJsonConstants.MODEL_REVISION, model.getVersion() + 1);
+            model.setMetaInfo(modelJson.toString());
+            model.setName(oaWorkflowDtos.get(0).getFlowName());
+            repositoryService.saveModel(model);
+            repositoryService.addModelEditorSource(model.getId(), workflowModelDto.getJson_xml().getBytes("utf-8"));
+
+            InputStream svgStream = new ByteArrayInputStream(workflowModelDto.getSvg_xml().getBytes("utf-8"));
+            TranscoderInput input = new TranscoderInput(svgStream);
+
+            PNGTranscoder transcoder = new PNGTranscoder();
+            // Setup output
+            ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+            TranscoderOutput output = new TranscoderOutput(outStream);
+
+            // Do the transformation
+            transcoder.transcode(input, output);
+            final byte[] result = outStream.toByteArray();
+            repositoryService.addModelEditorSourceExtra(model.getId(), result);
+            outStream.close();
+
+        } catch (Exception e) {
+            logger.error("Error saving model", e);
+            throw new ActivitiException("Error saving model", e);
+        }
+
+        return ResultVo.success();
+    }
+
 }
diff --git a/service-front/src/main/java/com/java110/front/controller/activiti/ActivitiController.java b/service-front/src/main/java/com/java110/front/controller/activiti/ActivitiController.java
index a59e51e..d6fa016 100644
--- a/service-front/src/main/java/com/java110/front/controller/activiti/ActivitiController.java
+++ b/service-front/src/main/java/com/java110/front/controller/activiti/ActivitiController.java
@@ -66,21 +66,16 @@
      * 鏇存柊娴佺▼
      *
      * @param modelId     妯″瀷ID
-     * @param name        娴佺▼妯″瀷鍚嶇О
-     * @param description
-     * @param json_xml    娴佺▼鏂囦欢
-     * @param svg_xml     鍥剧墖
+     * @param xmlJson        娴佺▼妯″瀷鍚嶇О
      */
     @RequestMapping(value = "/model/{modelId}/save", method = RequestMethod.POST)
     public ResponseEntity<String> saveModel(@PathVariable String modelId
-            , String name, String description
-            , String json_xml, String svg_xml) {
-
+            , @RequestBody String xmlJson) {
+        JSONObject paramJson = JSONObject.parseObject(xmlJson);
         WorkflowModelDto workflowModelDto = new WorkflowModelDto();
-        workflowModelDto.setDescription(description);
-        workflowModelDto.setJson_xml(json_xml);
-        workflowModelDto.setSvg_xml(svg_xml);
-        workflowModelDto.setName(name);
+        workflowModelDto.setJson_xml(paramJson.getString("xml"));
+        workflowModelDto.setSvg_xml(paramJson.getString("svg"));
+        workflowModelDto.setModelId(modelId);
         return modelSMOImpl.saveModel(workflowModelDto);
     }
 }
diff --git a/service-front/src/main/java/com/java110/front/smo/assetImport/impl/AssetImportSMOImpl.java b/service-front/src/main/java/com/java110/front/smo/assetImport/impl/AssetImportSMOImpl.java
index f5ca403..2a1c128 100755
--- a/service-front/src/main/java/com/java110/front/smo/assetImport/impl/AssetImportSMOImpl.java
+++ b/service-front/src/main/java/com/java110/front/smo/assetImport/impl/AssetImportSMOImpl.java
@@ -8,19 +8,12 @@
 import com.java110.dto.RoomDto;
 import com.java110.dto.assetImportLog.AssetImportLogDto;
 import com.java110.dto.assetImportLogDetail.AssetImportLogDetailDto;
-import com.java110.entity.assetImport.ImportFee;
-import com.java110.entity.assetImport.ImportFloor;
-import com.java110.entity.assetImport.ImportOwner;
-import com.java110.entity.assetImport.ImportParkingSpace;
-import com.java110.entity.assetImport.ImportRoom;
+import com.java110.entity.assetImport.*;
 import com.java110.entity.component.ComponentValidateResult;
 import com.java110.front.smo.assetImport.IAssetImportSMO;
 import com.java110.utils.constant.ServiceConstant;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.CommonUtil;
-import com.java110.utils.util.DateUtil;
-import com.java110.utils.util.ImportExcelUtils;
-import com.java110.utils.util.StringUtil;
+import com.java110.utils.util.*;
+import com.java110.vo.ResultVo;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.slf4j.Logger;
@@ -247,7 +240,7 @@
         AssetImportLogDetailDto assetImportLogDetailDto = null;
         try {
             for (ImportParkingSpace parkingSpace : parkingSpaces) {
-                responseEntity = new ResponseEntity<String>("鎴愬姛", HttpStatus.OK);
+                responseEntity = ResultVo.success();
                 JSONObject savedParkingAreaInfo = getExistsParkingArea(pd, result, parkingSpace);
                 paramIn = new JSONObject();
                 // 濡傛灉涓嶅瓨鍦紝鎵嶆彃鍏�
@@ -326,8 +319,8 @@
                     }
                     assetImportLogDetailDto.setObjName(parkingSpace.getPaNum());
                     assetImportLogDetailDtos.add(assetImportLogDetailDto);
-                    failCount +=1;
-                    successCount = successCount >0? successCount -1:successCount;
+                    failCount += 1;
+                    successCount = successCount > 0 ? successCount - 1 : successCount;
                     assetImportLogDto.setSuccessCount(successCount);
                     assetImportLogDto.setErrorCount(failCount);
                     continue;
@@ -342,8 +335,8 @@
                         assetImportLogDetailDtos.add(assetImportLogDetailDto);
                         assetImportLogDto.setSuccessCount(successCount);
                         assetImportLogDto.setErrorCount(failCount);
-                        failCount +=1;
-                        successCount = successCount >0? successCount -1:successCount;
+                        failCount += 1;
+                        successCount = successCount > 0 ? successCount - 1 : successCount;
                         assetImportLogDto.setSuccessCount(successCount);
                         assetImportLogDto.setErrorCount(failCount);
                         continue;
@@ -396,8 +389,8 @@
                     }
                     assetImportLogDetailDto.setObjName(parkingSpace.getCarNum());
                     assetImportLogDetailDtos.add(assetImportLogDetailDto);
-                    failCount +=1;
-                    successCount = successCount >0? successCount -1:successCount;
+                    failCount += 1;
+                    successCount = successCount > 0 ? successCount - 1 : successCount;
                     assetImportLogDto.setSuccessCount(successCount);
                     assetImportLogDto.setErrorCount(failCount);
                 } else {
@@ -409,16 +402,17 @@
                         assetImportLogDetailDto.setMessage(body.getString("msg"));
                         assetImportLogDetailDto.setObjName(parkingSpace.getCarNum());
                         assetImportLogDetailDtos.add(assetImportLogDetailDto);
-                        failCount +=1;
-                        successCount = successCount >0? successCount -1:successCount;
+                        failCount += 1;
+                        successCount = successCount > 0 ? successCount - 1 : successCount;
                         assetImportLogDto.setSuccessCount(successCount);
                         assetImportLogDto.setErrorCount(failCount);
                     }
                 }
             }
         } catch (Exception e) {
+            logger.error("瀵煎叆杞︿綅寮傚父", e);
             saveTransactionLogSMOImpl.saveAssetImportLog(assetImportLogDto);
-
+            throw e;
         }
 
         return responseEntity;
@@ -608,8 +602,8 @@
                         }
                         assetImportLogDetailDto.setObjName(room.getRoomNum() + "瀹�");
                         assetImportLogDetailDtos.add(assetImportLogDetailDto);
-                        failCount +=1;
-                        successCount = successCount >0? successCount -1:successCount;
+                        failCount += 1;
+                        successCount = successCount > 0 ? successCount - 1 : successCount;
                         assetImportLogDto.setSuccessCount(successCount);
                         assetImportLogDto.setErrorCount(failCount);
                     } else {
@@ -621,8 +615,8 @@
                             assetImportLogDetailDto.setMessage(body.getString("msg"));
                             assetImportLogDetailDto.setObjName(room.getRoomNum() + "瀹�");
                             assetImportLogDetailDtos.add(assetImportLogDetailDto);
-                            failCount +=1;
-                            successCount = successCount >0? successCount -1:successCount;
+                            failCount += 1;
+                            successCount = successCount > 0 ? successCount - 1 : successCount;
                             assetImportLogDto.setSuccessCount(successCount);
                             assetImportLogDto.setErrorCount(failCount);
                         }
@@ -926,8 +920,8 @@
                     }
                     assetImportLogDetailDto.setObjName(importFloor.getFloorNum() + "鏍�" + importFloor.getUnitNum() + "鍗曞厓");
                     assetImportLogDetailDtos.add(assetImportLogDetailDto);
-                    failCount +=1;
-                    successCount = successCount >0? successCount -1:successCount;
+                    failCount += 1;
+                    successCount = successCount > 0 ? successCount - 1 : successCount;
                     assetImportLogDto.setSuccessCount(successCount);
                     assetImportLogDto.setErrorCount(failCount);
                 } else {
@@ -939,8 +933,8 @@
                         assetImportLogDetailDto.setMessage(body.getString("msg"));
                         assetImportLogDetailDto.setObjName(importFloor.getFloorNum() + "鏍�" + importFloor.getUnitNum() + "鍗曞厓");
                         assetImportLogDetailDtos.add(assetImportLogDetailDto);
-                        failCount +=1;
-                        successCount = successCount >0? successCount -1:successCount;
+                        failCount += 1;
+                        successCount = successCount > 0 ? successCount - 1 : successCount;
                         assetImportLogDto.setSuccessCount(successCount);
                         assetImportLogDto.setErrorCount(failCount);
                     }
diff --git a/service-oa/src/main/java/com/java110/oa/api/OaWorkflowApi.java b/service-oa/src/main/java/com/java110/oa/api/OaWorkflowApi.java
index 3c7f770..780753e 100644
--- a/service-oa/src/main/java/com/java110/oa/api/OaWorkflowApi.java
+++ b/service-oa/src/main/java/com/java110/oa/api/OaWorkflowApi.java
@@ -2,11 +2,17 @@
 
 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;
@@ -26,6 +32,16 @@
 
     @Autowired
     private IGetOaWorkflowBMO getOaWorkflowBMOImpl;
+
+    @Autowired
+    private ISaveOaWorkflowXmlBMO saveOaWorkflowXmlBMOImpl;
+    @Autowired
+    private IUpdateOaWorkflowXmlBMO updateOaWorkflowXmlBMOImpl;
+    @Autowired
+    private IDeleteOaWorkflowXmlBMO deleteOaWorkflowXmlBMOImpl;
+
+    @Autowired
+    private IGetOaWorkflowXmlBMO getOaWorkflowXmlBMOImpl;
 
     /**
      * 寰俊淇濆瓨娑堟伅妯℃澘
@@ -78,7 +94,6 @@
      */
     @RequestMapping(value = "/deleteOaWorkflow", method = RequestMethod.POST)
     public ResponseEntity<String> deleteOaWorkflow(@RequestBody JSONObject reqJson) {
-        Assert.hasKeyAndValue(reqJson, "communityId", "灏忓尯ID涓嶈兘涓虹┖");
 
         Assert.hasKeyAndValue(reqJson, "flowId", "flowId涓嶈兘涓虹┖");
 
@@ -97,12 +112,101 @@
      */
     @RequestMapping(value = "/queryOaWorkflow", method = RequestMethod.GET)
     public ResponseEntity<String> queryOaWorkflow(@RequestHeader(value = "store-id") String storeId,
+                                                  @RequestParam(value="flowId",required = false) String flowId,
                                                   @RequestParam(value = "page") int page,
                                                   @RequestParam(value = "row") int row) {
         OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();
         oaWorkflowDto.setPage(page);
         oaWorkflowDto.setRow(row);
         oaWorkflowDto.setStoreId(storeId);
+        oaWorkflowDto.setFlowId(flowId);
         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="flowId") String flowId,
+                                                     @RequestParam(value = "page") int page,
+                                                     @RequestParam(value = "row") int row) {
+        OaWorkflowXmlDto oaWorkflowXmlDto = new OaWorkflowXmlDto();
+        oaWorkflowXmlDto.setPage(page);
+        oaWorkflowXmlDto.setRow(row);
+        oaWorkflowXmlDto.setStoreId(storeId);
+        oaWorkflowXmlDto.setFlowId(flowId);
+        return getOaWorkflowXmlBMOImpl.get(oaWorkflowXmlDto);
+    }
 }
diff --git a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/SaveOaWorkflowBMOImpl.java b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/SaveOaWorkflowBMOImpl.java
index e5ed920..6b5a19c 100644
--- a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/SaveOaWorkflowBMOImpl.java
+++ b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/SaveOaWorkflowBMOImpl.java
@@ -2,6 +2,7 @@
 
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.oaWorkflow.OaWorkflowDto;
 import com.java110.dto.workflow.WorkflowModelDto;
 import com.java110.intf.common.IWorkflowInnerServiceSMO;
 import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
@@ -39,6 +40,7 @@
 
         oaWorkflowPo.setModelId(workflowModelDto.getModelId());
         oaWorkflowPo.setFlowKey(workflowModelDto.getKey());
+        oaWorkflowPo.setState(OaWorkflowDto.STATE_WAIT);
         int flag = oaWorkflowInnerServiceSMOImpl.saveOaWorkflow(oaWorkflowPo);
 
         if (flag > 0) {
diff --git a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/UpdateOaWorkflowBMOImpl.java b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/UpdateOaWorkflowBMOImpl.java
index b6f5eb8..42b0049 100644
--- a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/UpdateOaWorkflowBMOImpl.java
+++ b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/UpdateOaWorkflowBMOImpl.java
@@ -1,6 +1,7 @@
 package com.java110.oa.bmo.oaWorkflow.impl;
 
 import com.java110.core.annotation.Java110Transactional;
+import com.java110.dto.oaWorkflow.OaWorkflowDto;
 import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
 import com.java110.oa.bmo.oaWorkflow.IUpdateOaWorkflowBMO;
 import com.java110.po.oaWorkflow.OaWorkflowPo;
@@ -21,7 +22,8 @@
      */
     @Java110Transactional
     public ResponseEntity<String> update(OaWorkflowPo oaWorkflowPo) {
-
+        //鍙宸蹭慨鏀� 灏� 鐘舵�佸埛涓哄緟閮ㄧ讲
+        oaWorkflowPo.setState(OaWorkflowDto.STATE_WAIT);
         int flag = oaWorkflowInnerServiceSMOImpl.updateOaWorkflow(oaWorkflowPo);
 
         if (flag > 0) {
diff --git a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IDeleteOaWorkflowXmlBMO.java b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IDeleteOaWorkflowXmlBMO.java
new file mode 100644
index 0000000..c51b79c
--- /dev/null
+++ b/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);
+
+
+}
diff --git a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IGetOaWorkflowXmlBMO.java b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IGetOaWorkflowXmlBMO.java
new file mode 100644
index 0000000..af2e1a4
--- /dev/null
+++ b/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);
+
+
+}
diff --git a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/ISaveOaWorkflowXmlBMO.java b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/ISaveOaWorkflowXmlBMO.java
new file mode 100644
index 0000000..53ac7c8
--- /dev/null
+++ b/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);
+
+
+}
diff --git a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IUpdateOaWorkflowXmlBMO.java b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IUpdateOaWorkflowXmlBMO.java
new file mode 100644
index 0000000..89a886a
--- /dev/null
+++ b/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);
+
+
+}
diff --git a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/DeleteOaWorkflowXmlBMOImpl.java b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/DeleteOaWorkflowXmlBMOImpl.java
new file mode 100644
index 0000000..ed521c8
--- /dev/null
+++ b/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, "淇濆瓨澶辫触");
+    }
+
+}
diff --git a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/GetOaWorkflowXmlBMOImpl.java b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/GetOaWorkflowXmlBMOImpl.java
new file mode 100644
index 0000000..ab4f1ac
--- /dev/null
+++ b/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;
+    }
+
+}
diff --git a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/SaveOaWorkflowXmlBMOImpl.java b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/SaveOaWorkflowXmlBMOImpl.java
new file mode 100644
index 0000000..462f18d
--- /dev/null
+++ b/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, "淇濆瓨澶辫触");
+    }
+
+}
diff --git a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/UpdateOaWorkflowXmlBMOImpl.java b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/UpdateOaWorkflowXmlBMOImpl.java
new file mode 100644
index 0000000..e9d0709
--- /dev/null
+++ b/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, "淇濆瓨澶辫触");
+    }
+
+}
diff --git a/service-oa/src/main/java/com/java110/oa/dao/IOaWorkflowXmlServiceDao.java b/service-oa/src/main/java/com/java110/oa/dao/IOaWorkflowXmlServiceDao.java
new file mode 100644
index 0000000..bb43391
--- /dev/null
+++ b/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娴佺▼鍥炬湇鍔℃帴鍙g被锛岃姹傚叏閮ㄤ互瀛楃涓蹭紶杈擄紝鏂逛究寰湇鍔″寲
+ * 鏂板缓瀹㈡埛锛屼慨鏀瑰鎴凤紝鍒犻櫎瀹㈡埛锛屾煡璇㈠鎴风瓑鍔熻兘
+ *
+ * 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);
+
+}
diff --git a/service-oa/src/main/java/com/java110/oa/dao/impl/OaWorkflowXmlServiceDaoImpl.java b/service-oa/src/main/java/com/java110/oa/dao/impl/OaWorkflowXmlServiceDaoImpl.java
new file mode 100644
index 0000000..27eaa0d
--- /dev/null
+++ b/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娴佺▼鍥句俊鎭疘nstance 鍏ュ弬 info : {}",info);
+
+        int saveFlag = sqlSessionTemplate.insert("oaWorkflowXmlServiceDaoImpl.saveOaWorkflowXmlInfo",info);
+
+        if(saveFlag < 1){
+            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"淇濆瓨OA娴佺▼鍥句俊鎭疘nstance鏁版嵁澶辫触锛�"+ 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娴佺▼鍥句俊鎭疘nstance 鍏ュ弬 info : {}",info);
+
+        int saveFlag = sqlSessionTemplate.update("oaWorkflowXmlServiceDaoImpl.updateOaWorkflowXmlInfo",info);
+
+        if(saveFlag < 1){
+            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"淇敼OA娴佺▼鍥句俊鎭疘nstance鏁版嵁澶辫触锛�"+ 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());
+    }
+
+
+}
diff --git a/service-oa/src/main/java/com/java110/oa/smo/impl/OaWorkflowXmlInnerServiceSMOImpl.java b/service-oa/src/main/java/com/java110/oa/smo/impl/OaWorkflowXmlInnerServiceSMOImpl.java
new file mode 100644
index 0000000..685d0f7
--- /dev/null
+++ b/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.oa.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;
+    }
+}

--
Gitblit v1.8.0