Browse Source

订单派单BUG修复

anderx 3 years ago
parent
commit
d5e8afa400

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

@@ -827,6 +827,9 @@
       <if test="splitStatus ==3">
         and a.split_status in(0,1)
       </if>
+      <if test="splitStatus ==4">
+        and a.split_status in(0,2)
+      </if>
     </if>
     order by a.id
   </select>

+ 8 - 0
src/main/java/com/goafanti/order/service/OrderProjectService.java

@@ -124,4 +124,12 @@ public interface OrderProjectService {
 	 * @return
 	 */
     boolean checkOrderProcessStatus(Integer tid, Integer processStatus);
+
+	/**
+	 * 根据订单编号获取项目编号来判断当前订单的流程状态
+	 * 仅用于咨询师管理员以后
+	 * @param orderNo
+	 * @return
+	 */
+	Integer getOrderProcessStatus(String orderNo);
 }

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

@@ -11,6 +11,7 @@ import javax.servlet.http.HttpServletResponse;
 import com.goafanti.admin.service.DepartmentService;
 import com.goafanti.common.dao.*;
 import com.goafanti.common.model.*;
+import com.goafanti.order.service.*;
 import org.apache.poi.xssf.usermodel.XSSFCell;
 import org.apache.poi.xssf.usermodel.XSSFRow;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
@@ -51,10 +52,6 @@ import com.goafanti.order.enums.OrderChangeType;
 import com.goafanti.order.enums.OrderNewState;
 import com.goafanti.order.enums.OrderType;
 import com.goafanti.order.enums.ProcessStatus;
-import com.goafanti.order.service.NewOrderDunService;
-import com.goafanti.order.service.OrderChangeService;
-import com.goafanti.order.service.OrderNewService;
-import com.goafanti.order.service.OrderService;
 import com.goafanti.techproject.enums.TaskState;
 
 @Service
@@ -109,6 +106,8 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	private UserMidMapper userMidMapper;
 	@Autowired
 	private DepartmentService departmentService;
+	@Autowired
+	private OrderProjectService orderProjectService;
 
 	Logger							logger	= LoggerFactory.getLogger(OrderChangeServiceImpl.class);
 
@@ -735,21 +734,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 //			if (i<1) userLockReleaseMapper.updateReleaseUser(o.getOrderNo());
 		}
 		//
-		List<TOrderTaskBo> taskBos=tOrderTaskMapper.selectOrderTaskAll(nb.getOrderNo(),null);
-		int i=0;
-		for (TOrderTaskBo to : taskBos) {
-			if (to.getTaskStatus()>TaskState.UN_DISTRIBUTION.getCode()&&to.getTaskStatus()<TaskState.INVALID.getCode()) {
-				i++;
-			}
-
-		}
-		if (i==taskBos.size()) {
-			o.setProcessStatus(ProcessStatus.YQBFPZXSGLY.getCode());
-		}else if(i>0&&i<taskBos.size()){
-			o.setProcessStatus(ProcessStatus.YBFPZXSGLY.getCode());
-		}else if(i==0){
-			o.setProcessStatus(ProcessStatus.YPZXSGLY.getCode());
-		}
+		o.setProcessStatus(orderProjectService.getOrderProcessStatus(nb.getOrderNo()));
 		o.setDeleteSign(0);
 		//处理客户中间表退单标识
 		//处理客户已派项目
@@ -763,6 +748,8 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		return o;
 	}
 
+
+
 	private void pushTaskAndDun(Integer id,TOrderNew o) {
 		List<TChangeTaskOut> listct=tChangeTaskMapper.selectByCid(id,3);
 		HashMap<Integer, Integer> map=changeAddOrderTask(listct,0,null);

+ 13 - 4
src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java

@@ -278,6 +278,15 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		List<TOrderTaskBo> taskBos=tOrderTaskMapper.selectOrderTaskAll(orderNo,null);
 		TOrderNew tNew=new TOrderNew();
 		tNew.setOrderNo(orderNo);
+		tNew.setProcessStatus(getOrderProcessStatus(orderNo));
+
+		tOrderNewMapper.updateByPrimaryKeySelective(tNew);
+	}
+
+	@Override
+	public Integer getOrderProcessStatus(String  orderNo) {
+		Integer processStatus=4;
+		List<TOrderTaskBo> taskBos=tOrderTaskMapper.selectOrderTaskAll(orderNo,4);
 		int i=0;
 		for (TOrderTaskBo to : taskBos) {
 			if (to.getTaskStatus()>TaskState.UN_DISTRIBUTION.getCode()&&to.getTaskStatus()<TaskState.INVALID.getCode()) {
@@ -285,13 +294,13 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 			}
 		}
 		if (i==taskBos.size()) {
-			tNew.setProcessStatus(ProcessStatus.YQBFPZXSGLY.getCode());
+			processStatus=6;
 		}else if(i>0&&i<taskBos.size()){
-			tNew.setProcessStatus(ProcessStatus.YBFPZXSGLY.getCode());
+			processStatus=5;
 		}else if(i==0){
-			tNew.setProcessStatus(ProcessStatus.YPZXSGLY.getCode());
+			processStatus=4;
 		}
-		tOrderNewMapper.updateByPrimaryKeySelective(tNew);
+		return processStatus;
 	}
 
 	private void insetLog(Integer taskId, String taskReceiverId) {

+ 2 - 0
src/main/java/com/goafanti/order/service/impl/OrderServiceImpl.java

@@ -1674,6 +1674,8 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 		return tOrderMapper.updateByPrimaryKeySelective(tOrder);
 	}
 
+
+
 	@Override
 	public int updateLockOrRevokeOrder(String orderNo, Integer operatorType) {
 		TOrder tOrder = tOrderMapper.selectByPrimaryKey(orderNo);