|
|
@@ -1,6 +1,7 @@
|
|
|
package com.goafanti.order.service.impl;
|
|
|
|
|
|
import java.lang.reflect.InvocationTargetException;
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.Date;
|
|
|
@@ -39,6 +40,7 @@ import com.goafanti.core.shiro.token.TokenManager;
|
|
|
import com.goafanti.order.bo.TOrderTaskBo;
|
|
|
import com.goafanti.order.bo.TOrderTaskDetailBo;
|
|
|
import com.goafanti.order.bo.TOrderTaskListBo;
|
|
|
+import com.goafanti.order.enums.BonusSubject;
|
|
|
import com.goafanti.order.enums.ProcessStatus;
|
|
|
import com.goafanti.order.enums.ProjectNewStage;
|
|
|
import com.goafanti.order.service.OrderProjectService;
|
|
|
@@ -167,6 +169,8 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
|
|
|
contactBook.setMobile(t.getContactMobile());
|
|
|
organizationContactBookMapper.insertSelective(contactBook);
|
|
|
}
|
|
|
+ //新增结算奖金信息
|
|
|
+ checkSettlementAward(tn,task);
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
try {
|
|
|
if(StringUtils.isNotBlank(t.getStartDate()))task.setTaskStartTime(sdf.parse(t.getStartDate()));
|
|
|
@@ -193,15 +197,46 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
+ private void checkSettlementAward(TOrderNew tn,TOrderTask task) {
|
|
|
+ if(task.getTaskStatus()==TaskState.COMPLETE.getCode()&&tn.getTotalAmount().compareTo(tn.getSettlementAmount())==0) {
|
|
|
+ List<TOrderTask> l = tOrderTaskMapper.getReceiverByOid(tn.getOrderNo());
|
|
|
+// 取消没有技术员不能支付全款
|
|
|
+// if(null == l || l.size() == 0){
|
|
|
+// return -3;//没有给将任务分给咨询师(技术员)
|
|
|
+// }
|
|
|
+ for (TOrderTask tOrderTask : l) {
|
|
|
+ if(null != tOrderTask &&null != tOrderTask.getTaskReceiver()){
|
|
|
+ TOrderBonus bonus = new TOrderBonus();
|
|
|
+ bonus.setId(UUID.randomUUID().toString());
|
|
|
+ bonus.setOrderNo(tn.getOrderNo());
|
|
|
+ bonus.setGrantBy(tn.getFinanceId());
|
|
|
+ bonus.setBonusSubject(BonusSubject.WK.getCode());//12
|
|
|
+ bonus.setTaskId(tOrderTask.getId());//任务id
|
|
|
+ bonus.setGrantTarget(tOrderTask.getTaskReceiver());
|
|
|
+ bonus.setGrantType(1);
|
|
|
+ int c = tOrderBonusMapper.checkByOnoAndSub(bonus);
|
|
|
+ //不存在就设置
|
|
|
+ if(c==0){
|
|
|
+ bonus.setId(UUID.randomUUID().toString());
|
|
|
+ tOrderBonusMapper.insertSelective(bonus);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void meanwhileUpdateOrder(TOrderTask task) {
|
|
|
+
|
|
|
if (task.getMain()==1) {//是否是主要项目
|
|
|
//更改订单项目状态
|
|
|
TOrderNew tNew=new TOrderNew();
|
|
|
tNew.setProjectStatus(task.getProjectStatus());
|
|
|
tNew.setOrderNo(task.getOrderNo());
|
|
|
tOrderNewMapper.updateByPrimaryKeySelective(tNew);
|
|
|
- //新增奖金信息
|
|
|
- System.out.println(task.getProjectStatus());
|
|
|
+
|
|
|
+
|
|
|
if (task.getProjectStatus()==ProjectNewStage.YTJ.getCode()||task.getProjectStatus()==ProjectNewStage.LS.getCode()||
|
|
|
task.getProjectStatus()==ProjectNewStage.GS.getCode()) {
|
|
|
TOrderBonus tb=new TOrderBonus();
|