Browse Source

Merge branch 'test' of jishutao/kede-server into prod

anderx 2 years ago
parent
commit
c2a60cf17a
27 changed files with 969 additions and 829 deletions
  1. 1 1
      pack-test.bat
  2. 1 0
      src/main/java/com/goafanti/common/constant/AFTConstants.java
  3. 604 584
      src/main/java/com/goafanti/common/mapper/DepartmentMapper.xml
  4. 12 11
      src/main/java/com/goafanti/common/mapper/NewOrderChangeMapper.xml
  5. 27 35
      src/main/java/com/goafanti/common/mapper/TOrderNewMapper.xml
  6. 12 6
      src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml
  7. 24 0
      src/main/java/com/goafanti/common/model/Department.java
  8. 1 1
      src/main/java/com/goafanti/common/utils/AsyncUtils.java
  9. 14 14
      src/main/java/com/goafanti/order/bo/OrderProcessName.java
  10. 15 12
      src/main/java/com/goafanti/order/bo/OutProcessName.java
  11. 31 6
      src/main/java/com/goafanti/order/bo/TOrderNewBo.java
  12. 1 1
      src/main/java/com/goafanti/order/controller/AdminNewOrderApiController.java
  13. 0 1
      src/main/java/com/goafanti/order/controller/OrderProjectApiController.java
  14. 6 9
      src/main/java/com/goafanti/order/enums/ApprovalNewState.java
  15. 2 2
      src/main/java/com/goafanti/order/enums/OrderChangeProcess.java
  16. 1 1
      src/main/java/com/goafanti/order/service/OrderProjectService.java
  17. 27 19
      src/main/java/com/goafanti/order/service/impl/FundManagerOrderServiceImpl.java
  18. 62 38
      src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java
  19. 35 37
      src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java
  20. 37 21
      src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java
  21. 14 24
      src/main/java/com/goafanti/order/service/impl/PushOrderService.java
  22. 27 0
      src/main/java/com/goafanti/organization/bo/OrganizationListOut.java
  23. 7 2
      src/main/java/com/goafanti/organization/controller/AdminOrganizationController.java
  24. 2 1
      src/main/java/com/goafanti/organization/service/OrganizationService.java
  25. 4 1
      src/main/java/com/goafanti/organization/service/impl/OrganizationServiceImpl.java
  26. 1 1
      src/main/resources/props/config_local.properties
  27. 1 1
      src/main/resources/props/config_test.properties

+ 1 - 1
pack-test.bat

@@ -1,2 +1,2 @@
 @echo off
-mvn clean install -P aft_test
+mvn clean install -P aft_test

+ 1 - 0
src/main/java/com/goafanti/common/constant/AFTConstants.java

