Browse Source

变更新增审核流程

anderx 3 years ago
parent
commit
b0894d61d9

+ 6 - 4
src/main/java/com/goafanti/order/enums/OrderChangeType.java

@@ -4,16 +4,18 @@ import java.util.HashMap;
 import java.util.Map;
 
 public enum OrderChangeType {
-	//变更类型 0退单退款 1项目及金额变更 2仅项目变更 3仅金额变更 4重报 5赠送
+	//变更类型 0退单退款 1项目及金额变更 2仅项目变更 3仅金额变更 4重报 5赠送 6退单不退款 7仅变更合同
 	TDTK(0,"退单退款"),
 	XMJJEBG(1,"项目及金额变更"),
 	JXMBG(2,"仅项目变更"),
 	JJEBG(3,"仅金额变更"),
 	CB(4,"重报"),
 	ZS(5,"赠送"),
+	TDBTK(6,"退单不退款"),
+	JBGGT(7,"仅变更合同"),
 	/** 无效 **/
 	INVALID(10, "INVALID");
-	
+
 	private OrderChangeType(Integer code, String desc) {
 		this.code = code;
 		this.desc = desc;
@@ -32,7 +34,7 @@ public enum OrderChangeType {
 		}
 		return INVALID;
 	}
-	
+
 	public static String getValueByCode(Integer code){
         for(OrderChangeType orderChangeType:OrderChangeType.values()){
             if(code.equals(orderChangeType.getCode())){
@@ -41,7 +43,7 @@ public enum OrderChangeType {
         }
         return  null;
     }
-	
+
 	public static boolean containsType(Integer code) {
 		return status.containsKey(code);
 	}

+ 33 - 24
src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java

@@ -251,6 +251,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	@Override
 	public int pushOrderChangeAudit(String changeId, String remarks, Integer status,Integer processState,Integer rejectState) {
 		NewOrderChangeBo nb=newOrderChangeMapper.selectByChangeId(changeId);
+
 		String orderNo=nb.getOrderNo();
 		if (processState==null||(nb.getProcessState()!=9&&processState !=nb.getProcessState()) ) {
 			throw new BusinessException(new Error( "变更流程与您所操作流程不匹配","变更流程与您所操作流程不匹配"));
@@ -260,33 +261,41 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		}
 		//2通过 3驳回
 		if (status==2) {
-			//变更类型 0退单退款 1项目及金额变更 2仅项目变更 3仅金额变更 4重报 5赠送
+			//变更类型 0退单退款 1项目及金额变更 2仅项目变更 3仅金额变更 4重报 5赠送 6退单不退款 7仅变更合同
 			if(nb.getType() !=null){
-				if (nb.getChangeAmount().compareTo(new BigDecimal("0.2"))<0) {//小于则总裁通过,大于则董事长
-					if(nb.getProcessState()==7) {//总裁项目变更通过
-						nb.setStatus(2);
-						}
+				//仅合同变更只需要 营销管理员与财务专员审核
+				if(nb.getType()==OrderChangeType.JBGGT.getCode()){
+					if(nb.getProcessState()==1){
+						nb.setProcessState(5);
+					}else if(nb.getProcessState()==5){
+						nb.setStatus(4);
+					}
 				}else {
-					if(nb.getProcessState()==7) {
-						nb.setProcessState(nb.getProcessState()+1);
+					if (nb.getChangeAmount().compareTo(new BigDecimal("0.2"))<0) {//小于则总裁通过,大于则董事长
+						if(nb.getProcessState()==7) {//总裁项目变更通过
+							nb.setStatus(2);
+						}
+					}else {
+						if(nb.getProcessState()==7) {
+							nb.setProcessState(nb.getProcessState()+1);
 						}else if(nb.getProcessState()==8) {//董事长项目变更通过
-						nb.setStatus(2);
+							nb.setStatus(2);
 						}
-				}
-				 	//营销管理通过则设置技术管理员通过表
-				 if(nb.getProcessState()==1){
-					 if (orderExamineMapper.checkCountStatus(orderNo,null,null)<1) {
-						 insertOrderExamine(orderNo);
-					 } else {
-						 orderExamineMapper.updateByOrderNo(orderNo,null);
-					 }
-					 nb.setProcessState(nb.getProcessState()+1);
 					}
-				 //必须放置在咨询师与咨询师经理前,否则会直接通过不走咨询师管理员
-				 if(nb.getProcessState()==4||nb.getProcessState()==5||nb.getProcessState()==6) {
-					 nb.setProcessState(nb.getProcessState()+1);
-				 }
-				 if(nb.getProcessState()==2){//咨询师
+					//营销管理通过则设置技术管理员通过表
+					if(nb.getProcessState()==1){
+						if (orderExamineMapper.checkCountStatus(orderNo,null,null)<1) {
+							insertOrderExamine(orderNo);
+						} else {
+							orderExamineMapper.updateByOrderNo(orderNo,null);
+						}
+						nb.setProcessState(nb.getProcessState()+1);
+					}
+					//必须放置在咨询师与咨询师经理前,否则会直接通过不走咨询师管理员
+					if(nb.getProcessState()==4||nb.getProcessState()==5||nb.getProcessState()==6) {
+						nb.setProcessState(nb.getProcessState()+1);
+					}
+					if(nb.getProcessState()==2){//咨询师
 						//找出当时人的审核改为通过
 						orderExamineMapper.updateByOrderNoAndAid(orderNo,TokenManager.getAdminId(),0);
 						//全部通过了则跳下个流程
@@ -294,7 +303,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 							nb.setProcessState(nb.getProcessState()+1);
 						}
 					}
-				 if(nb.getProcessState()==3){//咨询师经理
+					if(nb.getProcessState()==3){//咨询师经理
 						//找出当时人的审核改为通过
 						orderExamineMapper.updateByOrderNoAndAid(orderNo,TokenManager.getAdminId(),1);
 						//全部通过了则跳下个流程
@@ -302,7 +311,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 							nb.setProcessState(nb.getProcessState()+1);
 						}
 					}
-
+				}
 			}
 			if(nb.getStatus()==3) {
 				nb.setStatus(1);//如果驳回数据则改为正常数据