Bläddra i källkod

面辅料不能混合销售订单和手工匹配订单

huxy 2 år sedan
förälder
incheckning
4452f00867

+ 65 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/controller/SyPackingListFabricController.java

@@ -263,13 +263,67 @@ public class SyPackingListFabricController {
 			result.setResult(null);
 			return result;
 		}
+		List<String> ids=new ArrayList<>();
+		for (SyPackingListFabricItem item : syPackingListFabric.getSyPackingListFabricItem()){
+			ids.add(item.getSyOrderDataId());
+		}
+		Map<String,String> maps=orderNumber(ids);
+		if(maps.size()==2){
+			result.setSuccess(true);
+			result.setMessage("手工匹配订单不能跟普通销售订单混合在一起,手工匹配订单是:"+maps.get("手工同步订单"));
+			return result;
+		}
 		syPackingListFabricService.saveMain(syPackingListFabric,token);
-		result.setSuccess(true);
+		result.setSuccess(false);
 		result.setMessage("添加成功");
 		result.setResult(syPackingListFabric);
 		return result;
 	}
 
+	 @AutoLog(value = "装箱单-面辅料-addtest")
+	 @ApiOperation(value="装箱单-面辅料-addtest", notes="装箱单-面辅料-addtest")
+	 @PostMapping(value = "/addtest")
+	 public  Result<Map<String,String>> testMain() {
+		 Result<Map<String,String>> result=new Result<>();
+		 List<String> ids=new ArrayList<>();
+		 ids.add("9011000002167");
+		 ids.add("9011000002168");
+		 Map<String,String> maps=orderNumber(ids);
+		 if(maps.size()==2){
+			 result.setSuccess(true);
+			 result.setResult(maps);
+			 result.setMessage("手工匹配订单不能跟普通销售订单混合在一起,手工匹配订单是:"+maps.get("手工同步订单"));
+		 }
+		 return result;
+	 }
+
+	public Map<String,String> orderNumber(List<String> ids){
+	 	QueryWrapper queryWrapper=new QueryWrapper();
+	 	queryWrapper.in("id",ids);
+	 	List<SyOrderData> orderDatas=syOrderDataMapper.selectList(queryWrapper);
+	 	Map<String,String> maps=new HashMap<>();
+	 	/*maps.put("正常销售订单","");
+		maps.put("手工同步订单","");*/
+	 	for (SyOrderData orderData : orderDatas){
+	 		if(orderData.getDelFlag().equals("0")){
+				String name="";
+				if(maps.containsKey("正常销售订单")){
+					name=maps.get("正常销售订单");
+				}
+	 			name+=orderData.getOrderNumber();
+	 			maps.put("正常销售订单",name);
+	 		}else{
+	 			String name="";
+	 			if(maps.containsKey("手工同步订单")){
+					name=maps.get("手工同步订单");
+				}
+	 			name+=orderData.getOrderNumber();
+	 			maps.put("手工同步订单",name);
+	 		}
+	 	}
+	 	return maps;
+	}
+
 	 /**
 	  * 提交
 	  *
@@ -408,6 +462,16 @@ public class SyPackingListFabricController {
 			result.setResult(null);
 			return result;
 		}
+		List<String> ids=new ArrayList<>();
+		for (SyPackingListFabricItem item : syPackingListFabric.getSyPackingListFabricItem()){
+			ids.add(item.getSyOrderDataId());
+		}
+		Map<String,String> maps=orderNumber(ids);
+		if(maps.size()==2){
+			result.setSuccess(false);
+			result.setMessage("手工匹配订单不能跟普通销售订单混合在一起,手工匹配订单是:"+maps.get("手工同步订单"));
+			return result;
+		}
 		syPackingListFabricService.updateMain(syPackingListFabric, syPackingListFabric.getSyPackingListFabricItem());
 		result.setSuccess(true);
 		result.setMessage("编辑成功");

+ 4 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/xml/SyPackingListFabricItemMapper.xml

@@ -29,7 +29,8 @@
 			b.order_Number,/*订单号*/
 			b.u8_Remarks memo,/*备注*/
 			b.colour,/*颜色*/
-
+			b.sy_Order_Data_Id AS sy_Order_Data_Id,
+			b.sy_Order_Data_item_Id as sy_Order_Data_item_Id,
 			b.inventory_Code,/*物料编码*/
 			b.inventory_Name,/*物料名称*/
 			b.material_Composition AS Composition,/*成分/Composition*/
@@ -75,6 +76,8 @@
 			b.inventory_CCode inventoryCCode,/*获取物料分类*/
 			b.order_Remaining_Quantity as remaining_Quantity,/*剩余数量*/
 			b.supplier_code,/*获取供应商编码*/
