Browse Source

修改新增会员

anderx 9 months ago
parent
commit
311e66dabf

+ 1 - 0
src/main/java/com/goafanti/common/utils/AsyncUtils.java

@@ -833,4 +833,5 @@ public class AsyncUtils {
 		}
 	}
 
+
 }

+ 4 - 19
src/main/java/com/goafanti/order/controller/AdminNewOrderApiController.java

@@ -95,25 +95,8 @@ public class AdminNewOrderApiController extends CertifyApiController {
 	/**
 	 * 添加项目、新增项目
 	 */
-//	@RequestMapping(value = "/addOrderTask",method = RequestMethod.POST)
-//	public Result addOrderTask(InputAddTask in){
-//		Result res = new Result();
-//		if(StringUtils.isBlank(in.getOrderNo())){
-//			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
-//			return res;
-//		}
-//		if (in.getOrderNo()!=null&&orderNewService.checkOrderMain(in)) {
-//			res.getError().add(buildError("订单主要任务已存在","订单主要任务已存在"));
-//			return res;
-//		}
-//		return res.data(orderNewService.addOrderTask(in));
-//	}
-
-	/**
-	 * 添加项目、新增项目(新版)
-	 */
-	@RequestMapping(value = "/AddOrderTaskNew",method = RequestMethod.POST)
-	public Result AddOrderTaskNew(@RequestBody InputAddTask in){
+	@RequestMapping(value = "/addOrderTask",method = RequestMethod.POST)
+	public Result addOrderTask(@RequestBody InputAddTask in){
 		Result res = new Result();
 		if(StringUtils.isBlank(in.getOrderNo())){
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
@@ -125,6 +108,8 @@ public class AdminNewOrderApiController extends CertifyApiController {
 		}
 		return res.data(orderNewService.addOrderTask(in));
 	}
+
+
 	/**
 	 * 修改项目(营销员)
 	 */

+ 4 - 45
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -4,7 +4,6 @@ package com.goafanti.order.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.goafanti.admin.bo.AdminListBo;
 import com.goafanti.admin.service.DepartmentService;
-import com.goafanti.business.bo.BusinessProjectBo;
 import com.goafanti.common.bo.EmailBo;
 import com.goafanti.common.bo.Error;
 import com.goafanti.common.bo.OrderOperator;
@@ -34,7 +33,6 @@ import groovy.transform.Synchronized;
 import org.apache.commons.io.IOUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.cache.annotation.Cacheable;
@@ -152,6 +150,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	private PublicConfigMapper publicConfigMapper;
 	@Resource
 	private TemporaryReceivablesMapper temporaryReceivablesMapper;
+	@Autowired
+	private ProjectAsyncService projectAsyncService;
 
 
 	@Value(value = "${upload.path}")
@@ -243,54 +243,13 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		addTTaskMember(t);
 		addTaskMid(t);
 		//如果是会员添加同性质不同项目
-		BusinessProject bp=businessProjectMapper.selectById(t.getCommodityId());
-		InputAddTask t2=new InputAddTask();
-		BeanUtils.copyProperties(t,t2);
-		if (bp.getProjectType().equals(NewProjectTypeEnum.HT.getCode())){
-			//先新增子项会员
-			addSonProject(t);
-			//会员项目替换
-			addFinanceOrTechnology(t2,1);
-
-		}
+		projectAsyncService.pushFinanceOrTechnology(t);
 		return t;
 	}
 
-	/**
-	 *
-	 * @param t2 项目情况
-	 * @param type 1=标准会员,2=简单会员
-	 */
-	private void addFinanceOrTechnology(InputAddTask t2, Integer type) {
-		List<BusinessProjectBo> additionalDeductionList = businessProjectMapper.selectByFirstBName(null, type);
-		for (BusinessProjectBo e : additionalDeductionList) {
-			if (!e.getId().equals(t2.getCommodityId())) {
-				t2.setCommodityId(e.getId());
-				t2.setCommodityName(e.getBname());
-				t2.setMain(0);
-				t2.setCommodityPrice(new BigDecimal(0));
-				t2.setId(null);
-				addTTaskMember(t2);
-				addTaskMid(t2);
-				addSonProject(t2);
-			}
 
-		}
-	}
 
-	private void addSonProject(InputAddTask t) {
-		List<InputAddTask> sonList = t.getSonList();
-		for (InputAddTask e : sonList) {
-			InputSonProject sonProject= new InputSonProject();
-			sonProject.setTid(t.getId());
-			sonProject.setServiceYear(t.getServiceYear());
-			sonProject.setTaskComment(t.getTaskComment());
-			sonProject.setHtMember(e.getHtMember());
-			sonProject.setAdditionalDeduction(e.getAdditionalDeduction());
-			sonProject.setRdAwardsubsidy(e.getRdAwardsubsidy());
-			orderProjectService.addMemberSonProject(sonProject);
-		}
-	}
+
 
 	private void addTTaskMember(InputAddTask t) {
 		String str=tOrderTaskMapper.selectByidGetCname(t.getCommodityId());

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

@@ -1653,7 +1653,8 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		}
 		newT.setCommodityPrice(new BigDecimal(0));
 		tOrderTaskMapper.insertSelective(newT);
-		pushFatherTask(tOrderTask);
+//		新增不在需要单独处理
+//		pushFatherTask(tOrderTask);
 		tOrderTaskMapper.update(tOrderTask);
 		TTaskMember t = tTaskMemberMapper.selectByTid(in.getTid());
 		TOrderTaskBo tb=new TOrderTaskBo();
@@ -1670,8 +1671,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 			tTaskMemberMapper.insertSelective(ttm);
 		}
 		orderNewService.addTaskMid(newT.getId(),newT.getCommodityId(), newT.getOrderNo());
-		//处理主项目本次派单年份
-		tTaskMemberMapper.updateServiceYearBySplitSuper(in.getTid());
+
 		addMemberLog(newT.getId(),0,"新增会员项目",TokenManager.getAdminId());
 		if(in.getMemberType()!=null){
 			addMemberExamine(newT);

+ 137 - 0
src/main/java/com/goafanti/order/service/impl/ProjectAsyncService.java

@@ -0,0 +1,137 @@
+package com.goafanti.order.service.impl;
+
+import com.goafanti.business.bo.BusinessProjectBo;
+import com.goafanti.common.dao.*;
+import com.goafanti.common.model.*;
+import com.goafanti.order.bo.InputAddTask;
+import com.goafanti.order.bo.InputSonProject;
+import com.goafanti.order.enums.NewProjectTypeEnum;
+import com.goafanti.order.service.OrderProjectService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.List;
+
+@Service
+@Async
+public class ProjectAsyncService {
+    @Resource
+    private BusinessProjectMapper businessProjectMapper;
+    @Resource
+    private OrderProjectService orderProjectService;
+    @Resource
+    private TTaskMemberMapper tTaskMemberMapper;
+    @Resource
+    private TOrderTaskMapper tOrderTaskMapper;
+    @Resource
+    private BusinessCategoryMapper businessCategoryMapper;
+    @Resource
+    private TOrderMidMapper tOrderMidMapper;
+    @Resource
+    private TTaskMidMapper tTaskMidMapper;
+
+    public void pushFinanceOrTechnology(InputAddTask t) {
+        BusinessProject bp=businessProjectMapper.selectById(t.getCommodityId());
+        if (bp.getProjectType().equals(NewProjectTypeEnum.HT.getCode())){
+            InputAddTask t2=new InputAddTask();
+            BeanUtils.copyProperties(t,t2);
+            //先新增子项会员
+            addSonProject(t);
+            //处理主项目本次派单年份
+            tTaskMemberMapper.updateServiceYearBySplitSuper(t.getId());
+            //会员项目替换
+            addFinanceOrTechnology(t2);
+        }
+    }
+
+    private void addSonProject(InputAddTask t) {
+        List<InputAddTask> sonList = t.getSonList();
+        for (InputAddTask e : sonList) {
+            InputSonProject sonProject= new InputSonProject();
+            sonProject.setTid(t.getId());
+            sonProject.setServiceYear(e.getServiceYear());
+            sonProject.setTaskComment(e.getTaskComment());
+            sonProject.setHtMember(e.getHtMember());
+            sonProject.setAdditionalDeduction(e.getAdditionalDeduction());
+            sonProject.setRdAwardsubsidy(e.getRdAwardsubsidy());
+            orderProjectService.addMemberSonProject(sonProject);
+        }
+    }
+
+
+    /**
+     *
+     * @param t2 项目情况
+     */
+    private void addFinanceOrTechnology(InputAddTask t2) {
+        List<BusinessProjectBo> additionalDeductionList = businessProjectMapper.selectByFirstBName(null, 1);
+        for (BusinessProjectBo e : additionalDeductionList) {
+            if (!e.getId().equals(t2.getCommodityId())) {
+                t2.setCommodityId(e.getId());
+                t2.setCommodityName(e.getBname());
+                t2.setMain(0);
+                t2.setCommodityPrice(new BigDecimal(0));
+                t2.setId(null);
+                addTTaskMember(t2);
+                addTaskMid(t2);
+                addSonProject(t2);
+                //处理主项目本次派单年份
+                tTaskMemberMapper.updateServiceYearBySplitSuper(t2.getId());
+            }
+
+        }
+    }
+
+    public int addTaskMid(InputAddTask t) {
+        TTaskMid tm=new TTaskMid();
+        tm.setTid(t.getId());
+        //判断这个项目是不是高新复审
+        int highNewRetrial=0;
+        BusinessProject b=businessProjectMapper.selectById(t.getCommodityId());
+        if (b.getType()==5){
+            int i=tOrderTaskMapper.getHighNewRetrial(t.getOrderNo());
+            if (i>0) {
+                highNewRetrial =1;
+            }
+            BusinessCategory bc =businessCategoryMapper.selectByPrimaryKey(b.getCid());
+            if (bc !=null && bc.getSort().equals(6)){
+                TOrderMid tom=new TOrderMid();
+                tom.setOrderNo(t.getOrderNo());
+                tom.setProjectType(1);
+                tOrderMidMapper.updateByOrderNo(tom);
+            }
+        }
+        tm.setHighNewRetrial(highNewRetrial);
+        tm.setLastYear(t.getLastYear());
+        tm.setLastYearCapital(t.getLastYearCapital());
+        tm.setLastYearIncome(t.getLastYearIncome());
+        //获取派单省份与部门
+        TTaskMid dtails = tTaskMidMapper.getDtails(t.getId());
+        tm.setDispatchProvince(dtails.getDispatchProvince());
+        tm.setDutyDep(dtails.getDutyDep());
+        tm.setChange(t.getChange());
+        return tTaskMidMapper.insertSelective(tm);
+    }
+
+    private void addTTaskMember(InputAddTask t) {
+        String str=tOrderTaskMapper.selectByidGetCname(t.getCommodityId());
+        t.setCname(str);
+        tOrderTaskMapper.insertSelective(t);
+        addTTaskMember(t.getId(),t.getServiceLife(),t.getServiceYear(),t.getYearSum(),t.getContractTerm());
+    }
+
+    public void addTTaskMember(Integer id, String serviceLife, String serviceYear, Integer yearSum, String contractTerm) {
+        if (serviceLife!=null|| serviceYear!=null||yearSum!=null|| contractTerm!=null){
+            TTaskMember ttm=new TTaskMember();
+            ttm.setTid(id);
+            if(serviceLife!=null)ttm.setServiceLife(serviceLife);
+            if(serviceYear!=null)ttm.setServiceYear(serviceYear);
+            if(yearSum!=null)ttm.setYearSum(yearSum);
+            if(contractTerm!=null)ttm.setContractTerm(contractTerm);
+            tTaskMemberMapper.insertSelective(ttm);
+        }
+    }
+}