Browse Source

新增开发会员子项修改主项勾选

anderx 10 months ago
parent
commit
72e6ad25e4

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

@@ -2142,7 +2142,8 @@ progress_tid = values(progress_tid)
         f.nickname as userName,h.name as depName, j.name as outsourceName ,ifnull(k.hours,0) hours,a.split_status splitStatus,a.split_super splitSuper,a.member_type memberType,
         date_format(a.split_time,'%Y-%m-%d %H:%i:%S') splitTimes,ad.name splitAname,a.split_id splitId,a.patent_type  patentType,a.picture_url pictureUrl,
         ttm.service_life serviceLife,ttm.service_year serviceYear ,ttm.year_sum yearSum ,ttm.contract_term contractTerm,a.process_status processStatus,
-        a.score_status scoreStatus,a.score_number scoreNumber,td.project_name projectMemberName
+        a.score_status scoreStatus,a.score_number scoreNumber,td.project_name projectMemberName,a.ht_member as htMember,a.additional_deduction as additionalDeduction,
+        a.rd_awardsubsidy as rdAwardsubsidy
         from t_order_task a left join business_project b on a.commodity_id=b.id left join business_category c on b.cid=c.id
         left join admin d on a.task_receiver=d.id left join t_order_new e on a.order_no=e.order_no left join user f on e.buyer_id=f.id
         left join department h on e.order_dep=h.id left join (select task_id , sum(already_number) as alreadyNumber

+ 59 - 0
src/main/java/com/goafanti/order/bo/InputAddSonProject.java

@@ -0,0 +1,59 @@
+package com.goafanti.order.bo;
+
+public class InputAddSonProject {
+
+    private Integer id;
+    private String serviceYear;
+    private String taskComment;
+    private Integer htMember;
+    private Integer additionalDeduction;
+    private Integer rdAwardsubsidy;
+
+    public Integer getHtMember() {
+        return htMember;
+    }
+
+    public void setHtMember(Integer htMember) {
+        this.htMember = htMember;
+    }
+
+    public Integer getAdditionalDeduction() {
+        return additionalDeduction;
+    }
+
+    public void setAdditionalDeduction(Integer additionalDeduction) {
+        this.additionalDeduction = additionalDeduction;
+    }
+
+    public Integer getRdAwardsubsidy() {
+        return rdAwardsubsidy;
+    }
+
+    public void setRdAwardsubsidy(Integer rdAwardsubsidy) {
+        this.rdAwardsubsidy = rdAwardsubsidy;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getServiceYear() {
+        return serviceYear;
+    }
+
+    public void setServiceYear(String serviceYear) {
+        this.serviceYear = serviceYear;
+    }
+
+    public String getTaskComment() {
+        return taskComment;
+    }
+
+    public void setTaskComment(String taskComment) {
+        this.taskComment = taskComment;
+    }
+}

+ 77 - 0
src/main/java/com/goafanti/order/bo/InputSonProject.java

@@ -0,0 +1,77 @@
+package com.goafanti.order.bo;
+
+public class InputSonProject {
+
+    private Integer tid;
+    private String serviceYear;
+    private String taskComment;
+    private Integer htMember;
+    private Integer additionalDeduction;
+    private Integer rdAwardsubsidy;
+    private Integer memberType;
+    private String pictureUrl;
+
+    public Integer getTid() {
+        return tid;
+    }
+
+    public void setTid(Integer tid) {
+        this.tid = tid;
+    }
+
+    public String getServiceYear() {
+        return serviceYear;
+    }
+
+    public void setServiceYear(String serviceYear) {
+        this.serviceYear = serviceYear;
+    }
+
+    public String getTaskComment() {
+        return taskComment;
+    }
+
+    public void setTaskComment(String taskComment) {
+        this.taskComment = taskComment;
+    }
+
+    public Integer getHtMember() {
+        return htMember;
+    }
+
+    public void setHtMember(Integer htMember) {
+        this.htMember = htMember;
+    }
+
+    public Integer getAdditionalDeduction() {
+        return additionalDeduction;
+    }
+
+    public void setAdditionalDeduction(Integer additionalDeduction) {
+        this.additionalDeduction = additionalDeduction;
+    }
+
+    public Integer getRdAwardsubsidy() {
+        return rdAwardsubsidy;
+    }
+
+    public void setRdAwardsubsidy(Integer rdAwardsubsidy) {
+        this.rdAwardsubsidy = rdAwardsubsidy;
+    }
+
+    public Integer getMemberType() {
+        return memberType;
+    }
+
+    public void setMemberType(Integer memberType) {
+        this.memberType = memberType;
+    }
+
+    public String getPictureUrl() {
+        return pictureUrl;
+    }
+
+    public void setPictureUrl(String pictureUrl) {
+        this.pictureUrl = pictureUrl;
+    }
+}

+ 28 - 0
src/main/java/com/goafanti/order/bo/TOrderTaskListBo.java

@@ -110,6 +110,34 @@ public class TOrderTaskListBo {
 	 */
 	private String projectMemberName;
 
+	private Integer htMember;
+	private Integer additionalDeduction;
+	private Integer rdAwardsubsidy;
+
+	public Integer getHtMember() {
+		return htMember;
+	}
+
+	public void setHtMember(Integer htMember) {
+		this.htMember = htMember;
+	}
+
+	public Integer getAdditionalDeduction() {
+		return additionalDeduction;
+	}
+
+	public void setAdditionalDeduction(Integer additionalDeduction) {
+		this.additionalDeduction = additionalDeduction;
+	}
+
+	public Integer getRdAwardsubsidy() {
+		return rdAwardsubsidy;
+	}
+
+	public void setRdAwardsubsidy(Integer rdAwardsubsidy) {
+		this.rdAwardsubsidy = rdAwardsubsidy;
+	}
+
 	public String getProjectMemberName() {
 		return projectMemberName;
 	}

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

@@ -8,6 +8,7 @@ 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;
@@ -535,13 +536,13 @@ public class OrderChangeApiController extends CertifyApiController {
 	 * @return
 	 */
 	@RequestMapping(value = "/addMemberSonProject" ,method = RequestMethod.POST)
-	public Result addMemberSonProject(Integer id,String serviceYear,String taskComment){
+	public Result addMemberSonProject(InputAddSonProject in ){
 		Result res = new Result();
-		if(id==null||StringUtils.isBlank(serviceYear)){
+		if(in.getId()==null||StringUtils.isBlank(in.getServiceYear())){
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","参数"));
 			return res;
 		}
-		return res.data(orderChangeService.addMemberSonProject( id, serviceYear, taskComment));
+		return res.data(orderChangeService.addMemberSonProject( in));
 
 	}
 

+ 7 - 7
src/main/java/com/goafanti/order/controller/OrderProjectApiController.java

@@ -617,17 +617,17 @@ public class OrderProjectApiController extends CertifyApiController {
 	 *
 	 */
 	@RequestMapping(value = "/addMemberFirstSonProject" ,method = RequestMethod.POST)
-	public Result addMemberFirstSonProject(Integer tid,String serviceYear,String taskComment){
+	public Result addMemberFirstSonProject(InputSonProject in ){
 		Result res = new Result();
-		if(tid==null||StringUtils.isBlank(serviceYear)){
+		if(in.getTid()==null||StringUtils.isBlank(in.getServiceYear())){
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","参数"));
 			return res;
 		}
-		if (orderProjectService.checkOrderProcessStatus(tid,0)){
+		if (orderProjectService.checkOrderProcessStatus(in.getTid(),0)){
 			res.getError().add(buildError("项目已发起,不允许使用首次新增会员子项目。"));
 			return res;
 		}
-		return res.data(orderProjectService.addMemberSonProject( tid, serviceYear, taskComment,null,null));
+		return res.data(orderProjectService.addMemberSonProject(in));
 
 	}
 	/**
@@ -635,13 +635,13 @@ public class OrderProjectApiController extends CertifyApiController {
 	 *
 	 */
 	@RequestMapping(value = "/addMemberSonProject" ,method = RequestMethod.POST)
-	public Result addMemberSonProject(Integer tid,String serviceYear,String taskComment,Integer memberType,String pictureUrl){
+	public Result addMemberSonProject(InputSonProject in ){
 		Result res = new Result();
-		if(tid==null||StringUtils.isBlank(serviceYear)){
+		if(in.getTid()==null||StringUtils.isBlank(in.getServiceYear())){
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","参数"));
 			return res;
 		}
-		return res.data(orderProjectService.addMemberSonProject( tid, serviceYear, taskComment,memberType, pictureUrl));
+		return res.data(orderProjectService.addMemberSonProject(in));
 
 	}
 

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

@@ -1,29 +1,17 @@
 package com.goafanti.order.service;
 
-import java.io.IOException;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletResponse;
-
 import com.goafanti.common.model.NewOrderChange;
 import com.goafanti.common.model.OrderRefundInvoice;
 import com.goafanti.common.model.TChangeDun;
 import com.goafanti.common.model.TChangeTask;
 import com.goafanti.core.mybatis.page.Pagination;
-import com.goafanti.order.bo.InputNewOrderRefund;
-import com.goafanti.order.bo.InputTChangeTask;
-import com.goafanti.order.bo.NewOderCahngeListBo;
-import com.goafanti.order.bo.NewOrderChangeBo;
-import com.goafanti.order.bo.OrderChangeLogBo;
-import com.goafanti.order.bo.OutNewOrderRefund;
-import com.goafanti.order.bo.TChangeDunOut;
-import com.goafanti.order.bo.TChangeTaskOut;
-import com.goafanti.order.bo.TOrderNewBo;
-import org.springframework.cache.annotation.Cacheable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
+import com.goafanti.order.bo.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 public interface OrderChangeService {
 
@@ -116,7 +104,7 @@ public interface OrderChangeService {
 
     boolean checkChangeId(Integer id);
 
-    Object addMemberSonProject(Integer id, String serviceYear, String taskComment);
+    Object addMemberSonProject(InputAddSonProject in );
 
 	int deleteMemberSonProject(Integer id);
 

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

@@ -97,13 +97,9 @@ public interface OrderProjectService {
 
 	/**
 	 *
-	 * @param tid
-	 * @param serviceYear
-	 * @param taskComment
-	 * @param type 0首次新增 1会员新增
 	 * @return
 	 */
-	TOrderTask addMemberSonProject(Integer tid, String serviceYear, String taskComment,Integer type,String pictureUrl);
+	TOrderTask addMemberSonProject(InputSonProject in );
 
 	/**
 	 *

+ 14 - 12
src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java

@@ -1664,27 +1664,29 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 			}
 
 	@Override
-	public Object addMemberSonProject(Integer id, String serviceYear, String taskComment) {
+	public Object addMemberSonProject(InputAddSonProject in ) {
 		//先修改父项目
-		TChangeTask tChangeTask = tChangeTaskMapper.selectById(id);
+		TChangeTask tChangeTask = tChangeTaskMapper.selectById(in.getId());
 		Integer tid=tChangeTask.getTid();
 		tChangeTask.setSplitStatus(1);
 		if (tChangeTask.getType()!=1)tChangeTask.setType(2);
+		TChangeTask newT=new TChangeTask();
+		BeanUtils.copyProperties(tChangeTask,newT);
 		tChangeTaskMapper.update(tChangeTask);
 		//在判断是否有删除的年份没有就新增
-		tChangeTask.setId(null);
-		tChangeTask.setTid(null);
-		tChangeTask.setSplitStatus(2);
+		newT.setId(null);
+		newT.setTid(null);
+		newT.setSplitStatus(2);
 		if(tid!=null){
-			tChangeTask.setSplitSuper(tid);
+			newT.setSplitSuper(tid);
 		}else {
-			tChangeTask.setChangeSplitSuper(id);
+			newT.setChangeSplitSuper(in.getId());
 		}
-		tChangeTask.setType(1);
-		tChangeTask.setCommodityQuantity(1);
-		tChangeTask.setCommodityPrice(new BigDecimal(0));
-		tChangeTask.setTaskComment(taskComment);
-		tChangeTask.setServiceYear(serviceYear);
+		newT.setType(1);
+		newT.setCommodityQuantity(1);
+		newT.setCommodityPrice(new BigDecimal(0));
+		newT.setTaskComment(in.getTaskComment());
+		newT.setServiceYear(in.getServiceYear());
 		tChangeTaskMapper.insertSelective(tChangeTask);
 		//根据上级id修改上级
 		updateSuperServiceYear(tChangeTask);

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

@@ -1603,22 +1603,25 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 	}
 
 	@Override
-	public TOrderTask addMemberSonProject(Integer tid, String serviceYear, String taskComment,Integer memberType,String pictureUrl) {
+	public TOrderTask addMemberSonProject(InputSonProject in ) {
 		Date date =new Date();
-		TOrderTask tOrderTask =  tOrderTaskMapper.queryById(tid);
+		TOrderTask tOrderTask =  tOrderTaskMapper.queryById(in.getTid());
 		tOrderTask.setSplitStatus(1);
 		tOrderTask.setSplitAid(TokenManager.getAdminId());
 		tOrderTask.setSplitTime(date);
 		tOrderTask.setProjectStatus(1);
-		tOrderTaskMapper.update(tOrderTask);
-		tOrderTask.setId(null);
-		tOrderTask.setSplitStatus(2);
-		tOrderTask.setSplitSuper(tid);
-		tOrderTask.setProjectStatus(0);
-		if (memberType!=null){
-			tOrderTask.setProcessStatus(1);
-			tOrderTask.setMemberType(memberType);
-			tOrderTask.setPictureUrl(pictureUrl);
+
+		TOrderTask newT=new TOrderTask();
+		BeanUtils.copyProperties(tOrderTask,newT);
+		newT.setId(null);
+		newT.setSplitStatus(2);
+		newT.setSplitSuper(in.getTid());
+		newT.setProjectStatus(0);
+		if (in.getMemberType()!=null){
+			newT.setProcessStatus(1);
+			newT.setMemberType(in.getMemberType());
+			newT.setPictureUrl(in.getPictureUrl());
+
 //			if(memberType==1||memberType==2){
 //				//判定项目省内外
 //				Department dep = tOrderNewMapper.selectDepByOrderNo(tOrderTask.getOrderNo());
@@ -1629,41 +1632,57 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 //				}
 //			}
 		}
-		Integer i=tOrderTaskMapper.getSplitCount(tid);
+		Integer i=tOrderTaskMapper.getSplitCount(in.getTid());
 		i++;
-		tOrderTask.setSplitId(i);
-		tOrderTask.setCommodityQuantity(1);
-		tOrderTask.setTaskComment(taskComment);
-		tOrderTask.setMain(0);
-		tOrderTask.setCommodityPrice(new BigDecimal(0));
-		tOrderTaskMapper.insertSelective(tOrderTask);
-
-		TTaskMember t = tTaskMemberMapper.selectByTid(tid);
+		newT.setSplitId(i);
+		newT.setCommodityQuantity(1);
+		newT.setTaskComment(in.getTaskComment());
+		newT.setMain(0);
+		if (in.getHtMember()!=null)newT.setHtMember(in.getHtMember());
+		if (in.getAdditionalDeduction()!=null)newT.setAdditionalDeduction(in.getAdditionalDeduction());
+		if (in.getRdAwardsubsidy()!=null)newT.setRdAwardsubsidy(in.getRdAwardsubsidy());
+		newT.setCommodityPrice(new BigDecimal(0));
+		tOrderTaskMapper.insertSelective(newT);
+		pushFatherTask(tOrderTask);
+		tOrderTaskMapper.update(tOrderTask);
+		TTaskMember t = tTaskMemberMapper.selectByTid(in.getTid());
 		TOrderTaskBo tb=new TOrderTaskBo();
-		BeanUtils.copyProperties(tOrderTask,tb);
-		if (t.getServiceLife()!=null||t.getYearSum()!=null||t.getContractTerm()!=null||serviceYear!=null){
+		BeanUtils.copyProperties(newT,tb);
+		if (t.getServiceLife()!=null||t.getYearSum()!=null||t.getContractTerm()!=null||in.getServiceYear()!=null){
 			TTaskMember ttm=new TTaskMember();
 			ttm.setId(null);
-			ttm.setTid(tOrderTask.getId());
+			ttm.setTid(newT.getId());
 			if(t.getServiceLife()!=null)ttm.setServiceLife(t.getServiceLife());
-			ttm.setServiceYear(serviceYear);
-			tb.setServiceYear(serviceYear);
+			ttm.setServiceYear(in.getServiceYear());
+			tb.setServiceYear(in.getServiceYear());
 			if(t.getYearSum()!=null)ttm.setYearSum(t.getYearSum());
 			if(t.getContractTerm()!=null)ttm.setContractTerm(t.getContractTerm());
 			tTaskMemberMapper.insertSelective(ttm);
 		}
-		orderNewService.addTaskMid(tOrderTask.getId(),tOrderTask.getCommodityId(), tOrderTask.getOrderNo());
+		orderNewService.addTaskMid(newT.getId(),newT.getCommodityId(), newT.getOrderNo());
 		//处理主项目本次派单年份
-		tTaskMemberMapper.updateServiceYearBySplitSuper(tid);
-		addMemberLog(tOrderTask.getId(),0,"新增会员项目",TokenManager.getAdminId());
-		if(memberType!=null){
-			addMemberExamine(tOrderTask);
-			addNoticMember(NoticeStatus.MENBER_START.getCode(),tOrderTask,null,0);
-			addFinanceCountMember(tOrderTask.getOrderNo(),date);
+		tTaskMemberMapper.updateServiceYearBySplitSuper(in.getTid());
+		addMemberLog(newT.getId(),0,"新增会员项目",TokenManager.getAdminId());
+		if(in.getMemberType()!=null){
+			addMemberExamine(newT);
+			addNoticMember(NoticeStatus.MENBER_START.getCode(),newT,null,0);
+			addFinanceCountMember(newT.getOrderNo(),date);
 		}
 		return tb;
 	}
 
+	private void pushFatherTask(TOrderTask tOrderTask) {
+		List<TOrderTaskListBo> listBos = tOrderTaskMapper.splitProjectList(tOrderTask.getId(), 1);
+		int htMember=0,additionalDeduction=0,rdAwardsubsidy=0;
+		for (TOrderTaskListBo e : listBos) {
+			if (e.getHtMember()==1)htMember=1;
+			if (e.getAdditionalDeduction()==1)additionalDeduction=1;
+			if (e.getRdAwardsubsidy()==1)rdAwardsubsidy=1;
+		}
+		tOrderTask.setHtMember(htMember);
+		tOrderTask.setAdditionalDeduction(additionalDeduction);
+		tOrderTask.setRdAwardsubsidy(rdAwardsubsidy);
+	}
 
 
 	private void addMemberExamine(TOrderTask t) {

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

@@ -7,12 +7,12 @@ static.host=//172.16.1.199:3000/${kede.version}
 #avatar.host=//172.16.1.199:3000
 
 #jdbc.url=jdbc\:mysql://localhost:3306/aft20241122?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=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
 jdbc.validationQuery=SELECT 'x'
 jdbc.initialSize=3
 jdbc.maxActive=20