Browse Source

修改变更新增会员项目

anderx 9 months ago
parent
commit
8b2e5596c0

+ 18 - 0
src/main/java/com/goafanti/order/bo/InputTChangeTaskBo.java

@@ -0,0 +1,18 @@
+package com.goafanti.order.bo;
+
+import com.goafanti.common.model.TChangeTask;
+
+import java.util.List;
+
+public class InputTChangeTaskBo  extends TChangeTask {
+
+    private List<TChangeTask> sonList;
+
+    public List<TChangeTask> getSonList() {
+        return sonList;
+    }
+
+    public void setSonList(List<TChangeTask> sonList) {
+        this.sonList = sonList;
+    }
+}

+ 3 - 5
src/main/java/com/goafanti/order/controller/OrderChangeApiController.java

@@ -8,11 +8,9 @@ import com.goafanti.common.model.OrderRefundInvoice;
 import com.goafanti.common.model.TChangeDun;
 import com.goafanti.common.model.TChangeTask;
 import com.goafanti.common.utils.StringUtils;
-import com.goafanti.order.bo.InputAddSonProject;
-import com.goafanti.order.bo.InputNewOrderRefund;
-import com.goafanti.order.bo.InputTChangeTask;
-import com.goafanti.order.bo.NewOrderChangeBo;
+import com.goafanti.order.bo.*;
 import com.goafanti.order.service.OrderChangeService;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
