Browse Source

主项目本次派单关于新增、修改及变更等多接口修改

anderx 3 years ago
parent
commit
8753c9e15f

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

@@ -49,7 +49,11 @@ public interface TChangeTaskMapper {
     void updateTypeBatch(@Param("type") Integer type, @Param("list") List<Integer> list);
 
 
-    void selectByServiceYear(@Param("serviceYear") String serviceYear, @Param("sliptSuper")Integer sliptSuper, @Param("changeSplitSuper")Integer changeSplitSuper);
+
 
     void deleteByChangeSplitSuper(Integer tid);
+
+    void updateSuperServiceYear(TChangeTask tChangeTask);
+
+    void updateChangeSuperServiceYear(TChangeTask tChangeTask);
 }

+ 2 - 0
src/main/java/com/goafanti/common/dao/TTaskMemberMapper.java

@@ -24,4 +24,6 @@ public interface TTaskMemberMapper {
     void updateSplitSuper(@Param("id") Integer id, @Param("serviceLife") String serviceLife,
                           @Param("serviceYear") String serviceYear, @Param("yearSum") Integer yearSum,
                           @Param("contractTerm") String contractTerm);
+
+    void updateServiceYearBySplitSuper(Integer tid);
 }

+ 15 - 3
src/main/java/com/goafanti/common/mapper/TChangeTaskMapper.xml

@@ -444,6 +444,7 @@
   </update>
 
 
+
   <select id="selectBySuper" resultType="com.goafanti.order.bo.TChangeTaskOut">
 	select a.id,a.order_no as orderNo,a.main, c.cname,c.sort cSort,a.commodity_name as commodityName,
   	a.commodity_quantity as commodityQuantity,i.price,a.commodity_id as commodityId,a.type,a.tid,a.receiver_name receiverName,
@@ -470,7 +471,18 @@
     where noc.process_state &lt; 4 and noc.status in (0,1,2)
       and tct.tid= #{tid}
   </select>
