Przeglądaj źródła

1、新增核对通知 2、修改官费计算

anderx 4 lat temu
rodzic
commit
f4f743fc00

+ 65 - 0
src/main/java/com/goafanti/common/bo/OrderOperator.java

@@ -0,0 +1,65 @@
+package com.goafanti.common.bo;
+
+public class OrderOperator {
+	
+	private String tid;
+	private String orderNo;
+	private String salesmanId;
+	private String financeId;
+	private String techId;
+	private String salesmanName;
+	private String financeName;
+	private String techName;
+	
+	public String getOrderNo() {
+		return orderNo;
+	}
+	public void setOrderNo(String orderNo) {
+		this.orderNo = orderNo;
+	}
+	public String getSalesmanId() {
+		return salesmanId;
+	}
+	public void setSalesmanId(String salesmanId) {
+		this.salesmanId = salesmanId;
+	}
+	public String getFinanceId() {
+		return financeId;
+	}
+	public void setFinanceId(String financeId) {
+		this.financeId = financeId;
+	}
+	public String getTechId() {
+		return techId;
+	}
+	public void setTechId(String techId) {
+		this.techId = techId;
+	}
+	public String getSalesmanName() {
+		return salesmanName;
+	}
+	public void setSalesmanName(String salesmanName) {
+		this.salesmanName = salesmanName;
+	}
+	public String getFinanceName() {
+		return financeName;
+	}
+	public void setFinanceName(String financeName) {
+		this.financeName = financeName;
+	}
+	public String getTechName() {
+		return techName;
+	}
+	public void setTechName(String techName) {
+		this.techName = techName;
+	}
+	public String getTid() {
+		return tid;
+	}
+	public void setTid(String tid) {
+		this.tid = tid;
+	}
+	
+	
+
+}

+ 1 - 1
src/main/java/com/goafanti/common/dao/TOrderPaymentMapper.java

@@ -65,6 +65,6 @@ public interface TOrderPaymentMapper {
 	int selectByCid(Integer tpcId);
 
 
-	void deleteByParam( @Param("chooseType")Integer chooseType);
+	void deleteByParam(@Param("tid")Integer tid, @Param("chooseType")Integer chooseType);
 
 }

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

@@ -1,5 +1,6 @@
 package com.goafanti.common.dao;
 
+import com.goafanti.common.bo.OrderOperator;
 import com.goafanti.common.bo.UserOrderTask;
 import com.goafanti.common.model.TOrderTask;
 import com.goafanti.order.bo.TOrderTaskBo;
@@ -85,4 +86,6 @@ public interface TOrderTaskMapper {
 
 	void updateAddCostAmount(@Param("tid")Integer tid, @Param("cost")BigDecimal cost);
 
+	OrderOperator selectAidByParam(@Param("tid")Integer tid);
+
 }

+ 2 - 0
src/main/java/com/goafanti/common/enums/NoticeStatus.java