@@ -52,7 +50,7 @@ public class OrderChangeApiController extends CertifyApiController {
 	 * 新增变更项目
 	 */
 	@RequestMapping(value = "/addChangeTask", method = RequestMethod.POST)
-	public Result addChangeTask(TChangeTask t){
+	public Result addChangeTask(@RequestBody InputTChangeTaskBo t){
 		Result res = new Result();
 		if(StringUtils.isBlank(t.getCommodityId())){
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "项目"));

+ 1 - 1
src/main/java/com/goafanti/order/service/OrderChangeService.java

@@ -67,7 +67,7 @@ public interface OrderChangeService {
 	void pushZXSJL(NewOrderChangeBo nb,  Date date,Integer type);
 
 
-	Object addChangeTask(TChangeTask t);
+	Object addChangeTask(InputTChangeTaskBo t);
 
 	int addChangeDun(TChangeDun d);
 

+ 53 - 42
src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java

@@ -1400,14 +1400,18 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 
 
 			@Override
-			public Object addChangeTask(TChangeTask t) {
+			public Object addChangeTask(InputTChangeTaskBo t) {
 				t.setType(1);
+
 				tChangeTaskMapper.insertSelective(t);
 				//如果是会员添加同性质不同项目
 				BusinessProject bp=businessProjectMapper.selectById(t.getCommodityId());
-				TChangeTask t2=new TChangeTask();
-				BeanUtils.copyProperties(t,t2);
+
 				if (bp.getProjectType().equals(NewProjectTypeEnum.HT.getCode())){
+						//先新增子项目
+						addSonProject(t);
+					InputTChangeTaskBo t2=new InputTChangeTaskBo();
+						BeanUtils.copyProperties(t,t2);
 						List<BusinessProjectBo> list = businessProjectMapper.selectByFirstBName(null,1);
 						for (BusinessProjectBo e : list) {
 							if(!e.getId().equals(t.getCommodityId())){
@@ -1416,29 +1420,58 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 								t2.setMain(0);
 								t2.setCommodityPrice(new BigDecimal(0));
 								t2.setId(null);
-								tChangeTaskMapper.insertSelective(t2);;
+								tChangeTaskMapper.insertSelective(t2);
+								addSonProject(t2);
 							}
 						}
 				}
-				if (bp.getProjectType().equals(NewProjectTypeEnum.SIMPLE.getCode())){
-					List<BusinessProjectBo> list = businessProjectMapper.selectByFirstBName(null, 2);
-					for (BusinessProjectBo e : list) {
-						if(!e.getId().equals(t.getCommodityId())){
-							t2.setCommodityId(e.getId());
-							t2.setCommodityName(e.getBname());
-							t2.setCommodityId(e.getId());
-							t2.setCommodityName(e.getBname());
-							t2.setMain(0);
-							t2.setCommodityPrice(new BigDecimal(0));
-							t2.setId(null);
-							tChangeTaskMapper.insertSelective(t2);
-						}
-					}
-				}
+
 				return t;
 			}
 
-			@Override
+	private void addSonProject(InputTChangeTaskBo t) {
+		List<TChangeTask> sonList = t.getSonList();
+		for (TChangeTask e : sonList) {
+			//会员新增子项
+			InputAddSonProject in=new InputAddSonProject();
+			in.setId(t.getId());
+			in.setServiceYear(e.getServiceYear());
+			in.setTaskComment(e.getTaskComment());
+			in.setHtMember(e.getHtMember());
+			in.setAdditionalDeduction(e.getAdditionalDeduction());
+			in.setRdAwardsubsidy(e.getRdAwardsubsidy());
+			addMemberSonProject( in );
+
+		}
+		//新增完子项再修改
+		pushSuerProject( t);
+	}
+
+	private void pushSuerProject( InputTChangeTaskBo tChangeTask) {
+		List<TChangeTask> tChangeTasks = tChangeTaskMapper.selectBySuper(null, tChangeTask.getId(), tChangeTask.getCid());
+		if (!tChangeTasks.isEmpty()){
+			int a=0,b=0,c=0;
+			StringBuilder str= new StringBuilder();
+			tChangeTask.setSplitStatus(1);
+			for (TChangeTask e : tChangeTasks) {
+				if (a==0&&e.getHtMember()!=null&&e.getHtMember()==1)a=e.getHtMember();
+				if (b==0&&e.getAdditionalDeduction()!=null&&e.getAdditionalDeduction()==1)b=e.getAdditionalDeduction();
+				if (c==0&&e.getRdAwardsubsidy()!=null&&e.getRdAwardsubsidy()==1)c=e.getRdAwardsubsidy();
+				if (e.getServiceYear()!=null&&e.getType()!=3){
+					str.append(e.getServiceYear()).append(",");
+				}
+			}
+			tChangeTask.setServiceYear(str.substring(0, str.length() - 1));
+			tChangeTask.setHtMember(a);
+			tChangeTask.setAdditionalDeduction(b);
+			tChangeTask.setRdAwardsubsidy(c);
+			//根据上级id修改上级
+			tChangeTaskMapper.update(tChangeTask);
+		}
+
+	}
+
+	@Override
 			public int addChangeDun(TChangeDun d) {
 				d.setAid(TokenManager.getAdminId());
 				d.setType(1);
@@ -1697,28 +1730,6 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		if (in.getAdditionalDeduction()!=null)newT.setAdditionalDeduction(in.getAdditionalDeduction());
 		if (in.getRdAwardsubsidy()!=null)newT.setRdAwardsubsidy(in.getRdAwardsubsidy());
 		tChangeTaskMapper.insertSelective(newT);
-		List<TChangeTask> tChangeTasks;
-		if (tid!=null){
-			tChangeTasks = tChangeTaskMapper.selectBySuper(tid, null, tChangeTask.getCid());
-		}else {
-			tChangeTasks = tChangeTaskMapper.selectBySuper(null, in.getId(), tChangeTask.getCid());
-		}
-		int a=0,b=0,c=0;
-		StringBuilder str= new StringBuilder();
-		for (TChangeTask e : tChangeTasks) {
-			if (a==0&&e.getHtMember()!=null&&e.getHtMember()==1)a=e.getHtMember();
-			if (b==0&&e.getAdditionalDeduction()!=null&&e.getAdditionalDeduction()==1)b=e.getAdditionalDeduction();
-			if (c==0&&e.getRdAwardsubsidy()!=null&&e.getRdAwardsubsidy()==1)c=e.getRdAwardsubsidy();
-			if (e.getServiceYear()!=null&&e.getType()!=3){
-                    str.append(e.getServiceYear()).append(",");
-            }
-		}
-        tChangeTask.setServiceYear(str.substring(0, str.length() - 1));
-        tChangeTask.setHtMember(a);
-		tChangeTask.setAdditionalDeduction(b);
-		tChangeTask.setRdAwardsubsidy(c);
-		//根据上级id修改上级
-		tChangeTaskMapper.update(tChangeTask);
 		return newT;
 	}