Explorar el Código

订单变更列表修改(咨询师与管理列表修改、恢复显示多个同订单)

Signed-off-by: anderx <312518615@qq.com>
anderx hace 5 años
padre
commit
520135264e

+ 22 - 14
src/main/java/com/goafanti/common/mapper/NewOrderChangeMapper.xml

@@ -725,13 +725,17 @@ select
 	select a.id,a.order_no orderNo,b.contract_no contractNo, date_format(a.create_time,'%Y-%m-%d %H:%i:%S')createTimes,c.nickname,b.order_type orderType, 
   date_format(b.create_time,'%Y-%m-%d %H:%i:%S')establishTimes, b.order_status orderStatus,b.total_amount totalAmount,a.status ,
   b.settlement_amount settlementAmount,(b.total_amount-b.settlement_amount) arrears,d.name salesmanName,e.name depName,a.`type`,
-  a.process_state processState from (select max(id)id from new_order_change group by order_no) noc left join  new_order_change a on noc.id=a.id
+  a.process_state processState from new_order_change  noc left join  new_order_change a on noc.id=a.id
   left join t_order_new b on a.order_no=b.order_no left join user c on b.buyer_id=c.id left join admin d on b.salesman_id=d.id 
   left join department e on b.order_dep=e.id
-	<if test="processState==2 or processState==3 "> 
-	left join (select order_no, consultant_id, manager_id from t_order_task a where consultant_id is not null and manager_id is not null 
-	group by order_no, consultant_id, manager_id) x on a.order_no = x.order_no
-	</if> 
+	<if test="processState==2"> 
+	left join (select order_no, consultant_id from t_order_task  where consultant_id is not null 
+  group by order_no, consultant_id)x on a.order_no = x.order_no
+	</if>
+	<if test="processState==3"> 
+	left join (select order_no, manager_id from t_order_task a where  manager_id is not null 
+	group by order_no,  manager_id) x on a.order_no = x.order_no
+  </if> 
 	where 1=1
 	<if test="processState==0">
 	and b.salesman_id= #{aid}
@@ -743,10 +747,10 @@ select
   	</foreach>
 	</if>
 	<if test="processState==2 ">
-	and  x.consultant_id=#{aid}  and process_state &gt;= 2
+	and  x.consultant_id=#{aid}  and a.process_state &gt;= 2
 	</if>
 	<if test="processState==3 ">
-	and x.manager_id=#{aid}  and process_state &gt;= 3
+	and x.manager_id=#{aid}  and a.process_state &gt;= 3
 	</if>
 	<if test="processState==5 and aid !=null">
 	and e.finance_id =#{aid}
@@ -824,13 +828,17 @@ select
   </select>
   
   <select id="selectOrderChangeCount" resultType="java.lang.Integer">
-  select count(*) from (select max(id)id from new_order_change group by order_no) noc left join  new_order_change a on noc.id=a.id
+  select count(*) from new_order_change noc left join  new_order_change a on noc.id=a.id
   left join t_order_new b on a.order_no=b.order_no left join user c on b.buyer_id=c.id 
   left join admin d on b.salesman_id=d.id left join department e on b.order_dep=e.id
-	<if test="processState==2 or processState==3 "> 
-	left join (select order_no, consultant_id, manager_id from t_order_task a where consultant_id is not null and manager_id is not null 
-	group by order_no, consultant_id, manager_id) x on a.order_no = x.order_no
-	</if>
+		<if test="processState==2"> 
+	left join (select order_no, consultant_id from t_order_task  where consultant_id is not null 
+  group by order_no, consultant_id)x on a.order_no = x.order_no
+	</if>
+	<if test="processState==3"> 
+	left join (select order_no, manager_id from t_order_task a where  manager_id is not null 
+	group by order_no,  manager_id) x on a.order_no = x.order_no
+  </if> 
 	where 1=1
 	<if test="processState==0">
 	and b.salesman_id= #{aid}
@@ -842,10 +850,10 @@ select
   	</foreach>
 	</if>
 	<if test="processState==2 ">
-	and  x.consultant_id=#{aid}  and process_state &gt;= 2
+	and  x.consultant_id=#{aid}  and a.process_state &gt;= 2
 	</if>
 	<if test="processState==3 ">
-	and x.manager_id=#{aid}  and process_state &gt;= 3
+	and x.manager_id=#{aid}  and a.process_state &gt;= 3
 	</if>
 	<if test="processState==5 and aid !=null">
 	and e.finance_id =#{aid}

+ 0 - 1
src/main/java/com/goafanti/common/mapper/TOrderNewMapper.xml

@@ -1321,7 +1321,6 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
   	</if>
   	</if>
   	<if test="specially == 4">
-  	and e.main=1
   	and a.process_status in (4,5,6,99)
   	and a.order_status not in(5,7)
   	</if>

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

@@ -13,6 +13,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
+import javax.print.attribute.standard.MediaSize.Other;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.poi.xssf.usermodel.XSSFCell;
@@ -427,10 +428,18 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		nb.setUsedOrder(newOrderNo);
 		t1.setDeleteSign(1);//将原订单作废,只能查看
 		tOrderNewMapper.insertSelective(t1);
+		Map<Integer, Integer> map=new HashMap<>();
 		for (TOrderTaskBo tOrderTaskBo : tt1) {
+			//处理父子项目关系 将员父项目存储
 			tOrderTaskBo.setId(null);
 			tOrderTaskBo.setOrderNo(newOrderNo);
-			tOrderTaskMapper.insertSelective(tOrderTaskBo);
+			if(tOrderTaskBo.getSplitStatus()==2) {
+				tOrderTaskBo.setSplitSuper(map.get(tOrderTaskBo.getSplitSuper()));
+			}
+			int y=tOrderTaskMapper.insertSelective(tOrderTaskBo);
+			if(tOrderTaskBo.getSplitStatus()==1) {
+				map.put(tOrderTaskBo.getId(), y);
+			}
 		}
 		for (OutNewOrderDunBo outNewOrderDunBo : td2) {
 			outNewOrderDunBo.setId(null);

+ 2 - 1
src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java

@@ -665,7 +665,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 			for (String string : str) {
 				x+=Integer.parseInt(string);
 			}
-			if (task.getCommodityQuantity()!=x||str.length==1) {
+			if (!task.getCommodityQuantity().equals(x)||str.length==1) {
 				return -1;
 			}
 			int i=1;
@@ -684,6 +684,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 			}
 		return 1;
 	}
+	
 	@Override
 	public List<TOrderTaskListBo> splitProjectList(Integer tid) {
 		return tOrderTaskMapper.splitProjectList(tid);