@@ -63,6 +63,8 @@ public enum NoticeStatus {
 	PUBLIC_RELEASE_START(54,"外出打卡申请"),
 	PUBLIC_RELEASE_YES(55,"外出打卡通过"),
 	PUBLIC_RELEASE_NO(56,"外出打卡驳回"),
+	ITEM_CHECK_START(57,"发起项目核对"),
+	ITEM_CHECK_END(58,"完成项目核对"),
 	OTHER(0, "其他");
 
 	private NoticeStatus(Integer code, String desc) {

+ 15 - 21
src/main/java/com/goafanti/common/enums/NoticeTypes.java

@@ -37,31 +37,25 @@ public enum NoticeTypes {
 				|| i == NoticeStatus.ORDER_OUTSOURCE_NO.getCode() || i == NoticeStatus.ORDER_OUTSOURCE_YES.getCode()
 				|| i == NoticeStatus.ORDER_YES.getCode() || i == NoticeStatus.ORDER_NO.getCode()
 				|| i == NoticeStatus.ORDER_TASK_TO.getCode() || i == NoticeStatus.PROJECT_OUTSOURCE_START.getCode()
-				|| i == NoticeStatus.PROJECT_OUTSOURCE_YES.getCode()|| i == NoticeStatus.PROJECT_OUTSOURCE_NO.getCode()){
+				|| i == NoticeStatus.PROJECT_OUTSOURCE_YES.getCode() || i == NoticeStatus.PROJECT_OUTSOURCE_NO.getCode()
+				|| i == NoticeStatus.ITEM_CHECK_START.getCode() || i == NoticeStatus.ITEM_CHECK_END.getCode()) {
 			return 2;
-		}else if(i==NoticeStatus.CUSTOMER_LOSE30.getCode()||
-				i==NoticeStatus.CUSTOMER_LOSE270.getCode()||
-				i==NoticeStatus.CUSTOMER_CHENNEL_LOSE.getCode()||
-				i==NoticeStatus.CUSTOMER_CHENNEL_RECOVERY.getCode()
-				) {
+		} else if (i == NoticeStatus.CUSTOMER_LOSE30.getCode() || i == NoticeStatus.CUSTOMER_LOSE270.getCode()
+				|| i == NoticeStatus.CUSTOMER_CHENNEL_LOSE.getCode()
+				|| i == NoticeStatus.CUSTOMER_CHENNEL_RECOVERY.getCode()) {
 			return 3;
-		}else if(i==NoticeStatus.CUSTOMER_PRIVATE_REMINDER.getCode()||
-				i==NoticeStatus.CUSTOMER_LOSE_REMINDER.getCode()) {
+		} else if (i == NoticeStatus.CUSTOMER_PRIVATE_REMINDER.getCode()
+				|| i == NoticeStatus.CUSTOMER_LOSE_REMINDER.getCode()) {
 			return 4;
-		}else if(i==NoticeStatus.ORDER_DUN.getCode()||
-				i==NoticeStatus.ORDER_ARREARS_DUN.getCode()||
-				i==NoticeStatus.PAYMENT_DUN.getCode()||
-				i==NoticeStatus.PAYMENT_NODE.getCode()||
-				i==NoticeStatus.PAYMENT_NO.getCode()||
-				i==NoticeStatus.PAYMENT_YES.getCode()||
-				i==NoticeStatus.PAYMENT_COMPLETE.getCode()) {
+		} else if (i == NoticeStatus.ORDER_DUN.getCode() || i == NoticeStatus.ORDER_ARREARS_DUN.getCode()
+				|| i == NoticeStatus.PAYMENT_DUN.getCode() || i == NoticeStatus.PAYMENT_NODE.getCode()
+				|| i == NoticeStatus.PAYMENT_NO.getCode() || i == NoticeStatus.PAYMENT_YES.getCode()
+				|| i == NoticeStatus.PAYMENT_COMPLETE.getCode()) {
 			return 5;
-		}else if(i==NoticeStatus.ORDER_INVPICE_START.getCode()||
-				i==NoticeStatus.ORDER_INVPICE_YES.getCode()||
-				i==NoticeStatus.ORDER_INVPICE_NO.getCode()||
-				i==NoticeStatus.ORDER_INVPICE_APPROVA_YES.getCode()||
-				i==NoticeStatus.ORDER_INVPICE_APPROVA_NO.getCode()||
-				i==NoticeStatus.ORDER_INVPICE_END.getCode()) {
+		} else if (i == NoticeStatus.ORDER_INVPICE_START.getCode() || i == NoticeStatus.ORDER_INVPICE_YES.getCode()
+				|| i == NoticeStatus.ORDER_INVPICE_NO.getCode() || i == NoticeStatus.ORDER_INVPICE_APPROVA_YES.getCode()
+				|| i == NoticeStatus.ORDER_INVPICE_APPROVA_NO.getCode()
+				|| i == NoticeStatus.ORDER_INVPICE_END.getCode()) {
 			return 6;
 		}
 		return 0;

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

@@ -441,6 +441,7 @@ select a.id,a.tid,a.node_id nodeId,a.payment_type paymentType,a.company_name com
   <delete id="deleteByParam">
   delete from t_order_payment
     where 1=1
+    and tid= #{tid}
     <if test="chooseType !=null">
     and choose_type = #{chooseType}
     </if>

+ 10 - 0
src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml

@@ -2143,4 +2143,14 @@ left join department de on x.department_id=de.id left join business_category bc
 	set cost_amount =cost_amount + #{cost}
 	where tid= #{tid}
   </update>
+	<select id="selectAidByParam" resultType="com.goafanti.common.bo.OrderOperator">
+		 select a.id tid,b.order_no orderNo ,b.salesman_id salesmanId,b.finance_id financeId ,a.task_receiver techId,
+   		 b.salesman_name salesmanName ,b.finance_name financeName ,d.name techName
+		from t_order_task a left join t_order_mid b on a.order_no=b.order_no
+		left join t_task_mid c on a.id =c.tid left join admin d on a.task_receiver=d.id
+		where 1=1
+		<if test="tid !=null">
+			and a.id= #{tid}
+		</if>
+	</select>
 </mapper>

+ 22 - 15
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -35,6 +35,7 @@ import com.alibaba.fastjson.JSON;
 import com.goafanti.admin.bo.AdminListBo;
 import com.goafanti.common.bo.EmailBo;
 import com.goafanti.common.bo.Error;
+import com.goafanti.common.bo.OrderOperator;
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.dao.AdminMapper;
@@ -102,7 +103,6 @@ import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.customer.bo.LockingReleaseBo;
 import com.goafanti.order.bo.InputArrearsDunListBo;
 import com.goafanti.order.bo.OrderDunTaskBo;
-import com.goafanti.order.bo.OrderOutsourceDtails;
 import com.goafanti.order.bo.OrderRefundDetailBo;
 import com.goafanti.order.bo.OutArrearsDunListBo;
 import com.goafanti.order.bo.OutNewOrderDunBo;
@@ -297,6 +297,17 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 			}
 			log.setRemarks(str.toString());
 			log.setStatus(1);
+			OrderOperator oo=tOrderTaskMapper.selectAidByParam(t.getId());
+			if (oo!=null&&oo.getOrderNo()!=null&&oo.getSalesmanId()!=null) {
+				Notice n =new Notice();
+				String str2=String.format("[%s]完成了项目核对,订单编号[%s]项目编号[%s]。", oo.getSalesmanName(),oo.getOrderNo(),oo.getTid());
+				n.setId(UUID.randomUUID().toString());
+				n.setAid(oo.getTechId());
+				n.setNoticeType(NoticeStatus.ITEM_CHECK_END.getCode());
+				n.setContent(str2);
+				n.setReaded(0);//未读
+				asyncUtils.addNotice(n);
+			}
 			projcetCheckLogMapper.insertSelective(log);
 		}
 		return tOrderTaskMapper.updateByPrimaryKeySelective(t);