+			b.sy_Order_Data_Id AS sy_Order_Data_Id,
+			b.sy_Order_Data_item_Id as sy_Order_Data_item_Id,
 			b.supplier,/*获取供应商*/
 			a.order_Type,
 			(select declaration_Name from sy_declaration_elements where id=b.elements_Id) as declaration_Name,

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/xml/SyPackingListFabricMapper.xml

@@ -55,6 +55,8 @@
         b.declaration_elements AS declarationElements,
         b.number_of_sets AS numberOfSets,
         b.group_id as group_id,
+        b.sy_Order_Data_Id AS sy_Order_Data_Id,
+        b.sy_Order_Data_item_Id as sy_Order_Data_item_Id,
         a.chinese_name AS chineseName,
         b.account AS account,
         a.english_product_name AS englishProductName,

+ 40 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/service/impl/SyPackingListFabricServiceImpl.java

@@ -11,8 +11,10 @@ import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.config.InterfaceConnUtils;
+import org.jeecg.modules.documents.orderData.entity.SyOrderData;
 import org.jeecg.modules.documents.orderData.entity.SyOrderDataItem;
 import org.jeecg.modules.documents.orderData.mapper.SyOrderDataItemMapper;
+import org.jeecg.modules.documents.orderData.mapper.SyOrderDataMapper;
 import org.jeecg.modules.documents.seclarationElements.entity.SyDeclarationElements;
 import org.jeecg.modules.documents.seclarationElements.entity.SyDeclarationElementsItem;
 import org.jeecg.modules.documents.seclarationElements.mapper.SyDeclarationElementsItemMapper;
@@ -87,6 +89,8 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 	@Autowired
 	private SyDeclarationElementsMapper syDeclarationElementsMapper;
 	@Autowired
+	private SyOrderDataMapper syOrderDataMapper;
+	@Autowired
 	private SyOrderDataItemMapper syOrderDataItemMapper;
 	@Autowired
 	private ISenYuDataSourceOne senYuDataSourceOne;
@@ -107,6 +111,33 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		return  roleName.getRealname();
 	}
 
+	public Map<String,String> orderNumber(List<String> ids){
+		QueryWrapper queryWrapper=new QueryWrapper();
+		queryWrapper.in("id",ids);
+		List<SyOrderData> orderDatas=syOrderDataMapper.selectList(queryWrapper);
+		Map<String,String> maps=new HashMap<>();
+	 	/*maps.put("正常销售订单","");
+		maps.put("手工同步订单","");*/
+		for (SyOrderData orderData : orderDatas){
+			if(orderData.getDelFlag().equals("0")){
+				String name="";
+				if(maps.containsKey("正常销售订单")){
+					name=maps.get("正常销售订单");
+				}
+				name+=orderData.getOrderNumber();
+				maps.put("正常销售订单",name);
+			}else{
+				String name="";
+				if(maps.containsKey("手工同步订单")){
+					name=maps.get("手工同步订单");
+				}
+				name+=orderData.getOrderNumber();
+				maps.put("手工同步订单",name);
+			}
+		}
+		return maps;
+	}
+
 	/**
 	 * 通过参照出运明细添加数据  添加方式1
 	 * @param syPackingListFabric
@@ -163,7 +194,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			entity.setFactoryUnitPrice(detailsItem.getFactoryUnitPrice());//工厂单价
 
 			if(entity.getMasterMetering()==null){
-				throw new JeecgBootException("没有单位的物料");
+				throw new JeecgBootException("未获取到销售订单的单位");
 			}
 			if(entity.getMasterMetering().equals("KG")){
 				updateQuantity(entity.getNetWeight(),entity.getSyShippingDetailsItemId(),entity.getMasterMetering());
@@ -713,6 +744,14 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				SimpleDateFormat sf = new SimpleDateFormat("yyMMddHHmmssSSS");
 				String dateNo ="ML"+sf.format(System.currentTimeMillis());//获取单据号
 				SyPackingListFabric syPackingListFabric =maps.get(str);
+				List<String> ids=new ArrayList<>();
+				for (SyPackingListFabricItem item : syPackingListFabric.getSyPackingListFabricItem()){
+					ids.add(item.getSyOrderDataId());
+				}
+				Map<String,String> maps2=orderNumber(ids);
+				if(maps2.size()==2){
+					throw new JeecgBootException("手工匹配订单不能跟普通销售订单混合在一起,手工匹配订单是:"+maps.get("手工同步订单"));
+				}
 				//syPackingListFabric.setGarmentFactory(str);//成衣工厂
 				syPackingListFabric.setDocumentNo(dateNo);//单据号
 				syPackingListFabric.setStatus("0");//状态