huxy 6 giorni fa
parent
commit
8f9756f180

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

@@ -3362,7 +3362,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 						fabric.setSaleInvoiceCode(fabric.getSaleInvoiceCode()+";"+codeMaps2.get(code1));
 					}
 				}
-				if (codeMaps3.get(code1).indexOf("失败")>-1){
+				if (codeMaps3.get(code1).indexOf("失败")>-1|| codeMaps3.get(code1).indexOf("未结账")>-1){
 					if(fabric.getSaleInvoiceError()==null){
 						fabric.setSaleInvoiceError(codeMaps3.get(code1));
 					}else{
@@ -3634,7 +3634,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			for (String code1 : codeMaps.keySet()){
 				List<SyPackingListFabric> listFabricList=codeMaps.get(code1);
 				for (SyPackingListFabric fabric : listFabricList){
-					if (codeMaps3.get(code1).indexOf("失败")>-1){
+					if (codeMaps3.get(code1).indexOf("失败")>-1|| codeMaps3.get(code1).indexOf("未结账")>-1){
 						if(fabric.getSaleInvoiceError()==null){
 							fabric.setSaleInvoiceError(codeMaps3.get(code1));
 						}else{

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

@@ -2140,7 +2140,8 @@ public class SyPackingListTailoringController implements Job {
 					codeMaps.put("error","需要装箱单全部推送成功,才能推送发票");//失败信息
 					return "需要装箱单全部推送成功,才能推送发票";
 				}
-				tailoring.setSaleInvoiceError("");
+				 tailoring.setSaleInvoiceError2(tailoring.getSaleInvoiceError());
+				 tailoring.setSaleInvoiceError("");
 				////System.out.println("madate\t"+mapdate);
 				if(mapdate!=null){
 					if(mapdate.containsKey("e1")&&mapdate.get("e1")!=null) {

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/entity/SyPackingListTailoring.java

@@ -297,6 +297,11 @@ public class SyPackingListTailoring implements Serializable {
 	@ApiModelProperty(value = "记录销售发票单推送报错原因")
 	private String saleInvoiceError;
 
+	@Excel(name = "记录销售发票单推送报错原因", width = 15)
+	@ApiModelProperty(value = "记录销售发票单推送报错原因")
+	@TableField(exist = false)
+	private String saleInvoiceError2;
+
 	/**定时状态*/
 	@Excel(name = "定时状态", width = 15)
 	@ApiModelProperty(value = "定时状态")

+ 58 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/service/impl/SyPackingListTailoringServiceImpl.java

@@ -2177,6 +2177,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 		List<String> codes=getList(listTailorings,account,maps.get("isAhaa").toString());//获取出库单号
 //		System.out.println("account   "+account+"   入库单codes  "+codes);
 		if(codes.size()==0){
+			getList4(listTailorings);//获取入库单号
 			return "无可推送数据!";
 		}
 		Map<String,List<String>> customers=getSuppliers(listTailorings);//key:供应商编码,value:出库单单据号
@@ -2437,7 +2438,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 					List<SyPackingListTailoring> listTailoringList=codeMaps.get(code1);
 					for (SyPackingListTailoring tailoring : listTailoringList){
 						tailoring.setRdrecord32Code(null);
-						if (codeMaps3.get(code1).indexOf("失败")>-1){
+						if (codeMaps3.get(code1).indexOf("失败")>-1|| codeMaps3.get(code1).indexOf("未结账")>-1){
 							if(tailoring.getSaleInvoiceError()==null){
 								tailoring.setSaleInvoiceError(codeMaps3.get(code1));
 							}else{
@@ -2468,6 +2469,62 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 		}
 	}
 
+	public List<String> getList4(List<SyPackingListTailoring> listFabrics){
+		List<String> ids=new ArrayList<>();//获取出库单号
+		JSONArray jsonArrays2=new JSONArray();
+		Map<String,List<SyPackingListTailoring>> codeMaps=new HashMap<>();//key:传入销售发票单id,value:主表数据
+		for (SyPackingListTailoring packingListTailoring : listFabrics){
+			String code=packingListTailoring.getSaleInvoiceCode();
+			String error=packingListTailoring.getSaleInvoiceError2();
+			System.out.println("code\t"+code);
+			System.out.println("error\t"+error);
+			if(code!=null&&code.indexOf("101采购发票")>-1&&code.indexOf("101结算单")==-1&&error!=null &&error.indexOf("结算单")>-1){
+				String documentNo=code.substring(code.indexOf("101采购发票单号")+9,code.indexOf("101采购发票单号")+20);
+				if (!ids.contains(documentNo)){
+					List<SyPackingListTailoring> fabricList=new ArrayList<>();
+					fabricList.add(packingListTailoring);
+					codeMaps.put(documentNo,fabricList);
+					ids.add(documentNo);
+					JSONObject  jsonObject1=new JSONObject();
+					jsonObject1.put("CACCID","101");
+					jsonObject1.put("CMAKER","进出口平台管理员");
+					jsonObject1.put("CVOUCHCODE_U8",documentNo);
+					jsonObject1.put("DDATE",packingListTailoring.getTheFinalShippingDate().substring(0,10));
+					jsonArrays2.add(jsonObject1);
+				}else{
+					List<SyPackingListTailoring> fabricList=codeMaps.get(documentNo);
+					fabricList.add(packingListTailoring);
+					codeMaps.put(documentNo,fabricList);
+				}
+			}
+		}
+		if (jsonArrays2.size()>0){
+			JSONArray resturnJsonArrays2 = InterfaceConnUtils.doPost(jsonArrays2,"purchasesettle_import");//结算单
+			Map<String,String> codeMaps3 = result(resturnJsonArrays2,"结算单","101");
+
+			for (String code1 : codeMaps.keySet()){
+				List<SyPackingListTailoring> listFabricList=codeMaps.get(code1);
+				for (SyPackingListTailoring fabric : listFabricList){
+					if (codeMaps3.get(code1).indexOf("失败")>-1){
+						if(fabric.getSaleInvoiceError()==null){
+							fabric.setSaleInvoiceError(codeMaps3.get(code1));
+						}else{
+							fabric.setSaleInvoiceError(fabric.getSaleInvoiceError()+";"+codeMaps3.get(code1));
+						}
+					}else{
+						if(fabric.getSaleInvoiceCode()==null){
+							fabric.setSaleInvoiceCode(codeMaps3.get(code1));
+						}else{
+							fabric.setSaleInvoiceCode(fabric.getSaleInvoiceCode()+";"+codeMaps3.get(code1));
+						}
+					}
+				}
+			}
+		}
+		return ids;
+	}
+
+
 	/**
 	 * 銷售發票 销售发票
 	 * @param listTailorings