@@ -1336,6 +1347,16 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		for (OutThirdPartyCompany op : list) {
 			tCount=tCount.add(new BigDecimal(op.getTotalAmount()));
 		}
+		if(type==1) {
+			ProjectTypePuls tt=thirdPartyCompanyMapper.selectByTidGetDtails(tid);
+			if (tt.getOfficialCost()==1) {
+				if (tt.getCostReduction()==1) {
+					tCount=tCount.add(tt.getProportion85().multiply(new BigDecimal(tt.getQuantity())));
+				}else {
+					tCount=tCount.add(tt.getOfficialAmount().multiply(new BigDecimal(tt.getQuantity())));
+				}
+			}
+		}
 		tTaskMidMapper.updateCostAmount(tid,tCount);
 		//计算订单成本
 		BigDecimal oCount=new BigDecimal(0);
@@ -1343,20 +1364,6 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		for (TTaskMid tm : tlist) {
 			if (tm!=null&&tm.getCostAmount()!=null)oCount=oCount.add(tm.getCostAmount()==null?new BigDecimal(0):tm.getCostAmount());
 		}
-		//订单成本计算
-		if (type==1) {
-			List<ProjectTypePuls> list2=thirdPartyCompanyMapper.selectByTidGetListDtails(tid);
-			for (ProjectTypePuls op : list2) {
-				if (op.getOfficialCost()==1) {
-					BigDecimal mCount=op.getOfficialAmount().multiply(new BigDecimal(op.getQuantity()));
-					if (op.getCostReduction()==1) {
-						mCount=op.getProportion85().multiply(new BigDecimal(op.getQuantity()));
-					}
-					oCount=oCount.add(mCount);
-				}
-				
-			}
-		}
 		tOrderMidMapper.updateCostAmount(tid,oCount,null);
 	}
 

