Browse Source

修改订单项目修改时,处理子项数据

anderx 3 years ago
parent
commit
373e225978

+ 2 - 8
src/main/java/com/goafanti/common/dao/TChangeTaskMapper.java

@@ -36,17 +36,11 @@ public interface TChangeTaskMapper {
 
     int deleteByTid(Integer tid);
 
-    /**
-     *   获取变更子项�???
-     * @param splitSuper
-     * @param cid
-     * @return
-     */
-    List<TChangeTask> selectBySuper(@Param("splitSuper")Integer splitSuper, @Param("cid")Integer cid);
-
 
     TChangeTask selectBytid(Integer id);
 
     void updateMemberByTid( @Param("sid")Integer sid,@Param("cid")Integer cid, @Param("type")Integer type, @Param("serviceLife")String serviceLife,
                             @Param("serviceYear")String serviceYear, @Param("yearSum")Integer yearSum, @Param("contractTerm")String contractTerm);
+
+    List<TChangeTask> selectBySuper(@Param("splitSuper") Integer splitSuper, @Param("changeSplitSuper") Integer changeSplitSuper, @Param("cid") Integer cid);
 }

+ 8 - 1
src/main/java/com/goafanti/common/mapper/TChangeTaskMapper.xml

@@ -394,7 +394,14 @@
 	a.task_comment as taskComment ,a.commodity_price as commodityPrice,a.split_status splitStatus,a.split_super splitSuper
     from t_change_task a left join business_project i on a.commodity_id=i.id
   	left join business_category c on i.cid=c.id
-  	where a.split_status=2 and a.split_super= #{splitSuper} and a.cid= #{cid} order by a.id
+  	where a.split_status=2 and a.cid= #{cid}
+  	  <if test="splitSuper !=null">
+  	    and a.split_super= #{splitSuper}
+      </if>
+	<if test="changeSplitSuper !=null" >
+    and a.change_split_super= #{changeSplitSuper}
+    </if>
+	order by a.id
   </select>
 
 

+ 10 - 4
src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java

@@ -999,8 +999,13 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 				List<TChangeTaskOut> list=tChangeTaskMapper.selectByCid(cid,3);//3设置不等于2
 				for (TChangeTaskOut tChangeTaskOut : list) {
 					if(tChangeTaskOut.getSplitStatus()==1){
-						List<TChangeTask> list2=tChangeTaskMapper.selectBySuper(tChangeTaskOut.getTid(),cid);
-						tChangeTaskOut.setList(list2);
+						if (tChangeTaskOut.getChangeSplitSuper()==null){
+							tChangeTaskOut.setList(tChangeTaskMapper.selectBySuper(tChangeTaskOut.getTid(),null,cid));
+						}else {
+							tChangeTaskOut.setList(tChangeTaskMapper.selectBySuper(null,tChangeTaskOut.getChangeSplitSuper(),cid));
+						}
+
+
 					}
 				}
 				return list;
@@ -1027,7 +1032,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 							tChangeTaskMapper.updateByTid(null,tt.getTid(),tt.getCid(),3);
 							tChangeDunMapper.updateByTid(tt.getTid(),tt.getCid(),3);
 						}else if(tt.getSplitStatus()==2) {
-							List<TChangeTask> list=tChangeTaskMapper.selectBySuper(tt.getSplitSuper(),tt.getCid());
+							List<TChangeTask> list=tChangeTaskMapper.selectBySuper(tt.getSplitSuper(),null,tt.getCid());
 							boolean flag=true;
 							for (TChangeTask tc : list) {
 								if (tc.getType()!=3) {
@@ -1208,7 +1213,8 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	public int deleteMemberSonProject(Integer id) {
 		TChangeTask tChangeTask = tChangeTaskMapper.selectByPrimaryKey(id);
 		tChangeTaskMapper.deleteByPrimaryKey(id);
-		List<TChangeTask> tChangeTasks = tChangeTaskMapper.selectBySuper(tChangeTask.getSplitSuper(), tChangeTask.getCid());
+		List<TChangeTask> tChangeTasks = tChangeTaskMapper.selectBySuper(tChangeTask.getSplitSuper(),null, tChangeTask.getCid());
+		tChangeTasks.addAll(tChangeTaskMapper.selectBySuper(null,tChangeTask.getChangeSplitSuper(), tChangeTask.getCid()));
 		//如果没有子项目则修改上级
 		if (tChangeTasks==null||tChangeTasks.isEmpty()){
 			TChangeTask changeTask = new TChangeTask();