Browse Source

变更发起状态BUG修复

Signed-off-by: anderx <312518615@qq.com>
anderx 5 years ago
parent
commit
790b1aebc8

+ 2 - 1
src/main/java/com/goafanti/common/dao/TChangeDunMapper.java

@@ -83,9 +83,10 @@ public interface TChangeDunMapper {
 	 * 
 	 * @param tid 变更项目id
 	 * @param type 处理类型
+	 * @param i 
 	 * @return
 	 */
-	int updateByTid(@Param("tid")Integer tid,@Param("type")Integer type);
+	int updateByTid(@Param("tid")Integer tid,@Param("cid")Integer cid,@Param("type")Integer type);
 
 	
 

+ 3 - 0
src/main/java/com/goafanti/common/mapper/TChangeDunMapper.xml

@@ -504,6 +504,9 @@
   		<if test="tid !=null">
   		and tid= #{tid}
   		</if>
+  		<if test="cid !=null">
+  		and cid= #{cid}
+  		</if>
   </update>
   
  

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

@@ -859,12 +859,15 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 					TChangeTask tt=tChangeTaskMapper.selectByPrimaryKey(t.getId());
 					if (t.getType()==3) {
 						//删除首先将项目删除,然后将所属催款做删除
-						tChangeTaskMapper.updateByTid(t.getTid(),null,t.getCid(),3);
-						if (tt.getSplitStatus()==1) {
-							tChangeTaskMapper.updateByTid(null,tt.getTid(),t.getCid(),3);
-							tChangeDunMapper.updateByTid(tt.getTid(),3);
+						tChangeTaskMapper.updateByTid(t.getTid(),null,tt.getCid(),3);
+						if (tt.getSplitStatus()==0) {
+							tChangeDunMapper.updateByTid(tt.getTid(),tt.getCid(),3);
+						}else if (tt.getSplitStatus()==1) {
+							//删除父类下所有的子类	
+							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(),t.getCid());
+							List<TChangeTask> list=tChangeTaskMapper.selectBySuper(tt.getSplitSuper(),tt.getCid());
 							boolean flag=true;
 							for (TChangeTask tc : list) {
 								if (tc.getType()!=3) {
@@ -873,16 +876,17 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 								}
 							}
 							if (flag) {
-								tChangeTaskMapper.updateByTid(tt.getSplitSuper(),null,t.getCid(),3);
-								tChangeDunMapper.updateByTid(tt.getSplitSuper(),3);
+								//如果所有子类删除判断删除父类
+								tChangeTaskMapper.updateByTid(tt.getSplitSuper(),null,tt.getCid(),3);
+								tChangeDunMapper.updateByTid(tt.getSplitSuper(),tt.getCid(),3);
 							}
 						}
 					}else if(t.getType()==2){
-						tChangeTaskMapper.updateByTid(t.getTid(),null,t.getCid(),2);
+						tChangeTaskMapper.updateByTid(t.getTid(),null,tt.getCid(),2);
 						if (tt.getSplitStatus()==1) {
-							tChangeTaskMapper.updateByTid(null,tt.getTid(),t.getCid(),2);
+							tChangeTaskMapper.updateByTid(null,tt.getTid(),tt.getCid(),2);
 						}else if(tt.getSplitStatus()==2) {
-								tChangeTaskMapper.updateByTid(tt.getSplitSuper(),null,t.getCid(),2);
+								tChangeTaskMapper.updateByTid(tt.getSplitSuper(),null,tt.getCid(),2);
 						}
 					}
 				}else {