@@ -14,6 +14,7 @@ public class AFTConstants {
 	public static final String	INITIALPASSWORD						= "123456";
 
 	/**	超级管理员 */
+	public static final String	SUPERADMIN_ID							= "1";
 	public static final String	SUPERADMIN							= "999999";
 	/**副超管*/
 	public static final String	SUPERADMIN_ASSISTANT				= "999998";

File diff suppressed because it is too large
+ 604 - 584
src/main/java/com/goafanti/common/mapper/DepartmentMapper.xml


+ 12 - 11
src/main/java/com/goafanti/common/mapper/NewOrderChangeMapper.xml

@@ -549,6 +549,9 @@ select
 		#{id}
 		</foreach>
 	</if>
+    <if test="processState==8 and aid !=null">
+      and e.approval_aid =#{aid}
+    </if>
 	<if test="userName !=null">
 	and c.nickname like concat('%',#{userName},'%')
 	</if>
@@ -583,15 +586,12 @@ select
       and ((a.process_state &gt;= #{processState} and  a.process_state &lt; 10)or a.back_status &gt;= #{processState})
     </if>
     <if test="complete ==0 and processState == 8">
-      and ((a.process_state &gt;= 8 and  a.process_state &lt; 10)or a.back_status &gt;= #{processState}) and e.province !=11
+      and (a.process_state &gt;= 8 and  a.process_state &lt; 10)or a.back_status &gt;= #{processState}
     </if>
     <if test="complete ==0 and processState == 9">
       and ((a.process_state = 9 )or a.back_status &gt;= #{processState})
     </if>
-    <if test="complete ==0 and processState == 10">
-      and ((a.process_state =10 )or a.back_status &gt;= #{processState}) and e.province=11
-    </if>
-	<if test="complete ==1 and processState &lt; 6">
+    <if test="complete ==1 and processState &lt; 6">
 	 and a.process_state = #{processState} and a.status in (0,1,2,3)
 	</if>
 	<if test="complete ==1 and processState == 6">
@@ -684,6 +684,9 @@ select
         #{id}
       </foreach>
     </if>
+    <if test="processState==8 and aid !=null">
+      and e.approval_aid =#{aid}
+    </if>
     <if test="userName !=null">
       and c.nickname like concat('%',#{userName},'%')
     </if>
@@ -718,14 +721,11 @@ select
       and ((a.process_state &gt;= #{processState} and  a.process_state &lt; 10)or a.back_status &gt;= #{processState})
     </if>
     <if test="complete ==0 and processState == 8">
-      and ((a.process_state &gt;= 8 and  a.process_state &lt; 10)or a.back_status &gt;= #{processState}) and e.province !=11
+      and (a.process_state &gt;= 8 and  a.process_state &lt; 10)or a.back_status &gt;= #{processState}
     </if>
     <if test="complete ==0 and processState == 9">
       and ((a.process_state = 9 )or a.back_status &gt;= #{processState})
     </if>
-    <if test="complete ==0 and processState == 10">
-      and ((a.process_state =10 )or a.back_status &gt;= #{processState}) and e.province=11
-    </if>
     <if test="complete ==1 and processState &lt; 6">
       and a.process_state = #{processState} and a.status in (0,1,2,3)
     </if>
@@ -867,13 +867,14 @@ select
 
   <select id="getProcessName" resultType="com.goafanti.order.bo.OutProcessName">
     select a.id,a.order_no orderNo ,a.`type`,a.change_amount changeAmount ,a.status,a.process_state processState,
-           if(dep.province=11,1,0)isHN,fzc.name fzc,
+           if(dep.province=11,1,0)isHN, da.name approvalName,dep.approval approvalStatus,
            c.name yxy,mg.name yxjl, yxgly.name yxgly,zxs.name zxs,zxsjl.name zxsjl, zxsgly.name zxsgly,
-           fm.name cwzy,cwgly.name cwgly, zc.name zc,dsz.name dsz,b.salesman_id salesmanId
+           fm.name cwzy,cwgly.name cwgly,dsz.name dsz,b.salesman_id salesmanId
     from new_order_change a
            left join t_order_new b on a.order_no =b.order_no
            left join admin c on b.salesman_id =c.id
            left join department dep on b.order_dep =dep.id
+           left join admin da on dep.approval_aid = da.id
            left join admin fm on dep.finance_id =fm.id
            left join admin mg on c.manager_id =mg.id
            left join (select a.department_id depId,group_concat(a.name) name

+ 27 - 35
src/main/java/com/goafanti/common/mapper/TOrderNewMapper.xml

@@ -783,8 +783,8 @@
       a.other_cost_actual otherCostActual , a.expect_profit expectProfit ,a.actual_profit  actualProfit,a.service_type serviceType,
       a.service_project serviceProject,o.examine_name examineName
     from t_order_new o left join department d on o.order_dep = d.id left join `user` u on o.buyer_id = u.id left join t_order_mid a on o.order_no=a.order_no
-    left join (select * from  t_order_outsource where type=0) too on o.order_no=too.order_no where delete_sign in(0,2) and approval in(0,1,2,4,5,7,8)
-    and outsource=   #{o.outsource,jdbcType=INTEGER}
+    left join (select * from  t_order_outsource where type=0) too on o.order_no=too.order_no where delete_sign in(0,2) and o.approval in(0,1,2,4,5,7,8)
+    and outsource=  #{o.outsource,jdbcType=INTEGER}
     <if test="o.processStatus == 3">
       and o.process_status = #{o.processStatus,jdbcType=INTEGER}
     </if>
@@ -871,7 +871,7 @@
   <select id="financeCount" parameterType="Map" resultType="java.lang.Integer">
  select count(*) from t_order_new o left join `user` u on o.buyer_id = u.id
 left join department d on o.order_dep = d.id   left join t_order_mid a on o.order_no=a.order_no
- where delete_sign in(0,2) and approval in(0,1,2,4,5,7,8) and outsource=  #{o.outsource,jdbcType=INTEGER}
+ where delete_sign in(0,2) and o.approval in(0,1,2,4,5,7,8) and outsource=  #{o.outsource,jdbcType=INTEGER}
     <if test="o.processStatus == 3">
       and o.process_status = #{o.processStatus,jdbcType=INTEGER}
     </if>
@@ -955,9 +955,10 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
   <select id="getSaleIdByOno" parameterType="java.lang.String" resultType="com.goafanti.order.bo.TOrderNewBo">
     select o.order_no orderNo ,o.salesman_id as salesmanId, a.name as salesmanName,e.name managerName,
            o.contract_no contractNo,a.email ,u.nickname as userName,o.order_dep orderDep,d.name departmentName,
-           d.finance_id  financeId
+           d.finance_id  financeId,d.approval approvalStatus,d.approval_aid,ad.name approvalName
     from t_order_new o left join admin a on o.salesman_id = a.id left join `user` u on u.id = o.buyer_id
     left join department d on o.order_dep=d.id left join admin e on a.manager_id=e.id
+    left join admin ad on d.approval_aid=ad.id
     where order_no = #{_parameter,jdbcType=VARCHAR}
   </select>
 
@@ -1030,6 +1031,9 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
   	and a.salesman_id = #{aid,jdbcType=VARCHAR}
   	</if>
     <if test="specially == 3">
+  	<if test="manageType ==0">
+      and dep.approval_aid= #{aid,jdbcType=VARCHAR}
+    </if>
       and  a.order_status=2
       <if test="approval ==0">
         and a.process_status in(4)
@@ -1044,9 +1048,6 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
         <if test="manageType ==1">
           (4)
         </if>
-        <if test="manageType ==2">
-          (7)
-        </if>
       </if>
       <if test="approval ==2">
         and a.approval in
@@ -1056,9 +1057,7 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
         <if test="manageType ==1">
           (5,6)
         </if>
-        <if test="manageType ==2">
-          (8,9)
-        </if>
+
       </if>
     </if>
   	  <if test="specially !=3 ">
@@ -1208,6 +1207,9 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
   	and a.salesman_id = #{aid,jdbcType=VARCHAR}
   	</if>
      <if test="specially == 3">
+       <if test="manageType ==0">
+         and dep.approval_aid= #{aid,jdbcType=VARCHAR}
+       </if>
        and  a.order_status=2
        <if test="approval ==0">
          and a.process_status in(4)
@@ -1222,9 +1224,6 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
          <if test="manageType ==1">
            (4)
          </if>
-         <if test="manageType ==2">
-           (7)
-         </if>
        </if>
        <if test="approval ==2">
          and a.approval in
@@ -1234,9 +1233,7 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
          <if test="manageType ==1">
            (5,6)
          </if>
-         <if test="manageType ==2">
-           (8,9)
-         </if>
+
        </if>
      </if>
      <if test="specially !=3 ">
@@ -2100,25 +2097,20 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
   </select>
   <select id="getProcessName" resultType="com.goafanti.order.bo.OrderProcessName">
     select a.order_no orderNo,a.approval,a.process_status processStatus  ,b.name yxy,mg.name yxjl,
-        yxgly.name yxgly,d.name cwzy,zc.name zc,fzc.name fzc, zxsgly.name zxsgly,dsz.name dsz
+           yxgly.name yxgly,d.name cwzy, zxsgly.name zxsgly,dsz.name dsz,dep.approval approvalStatus ,da.name approvalName
     from t_order_new a left join admin b on a.salesman_id =b.id
-    left join admin mg on b.manager_id =mg.id left join department c on a.order_dep =c.id
-     left join (select a.department_id depId,group_concat(a.name) name
-        from admin a left join user_role b on a.id=b.uid left join `role` c on b.rid =c.id
-        where c.role_type ='9996' and a.status ='0' group by a.department_id )yxgly on c.id =yxgly.depId
-     left join (select order_no ,group_concat(aname)name from t_order_examine WHERE type=0 group by order_no ) d on a.order_no=d.order_no
-     left join (select group_concat(a.name) name
-        from admin a left join user_role b on a.id=b.uid left join `role` c on b.rid =c.id
-        where c.role_type in ('99998','99988') and a.status ='0' ) zc on 1=1
-     left join (select group_concat(a.name) name
-                from admin a left join user_role b on a.id=b.uid left join `role` c on b.rid =c.id
-                where c.role_type in ('99996') and a.status ='0' ) fzc on 1=1
-     left join (select group_concat(a.name) name
-        from admin a left join user_role b on a.id=b.uid left join `role` c on b.rid =c.id
-        where c.role_type in ('99999','99989') and a.status ='0' ) dsz on 1=1
-     left join (select group_concat(a.name) name
-        from admin a left join user_role b on a.id=b.uid left join `role` c on b.rid =c.id
-        where c.role_type in ('9998') and a.status ='0' ) zxsgly on 1=1
+                       left join admin mg on b.manager_id =mg.id left join department c on a.order_dep =c.id
+                       left join (select a.department_id depId,group_concat(a.name) name
+                                  from admin a left join user_role b on a.id=b.uid left join `role` c on b.rid =c.id
+                                  where c.role_type ='9996' and a.status ='0' group by a.department_id )yxgly on c.id =yxgly.depId
+                       left join (select order_no ,group_concat(aname)name from t_order_examine WHERE type=0 group by order_no ) d on a.order_no=d.order_no
+                       left join (select group_concat(a.name) name
+                                  from admin a left join user_role b on a.id=b.uid left join `role` c on b.rid =c.id
+                                  where c.role_type in ('99999','99989') and a.status ='0' ) dsz on 1=1
+                       left join (select group_concat(a.name) name
+                                  from admin a left join user_role b on a.id=b.uid left join `role` c on b.rid =c.id
+                                  where c.role_type in ('9998') and a.status ='0' ) zxsgly on 1=1
+                       left join department dep on a.order_dep =dep.id left join admin da on dep.approval_aid=da.id
     where a.order_no = #{orderNo}
   </select>
   <select id="selectByuidandAid" resultType="com.goafanti.order.bo.TOrderNewBo">
@@ -2192,7 +2184,7 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
     where a.order_no =#{orderNo}
   </select>
   <select id="selectDepByOrderNo" resultType="com.goafanti.common.model.Department">
-    select a.id,a.name,a.province,a.finance_id financeId
+    select a.id,a.name,a.province,a.finance_id financeId,a.approval ,a.approval_aid approvalAid
     from department a left join t_order_new b on a.id =b.order_dep
     where b.order_no= #{orderNo}
   </select>

+ 12 - 6
src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml

@@ -2139,7 +2139,7 @@
     from t_order_task a left join t_order_new b on a.order_no =b.order_no
     left join t_order_mid c on a.order_no =c.order_no
     left join t_task_member e on a.id=e.tid
-    <if test="shiroType ==2">
+    <if test="shiroType ==2 or  shiroType ==3">
       left join department d on b.order_dep =d.id
     </if>
     where  b.delete_sign in (0,2)
@@ -2150,9 +2150,12 @@
     <if test="shiroType ==2">
       and (d.finance_id  = #{aid} or  d.retrial_finance_id =#{aid})
     </if>
-    <if test="approvalType !=null">
-      and a.approval= #{approvalType}
+    <if test="shiroType ==3">
+      and d.approval_aid= #{aid}
     </if>
+<!--    <if test="approvalType !=null">-->
+<!--      and a.approval= #{approvalType}-->
+<!--    </if>-->
     <if test="orderNo != null">
       and a.order_no = #{orderNo}
     </if>
@@ -2209,7 +2212,7 @@
     select count(*)
     from t_order_task a left join t_order_new b on a.order_no =b.order_no
     left join t_order_mid c on a.order_no =c.order_no
-    <if test="shiroType ==2">
+    <if test="shiroType ==2 or shiroType ==3">
       left join department d on b.order_dep =d.id
     </if>
     where  b.delete_sign in (0,2)
@@ -2220,9 +2223,12 @@
     <if test="shiroType ==2">
       and (d.finance_id  = #{aid} or  d.retrial_finance_id =#{aid})
     </if>
-    <if test="approvalType !=null">
-      and a.approval= #{approvalType}
+    <if test="shiroType ==3">
+      and d.approval_aid= #{aid}
     </if>
+<!--    <if test="approvalType !=null">-->
+<!--      and a.approval= #{approvalType}-->
+<!--    </if>-->
     <if test="orderNo != null">
       and a.order_no = #{orderNo}
     </if>

+ 24 - 0
src/main/java/com/goafanti/common/model/Department.java

@@ -118,9 +118,33 @@ public class Department implements Serializable {
      * 复审财务id
      */
     private String retrialFinanceId;
+    /**
+     * 特批审核状态 0=无需特批,1=需要特批
+     */
+    private Integer approval;
+    /**
+     * 特批审核人
+     */
+    private String approvalAid;
 
     private static final long serialVersionUID = 1L;
 
+    public Integer getApproval() {
+        return approval;
+    }
+
+    public void setApproval(Integer approval) {
+        this.approval = approval;
+    }
+
+    public String getApprovalAid() {
+        return approvalAid;
+    }
+
+    public void setApprovalAid(String approvalAid) {
+        this.approvalAid = approvalAid;
+    }
+
     public String getId() {
         return id;
     }

+ 1 - 1
src/main/java/com/goafanti/common/utils/AsyncUtils.java

@@ -569,7 +569,7 @@ public class AsyncUtils {
 			}
 			if (str.length()>0)noc.setExamineName(str.substring(0,str.length()-1));
 
-		}else if (noc.getProcessState()== OrderChangeProcess.ZC.getCode()||noc.getProcessState()== OrderChangeProcess.DSZ.getCode()){
+		}else if (noc.getProcessState()== OrderChangeProcess.TPSH.getCode()||noc.getProcessState()== OrderChangeProcess.DSZ.getCode()){
 			if(noc.getStatus()==2){
 				TOrderNewBo ton = tOrderNewMapper.getSaleIdByOno(noc.getOrderNo());
 				OrganizationListOut dep = departmentMapper.selectAllById(ton.getOrderDep());

+ 14 - 14
src/main/java/com/goafanti/order/bo/OrderProcessName.java

@@ -9,17 +9,25 @@ public class OrderProcessName {
     private String yxjl;
     private String yxgly;
     private String cwzy;
-    private String zc;
-    private String fzc;
+    private Integer approvalStatus;
+    private String approvalName;
     private String zxsgly;
     private String dsz;
 
-    public String getFzc() {
-        return fzc;
+    public Integer getApprovalStatus() {
+        return approvalStatus;
     }
 
-    public void setFzc(String fzc) {
-        this.fzc = fzc;
+    public void setApprovalStatus(Integer approvalStatus) {
+        this.approvalStatus = approvalStatus;
+    }
+
+    public String getApprovalName() {
+        return approvalName;
+    }
+
+    public void setApprovalName(String approvalName) {
+        this.approvalName = approvalName;
     }
 
     public String getYxjl() {
@@ -78,14 +86,6 @@ public class OrderProcessName {
         this.cwzy = cwzy;
     }
 
-    public String getZc() {
-        return zc;
-    }
-
-    public void setZc(String zc) {
-        this.zc = zc;
-    }
-
     public String getZxsgly() {
         return zxsgly;
     }

+ 15 - 12
src/main/java/com/goafanti/order/bo/OutProcessName.java

@@ -9,7 +9,8 @@ public class OutProcessName {
     private Integer special;
     private Integer processState;
     private Integer isHN;
-    private String fzc;
+    private String approvalName;
+    private Integer approvalStatus;
     private String yxy;
     private String salesmanId;
     private String yxjl;
@@ -19,7 +20,7 @@ public class OutProcessName {
     private String zxsgly;
     private String cwzy;
     private String cwgly;
-    private String zc;
+
     private String dsz;
 
     public Integer getIsHN() {
@@ -30,12 +31,20 @@ public class OutProcessName {
         this.isHN = isHN;
     }
 
-    public String getFzc() {
-        return fzc;
+    public String getApprovalName() {
+        return approvalName;
+    }
+
+    public void setApprovalName(String approvalName) {
+        this.approvalName = approvalName;
     }
 
-    public void setFzc(String fzc) {
-        this.fzc = fzc;
+    public Integer getApprovalStatus() {
+        return approvalStatus;
+    }
+
+    public void setApprovalStatus(Integer approvalStatus) {
+        this.approvalStatus = approvalStatus;
     }
 
     public Integer getSpecial() {
@@ -168,13 +177,7 @@ public class OutProcessName {
         this.cwgly = cwgly;
     }
 
-    public String getZc() {
-        return zc;
-    }
 
-    public void setZc(String zc) {
-        this.zc = zc;
-    }
 
     public String getDsz() {
         return dsz;

+ 31 - 6
src/main/java/com/goafanti/order/bo/TOrderNewBo.java

@@ -1,15 +1,14 @@
 package com.goafanti.order.bo;
 
-import java.math.BigDecimal;
-import java.util.List;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.time.DateFormatUtils;
-
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.model.TOrderNew;
 import com.goafanti.order.enums.NewOrderDunType;
 import com.goafanti.order.enums.OrderDunSubject;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
+
+import java.math.BigDecimal;
+import java.util.List;
 
 public class TOrderNewBo extends TOrderNew{
 	private String id;
@@ -92,7 +91,33 @@ public class TOrderNewBo extends TOrderNew{
 	 * 加计扣除服务其他描述
 	 */
 	private String addDeductionOther;
+	private Integer approvalStatus;
+	private String approvalAid;
+	private String approvalName;
 
+	public String getApprovalName() {
+		return approvalName;
+	}
+
+	public void setApprovalName(String approvalName) {
+		this.approvalName = approvalName;
+	}
+
+	public Integer getApprovalStatus() {
+		return approvalStatus;
+	}
+
+	public void setApprovalStatus(Integer approvalStatus) {
+		this.approvalStatus = approvalStatus;
+	}
+
+	public String getApprovalAid() {
+		return approvalAid;
+	}
+
+	public void setApprovalAid(String approvalAid) {
+		this.approvalAid = approvalAid;
+	}
 
 	public Integer getMyExamine() {
 		return myExamine;

+ 1 - 1
src/main/java/com/goafanti/order/controller/AdminNewOrderApiController.java

@@ -506,7 +506,7 @@ public class AdminNewOrderApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "订单编号和审批","订单编号和审批"));
 			return res;
 		}
-		if (confirm==ApprovalNewState.ZCBH.getCode()&&StringUtils.isBlank(reason)) {
+		if (confirm==ApprovalNewState.TPBH.getCode()&&StringUtils.isBlank(reason)) {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"驳回原因", "驳回原因"));
 			return res;
 		}

+ 0 - 1
src/main/java/com/goafanti/order/controller/OrderProjectApiController.java

@@ -574,7 +574,6 @@ public class OrderProjectApiController extends CertifyApiController {
 	 */
 	@RequestMapping(value = "/memberList/export" ,method = RequestMethod.GET)
 	public Result memberListExport(InputMemberList in){
-
 		return orderProjectService.memberListExport(in);
 
 	}

+ 6 - 9
src/main/java/com/goafanti/order/enums/ApprovalNewState.java

@@ -7,23 +7,20 @@ public enum ApprovalNewState {
 	/** 非特批 **/
 	FTP(0,"非特批"),
 	/** 总裁待审核 **/
-	ZCDSH(1,"总裁待审核"),
+	TPDSH(1,"特批待审核"),
 	/** 总裁通过 **/
-	ZCTG(2,"总裁通过"),
+	TPTG(2,"特批通过"),
 	/** 总裁驳回 **/
-	ZCBH(3,"总裁驳回"),
+	TPBH(3,"特批驳回"),
 	/** 董事长待审核 **/
 	DSZDSH(4,"董事长待审核"),
 	/** 董事长通过 **/
 	DSZTG(5,"董事长通过"),
 	/** 董事长驳回 **/
 	DSZBH(6,"董事长驳回"),
-	/** 总裁待审核 **/
-	FZCDSH(7,"副总裁待审核"),
-	/** 总裁通过 **/
-	FZCTG(8,"副总裁通过"),
-	/** 总裁驳回 **/
-	FZCBH(9,"副总裁驳回"),
+//	FZCDSH(7,"副总裁待审核"),
+//	FZCTG(8,"副总裁通过"),
+//	FZCBH(9,"副总裁驳回"),
 	/** 无效 **/
 	INVALID(10, "INVALID");
 

+ 2 - 2
src/main/java/com/goafanti/order/enums/OrderChangeProcess.java

@@ -18,9 +18,9 @@ public enum OrderChangeProcess {
 	JSZJ(5, "技术总监"),
 	CWZY(6, "财务专员"),
 	CWZJ(7, "财务总监 "),
-	ZC(8, "总裁"),
+	TPSH(8, "特批审核"),//修改总裁为特殊审核
 	DSZ(9, "董事长"),
-	FZC(10, "副总裁"),
+	FZC(10, "副总裁"),//已经去掉副总裁
 	INVALID(99, "无效");
 
 	private OrderChangeProcess(Integer code, String desc) {

+ 1 - 1
src/main/java/com/goafanti/order/service/OrderProjectService.java

@@ -91,7 +91,7 @@ public interface OrderProjectService {
 
 	int pushExamineMemberProject(InputMenber in);
 
-	void addMemberLog(Integer id,Integer status ,String remarks);
+	void addMemberLog(Integer id,Integer status ,String remarks,String aid);
 
 	List<MemberLogBo> memberLog(Integer id);
 

+ 27 - 19
src/main/java/com/goafanti/order/service/impl/FundManagerOrderServiceImpl.java

@@ -95,7 +95,7 @@ public class FundManagerOrderServiceImpl extends BaseMybatisDao<TOrderNewMapper>
 	public Integer updateDistributionFinance(String orderNo, String financeId, Integer approval) {
 		// 先判断订单id和财务专员是否存在或者能够使用
 		//判断是不是特批的数据
-		if(approval != ApprovalNewState.ZCTG.getCode() && approval != ApprovalNewState.FTP.getCode()){//特批未通过 2 0
+		if(approval != ApprovalNewState.TPTG.getCode() && approval != ApprovalNewState.FTP.getCode()){//特批未通过 2 0
 			return -1;
 		}
 
@@ -545,16 +545,17 @@ public class FundManagerOrderServiceImpl extends BaseMybatisDao<TOrderNewMapper>
 	private void pushNoticeAndEmail(TOrderNew t, TOrderNew new1) {
 		List<String> aids = new ArrayList<>();
 		StringBuffer str= new StringBuffer();
+		boolean flag= false;
 		TOrderNewBo order = tOrderNewMapper.getSaleIdByOno(t.getOrderNo());
-		if (new1.getApproval()==ApprovalNewState.ZCDSH.getCode()|| new1.getApproval()==ApprovalNewState.ZCBH.getCode()) {
-			t.setProcessStatus(ProcessStatus.YPTPSH.getCode());
-			List<String> types=new ArrayList<>();
-			//总裁加助理
-			types.add(AFTConstants.CED);
-			types.add(AFTConstants.CED_ASSISTANT);
-			for (Admin admin : adminMapper.getAdminRoleTypesList(types)) {
-				aids.add(admin.getId());
-				str=str.append(admin.getName()).append(",");
+		if (new1.getApproval()==ApprovalNewState.TPDSH.getCode()|| new1.getApproval()==ApprovalNewState.TPBH.getCode()) {
+			if (order.getApprovalStatus()==0){
+				t.setProcessStatus(ProcessStatus.YPZXSGLY.getCode());
+				t.setApproval(ApprovalNewState.TPTG.getCode());
+				flag=true;
+			}else {
+				t.setProcessStatus(ProcessStatus.YPTPSH.getCode());
+				aids.add(order.getApprovalAid());
+				str=str.append(order.getApprovalName()).append(",");
 			}
 		}else if (new1.getApproval()==ApprovalNewState.DSZDSH.getCode()|| new1.getApproval()==ApprovalNewState.DSZBH.getCode()) {
 			t.setProcessStatus(ProcessStatus.YPTPSH.getCode());
@@ -566,17 +567,11 @@ public class FundManagerOrderServiceImpl extends BaseMybatisDao<TOrderNewMapper>
 				aids.add(admin.getId());
 				str=str.append(admin.getName()).append(",");
 			}
-		}else if (new1.getApproval()==ApprovalNewState.FZCDSH.getCode()|| new1.getApproval()==ApprovalNewState.FZCBH.getCode()) {
-			t.setProcessStatus(ProcessStatus.YPTPSH.getCode());
-			List<String> types=new ArrayList<>();
-			//董事长加助理
-			types.add(AFTConstants.VICE_CED);
-			for (Admin admin : adminMapper.getAdminRoleTypesList(types)) {
-				aids.add(admin.getId());
-				str=str.append(admin.getName()).append(",");
-			}
 		}else  {
 			t.setProcessStatus(ProcessStatus.YPZXSGLY.getCode());
+		}
+
+		if (t.getProcessStatus()==ProcessStatus.YPZXSGLY.getCode()){
 			//设置发送邮件标识
 			order.setProcessStatus(ProcessStatus.YPZXSGLY.getCode());
 			OrganizationListOut oo=departmentMapper.selectAllById(new1.getOrderDep());
@@ -589,6 +584,19 @@ public class FundManagerOrderServiceImpl extends BaseMybatisDao<TOrderNewMapper>
 		//用与外部修改名称
 		t.setExamineName(str.substring(0,str.length()-1));
 		pushGeneralSendNoticeAndEmail(aids, NoticeStatus.ORDER_YES.getCode(),order, TokenManager.getAdminId(), new1.getApproval());
+		if (flag){
+			addTorderLog(t,"部门特批审核人未设置,系统自动通过");
+		}
+	}
+
+	private void addTorderLog(TOrderNew t, String str) {
+		boolean flag=judgeOrderExamine(t.getOrderNo());
+		TOrderLog tl=new TOrderLog();
+		tl.setAid(AFTConstants.SUPERADMIN_ID);
+		tl.setProcess(OrderLogProcess.TP.getCode());
+		tl.setOrderNo(t.getOrderNo());
+		tl.setRemarks(str);
+		tOrderLogMapper.insertSelective(tl);
 	}
 
 	private boolean judgeOrderExamine(String orderNo) {

+ 62 - 38
src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java

@@ -99,6 +99,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 
 
 
+
 	@Override
 	public int addOrderChange(NewOrderChangeBo t,String startRemarks) {
 		TOrderNew ton=new TOrderNew();
@@ -268,9 +269,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 				if(nb.getType()==OrderChangeType.JBGGT.getCode()){
 					//仅合同图片修改:营销-营销总经理
 					if(nb.getProcessState()==OrderChangeProcess.YXGLY.getCode()){
-						nb.setStatus(4);
-						addOrderChangeLog(remarks, 2, orderNo, nb.getId());
-						pushCompleteOrderChange(nb);
+						completeChange(remarks, nb);
 						return 1;
 					}
 				} else {
@@ -309,24 +308,24 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 						nb.setProcessState(OrderChangeProcess.CWZY.getCode());
 					}else if (nb.getProcessState()==OrderChangeProcess.CWZY.getCode()){
 						if (nb.getType()==OrderChangeType.ZS.getCode()){
-							pushCED(nb, dep);
-						}if (nb.getType()==OrderChangeType.KJXY.getCode()){
-							nb.setStatus(4);
-							addOrderChangeLog(remarks, 2, orderNo, nb.getId());
-							pushCompleteOrderChange(nb);
+							boolean flag=pushApproval(nb, dep,remarks);
+							if (flag) return 1;
+						}else if (nb.getType()==OrderChangeType.KJXY.getCode()){
+							completeChange(remarks, nb);
 							return 1;
 						}else {
 							nb.setProcessState(OrderChangeProcess.CWZJ.getCode());
 						}
 					}else if (nb.getProcessState()==OrderChangeProcess.CWZJ.getCode()){
-						pushCED(nb,dep);
-					}else if(nb.getProcessState()==OrderChangeProcess.ZC.getCode()) {
+						boolean flag=pushApproval(nb, dep,remarks);
+						if (flag){
+							return 1;
+						}
+					}else if(nb.getProcessState()==OrderChangeProcess.TPSH.getCode()) {
 						if (nb.getType()==OrderChangeType.TDTK.getCode()||nb.getType()==OrderChangeType.TDBTK.getCode()) {
 							nb.setStatus(2);
 						}else {
-							nb.setStatus(4);
-							addOrderChangeLog(remarks, 2, orderNo, nb.getId());
-							pushCompleteOrderChange(nb);
+							completeChange(remarks, nb);
 							return 1;
 						}
 					}else if (nb.getProcessState()==OrderChangeProcess.FZC.getCode()){
@@ -340,14 +339,17 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 							}else if (nb.getType()==OrderChangeType.TDBTK.getCode()){
 								nb.setStatus(2);
 							}else {
-								nb.setStatus(4);
-								addOrderChangeLog(remarks, 2, orderNo, nb.getId());
-								pushCompleteOrderChange(nb);
+								completeChange(remarks, nb);
 								return 1;
 							}
 
 						}else if (nb.getProcessState()==OrderChangeProcess.DSZ.getCode()){
-							nb.setStatus(2);
+							if (nb.getType()==OrderChangeType.TDTK.getCode()||nb.getType()==OrderChangeType.TDBTK.getCode()) {
+								nb.setStatus(2);
+							}else {
+								completeChange(remarks, nb);
+								return 1;
+							}
 						}
 					}
 				}
@@ -388,17 +390,35 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		return 1;
 	}
 
-	private void pushCED(NewOrderChangeBo nb, Department dep) {
+	private void completeChange(String remarks, NewOrderChangeBo nb ) {
+		nb.setStatus(4);
+		addOrderChangeLog(remarks, 2, nb.getOrderNo(), nb.getId());
+
+		pushCompleteOrderChange(nb);
+	}
+
+	private boolean pushApproval(NewOrderChangeBo nb, Department dep,String remarks) {
 		TOrderNew tOrderNew = tOrderNewMapper.selectByPrimaryKey(nb.getOrderNo());
+		Date date = new Date();
+		date.setTime(date.getTime()+500);
 		if (tOrderNew.getSalesmanId().equals(AFTConstants.CAOJIN_AID)) {
 			nb.setProcessState(OrderChangeProcess.DSZ.getCode());
 		}else {
-			if (dep.getProvince()==11){
-				nb.setProcessState(OrderChangeProcess.FZC.getCode());
+			if (dep.getApproval()==1){
+				nb.setProcessState(OrderChangeProcess.TPSH.getCode());
 			}else {
-				nb.setProcessState(OrderChangeProcess.ZC.getCode());
+				addOrderChangeLog("公司/部门管理审核人员未设置,系统自动通过", 2, nb.getOrderNo(), nb.getId(),date,AFTConstants.SUPERADMIN_ID);
+				if (nb.getType()==OrderChangeType.TDTK.getCode()||nb.getType()==OrderChangeType.TDBTK.getCode()){
+					nb.setProcessState(OrderChangeProcess.TPSH.getCode());
+					nb.setStatus(2);
+				}else {
+					completeChange(remarks,nb);
+				}
+				return true;
 			}
+
 		}
+		return false;
 	}
 
 	/**
@@ -454,13 +474,17 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	}
 
 	private void addOrderChangeLog(String remarks, Integer status, String orderNo, Integer id) {
-		addOrderChangeLog(remarks,status,orderNo,id,null);
+		addOrderChangeLog(remarks,status,orderNo,id,null,null);
 	}
-
 	private void addOrderChangeLog(String remarks, Integer status, String orderNo, Integer id,Date date) {
+		addOrderChangeLog(remarks,status,orderNo,id,date,null);
+	}
+
+	private void addOrderChangeLog(String remarks, Integer status, String orderNo, Integer id,Date date,String aid) {
 		if (date ==null)date=new Date();
+		if (aid ==null)aid=TokenManager.getAdminId();
 		OrderChangeLog ocl = new OrderChangeLog();
-		ocl.setAuditor(TokenManager.getAdminId());
+		ocl.setAuditor(aid);
 		ocl.setOrderNo(orderNo);
 		ocl.setRemarks(remarks);
 		ocl.setChangeId(id);
@@ -518,9 +542,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 			if(nb.getStatus()==2) {
 				alist.add(o.getFinanceId());
 			}else {
-				for (Admin admin : adminMapper.selectAdminByRoleType(AFTConstants.CED)) {
-					alist.add(admin.getId());
-				}
+				alist.add(o.getApprovalAid());
 			}
 			break;
 		case 9:
@@ -841,22 +863,20 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 			}
 			if (str.length()>0)noc.setExamineName(str.substring(0,str.length()-1));
 
-		}else if (noc.getProcessState()== OrderChangeProcess.ZC.getCode()
+		}else if (noc.getProcessState()== OrderChangeProcess.TPSH.getCode()
 				||noc.getProcessState()== OrderChangeProcess.DSZ.getCode()
 				||noc.getProcessState()== OrderChangeProcess.FZC.getCode()){
 			if(noc.getStatus()==1){
-				String roleType="";
-				if (noc.getProcessState()== OrderChangeProcess.ZC.getCode()){
-					roleType=AFTConstants.CED;
-				}else if(noc.getProcessState()== OrderChangeProcess.DSZ.getCode()){
-					roleType=AFTConstants.APPROVAL_DECISION;
-				}else if(noc.getProcessState()== OrderChangeProcess.FZC.getCode()){
-					roleType=AFTConstants.VICE_CED;
-				}
 				StringBuffer str=new StringBuffer();
-				List<Admin> admins = adminMapper.getAdminRoleTypeList(roleType);
-				for (Admin a : admins) {
+				if (noc.getProcessState()== OrderChangeProcess.TPSH.getCode()){
+					Department department = tOrderNewMapper.selectDepByOrderNo(noc.getOrderNo());
+					Admin a = adminMapper.selectByPrimaryKey(department.getApprovalAid());
 					str=str.append(a.getName()).append(",");
+				}else if(noc.getProcessState()== OrderChangeProcess.DSZ.getCode()){
+					List<Admin> admins = adminMapper.getAdminRoleTypeList(AFTConstants.APPROVAL_DECISION);
+					for (Admin a : admins) {
+						str=str.append(a.getName()).append(",");
+					}
 				}
 				if (str.length()>0)noc.setExamineName(str.substring(0,str.length()-1));
 			} else if(noc.getStatus()==2){
@@ -1628,6 +1648,10 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		OutProcessName processName = newOrderChangeMapper.getProcessName(id, newOrderChange.getOrderNo());
 		if (processName.getSalesmanId().equals(AFTConstants.CAOJIN_AID)){
 			processName.setSpecial(1);
+		}else {
+			if (processName.getApprovalStatus()==0){
+				processName.setApprovalName("未设置特批审核人员");
+			}
 		}
 		return processName;
 	}

+ 35 - 37
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -338,7 +338,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	public int addMemberProject(InputAddTask t){
 		TOrderNewBo tn = tOrderNewMapper.getSaleIdByOno(t.getOrderNo());
 		addOrderTask(t);
-		orderProjectService.addMemberLog(t.getId(),0,"新增会员项目");
+		orderProjectService.addMemberLog(t.getId(),0,"新增会员项目",TokenManager.getAdminId());
 		orderProjectService.addNoticMember(NoticeStatus.MENBER_START.getCode(),tn,null,0);
 		return 1;
 	}
@@ -540,6 +540,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 							addOrderLog(t2.getOrderNo(),OrderLogProcess.SH.getCode(), "管理员跳过自己审核");
 							t.setProcessStatus(ProcessStatus.YPCW_JSZJ.getCode());
 							orderStatus=OrderNewState.QDSHTG.getCode();
+							Admin admin=adminMapper.selectFinanceAdminByOrderDep(t2.getOrderDep());
+							updateFinanceCount(admin.getId(),t2.getCreateTime());
 						}else {
 							addOrderLog(t2.getOrderNo(),OrderLogProcess.YXJLTT.getCode(), "无经理跳过审核");
 							t.setProcessStatus(ProcessStatus.YPYXGLY.getCode());
@@ -549,19 +551,13 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 
 			}
 			//特批逻辑处理
-			if (t2.getApproval()==ApprovalNewState.ZCBH.getCode()||
+			if (t2.getApproval()==ApprovalNewState.TPBH.getCode()||
 					t2.getApproval()==ApprovalNewState.DSZBH.getCode()||
-					t2.getApproval()== ApprovalNewState.FZCBH.getCode()||
-					t2.getApproval()==ApprovalNewState.ZCDSH.getCode()){
+					t2.getApproval()==ApprovalNewState.TPDSH.getCode()){
 				if (a.getId().equals(AFTConstants.CAOJIN_AID)){
 					t.setApproval(ApprovalNewState.DSZDSH.getCode());
 				}else {
-					Department dep = departmentMapper.selectByPrimaryKey(t.getOrderDep());
-					if(dep.getProvince()==11){
-						t.setApproval(ApprovalNewState.FZCDSH.getCode());
-					}else {
-						t.setApproval(ApprovalNewState.ZCDSH.getCode());
-					}
+					t.setApproval(ApprovalNewState.TPDSH.getCode());
 				}
 			}
 			//生成流转
@@ -594,20 +590,20 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 				}
 			}else  if (t.getProcessStatus()==ProcessStatus.YPCW_JSZJ.getCode()){
 				type=NoticeStatus.ORDER_YES.getCode();
-				Department dep = departmentMapper.selectByPrimaryKey(t.getOrderDep());
-				aids.add(dep.getFinanceId());
-				Admin finance = adminMapper.selectByPrimaryKey(dep.getFinanceId());
-				str=str.append(finance.getName()).append(",");
+				//为了防止中间加或者删除复审,在营销管理员审核的时候重新刷新
+				List<TOrderExamine> tOrderExamines1 = addTOrderExamines(t2);
+				for (TOrderExamine e : tOrderExamines1) {
+					aids.add(e.getAid());
+					str=str.append(e.getAname()).append(",");
+				}
 			}
-
-
 			if (str.length()>0)t.setExamineName(str.substring(0,str.length()-1));
 			TOrderNewBo order = tOrderNewMapper.getSaleIdByOno(t2.getOrderNo());
 			pushGeneralSendNoticeAndEmail(aids, type,order, TokenManager.getAdminId(),t.getApproval());
 		}
 		//驳回重新发起,需要刷新当天和今天
 		boolean newOrderFlag=false;
-		if (t2.getApproval().equals(ApprovalNewState.ZCBH.getCode()) ||
+		if (t2.getApproval().equals(ApprovalNewState.TPBH.getCode()) ||
 				t2.getApproval().equals(ApprovalNewState.DSZBH.getCode()) ||
 				t2.getOrderStatus().equals(OrderNewState.QDSHJJ.getCode()) ||
 				t2.getOrderStatus().equals(OrderNewState.YBH.getCode())) {
@@ -637,6 +633,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		return 1;
 	}
 
+
+
 	@Override
 	public void updateAdminUserCountOrder(String aid,Date transferTime) {
 		String startTime= DateUtils.formatDate(transferTime,AFTConstants.YYYYMMDD);
@@ -941,13 +939,10 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 			}
 		}
 		if (in.getSpecially()==3){
-			if (TokenManager.hasRole(AFTConstants.CED)||TokenManager.hasRole(AFTConstants.CED_ASSISTANT)){
-				params.put("manageType",0);
-			}else if (TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_ASSISTANT)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)){
+			params.put("aid", TokenManager.getAdminId());
+			if (TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_ASSISTANT)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)){
 				params.put("manageType",1);
-			}else if (TokenManager.hasRole(AFTConstants.VICE_CED)){
-				params.put("manageType",2);
-			}else {
+			}else  {
 				params.put("manageType",0);
 			}
 		}
@@ -1119,7 +1114,6 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 				Admin admin=adminMapper.selectFinanceAdminByOrderDep(t2.getOrderDep());
 				updateFinanceCount(admin.getId(),t2.getCreateTime());
 			}
-
 			type=NoticeStatus.ORDER_YES.getCode();
 			//增加日志
 			addOrderLog(tl,reason);
@@ -1476,9 +1470,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		tl.setOrderNo(orderNo);
 
 		if (confirm==2) {
-			if (t2.getApproval()==ApprovalNewState.ZCDSH.getCode())t.setApproval(ApprovalNewState.ZCTG.getCode());
+			if (t2.getApproval()==ApprovalNewState.TPDSH.getCode())t.setApproval(ApprovalNewState.TPTG.getCode());
 			else if (t2.getApproval()==ApprovalNewState.DSZDSH.getCode())t.setApproval(ApprovalNewState.DSZTG.getCode());
-			else if (t2.getApproval()==ApprovalNewState.FZCDSH.getCode())t.setApproval(ApprovalNewState.FZCTG.getCode());
 				t.setProcessStatus(ProcessStatus.YPZXSGLY.getCode());
 				OrganizationListOut oo=departmentMapper.selectAllById(t2.getOrderDep());
 				t.setFinanceId(oo.getFinanceId());
@@ -1492,7 +1485,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 			tl.setProcess(OrderLogProcess.TP.getCode());
 			addOrderLog(tl,reason);
 		} else {
-			if (t2.getApproval()==ApprovalNewState.ZCDSH.getCode())t.setApproval(ApprovalNewState.ZCBH.getCode());
+			if (t2.getApproval()==ApprovalNewState.TPDSH.getCode())t.setApproval(ApprovalNewState.TPBH.getCode());
 			else if (t2.getApproval()==ApprovalNewState.DSZDSH.getCode())t.setApproval(ApprovalNewState.DSZBH.getCode());
 			t.setOrderStatus(OrderNewState.YBH.getCode());
 			t.setProcessStatus(ProcessStatus.YPYXY.getCode());
@@ -1758,17 +1751,19 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		Admin admin = adminMapper.selectFinanceAdminByOrderDep(use.getOrderDep());
 		String startTime= DateUtils.formatDate(use.getCreateTime(),AFTConstants.YYYYMMDD);
 		FinanceCount financeCount = financeCountMapper.selectByAidAndDates(admin.getId(), startTime);
-		FinanceCount newFinance=new FinanceCount();
-		newFinance.setId(financeCount.getId());
-		if(type==0){
-			newFinance.setOrderUnauditedCount(financeCount.getOrderUnauditedCount()-1);
-		}else if(type==1){
-			newFinance.setOrderCount(financeCount.getOrderCount()-1);
-			newFinance.setOrderUnauditedCount(financeCount.getOrderUnauditedCount()-1);
-		}else if(type==2){
-			newFinance.setOrderCount(financeCount.getOrderCount()-1);
+		if(financeCount!=null){
+			FinanceCount newFinance=new FinanceCount();
+			newFinance.setId(financeCount.getId());
+			if(type==0){
+				newFinance.setOrderUnauditedCount(financeCount.getOrderUnauditedCount()-1);
+			}else if(type==1){
+				newFinance.setOrderCount(financeCount.getOrderCount()-1);
+				newFinance.setOrderUnauditedCount(financeCount.getOrderUnauditedCount()-1);
+			}else if(type==2){
+				newFinance.setOrderCount(financeCount.getOrderCount()-1);
+			}
+			financeCountMapper.updateByPrimaryKeySelective(newFinance);
 		}
-		financeCountMapper.updateByPrimaryKeySelective(newFinance);
 	}
 
 	private TOrderNew checkDeleteSign(String orderNo) {
@@ -2179,6 +2174,9 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	@Override
 	public OrderProcessName getProcessName(String orderNo) {
 		OrderProcessName names=tOrderNewMapper.getProcessName(orderNo);
+		if (names.getApprovalStatus()==0){
+			names.setApprovalName("未设置特批审核人员");
+		}
 		return names;
 	}
 

+ 37 - 21
src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java

@@ -1261,11 +1261,11 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		if(in.getStatus()!=null) map.put("status", in.getStatus());
 		if(in.getShiroType()!=null) map.put("shiroType", in.getShiroType());
 		map.put("aid",TokenManager.getAdminId());
-		if (TokenManager.hasRole(AFTConstants.VICE_CED)){
-			map.put("approvalType",2);
-		}else if (TokenManager.hasRole(AFTConstants.CED)){
-			map.put("approvalType",1);
-		}
+//		if (TokenManager.hasRole(AFTConstants.VICE_CED)){
+//			map.put("approvalType",2);
+//		}else if (TokenManager.hasRole(AFTConstants.CED)){
+//			map.put("approvalType",1);
+//		}
 	}
 
 	@Override
@@ -1309,6 +1309,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		TOrderTask task=tOrderTaskMapper.selectByPrimaryKey(in.getId());
 		String aid=TokenManager.getAdminId();
 		Integer status=1;
+		boolean appFlag=false;
 		//是否财务审核加复审
 		boolean flag=false;
 		TOrderTask nt=new TOrderTask();
@@ -1333,7 +1334,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 						});
 				OrganizationListOut dep = tOrderNewMapper.selectOrderFinance(task.getOrderNo());
 				int examineType =task.getExamineType();
-
+				//判定谁审核的财务审核,
 				if (aid.equals(dep.getFinanceId())){
 					if (examineType==3){
 						examineType=2;
@@ -1348,12 +1349,23 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 					}
 				}
 				nt.setExamineType(examineType);
+				//全都已经审核的情况下
 				if(examineType==4){
 					flag=true;
 				}
+
+				//需要特批的情况下
 				if (task.getMemberType()==1||task.getMemberType()==2){
 					if (flag){
-						nt.setProcessStatus(2);
+						Department department = tOrderNewMapper.selectDepByOrderNo(task.getOrderNo());
+						//部门设置无需特批的情况下直接完成,否则走正常流程
+						if (department.getApproval()==0){
+							nt.setProcessStatus(3);
+							//判定无特批直接完成新增日志
+							appFlag=true;
+						}else {
+							nt.setProcessStatus(2);
+						}
 					}
 					status=1;
 				}else if (task.getMemberType()==0){
@@ -1386,7 +1398,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 				subtractionFinanceCountMember(task.getOrderNo(),tTaskMember.getCreateTime(),2);
 			}
 		}
-		addMemberLog(in.getId(),status,in.getRemarks());
+		addMemberLog(in.getId(),status,in.getRemarks(),TokenManager.getAdminId());
 		if (nt.getProcessStatus()!=null&&nt.getProcessStatus()==3){
 			tTaskMemberMapper.updateServiceYearBySplitSuper(task.getSplitSuper());
 		}
@@ -1394,6 +1406,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		if (flag){
 			addNoticMember(notice, ono, in.getType(),result);
 		}
+		if(appFlag)addMemberLog(in.getId(),status,"部门特批审核人未设置,系统自动通过",AFTConstants.SUPERADMIN_ID);
 		return 1;
 	}
 
@@ -1429,7 +1442,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 	public int updateMemberProject(InputAddTask t) {
 		TOrderTask task=tOrderTaskMapper.selectByPrimaryKey(t.getId());
 		if(task.getProcessStatus()!=4)throw  new BusinessException("审核状态错误,无法提交。");
-		addMemberLog(t.getId(),0,"修改重新发起");
+		addMemberLog(t.getId(),0,"修改重新发起",TokenManager.getAdminId());
 		t.setProcessStatus(1);
 		TOrderNewBo ono = tOrderNewMapper.getSaleIdByOno(task.getOrderNo());
 		addNoticMember(NoticeStatus.MENBER_START.getCode(), ono, null,0,task);
@@ -1442,12 +1455,12 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 
 
 	@Override
-	public void addMemberLog(Integer id,Integer status ,String remarks){
+	public void addMemberLog(Integer id,Integer status ,String remarks,String aid){
 		MemberLog log = new MemberLog();
 		log.setPid(id);
 		log.setStatus(status);
 		log.setRemarks(remarks);
-		log.setAid(TokenManager.getAdminId());
+		log.setAid(aid);
 		memberLogMapper.insertSelective(log);
 	}
 
@@ -1471,15 +1484,15 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 			tOrderTask.setProcessStatus(1);
 			tOrderTask.setMemberType(memberType);
 			tOrderTask.setPictureUrl(pictureUrl);
-			if(memberType==1||memberType==2){
-				//判定项目省内外
-				Department dep = tOrderNewMapper.selectDepByOrderNo(tOrderTask.getOrderNo());
-				if (dep!=null&&dep.getProvince()==AFTConstants.HN_PROVINCE){
-					tOrderTask.setApproval(2);
-				}else {
-					tOrderTask.setApproval(1);
-				}
-			}
+//			if(memberType==1||memberType==2){
+//				//判定项目省内外
+//				Department dep = tOrderNewMapper.selectDepByOrderNo(tOrderTask.getOrderNo());
+//				if (dep!=null&&dep.getProvince()==AFTConstants.HN_PROVINCE){
+//					tOrderTask.setApproval(2);
+//				}else {
+//					tOrderTask.setApproval(1);
+//				}
+//			}
 		}
 		Integer i=tOrderTaskMapper.getSplitCount(tid);
 		i++;
@@ -1507,7 +1520,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		orderNewService.addTaskMid(tOrderTask.getId(),tOrderTask.getCommodityId(), tOrderTask.getOrderNo());
 		//处理主项目本次派单年份
 		tTaskMemberMapper.updateServiceYearBySplitSuper(tid);
-		addMemberLog(tOrderTask.getId(),0,"新增会员项目");
+		addMemberLog(tOrderTask.getId(),0,"新增会员项目",TokenManager.getAdminId());
 		if(memberType!=null){
 			addMemberExamine(tOrderTask);
 			addNoticMember(NoticeStatus.MENBER_START.getCode(),tOrderTask,null,0);
@@ -1537,7 +1550,10 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 					examineType=2;
 				}
 			}
+
 			tOrderTask.setExamineType(examineType);
+		}else {
+			throw new BusinessException("部门未设置财务专员。");
 		}
 		tOrderTask.setId(t.getId());
 

+ 14 - 24
src/main/java/com/goafanti/order/service/impl/PushOrderService.java

@@ -2,15 +2,20 @@ package com.goafanti.order.service.impl;
 
 
 import com.goafanti.common.constant.AFTConstants;
+import com.goafanti.common.dao.DepartmentMapper;
+import com.goafanti.common.model.Department;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.order.bo.TOrderNewBo;
 import com.goafanti.order.enums.ApprovalNewState;
 import com.goafanti.order.enums.ProcessStatus;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 @Service
 public class PushOrderService {
     public static final String   DEFAULTS_URL="/image/noPermission.jpg";
+    @Autowired
+    private DepartmentMapper departmentMapper;
 
 
 
@@ -26,28 +31,7 @@ public class PushOrderService {
         //流程状态 0-已派营销员,1-已派营销员管理员,2-已派财务管理员,3-已派财务专员,4-已派咨询师管理员,5-已部分派咨询师经理,6-已部全部派咨询师经理
         if (TokenManager.hasRole(AFTConstants.SUPERADMIN) || TokenManager.hasRole(AFTConstants.APPROVAL_DECISION) ){
             return t.getContractPictureUrl();
-        }else if(TokenManager.hasRole(AFTConstants.CED)){
-            if (t.getApproval()== ApprovalNewState.ZCDSH.getCode()){
-                return  t.getContractPictureUrl();
-            }else  if (t.getSalesmanId().equals(AFTConstants.CAOJIN_AID)){
-                return DEFAULTS_URL;
-            }else {
-                return  t.getContractPictureUrl();
-            }
-        }else if(TokenManager.hasRole(AFTConstants.VICE_CED)){
-            if(t.getProcessStatus()== ProcessStatus.YPTPSH.getCode()){
-                if (t.getApproval()== ApprovalNewState.FZCDSH.getCode()){
-                    if (t.getSalesmanId().equals(AFTConstants.CAOJIN_AID)) {
-                        return DEFAULTS_URL;
-                    }
-                    return  t.getContractPictureUrl();
-                }
-            }
-            return DEFAULTS_URL;
-        }else if (TokenManager.hasRole(AFTConstants.SALESMAN)&&
-                TokenManager.getAdminId().equals(t.getSalesmanId())){
-            return  t.getContractPictureUrl();
-        }else if (TokenManager.hasRole(AFTConstants.SALESMAN_MANAGER)&&
+        }else if ((TokenManager.hasRole(AFTConstants.SALESMAN_MANAGER)||TokenManager.hasRole(AFTConstants.SALESMAN))&&
                 TokenManager.getAdminId().equals(t.getSalesmanId())){
             return  t.getContractPictureUrl();
         }else if (TokenManager.hasRole(AFTConstants.SALESMAN_MANAGER)&& !TokenManager.getAdminId().equals(t.getSalesmanId())){
@@ -66,12 +50,18 @@ public class PushOrderService {
             return  t.getContractPictureUrl();
         }else if (TokenManager.hasRole(AFTConstants.OUTSOURCE_AUDITOR)){
             return  t.getContractPictureUrl();
-        }else{
-            return DEFAULTS_URL;
         }
+        if(t.getApproval()== ApprovalNewState.TPDSH.getCode()){
+            Department department = departmentMapper.selectByPrimaryKey(t.getOrderDep());
+            if (department.getApproval()==1&&department.getApprovalAid().equals(TokenManager.getAdminId())){
+                return  t.getContractPictureUrl();
+            }
+        }
+            return DEFAULTS_URL;
     }
 
 
+
     /**
      * 根据变更流程判断是否可以查看
      *

+ 27 - 0
src/main/java/com/goafanti/organization/bo/OrganizationListOut.java

@@ -42,6 +42,9 @@ public class OrganizationListOut {
 
 	private String retrialFinanceId;
 	private String retrialFinanceName;
+	private Integer approval;
+	private String approvalAid;
+	private String approvalName;
 	private Integer province;
 	private Integer hideSign;
 	private Integer workingHoursType;
@@ -49,6 +52,30 @@ public class OrganizationListOut {
 	private Integer lvl;
 	private List<OrganizationListOut> list;
 
+	public String getApprovalName() {
+		return approvalName;
+	}
+
+	public void setApprovalName(String approvalName) {
+		this.approvalName = approvalName;
+	}
+
+	public Integer getApproval() {
+		return approval;
+	}
+
+	public void setApproval(Integer approval) {
+		this.approval = approval;
+	}
+
+	public String getApprovalAid() {
+		return approvalAid;
+	}
+
+	public void setApprovalAid(String approvalAid) {
+		this.approvalAid = approvalAid;
+	}
+
 	public String getRetrialFinanceId() {
 		return retrialFinanceId;
 	}

+ 7 - 2
src/main/java/com/goafanti/organization/controller/AdminOrganizationController.java

@@ -94,7 +94,8 @@ public class AdminOrganizationController extends BaseApiController{
 	 **/
 	@RequestMapping(value = "/updateOrganization" , method = RequestMethod.POST)
 	public Result updateOrganization(String name, String type, String managerId, String superId, String status,Integer province,String retrialFinanceId,
-									 String remarks,String id,String abbreviation,String financeId,Integer workingHoursType,Integer hideSign,String depNo){
+									 String remarks,String id,String abbreviation,String financeId,Integer workingHoursType,
+									 Integer hideSign,String depNo,Integer approval,String approvalAid){
 		Result res = new Result();
 		if(StringUtils.isBlank(name) || StringUtils.isBlank(type)
 				|| StringUtils.isBlank(managerId)|| StringUtils.isBlank(superId)
@@ -110,8 +111,12 @@ public class AdminOrganizationController extends BaseApiController{
 			res.getError().add(buildError("","部门编号已存在"));
 			return res;
 		}
+		if (approval==null||(approval==1&&StringUtils.isBlank(approvalAid))){
+			res.getError().add(buildError("特批审核开启必须设置特批人"));
+			return res;
+		}
 		int i=organizationService.updateOrganization(name, type, managerId, superId, status, province,
-				retrialFinanceId,remarks,id, abbreviation,financeId,workingHoursType,hideSign,depNo);
+				retrialFinanceId,remarks,id, abbreviation,financeId,workingHoursType,hideSign,depNo, approval, approvalAid);
 		return res.data(i);
 	}
 

+ 2 - 1
src/main/java/com/goafanti/organization/service/OrganizationService.java

@@ -44,7 +44,8 @@ public interface OrganizationService {
 	int deleteById(String id);
 
 	int updateOrganization(String name,String type,String managerId,String superId,String status,Integer province,String retrialFinanceId,
-			String remarks,String id,String abbreviation,String financeId,Integer workingHoursType,Integer hideSign,String depNo);
+			String remarks,String id,String abbreviation,String financeId,Integer workingHoursType,Integer hideSign,String depNo,
+						   Integer approval,String approvalAid);
 
 	boolean checkDepNo(String depNo,Integer type);
 

+ 4 - 1
src/main/java/com/goafanti/organization/service/impl/OrganizationServiceImpl.java

@@ -172,7 +172,8 @@ public class OrganizationServiceImpl extends BaseMybatisDao<DepartmentMapper> im
 	}
 	@Override
 	public int updateOrganization(String name, String type, String managerId, String superId, String status,Integer province,String retrialFinanceId,
-			String remarks,String id,String abbreviation,String financeId,Integer workingHoursType,Integer hideSign,String depNo) {
+			String remarks,String id,String abbreviation,String financeId,Integer workingHoursType,Integer hideSign,String depNo,
+								  Integer approval,String approvalAid) {
 		//获取上级编号
 		Department superDep=departmentMapper.selectByPrimaryKey(superId);
 		Date now=new Date();
@@ -193,6 +194,8 @@ public class OrganizationServiceImpl extends BaseMybatisDao<DepartmentMapper> im
 		dep.setProvince(province);
 		dep.setHideSign(hideSign);
 		dep.setWorkingHoursType(workingHoursType);
+		dep.setApproval(approval);
+		dep.setApprovalAid(approvalAid);
 		checkFinaceUpdate(id,financeId);
 		int x=departmentMapper.updateByPrimaryKeySelective(dep);
 		return x;

+ 1 - 1
src/main/resources/props/config_local.properties

@@ -52,7 +52,7 @@ yxjl_max=100
 amb.maxLvl=6
 
 avatar.host=//static.jishutao.com
-static.host=//static.jishutao.com/1.2.96
+static.host=//static.jishutao.com/1.2.97
 rd.static.host=//static.jishutao.com/RD/1.0.03
 #avatar.host=//172.16.0.255:3000
 #static.host=//172.16.0.255:3000/1.2.62

+ 1 - 1
src/main/resources/props/config_test.properties

@@ -52,7 +52,7 @@ amb.maxLvl=6
 
 portal.host=//static.jishutao.com/portal/2.0.6
 avatar.host=//static.jishutao.com
-static.host=//static.jishutao.com/1.2.96
+static.host=//static.jishutao.com/1.2.97
 rd.static.host=//static.jishutao.com/RD/1.0.03
 avatar.upload.host=//static.jishutao.com/upload