+ 13 - 1
src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java

@@ -24,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import com.goafanti.common.bo.EmailBo;
 import com.goafanti.common.bo.Error;
+import com.goafanti.common.bo.OrderOperator;
 import com.goafanti.common.bo.UserOrderTask;
 import com.goafanti.common.bo.paymentNodeEmailBo;
 import com.goafanti.common.constant.AFTConstants;
@@ -1010,8 +1011,19 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		log.setRemarks("发起核对");
 		log.setTid(tid);
 		log.setStatus(0);
+		OrderOperator oo=tOrderTaskMapper.selectAidByParam(tid);
+		if (oo!=null&&oo.getOrderNo()!=null&&oo.getSalesmanId()!=null) {
+			Notice n =new Notice();
+			String str=String.format("[%s]发起项目核对,订单编号[%s]项目编号[%s]。", oo.getTechName(),oo.getOrderNo(),oo.getTid());
+			n.setId(UUID.randomUUID().toString());
+			n.setAid(oo.getSalesmanId());
+			n.setNoticeType(NoticeStatus.ITEM_CHECK_START.getCode());
+			n.setContent(str);
+			n.setReaded(0);//未读
+			asyncUtils.addNotice(n);
+		}
 		projcetCheckLogMapper.insertSelective(log);
-		tOrderPaymentMapper.deleteByParam(2);
+		tOrderPaymentMapper.deleteByParam(tid,2);
 		return tOrderTaskMapper.updateByPrimaryKeySelective(t);
 	}
 

+ 3 - 1
src/main/java/com/goafanti/organization/service/impl/ThirdPartyCompanyServiceImpl.java

@@ -1144,7 +1144,9 @@ public class ThirdPartyCompanyServiceImpl extends  BaseMybatisDao<ThirdPartyComp
 					tOrderPaymentMapper.updateByPrimaryKeySelective(t);
 			}
 			Admin a=adminMapper.selectByPrimaryKey(TokenManager.getAdminId());
-			paymentLogMapper.insertBatch(ss, a.getAid(), a.getName(), "切换取消支付", 4);
+			if (!list.isEmpty()&&a.getAid()!=null) {
+				paymentLogMapper.insertBatch(ss, a.getAid(), a.getName(), "切换取消支付", 4);
+			}
 			tOrderTaskMapper.resstPayment(id);
 			updateCountByTid(id);
 			map.put("desc", "已全部删除");

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

@@ -2,13 +2,13 @@ dev.name=local
 #Driver
 jdbc.driverClassName=com.mysql.jdbc.Driver
 #本地
-#jdbc.url=jdbc\:mysql://localhost:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
-#jdbc.username=root
-#jdbc.password=123456
-•#
-jdbc.url=jdbc:mysql://101.37.32.31:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
+jdbc.url=jdbc\:mysql://localhost:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
 jdbc.username=root
-jdbc.password=aftdev
+jdbc.password=123456
+•#
+#jdbc.url=jdbc:mysql://101.37.32.31:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
+#jdbc.username=root
+#jdbc.password=aftdev
 #\u68c0\u6d4b\u6570\u636e\u5e93\u94fe\u63a5\u662f\u5426\u6709\u6548\uff0c\u5fc5\u987b\u914d\u7f6e
 jdbc.validationQuery=SELECT 'x'
 #\u521d\u59cb\u8fde\u63a5\u6570