Explorar o código

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

anderx %!s(int64=2) %!d(string=hai) anos
pai
achega
e9a4b1b16b

+ 1 - 0
src/main/java/com/goafanti/admin/service/impl/AdminStatisticsServiceImpl.java

@@ -127,6 +127,7 @@ public class AdminStatisticsServiceImpl implements AdminStatisticsService {
             shiroType=1;
         }
         ConsultantStatisticsBo res = adminMapper.consultantStatisticsInfo(aid,shiroType);
+        if (res == null) res=new ConsultantStatisticsBo();
         if (res.getCountPublicRelease()==null)res.setCountPublicRelease(0);
         if (res.getOrderPayment()==null)res.setOrderPayment(0);
         ConsultantStatisticsBo asb = adminMapper.consultantStatisticsInfoByTime(aid, startTime, endTime);

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

@@ -1,13 +1,9 @@
 package com.goafanti.common.constant;
 
-import com.goafanti.core.shiro.token.TokenManager;
-
 public class AFTConstants {
 	public static final String	YYYYMMDDHHMMSS						= "yyyy-MM-dd HH:mm:ss";
-	public static final String	YYYYMMDDHHMMSS_OUT					= "yyyy-MM-dd_HH_mm_ss";
 	public static final String	YMDHMS_CHINESE						= "yyyy年MM月dd日 HH:mm:ss";
 	public static final String	YYYYMMDD							= "yyyy-MM-dd";
-	public static final String	YYYYMMDD_2							= "yyyy/MM/dd";
 	public static final String	YYYYMM								= "yyyy-MM";
 	public static final String	YYYY								= "yyyy";
 

+ 5 - 4
src/main/java/com/goafanti/common/mapper/NewOrderChangeMapper.xml

@@ -598,13 +598,14 @@ select
 	 and a.process_state > #{processState}
 	</if>
 	<if test="complete ==2 and processState == 6">
-	 and a.process_state &gt; 6 and a.process_state &lt; 10
+	 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)
 	</if>
 	<if test="complete ==2 and processState == 9">
 	 and a.process_state = 9  and   (a.status = 4 or a.status = 2)
+
 	</if>
 	<if test="complete ==3">
 	 and   a.status = 2
@@ -724,9 +725,9 @@ select
     <if test="complete ==2 and processState != 6 and processState != 8 and processState != 9 and processState !=3 and processState !=4">
       and a.process_state &gt; #{processState}
     </if>
-	<if test="complete ==2 and processState == 6">
-	 and a.process_state &gt; 6 and a.process_state &lt; 10
-	</if>
+    <if test="complete ==2 and processState == 6">
+      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)
 	</if>

+ 1 - 1
src/main/java/com/goafanti/common/mapper/TOrderInvoiceMapper.xml

@@ -360,7 +360,7 @@
 
     <select id="checkApplyAmount" resultType="java.lang.String">
   select ifnull(sum(amount),0) from t_order_invoice
-	where order_no= #{orderNo,jdbcType=VARCHAR}  and status =2
+	where order_no= #{orderNo,jdbcType=VARCHAR}  and status in (0,1,2,3)
 	<if test="id != null">
 	and id != #{id,jdbcType=INTEGER}
 	</if>

+ 1 - 0
src/main/java/com/goafanti/core/mybatis/JDBCIdGenerator.java

