Browse Source

修改订单特批类型处理

anderx 1 year ago
parent
commit
3b041b76b9
1 changed files with 52 additions and 21 deletions
  1. 52 21
      src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

+ 52 - 21
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -519,27 +519,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		if (StringUtils.isBlank(t.getOrderDep())) {
 			t.setOrderDep(a.getDepartmentId());
 		}
-		if (t.getType() == null){
-			tOrderApprovalMapper.deleteByOderNo(t.getOrderNo());
-		}else {
-			String[] split = t.getType().split(",");
-			List<TOrderApproval> tOrderApprovals = tOrderApprovalMapper.selectByOrderNo(t.getOrderNo());
-			for (String s : split) {
-				//
-
-				Integer deleteId=null;
-				for (TOrderApproval e : tOrderApprovals) {
-					if (Integer.valueOf(s).equals(e.getType())){
-						deleteId=e.getId();
-						break;
-					}
-				}
-				if(deleteId!=null){
-					tOrderApprovalMapper.deleteByPrimaryKey(deleteId);
-				}
-			}
-
-		}
+		//处理特批类型相关字段
+		pushApprovalType(t);
 		if (t.getKnowledgeServices()!=null||t.getAuditServices()!=null||t.getAddDeductionServices()!=null){
 			TOrderHighTech tighTech=new TOrderHighTech();
 			tighTech.setOrderNo(t.getOrderNo());
@@ -674,6 +655,56 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		return 1;
 	}
 
+	private void pushApprovalType(TOrderNewWithBLOBs t) {
+		if (t.getType() == null){
+			tOrderApprovalMapper.deleteByOderNo(t.getOrderNo());
+		}else {
+			String[] split = t.getType().split(",");
+			List<TOrderApproval> tOrderApprovals = tOrderApprovalMapper.selectByOrderNo(t.getOrderNo());
+			//删除
+			int index = 0;
+			for (TOrderApproval e : tOrderApprovals) {
+				Integer deleteId=null;
+				for (String s : split) {
+					if (Integer.valueOf(s).equals(e.getType())){
+						deleteId=e.getId();
+						break;
+					}
+				}
+				if(deleteId!=null){
+					tOrderApprovalMapper.deleteByPrimaryKey(deleteId);
+				}
+				if(e.getType()==0&&index==0){
+					index++;
+					if (t.getTypeExplain()!=null){
+						e.setTypeExplain(t.getTypeExplain());
+						tOrderApprovalMapper.updateByPrimaryKeySelective(e);
+					}
+				}
+
+			}
+			//新增
+			for (String s : split) {
+				boolean flag=false;
+				for (TOrderApproval e : tOrderApprovals) {
+					if (Integer.valueOf(s).equals(e.getType())){
+						flag=true;
+					}
+				}
+				if (flag){
+					TOrderApproval newTOA=new TOrderApproval();
+					newTOA.setType(Integer.valueOf(s));
+					newTOA.setOrderNo(t.getOrderNo());
+					if(t.getTypeExplain()!=null&&newTOA.getType()==0){
+					newTOA.setTypeExplain(t.getTypeExplain());
+					}
+					tOrderApprovalMapper.insertSelective(newTOA);
+				}
+			}
+
+		}
+	}
+
 
 	/**
 	 * 处理订单公出&报销之间数据统计