Browse Source

特批审核列表修改

anderx 2 years ago
parent
commit
dbeea7b60a

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

@@ -24,7 +24,7 @@ public class AFTConstants {
 	public static final String	APPROVAL_DECISION_ASSISTANT			= "99989";
 	/**	总裁 */
 	public static final String	CED									= "99998";
-	/** 省内特批 */
+	/** 副总裁 */
 	public static final String  VICE_CED	 	             	    = "99996";
 	/**	集团副总 */
 	public static final String	VICE_CEO							= "99997";

+ 3 - 0
src/main/java/com/goafanti/common/dao/TOrderNewMapper.java

@@ -1,5 +1,6 @@
 package com.goafanti.common.dao;
 
+import com.goafanti.common.model.Department;
 import com.goafanti.common.model.FinanceCount;
 import com.goafanti.common.model.TOrderBillNew;
 import com.goafanti.common.model.TOrderNew;
@@ -94,4 +95,6 @@ public interface TOrderNewMapper {
     List<FinanceCount> selectCountByFinance(String id);
 
     OrganizationListOut selectOrderFinance(String orderNo);
+
+    Department selectDepByOrderNo(String orderNo);
 }

+ 8 - 6
src/main/java/com/goafanti/common/mapper/NewOrderChangeMapper.xml

@@ -576,12 +576,9 @@ select
 	<if test="salesmanName !=null">
 	and d.name like concat('%',#{salesmanName},'%')
 	</if>
-	<if test="complete ==0 and processState != 9 and  processState != 5 and processState != 7">
+	<if test="complete ==0 and  processState != 5 and processState != 7">
 	 and ((a.process_state &gt;= #{processState} or a.back_status &gt;= #{processState}))
 	</if>
-    <if test="complete ==0 and processState == 9">
-      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 == 5 or processState == 7)">
       and ((a.process_state &gt;= 1 and  a.process_state &lt; 10)or a.back_status &gt;= #{processState})
     </if>
@@ -604,10 +601,10 @@ select
 	 and((a.process_state &gt; 6 and a.process_state &lt; 10) or (a.process_state =6 and a.status=4))
 	</if>
 	<if test="complete ==2 and processState == 8">
-	 and ((a.process_state = 8  and  (a.status = 4 or a.status = 2))or a.process_state &gt; 8)
+	 and ((a.process_state = 8  and  a.status in(2,4))or a.process_state &gt; 8)
 	</if>
 	<if test="complete ==2 and processState == 9">
-	 and a.process_state = 9  and   (a.status = 4 or a.status = 2)
+	 and a.process_state = 9  and   a.status in (2,4)
 
 	</if>
 	<if test="complete ==3">
@@ -858,6 +855,7 @@ 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,
            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
     from new_order_change a
@@ -883,6 +881,10 @@ select
            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

+ 5 - 0
src/main/java/com/goafanti/common/mapper/TOrderNewMapper.xml

@@ -2191,5 +2191,10 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
     left join admin d on b.retrial_finance_id=d.id
     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
+    from department a left join t_order_new b on a.id =b.order_dep
+    where b.order_no= #{orderNo}
+  </select>
 
 </mapper>

+ 18 - 0
src/main/java/com/goafanti/order/bo/OutProcessName.java

@@ -8,6 +8,8 @@ public class OutProcessName {
     private Integer status;
     private Integer special;
     private Integer processState;
+    private Integer isHN;
+    private String fzc;
     private String yxy;
     private String salesmanId;
     private String yxjl;
@@ -20,6 +22,22 @@ public class OutProcessName {
     private String zc;
     private String dsz;
 
+    public Integer getIsHN() {
+        return isHN;
+    }
+
+    public void setIsHN(Integer isHN) {
+        this.isHN = isHN;
+    }
+
+    public String getFzc() {
+        return fzc;
+    }
+
+    public void setFzc(String fzc) {
+        this.fzc = fzc;
+    }
+
     public Integer getSpecial() {
         if (special==null)return 0;
         return special;

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

@@ -20,7 +20,8 @@ public enum OrderChangeProcess {
 	CWZJ(7, "财务总监 "),
 	ZC(8, "总裁"),
 	DSZ(9, "董事长"),
-	INVALID(10, "无效");
+	FZC(10, "副总裁"),
+	INVALID(99, "无效");
 
 	private OrderChangeProcess(Integer code, String desc) {
 		this.code = code;

+ 44 - 10
src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java

@@ -253,6 +253,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	public int pushOrderChangeAudit(String changeId, String remarks, Integer status,Integer processState,Integer rejectState) {
 		NewOrderChangeBo nb=newOrderChangeMapper.selectByChangeId(changeId);
 		String orderNo=nb.getOrderNo();
+		Department dep = tOrderNewMapper.selectDepByOrderNo(orderNo);
 		if (processState==null||(nb.getProcessState()!=9&&processState !=nb.getProcessState()) ) {
 			throw new BusinessException(new Error( "变更流程与您所操作流程不匹配","变更流程与您所操作流程不匹配"));
 		}
@@ -308,7 +309,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 						nb.setProcessState(OrderChangeProcess.CWZY.getCode());
 					}else if (nb.getProcessState()==OrderChangeProcess.CWZY.getCode()){
 						if (nb.getType()==OrderChangeType.ZS.getCode()){
-							nb.setProcessState(OrderChangeProcess.ZC.getCode());
+							pushCED(nb, dep);
 						}if (nb.getType()==OrderChangeType.KJXY.getCode()){
 							nb.setStatus(4);
 							addOrderChangeLog(remarks, 2, orderNo, nb.getId());
@@ -318,13 +319,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 							nb.setProcessState(OrderChangeProcess.CWZJ.getCode());
 						}
 					}else if (nb.getProcessState()==OrderChangeProcess.CWZJ.getCode()){
-						//财务总监审核,曹津不走总裁走董事长
-						TOrderNew tOrderNew = tOrderNewMapper.selectByPrimaryKey(nb.getOrderNo());
-						if (tOrderNew.getSalesmanId().equals(AFTConstants.CAOJIN_AID)) {
-							nb.setProcessState(OrderChangeProcess.DSZ.getCode());
-						}else {
-							nb.setProcessState(OrderChangeProcess.ZC.getCode());
-						}
+						pushCED(nb,dep);
 					}else if (nb.getProcessState()==OrderChangeProcess.ZC.getCode()){
 						if (nb.getType()==OrderChangeType.TDTK.getCode()) {
 							if (nb.getChangeAmount().compareTo(new BigDecimal("0.2")) < 0) {
@@ -384,6 +379,19 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		return 1;
 	}
 
+	private void pushCED(NewOrderChangeBo nb, Department dep) {
+		TOrderNew tOrderNew = tOrderNewMapper.selectByPrimaryKey(nb.getOrderNo());
+		if (tOrderNew.getSalesmanId().equals(AFTConstants.CAOJIN_AID)) {
+			nb.setProcessState(OrderChangeProcess.DSZ.getCode());
+		}else {
+			if (dep.getProvince()==11){
+				nb.setProcessState(OrderChangeProcess.FZC.getCode());
+			}else {
+				nb.setProcessState(OrderChangeProcess.ZC.getCode());
+			}
+		}
+	}
+
 	/**
 	 *
 	 * @param nb
@@ -515,6 +523,15 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 				}
 			}
 			break;
+		case 10:
+			if(nb.getStatus()==2) {
+				alist.add(o.getFinanceId());
+			}else {
+				for (Admin admin : adminMapper.selectAdminByRoleType(AFTConstants.VICE_CED)) {
+					alist.add(admin.getId());
+				}
+			}
+			break;
 		}
 		//发送站内信息与邮件
 		pushGeneralSendNoticeAndEmail(alist, type, o, TokenManager.getAdminId(),0);
@@ -815,8 +832,25 @@ 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()||noc.getProcessState()== OrderChangeProcess.DSZ.getCode()){
-			if(noc.getStatus()==2){
+		}else if (noc.getProcessState()== OrderChangeProcess.ZC.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) {
+					str=str.append(a.getName()).append(",");
+				}
+				if (str.length()>0)noc.setExamineName(str.substring(0,str.length()-1));
+			} else if(noc.getStatus()==2){
 				TOrderNewBo ton = tOrderNewMapper.getSaleIdByOno(noc.getOrderNo());
 				OrganizationListOut dep = departmentMapper.selectAllById(ton.getOrderDep());
 				noc.setExamineName(dep.getFinanceName());