@@ -51,6 +51,7 @@ public class JDBCIdGenerator {
 
 	static void initWorkerId() {
 		String workerId = System.getProperty("jdbc.worker.id");
+		if (workerId == null)workerId="1001";
 		if (StringUtils.isNoneBlank(workerId)) {
 			setWorkerId(Long.valueOf(workerId));
 			return;

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

@@ -256,6 +256,7 @@ public class OrderChangeApiController extends CertifyApiController {
 	 *  退单退款:营销-经理-总经理审核-技术员-经理经理-技术总监-财务-财务总监-总裁-董事长(大于2K,需董事长审核)-财务退票
 	 *  退单不退款:营销-经理-总经理审核-技术员-经理经理-技术总监-财务-财务总监-总裁-财务退票
 	 * 	仅金额:营销-经理-总经理审核-技术总监-财务-财务总监-总裁
+	 * 	框架协议审核流程: 营销员发起-营销经理审核-营销管理员审核-财务审核-咨询师管理员审核-完成
 	 */
 	@RequestMapping(value = "/orderChangeAudit", method = RequestMethod.POST)
 	public Result orderChangeAudit(String changeId,String remarks,Integer status,Integer processState,Integer rejectState){

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

@@ -45,7 +45,7 @@ public class OrderInvoiceApiController extends CertifyApiController {
 		}
 		//status 0保存 1提交
 		if(orderInvoiceService.checkAmount(t)) {
-			res.getError().add(buildError("","可开票余额不足!"));
+			res.getError().add(buildError("","可开票余额不足!请注意已发起和被驳回的开票信息。"));
 			return res;
 		}
 		res.data(orderInvoiceService.createServiceOrder(t));

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

@@ -4,7 +4,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 public enum OrderChangeType {
-	//变更类型 0退单退款 1项目及金额变更 2仅项目变更 3仅金额变更 4重报 5赠送 6退单不退款 7仅变更合同
+	//变更类型 0退单退款 1项目及金额变更 2仅项目变更 3仅金额变更 4重报 5赠送 6退单不退款 7仅变更合同 8框架协议
 	TDTK(0,"退单退款"),
 	XMJJEBG(1,"项目及金额变更"),
 	JXMBG(2,"仅项目变更"),
@@ -13,6 +13,7 @@ public enum OrderChangeType {
 	ZS(5,"赠送"),
 	TDBTK(6,"退单不退款"),
 	JBGGT(7,"仅变更合同"),
+	KJXY(8,"框架协议"),
 	/** 无效 **/
 	INVALID(10, "INVALID");
 

+ 19 - 4
src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java

@@ -280,6 +280,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 				  退单退款:营销-经理-总经理审核-技术员-经理经理-技术总监-财务-财务总监-总裁-董事长(大于2K,需董事长审核)-财务退票
 				 退单不退款:营销-经理-总经理审核-技术员-经理经理-技术总监-财务-财务总监-总裁-财务退票
 					仅金额:营销-经理-总经理审核-技术总监-财务-财务总监-总裁
+				框架协议审核流程: 营销员发起-营销经理审核-营销管理员审核-财务审核
 				 */
 					if (nb.getProcessState()==OrderChangeProcess.YXJL.getCode()){
 						nb.setProcessState(OrderChangeProcess.YXGLY.getCode());
@@ -292,7 +293,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 							pushZXS(nb, date,1);
 						}else if (nb.getType()==OrderChangeType.JJEBG.getCode()){
 							nb.setProcessState(OrderChangeProcess.JSZJ.getCode());
-						}else if (nb.getType()==OrderChangeType.ZS.getCode()){
+						}else if (nb.getType()==OrderChangeType.ZS.getCode()||nb.getType()==OrderChangeType.KJXY.getCode()){
 							nb.setProcessState(OrderChangeProcess.CWZY.getCode());
 						}
 					}else if (nb.getProcessState()==OrderChangeProcess.JSY.getCode()){
@@ -308,6 +309,11 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 					}else if (nb.getProcessState()==OrderChangeProcess.CWZY.getCode()){
 						if (nb.getType()==OrderChangeType.ZS.getCode()){
 							nb.setProcessState(OrderChangeProcess.ZC.getCode());
+						}if (nb.getType()==OrderChangeType.KJXY.getCode()){
+							nb.setStatus(4);
+							addOrderChangeLog(remarks, 2, orderNo, nb.getId());
+							pushCompleteOrderChange(nb);
+							return 1;
 						}else {
 							nb.setProcessState(OrderChangeProcess.CWZJ.getCode());
 						}
@@ -624,7 +630,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	@SuppressWarnings("unchecked")
 	@Override
 	public Pagination<NewOderCahngeListBo> selectOrderChangeList(String userName,Integer  processState,Integer timeType,String startTime,String endTime,
-																 String deps,String salesmanName,Integer complete,String orderNo, String contractNo,Integer type,Integer pageSize, Integer pageNo) {
+						String deps,String salesmanName,Integer complete,String orderNo, String contractNo,Integer type,Integer pageSize, Integer pageNo) {
 		Map<String, Object> parameter=new HashMap<String, Object>();
 		if(pageSize==null||pageSize<0)pageSize=10;
 		if(pageNo==null||pageNo<0)pageNo=1;
@@ -688,12 +694,17 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 			TOrderNew ton=new TOrderNew();
 			ton.setOrderNo(noc.getOrderNo());
 			ton.setDeleteSign(2);
+			if(t.getType()==OrderChangeType.KJXY.getCode()){
+				ton.setTotalAmount(t.getTotalAmount());
+			}
 			tOrderNewMapper.updateByPrimaryKeySelective(ton);
 			TOrderNewBo tOrderNew = tOrderNewMapper.getSaleIdByOno(t.getOrderNo());
 			if (t.getType()!=OrderChangeType.JBGGT.getCode()){
+			//不是仅合同变更就看营销经理是否存在
 				if (tOrderNew.getManagerName()!=null){
 					noc.setProcessState(OrderChangeProcess.YXJL.getCode());
 				}else {
+					//营销经理不存在判定营销管理员
 					date.setTime(date.getTime()+500);
 					addOrderChangeLog("未设置营销经理自动通过", 2, t.getOrderNo(), noc.getId(),date);
 					List<Admin> admins = adminMapper.listAdminBydepIdAndRoleType(tOrderNew.getOrderDep(), AFTConstants.SALESMAN_ADMIN);
@@ -713,12 +724,13 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 							//将所有审核重置
 							orderExamineMapper.updateByOrderNo(t.getOrderNo(),null,null);
 							pushZXS(t,date,1);
-						}else if(t.getType()==OrderChangeType.ZS.getCode()){
+						}else if(t.getType()==OrderChangeType.ZS.getCode()||t.getType()==OrderChangeType.KJXY.getCode()){
 							noc.setProcessState(OrderChangeProcess.CWZY.getCode());
 						}else if(t.getType()==OrderChangeType.JJEBG.getCode()){
 							noc.setProcessState(OrderChangeProcess.JSZJ.getCode());
 						}
 					}else {
+						//不跳过就设置流程未营销管理员
 						noc.setProcessState(OrderChangeProcess.YXGLY.getCode());
 					}
 
@@ -729,7 +741,10 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 			}
 			sendNotice(0, t);
 			pushOrderCangeProcess(noc);
-			pushOrderExamine(noc.getOrderNo(),noc.getType());
+			//框架协议不需要设置咨询师审核角色
+			if (t.getType()!=OrderChangeType.KJXY.getCode()){
+				pushOrderExamine(noc.getOrderNo(),noc.getType());
+			}
 		}else  if (changeType==2) {
 			noc.setCwCost(t.getCwCost());
 			noc.setRefundableAmount(t.getRefundableAmount());

+ 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.87
+static.host=//static.jishutao.com/1.2.88
 rd.static.host=//static.jishutao.com/RD/1.0.00
 #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.87
+static.host=//static.jishutao.com/1.2.88
 rd.static.host=//static.jishutao.com/RD/1.0.01
 avatar.upload.host=//static.jishutao.com/upload