Browse Source

拉取逻辑修改

huxy 2 years ago
parent
commit
b08329c570

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

@@ -143,27 +143,28 @@
 		WHERE inventory_Ccode NOT LIKE '19%'
 		AND elements_Id IS NOT NULL
 		AND elements_Id !=''
-		AND sy_order_data_item_id
-		NOT IN
-		(SELECT DISTINCT isosid FROM `sy_packing_list_fabric_item` WHERE isosid!=''
-		 )
-	</select>
+		and is_Pull is null
+    AND sy_order_data_item_id
+    NOT IN
+    (SELECT DISTINCT isosid FROM `sy_packing_list_fabric_item` WHERE isosid!=''
+     )
+</select>
 
-	<!--
-	SELECT
-		sy_order_data_id AS isosid
-		FROM `sy_shipping_details_item`
-		WHERE inventory_Ccode NOT LIKE '19%'
-		AND inventory_Ccode NOT LIKE '01%'
-		AND inventory_Ccode NOT LIKE '02%'
-		AND inventory_Ccode NOT LIKE '03%'
-		AND inventory_Ccode NOT LIKE '04%'
-		AND elements_Id IS NOT NULL
-		AND elements_Id !=''
-		AND sy_order_data_item_id
-		NOT IN
-		(SELECT DISTINCT isosid FROM `sy_packing_list_fabric_item` WHERE isosid!='')
-	-->
+<!--
+SELECT
+    sy_order_data_id AS isosid
+    FROM `sy_shipping_details_item`
+    WHERE inventory_Ccode NOT LIKE '19%'
+    AND inventory_Ccode NOT LIKE '01%'
+    AND inventory_Ccode NOT LIKE '02%'
+    AND inventory_Ccode NOT LIKE '03%'
+    AND inventory_Ccode NOT LIKE '04%'
+    AND elements_Id IS NOT NULL
+    AND elements_Id !=''
+    AND sy_order_data_item_id
+    NOT IN
+    (SELECT DISTINCT isosid FROM `sy_packing_list_fabric_item` WHERE isosid!='')
+-->
 
 	<resultMap id="genderIsosid" type="java.lang.String">
 		<result column="isosid" property="value" javaType="java.lang.String"/>

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

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.exception.JeecgBootException;
@@ -1261,6 +1262,10 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				maps.get(account).add(id);
 			}
 		}
+		UpdateWrapper updateWrapper=new UpdateWrapper();
+		updateWrapper.set("is_pull","1");//拉取中
+		updateWrapper.in("sy_order_data_id",Arrays.asList(arrs));
+		syShippingDetailsItemMapper.update(null,updateWrapper);
 		for (String account : maps.keySet()) {//分成两类数据
 			//先插主表数据,然后根据主表id查询子表数据再添加
 			String sql ="select  distinct   \n" +
@@ -1411,15 +1416,20 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 							sy1.setManualYarnFlag(syShippingDetailsItem.getManualYarnFlag());//是否手册纱
 							sy1.setManualYarnProportion(syShippingDetailsItem.getManualYarnProportion());//手册纱占比
 							sy.setGarmentFactory(syShippingDetailsItem.getGarmentFactory());//获取成衣工厂
+							if(sy1.getPrice()!=null&&sy1.getActualDeclaredQuantity()!=null){
+								sy1.setTotalPrice(sy1.getActualDeclaredQuantity().multiply(sy1.getPrice()));//实际报关数量*单价
+							}
+							items.add(sy1);
+							syShippingDetailsItem.setIsPull("2");//拉取成功
+							syShippingDetailsItemMapper.updateById(syShippingDetailsItem);//修改
 						}
 						else{
 							massage+="发运明细未有对应的数据"+sy1.getIsosid();
 							//throw new JeecgBootException("发运明细未有对应的数据"+sy1.getIsosid());
+							items =new ArrayList<>();//空对象
+							break;
 						}
-						if(sy1.getPrice()!=null&&sy1.getActualDeclaredQuantity()!=null){
-							sy1.setTotalPrice(sy1.getActualDeclaredQuantity().multiply(sy1.getPrice()));//实际报关数量*单价
-						}
-						items.add(sy1);
+
 					}
 					if(items.size()>0){
 						sy.setSyPackingListFabricItem(items);