-  <select id="selectByServiceYear">
-
-  </select>
+  <update id="updateSuperServiceYear" parameterType="com.goafanti.common.model.TChangeTask">
+    update t_change_task a,(select a.split_super,GROUP_CONCAT(a.service_year) counts
+        from t_change_task a where a.split_status =2 and a.type in (0,1,2)
+        and a.split_super=#{splitSuper} and  a.cid= #{cid}  group by a.split_super)x
+    set a.service_year =x.counts
+    where a.tid =x.split_super and a.cid= #{cid};
+  </update>
+  <update id="updateChangeSuperServiceYear" parameterType="com.goafanti.common.model.TChangeTask">
+    update t_change_task a,(select a.change_split_super,GROUP_CONCAT(a.service_year) counts
+        from t_change_task a where a.split_status =2 and a.type in (0,1,2)
+        and a.change_split_super = #{changeSplitSuper} group by a.change_split_super)x
+    set a.service_year =x.counts
+    where a.id =x.change_split_super
+  </update>
 </mapper>

+ 10 - 1
src/main/java/com/goafanti/common/mapper/TTaskMemberMapper.xml

@@ -155,11 +155,20 @@
       where a.id=b.tid and a.split_super = #{id}
     </update>
 
-    <select id="selectByTid" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+
+  <select id="selectByTid" parameterType="java.lang.Integer" resultMap="BaseResultMap">
     select
     <include refid="Base_Column_List" />
     from t_task_member
     where tid = #{id,jdbcType=INTEGER}
   </select>
 
+  <update id="updateServiceYearBySplitSuper">
+    update t_task_member a,(select a.split_super,GROUP_CONCAT(b.service_year) counts
+        from t_order_task a left join t_task_member b on a.id=b.tid
+        where a.split_status =2 and a.split_super= #{tid}
+        group by a.split_super)x
+    set a.service_year =x.counts
+    where a.tid =x.split_super
+  </update>
 </mapper>

+ 19 - 0
src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java

@@ -785,6 +785,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		HashMap<Integer, Integer> map=changeAddOrderTask(listct,null);
 		List<TChangeTaskOut> listct2=tChangeTaskMapper.selectByCid(id,2);
 		changeAddOrderTask(listct2,map);
+		//处理主项目显示派单年份
 		List<TChangeDunOut> listcd=tChangeDunMapper.selectByCid(id);
 		for (TChangeDunOut cd : listcd) {
 			NewOrderDun nd=new NewOrderDun();
@@ -838,9 +839,11 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 				ot.setSplitStatus(cd.getSplitStatus());
 				if (cd.getSplitStatus()==2){
 					Integer tid;
+					//如果原本有上级直接使用
 					if (cd.getSplitSuper()!=null){
 						ot.setSplitSuper(cd.getSplitSuper());
 					}else {
+						//如果没有,原本项目,这用获取新增的项目
 						if (cd.getTid()!=null){
 							tid=cd.getTid();
 						}else{
@@ -881,6 +884,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 			}else if(cd.getType()==3) {
 				tOrderTaskMapper.deleteByPrimaryKey(cd.getTid());
 			}
+
 		}
 		return map;
 	}
@@ -1097,12 +1101,14 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 					BusinessProject bp = businessProjectMapper.selectByPrimaryKey(tt.getCommodityId());
 					Integer member=null;
 					if (t.getType()==3) {
+
 						//删除首先将项目删除,然后将所属催款做删除
 						if (bp.getType()==7)member=1;
 						tChangeTaskMapper.updateByTid(t.getTid(),null,tt.getCid(),3,member);
 						if (tt.getSplitStatus()==0) {
 							tChangeDunMapper.updateByTid(tt.getTid(),tt.getCid(),3);
 						}else if (tt.getSplitStatus()==1) {
+							t.setServiceYear("");
 							//删除父类下所有的子类
 							if (tt.getType()==1){
 								tChangeTaskMapper.deleteByChangeSplitSuper(tt.getTid());
@@ -1290,6 +1296,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		TChangeTask tChangeTask = tChangeTaskMapper.selectByPrimaryKey(id);
 		Integer tid=tChangeTask.getTid();
 		tChangeTask.setSplitStatus(1);
+		tChangeTask.setType(2);
 		tChangeTaskMapper.updateByPrimaryKey(tChangeTask);
 		//在判断是否有删除的年份没有就新增
 		tChangeTask.setId(null);
@@ -1305,9 +1312,19 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		tChangeTask.setTaskComment(taskComment);
 		tChangeTask.setServiceYear(serviceYear);
 		tChangeTaskMapper.insertSelective(tChangeTask);
+		//根据上级id修改上级
+		updateSuperServiceYear(tChangeTask);
 		return tChangeTask;
 	}
 
+	public  void updateSuperServiceYear(TChangeTask tChangeTask) {
+		if(tChangeTask.getSplitSuper()!=null){
+			tChangeTaskMapper.updateSuperServiceYear(tChangeTask);
+		}else {
+			tChangeTaskMapper.updateChangeSuperServiceYear(tChangeTask);
+		}
+	}
+
 	@Override
 	public int deleteMemberSonProject(Integer id) {
 		TChangeTask tChangeTask = tChangeTaskMapper.selectByPrimaryKey(id);
@@ -1328,6 +1345,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 			changeTask.setSplitStatus(0);
 			tChangeTaskMapper.updateByPrimaryKeySelective(changeTask);
 		}
+		updateSuperServiceYear(tChangeTask);
 		return 1;
 	}
 
@@ -1337,6 +1355,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		tChangeTask.setType(2);
 		tChangeTask.setTaskComment(taskComment);
 		tChangeTaskMapper.updateByPrimaryKeySelective(tChangeTask);
+		updateSuperServiceYear(tChangeTask);
 		return tChangeTask;
 	}
 

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

@@ -1181,6 +1181,9 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		}
 		addNoticMember(notice, ono, in.getType(),result);
 		addMemberLog(in.getId(),status,in.getRemarks());
+		if (nt.getProcessStatus()==3){
+			tTaskMemberMapper.updateServiceYearBySplitSuper(task.getSplitSuper());
+		}
 		return tOrderTaskMapper.updateByPrimaryKeySelective(nt);
 	}
 
@@ -1250,6 +1253,8 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		}
 
 		orderNewService.addTaskMid(tOrderTask.getId(),tOrderTask.getCommodityId(), tOrderTask.getOrderNo());
+		//处理主项目本次派单年份
+		tTaskMemberMapper.updateServiceYearBySplitSuper(tid);
 		addMemberLog(tOrderTask.getId(),0,"新增会员项目");
 		addNoticMember(NoticeStatus.MENBER_START.getCode(),tOrderTask.getOrderNo(),null,0);
 		return tb;
@@ -1370,6 +1375,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		tTaskMidMapper.deleteByPrimaryKey(id);
 		tTaskMemberMapper.deleteByPrimaryKey(id);
 		tTaskLogMapper.deleteByPrimaryKey(id);
+		tTaskMemberMapper.updateServiceYearBySplitSuper(task.getSplitSuper());
 		return 1;
 	}