Ver Fonte

面辅料接收云工厂接口修改

huxy há 2 anos atrás
pai
commit
d9e83bd33b

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

@@ -28,7 +28,9 @@ import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.system.vo.LoginUser;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetailsItem;
 import org.jeecg.modules.documents.shippingDetails.entity.VO.SyShippingDetailsVo;
+import org.jeecg.modules.documents.shippingDetails.mapper.SyShippingDetailsItemMapper;
 import org.jeecg.modules.openApi.entity.DxpDataPlan;
 import org.jeecg.modules.openApi.service.IDxpDataPlanService;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingList;
@@ -583,60 +585,46 @@ public class SyPackingListFabricController {
 		 str=JSON.parse(str).toString();
 		 JSONArray json=JSONObject.parseArray(str);
 		 Result result=new Result();
-		 try {
-			 if(json!=null&&json.size()>0) {
-				 //账套1
-				 List<Map<String, Object>> mapListOne = new ArrayList<>();
-				 for (int i = 0; i < json.size(); i++) {
-					 //获取对象
-					 JSONObject jsonObject = json.getJSONObject(i);
-					 //获取json名
-					 String spapl = jsonObject.get("splfi").toString();
-					 //转list
-					 List<SyPackingListFabric> packingListFabrics=JSONObject.parseArray(spapl,SyPackingListFabric.class);
-					 if(packingListFabrics==null){
-						 result.setSuccess(false);
-						 result.success("未接收到数据");
-						 return result;
-					 }
-					 for(SyPackingListFabric syPackingListFabric : packingListFabrics){
-						if( syPackingListFabric.getSyDeclarationElementsId()==null){
-							result.setSuccess(false);
-							result.success("未获取到发运明细的id");
-							return result;
-						}
-						if(syPackingListFabric.getPreparedDate()==null){
-							result.setSuccess(false);
-							result.success("未获取到制单日期");
-							return result;
-						}
-						if(syPackingListFabric.getPreparedBy()==null){
-							result.setSuccess(false);
-							result.success("未获取到制单人");
-							return result;
-						}
-						if(syPackingListFabric.getSyPackingListFabricItem()!=null){
-							for (SyPackingListFabricItem item : syPackingListFabric.getSyPackingListFabricItem()){
-								if(item.getSyShippingDetailsItemId()==null){
-									result.setSuccess(false);
-									result.success("未获取到出运明细子表id");
-									return result;
-								}
+		 if(json!=null&&json.size()>0) {
+			 //账套1
+			 List<Map<String, Object>> mapListOne = new ArrayList<>();
+			 for (int i = 0; i < json.size(); i++) {
+				 //获取对象
+				 JSONObject jsonObject = json.getJSONObject(i);
+				 //获取json名
+				 String spapl = jsonObject.get("splfi").toString();
+				 //转list
+				 List<SyPackingListFabric> packingListFabrics=JSONObject.parseArray(spapl,SyPackingListFabric.class);
+				 if(packingListFabrics==null){
+					 return Result.error("未接收到数据");
+				 }
+				 for(SyPackingListFabric syPackingListFabric : packingListFabrics){
+					if( syPackingListFabric.getSyDeclarationElementsId()==null){
+						return Result.error("未获取到发运明细的id");
+					}
+					if(syPackingListFabric.getPreparedDate()==null){
+						return Result.error("未获取到制单日期");
+					}
+					if(syPackingListFabric.getCreateBy()!=null){
+						syPackingListFabric.setPreparedBy(syPackingListFabric.getCreateBy());
+					}
+					/*if(syPackingListFabric.getPreparedBy()==null){
+						return Result.error("未获取到制单人");
+					}*/
+					if(syPackingListFabric.getSyPackingListFabricItem()!=null){
+						for (SyPackingListFabricItem item : syPackingListFabric.getSyPackingListFabricItem()){
+							if(item.getSyShippingDetailsItemId()==null){
+								return Result.error("未获取到出运明细子表id");
 							}
 						}
-					 }
-					 //生成数据
-					 syPackingListFabricService.saveList(packingListFabrics);
+					}
 				 }
-				 result.setSuccess(true);
-				 result.success("操作成功");
+				 //生成数据
+				 syPackingListFabricService.saveList(packingListFabrics);
 			 }
-		 } catch (Exception e) {
-			 e.printStackTrace();
-			 result.setSuccess(false);
-			 result.error500("操作失败:"+e.getMessage());
+			 return Result.ok("操作成功");
 		 }
-		 return result;
+		 return Result.error("未接收到数据");
 	 }
 
 
@@ -765,6 +753,7 @@ public class SyPackingListFabricController {
 			 queryWrapper.eq("del_flag","0");
 			 List<SyPackingListFabricItem> items=syPackingListFabricItemService.list(queryWrapper);
 			 String message="";//获取报错消息
+			 String account="";//当前账套
 			 if(items!=null){
 				 main.setSyPackingListFabricItem(items);
 				 map.put("account",items.get(0).getOmpoAccount());//委外采购账套号
@@ -777,21 +766,29 @@ public class SyPackingListFabricController {
 				 for (int x=0;x<3;x++){//最多循环3次
 					 try {
 						 if (map.get("account").equals("903")){
-							 message+=syPackingListFabricService.three(main,map);
+							 account="903";
+							 message+=syPackingListFabricService.three(main,map)+";";
 						 }else if(map.get("account").equals("902")){
-							 message+=syPackingListFabricService.two(main,map);
+							 account="902";
+							 message+=syPackingListFabricService.two(main,map)+";";
 						 }else if(map.get("account").equals("901")){
-							 message+=syPackingListFabricService.one(main,map);
+							 account="901";
+							 message+=syPackingListFabricService.one(main,map)+";";
 						 }else{
+						 	// 业务员,克重,包装方式,处理方式,是否手册纱,手册纱占比,尺码
 							 break;
 						 }
 					 }catch (Exception e){
-					 	e.printStackTrace();
+					 	 e.printStackTrace();
 						 message+=e.getMessage();
+						 if(map.get("account").equals(account)){
+						 	break;
+						 }
 					 }
 				 }
 			 }
-			 if(message!=null&&message.length()>0&&message.indexOf("接口")>-1){
+			 //if(message!=null&&message.length()>0&&(message.indexOf("接口")>-1||message.indexOf("账套")>-1)){
+			 if(message!=null&&message.length()>0){
 				 main.setPushState("2");//推送失败!
 				 result.setSuccess(false);
 				 result.setMessage(message);
@@ -809,4 +806,30 @@ public class SyPackingListFabricController {
 		 }
 		 return result;
 	 }
+
+	 @Autowired
+	 private SyShippingDetailsItemMapper syShippingDetailsItemMapper;
+
+	 @AutoLog(value = "同步数据")
+	 @ApiOperation(value="同步数据", notes="同步数据")
+	 @GetMapping(value = "/updateSyItem")
+	 public Result updateSyItem( ) {
+		List<SyPackingListFabricItem> items=syPackingListFabricItemService.list();
+		int num=0;
+		for (SyPackingListFabricItem item:items){
+			if(item.getSyShippingDetailsItemId()!=null){
+				SyShippingDetailsItem syItem=syShippingDetailsItemMapper.selectById(item.getSyShippingDetailsItemId());
+				if(syItem!=null){
+					item.setOmpoId(syItem.getOmpoId());
+					item.setOmpoIdItem(syItem.getOmpoIdItem());
+					item.setOmpoAccount(syItem.getOmpoAccount());
+					if(syItem.getPurOrSubOrder()!=null){
+						item.setPurOrSubOrder(syItem.getPurOrSubOrder());
+					}
+				}
+			}
+		}
+
+	 	return Result.ok("更新了多少条数据");
+	 }
  }

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

@@ -136,11 +136,11 @@
     </select>
 
     <select id="getOM_MOMain" resultType="java.util.HashMap" parameterType="java.util.HashMap">
-       select   om1.cVenCode,ve1.cVenDefine2,om3.isosid as isosid from OM_MOMain om1
+       select   om1.cVenCode,ve1.cVenDefine2,om3.isosid as isosid,om3.MODetailsID from OM_MOMain om1
         left join Vendor ve1 ON
         om1.cVenCode=ve1.cVenCode
         inner join (
-        SELECT top 1 om3.moid,om3.isosid
+        SELECT top 1 om3.moid,om3.isosid,om3.MODetailsID
         FROM om_modetails om3
         left join OM_MOMaterials om2
         on om3.MODetailsID=om2.MODetailsID

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

@@ -597,7 +597,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					item.setInventoryCcode(syShippingDetailsItem.getInventoryCcode());//物料分类
 					item.setInventoryCode(syShippingDetailsItem.getInventoryCode());//物料编码
 					item.setOmpoId(syShippingDetailsItem.getOmpoId());
-					item.setOmpoIdItem(syShippingDetailsItem.getOmpoId());
+					item.setOmpoIdItem(syShippingDetailsItem.getOmpoIdItem());
 					item.setOmpoAccount(syShippingDetailsItem.getAccount());
 
 					if(item.getInventoryCcode()!=null&&item.getInventoryCcode().indexOf("04")>-1
@@ -875,7 +875,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					mapItem4.put("CBATCH",item.getDyelotNumber());//缸号
 				}else{
 					if(item.getDyelotNumber().indexOf("-")<0){
-						throw new JeecgBootException("缸号不规范,请先进行维护");
+						throw new JeecgBootException("缸号不规范,请先进行维护在推送接口");
 					}
 					String cbatch=item.getDyelotNumber().substring(0,item.getDyelotNumber().indexOf("-"));
 					mapItem.put("CBATCH",cbatch+num1);//缸号
@@ -922,6 +922,12 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					if(item.getInventoryCcode()!=null&&item.getInventoryCcode().indexOf("040")>-1&&mapt.get("account").equals("903")){//903账套中物料分类为040的印花面料
 						List<Map<String,Object>> orderDataItem3 =syPackingListFabricMapper.getOM_MOMaterials(item.getOmpoIdItem(),item.getInventoryCode());//委外订单子表
 						Map<String,Object> mapStr1=syPackingListFabricMapper.getOM_MOMain(item.getOmpoIdItem(),item.getInventoryCode());//供应商编码,仓库编码
+						System.out.println("mapStr1\n"+mapStr1);
+						if(mapStr1==null) {
+							throw new JeecgBootException(mapt.get("account")+"账套,委外订单子表行id"+item.getOmpoIdItem()+"未找到对应的染厂物料");
+						}else if(!mapStr1.containsKey("isosid")||mapStr1.get("isosid")==null){
+							throw new JeecgBootException(mapt.get("account")+"账套,委外订单子表行id"+mapStr1.get("MODetailsID")+"的isosid为空");
+						}
 						String cSOCode=syPackingListFabricMapper.getSO_SOMain(mapStr1.get("isosid").toString());
 						map7.put("CWHCODE",mapStr1.get("cVenDefine2"));
 						map7.put("CVENCODE",mapStr1.get("cVenCode"));
@@ -967,7 +973,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				mapt.put("poid","one");//重置销售订单id
 
 				//if(item.getSyOrderDataItemId()!=null){//销售发货单 ---查询销售订单子表数据  顺序---5
-				if(orderDataItem!=null&&orderDataItem.containsKey("iSOsID")){
+				if(orderDataItem!=null&&orderDataItem.containsKey("iSOsID")&&orderDataItem.get("iSOsID")!=null){
 					Map<String,Object> orderDataItem2=syPackingListTailoringMapper.getSoMainItem(orderDataItem.get("iSOsID").toString());
 					mapSort.put(item.getId(),orderDataItem2.get("irowno").toString());
 					mapItem3.put("ITAXUNITPRICE",orderDataItem2.get("iTaxUnitPrice"));//原币含税单价(如果传空,取来源单据)(以含税单价为准自动计算相关价格及金额)
@@ -975,6 +981,10 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					mapItem3.put("SOAUTOIDCOL","ISOSID");//来源单据明细ID对应字段名(如果取销售订单主键,需传固定值ISOSID)
 					mapItem3.put("AUTOID_SO",orderDataItem2.get("iSOsID"));//来源单据明细ID
 					mapt.put("poid", orderDataItem2.get("id"));
+				}else if(mapt.get("account").equals("903")) {
+					throw new JeecgBootException(mapt.get("account")+"账套,委外订单子表行id"+mapItem.get("AUTOID_PO")+"的isosid为空");
+				}else if(mapt.get("account").equals("902")) {
+					throw new JeecgBootException(mapt.get("account")+"账套,委外订单子表行id"+mapItem.get("AUTOID_PO")+"的isosid为空");
 				}
 				//}
 
@@ -1059,19 +1069,6 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			mapt.put("itemSort",mapSort);
 		}
 
-		/*if(true){
-			text(mapList,"采购入库单");
-			if(mapList2!=null&&mapList2.size()>0){
-				text(mapList2,"核销出库单");
-				text(mapList7,"印厂采购入库单");
-			}
-			text(mapList3,"销售发货单");
-			text(mapList4,"销售出库单");
-			text(mapList5,"采购发票单");
-			text(mapList6,"销售发票单");
-			return "";
-		}*/
-
 		text(mapList,"采购入库单");
 		text(mapList3,"销售发货单");
 		text(mapList5,"采购发票单");

+ 1 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/controller/SyPackingListTailoringController.java

@@ -1374,4 +1374,5 @@ public class SyPackingListTailoringController {
 		 result.setResult(jsonArray2);
 		 return  result;
 	 }
+
 }