huxy 1 день назад
Родитель
Сommit
f55c4d406a

+ 73 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/controller/SyShippingOrderController.java

@@ -46,6 +46,7 @@ import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetailsItem;
 import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrder;
 import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem;
 import org.jeecg.modules.documents.syShippingOrder.entity.VO.SyPackingList;
+import org.jeecg.modules.documents.syShippingOrder.mapper.SyShippingOrderItemMapper;
 import org.jeecg.modules.documents.syShippingOrder.mapper.SyShippingOrderMapper;
 import org.jeecg.modules.documents.syShippingOrder.service.ISyShippingOrderService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -57,8 +58,10 @@ import org.jeecg.modules.documents.syShippingOrder.service.impl.SyShippingOrderI
 import org.jeecg.modules.documents.syShippingOrder.tool.TopinYin;
 import org.jeecg.modules.spapl.entity.SizeTable;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem;
+import org.jeecg.modules.splfi.controller.SyPackingListFabricController;
 import org.jeecg.modules.splfi.entity.SyPackingListFabricItem;
 import org.jeecg.modules.splfi.service.impl.SyPackingListFabricItemServiceImpl;
+import org.jeecg.modules.splt.controller.SyPackingListTailoringController;
 import org.jeecg.modules.splt.entity.SyPackingListTailoringItem;
 import org.jeecg.modules.splt.mapper.SyPackingListTailoringItemMapper;
 import org.jeecg.modules.splt.service.impl.SyPackingListTailoringItemServiceImpl;
@@ -106,7 +109,12 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 	 private SyPackingListFabricItemServiceImpl syPackingListFabricItemService;
 	 @Autowired
 	 private SyPackingListTailoringItemServiceImpl syPackingListTailoringItemService;
-
+	 @Autowired
+	 private SyShippingOrderItemMapper syShippingOrderItemMapper;
+	 @Autowired
+	 private SyPackingListFabricController syPackingListFabricController;
+	 @Autowired
+	 private SyPackingListTailoringController syPackingListTailoringController;
 	
 	/**
 	 * 分页列表查询
@@ -218,8 +226,70 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 
 		return result;
 	}
-	
-	/**
+
+	 @AutoLog(value = "调试接口-月底同步结算单")
+	 @ApiOperation(value="调试接口-月底同步结算单", notes="调试接口-月底同步结算单")
+	 @GetMapping(value = "/pushPurchasesettle")
+	 public Result pushPurchasesettle(String ids){
+		 Result result=new Result();
+		 try {
+			 QueryWrapper<SyShippingOrder> queryWrapper= new QueryWrapper();
+			 queryWrapper.eq("del_flag","0");
+			 System.out.println("ids");
+			 if (ids==null||ids.length()==0){
+				 queryWrapper.apply(" create_time>DATE_SUB(NOW(), INTERVAL 1 MONTH) ");
+				 queryWrapper.notLike("time_mesage","结算单");
+			 }else{
+				 queryWrapper.in("ID",Arrays.asList(ids.split(",")));
+			 }
+			 System.out.println("ids\t"+Arrays.asList(ids));
+			 List<SyShippingOrder> orderList=syShippingOrderMapper.selectList(queryWrapper);
+			 UpdateWrapper updateWrapper=new UpdateWrapper();
+			 List<String> orderIds=new ArrayList<>();
+			 for (SyShippingOrder order : orderList){
+				 orderIds.add(order.getId());
+			 }
+			 if(orderIds.size()>0){
+				 updateWrapper.in("id",orderIds);
+				 updateWrapper.set("time_Stuta","5");
+				 syShippingOrderMapper.update(null,updateWrapper);
+			 }
+			 for (SyShippingOrder order : orderList){
+				 order.setFailMesage("");
+				 Map<String,Object> codeMaps=new HashMap<>();
+				 codeMaps.put("time_Stuta",3);//默认为失败 清空所有失败记录就算成功
+				 codeMaps.put("message","");//推送成功消息
+				 codeMaps.put("error","");//成功
+				 codeMaps.put("isAhaa",order.getIsAhaa());//成功
+				 if(order.getReadyFabric().equals("成衣")){
+					 syPackingListTailoringController.pushInvoice(order.getId(),codeMaps);
+				 }else{
+					 syPackingListFabricController.pushInvoice(order.getId(),codeMaps);
+				 }
+				 order.setTimeStuta(Integer.parseInt(codeMaps.get("time_Stuta").toString()));
+				 if(codeMaps.get("message").toString().length()>2){
+					 String names=codeMaps.get("message").toString();
+					 order.setTimeMesage(names.substring(1,names.length()-1));
+					 UpdateWrapper updateWrapper2=new UpdateWrapper();
+					 updateWrapper2.in("sy_shipping_order_item_id",order.getId());
+					 updateWrapper2.set("push_srm_state","0");//成功推送就回写成0
+					 syShippingOrderItemMapper.update(null,updateWrapper2);
+				 }
+				 if(codeMaps.get("error").toString().length()>2){
+					 String names=codeMaps.get("error").toString();
+					 order.setFailMesage(names.substring(1,names.length()-1));
+				 }
+				 syShippingOrderMapper.updateById(order);
+			 }
+			 System.out.println("orderList\t"+orderList.size());
+		 }catch (Exception ex){
+			 log.error("托书批量推送U8任务异常",ex);
+		 }
+		 return result;
+	 }
+
+
+	 /**
 	 * 添加
 	 *
 	 * @param syShippingOrder

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

@@ -628,6 +628,9 @@ public class SyPackingListFabricController implements Job {
 			 List<String> errors=new ArrayList<>();
 			 for (SyPackingListFabric fabric : listFabrics1){
 				 if(fabric.getSaleInvoiceError()!=null&&fabric.getSaleInvoiceError().length()>1){
+					 if(fabric.getSaleInvoiceError().indexOf("结算单")>-1){
+						 fabric.setTimeStuta(2);
+					 }
 					 fabric.setTimeStuta(3);
 					 errors.add(fabric.getSaleInvoiceError());
 				 }else{
@@ -643,6 +646,9 @@ public class SyPackingListFabricController implements Job {
 				 if(fabric.getSaleInvoiceError()!=null&&fabric.getSaleInvoiceError().length()>1){
 					 fabric.setTimeStuta(3);
 					 errors.add(fabric.getSaleInvoiceError());
+					 if(fabric.getSaleInvoiceError().indexOf("结算单")>-1){
+						 fabric.setTimeStuta(2);
+					 }
 				 }else{
 					 fabric.setTimeStuta(2);
 				 }

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

@@ -3169,6 +3169,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					JSONObject  jsonObject1=new JSONObject();
 					jsonObject1.put("CACCID","101");
 					jsonObject1.put("CMAKER","进出口平台管理员");
+					jsonObject1.put("CSVMEMO",syPackingListFabric.getShippingOrderNumber());
 					jsonObject1.put("CVOUCHCODE_U8",documentNo);
 					jsonObject1.put("DDATE",syPackingListFabric.getTheFinalShippingDate().substring(0,10));
 					jsonArrays2.add(jsonObject1);
@@ -3677,6 +3678,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					JSONObject  jsonObject1=new JSONObject();
 					jsonObject1.put("CACCID","101");
 					jsonObject1.put("CMAKER","进出口平台管理员");
+					jsonObject1.put("CSVMEMO",syPackingListFabric.getShippingOrderNumber());
 					jsonObject1.put("CVOUCHCODE_U8",documentNo);
 					jsonObject1.put("DDATE",syPackingListFabric.getTheFinalShippingDate().substring(0,10));
 					jsonArrays2.add(jsonObject1);

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

@@ -45,12 +45,16 @@ 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.shippingDetails.entity.VO.RespUpdateVO;
+import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrder;
 import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem;
+import org.jeecg.modules.documents.syShippingOrder.mapper.SyShippingOrderItemMapper;
+import org.jeecg.modules.documents.syShippingOrder.mapper.SyShippingOrderMapper;
 import org.jeecg.modules.spapl.entity.SizeTable;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingList;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem;
 import org.jeecg.modules.spapl.service.ISyPreAssembledPackingListService;
 import org.jeecg.modules.spapl.vo.SyPreAssembledPackingListVo;
+import org.jeecg.modules.splfi.controller.SyPackingListFabricController;
 import org.jeecg.modules.splfi.entity.SyPackingListFabric;
 import org.jeecg.modules.splfi.entity.SyPackingListFabricItem;
 import org.jeecg.modules.splfi.service.ISyPackingListFabricService;
@@ -2256,6 +2260,9 @@ public class SyPackingListTailoringController implements Job {
 				 if(tailoring.getSaleInvoiceError()!=null&&tailoring.getSaleInvoiceError().length()>1){
 					 errors.add(tailoring.getSaleInvoiceError());
 					 tailoring.setTimeStuta(3);
+					 if(tailoring.getSaleInvoiceError().indexOf("结算单")>-1){
+						 tailoring.setTimeStuta(2);
+					 }
 				 }else{
 					 tailoring.setTimeStuta(2);
 				 }

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

@@ -2314,36 +2314,36 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 						jsonObject.put("IORIMONEY",item.getTotal().multiply(u8Price).setScale(2, RoundingMode.HALF_UP));//改成使用报关单价*成衣参考单价
 
 
-//						BigDecimal total=new BigDecimal(oConvertUtils.getString(item.getTotal()));//数量
-//						BigDecimal nflat=new BigDecimal(oConvertUtils.getString(jsonObject1.get("IEXCHRATE")));//汇率
-//						BigDecimal taxPrice=new BigDecimal(oConvertUtils.getString(u8Price));//原币含税单价
-//						BigDecimal totalPrice=total.multiply(taxPrice).setScale(2,RoundingMode.HALF_UP);//含税单价*入库数量=总价
-//						BigDecimal itaxrate=new BigDecimal("1.13");//税率
-//						if (account.equals("101")){
-//							itaxrate=new BigDecimal("1");//税率
-//						}
-//						BigDecimal ioricost=taxPrice.divide(itaxrate,4, RoundingMode.HALF_UP);//原币无税单价
-//						BigDecimal totalIoricost=totalPrice.divide(itaxrate,2,RoundingMode.HALF_UP);//原币无税金额
-//						BigDecimal taxrate2=totalPrice.subtract(totalIoricost);//税额
+						BigDecimal total=new BigDecimal(oConvertUtils.getString(item.getTotal()));//数量
+						BigDecimal nflat=new BigDecimal(oConvertUtils.getString(jsonObject1.get("IEXCHRATE")));//汇率
+						BigDecimal taxPrice=new BigDecimal(oConvertUtils.getString(u8Price));//原币含税单价
+						BigDecimal totalPrice=total.multiply(taxPrice).setScale(2,RoundingMode.HALF_UP);//含税单价*入库数量=总价
+						BigDecimal itaxrate=new BigDecimal("1.13");//税率
+						if (account.equals("101")){
+							itaxrate=new BigDecimal("1");//税率
+						}
+						BigDecimal ioricost=taxPrice.divide(itaxrate,4, RoundingMode.HALF_UP);//原币无税单价
+						BigDecimal totalIoricost=totalPrice.divide(itaxrate,2,RoundingMode.HALF_UP);//原币无税金额
+						BigDecimal taxrate2=totalPrice.subtract(totalIoricost);//税额
 //
 //						jsonObject.put("MCPRICE","1");//不自动计算金额
 //						//原币
-//						jsonObject.put("IORITAXCOST",oConvertUtils.getString(taxPrice.setScale(4,RoundingMode.HALF_UP)));//原币含税单价
-//						jsonObject.put("IORICOST",oConvertUtils.getString(ioricost.setScale(4,RoundingMode.HALF_UP)));//原币无税单价
-//						jsonObject.put("IORIMONEY",oConvertUtils.getString(totalIoricost.setScale(2,RoundingMode.HALF_UP)));//原币无税金额
-//						jsonObject.put("IORISUM",oConvertUtils.getString(totalPrice.setScale(2,RoundingMode.HALF_UP)));//原币含税金额
-//						jsonObject.put("IORITAXPRICE",oConvertUtils.getString(taxrate2.setScale(2,RoundingMode.HALF_UP)));//原币税额
+						jsonObject.put("IORITAXCOST",oConvertUtils.getString(taxPrice.setScale(4,RoundingMode.HALF_UP)));//原币含税单价
+						jsonObject.put("IORICOST",oConvertUtils.getString(ioricost.setScale(4,RoundingMode.HALF_UP)));//原币无税单价
+						jsonObject.put("IORIMONEY",oConvertUtils.getString(totalIoricost.setScale(2,RoundingMode.HALF_UP)));//原币无税金额
+						jsonObject.put("IORISUM",oConvertUtils.getString(totalPrice.setScale(2,RoundingMode.HALF_UP)));//原币含税金额
+						jsonObject.put("IORITAXPRICE",oConvertUtils.getString(taxrate2.setScale(2,RoundingMode.HALF_UP)));//原币税额
 ////						System.out.println("taxPrice\t"+taxPrice.setScale(2,RoundingMode.HALF_UP)
 ////								+"\tioricost\t"+ioricost.setScale(2,RoundingMode.HALF_UP)
 ////								+"\ttotalIoricost\t"+totalIoricost.setScale(2,RoundingMode.HALF_UP)
 ////								+"\ttotalPrice\t"+totalPrice.setScale(2,RoundingMode.HALF_UP)
 ////								+"\ttaxrate2\t"+taxrate2.setScale(2,RoundingMode.HALF_UP));
 //						//本币
-//						jsonObject.put("INATTAXPRICE",oConvertUtils.getString(taxPrice.multiply(nflat).setScale(4,RoundingMode.HALF_UP)));//本币含税单价
-//						jsonObject.put("ICOST",oConvertUtils.getString(ioricost.multiply(nflat).setScale(4,RoundingMode.HALF_UP)));//本币无税单价
-//						jsonObject.put("IMONEY",oConvertUtils.getString(totalIoricost.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币金额
-//						jsonObject.put("ITAXPRICE",oConvertUtils.getString(taxrate2.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币税额
-//						jsonObject.put("ISUM",oConvertUtils.getString(totalPrice.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币含税金额
+						jsonObject.put("INATTAXPRICE",oConvertUtils.getString(taxPrice.multiply(nflat).setScale(4,RoundingMode.HALF_UP)));//本币含税单价
+						jsonObject.put("ICOST",oConvertUtils.getString(ioricost.multiply(nflat).setScale(4,RoundingMode.HALF_UP)));//本币无税单价
+						jsonObject.put("IMONEY",oConvertUtils.getString(totalIoricost.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币金额
+						jsonObject.put("ITAXPRICE",oConvertUtils.getString(taxrate2.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币税额
+						jsonObject.put("ISUM",oConvertUtils.getString(totalPrice.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币含税金额
 //						System.out.println("1taxPrice\t"+taxPrice.multiply(nflat).setScale(2,RoundingMode.HALF_UP)
 //								+"\t1ioricost\t"+ioricost.multiply(nflat).setScale(2,RoundingMode.HALF_UP)
 //								+"\t1totalIoricost\t"+totalIoricost.multiply(nflat).setScale(2,RoundingMode.HALF_UP)
@@ -2364,19 +2364,20 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 				jsonObject.put("CDEFINE33",item.getDeclarationName());//存货名称
 				jsonArrays.add(jsonObject);
 			}
-//			dzMoney=dzMoney.setScale(2, RoundingMode.HALF_UP);
-//			dzUsdMoney=dzUsdMoney.setScale(2, RoundingMode.HALF_UP);
-//			System.out.println("dzMoney\t"+dzMoney);
-//			System.out.println("u8Money\t"+u8Money);
-//			System.out.println("dzUsdMoney\t"+dzUsdMoney);
-//			System.out.println("u8UsdMoney\t"+u8UsdMoney);
-//			if(dzMoney.compareTo(u8Money)!=0){
-//				BigDecimal dividePrice =dzMoney.subtract(u8Money);
-//				BigDecimal ioriMoney=new BigDecimal(jsonArrays.getJSONObject(jsonArrays.size()-1).get("IORIMONEY").toString());
-////				System.out.println("dividePrice\t"+dividePrice);
-////				System.out.println("ioriMoney\t"+ioriMoney);
-//				jsonArrays.getJSONObject(jsonArrays.size()-1).put("IORIMONEY",ioriMoney.add(dividePrice));
-//			}
+			dzMoney=dzMoney.setScale(2, RoundingMode.HALF_UP);
+			dzUsdMoney=dzUsdMoney.setScale(2, RoundingMode.HALF_UP);
+			System.out.println("dzMoney\t"+dzMoney);
+			System.out.println("u8Money\t"+u8Money);
+			System.out.println("dzUsdMoney\t"+dzUsdMoney);
+			System.out.println("u8UsdMoney\t"+u8UsdMoney);
+			if(dzMoney.compareTo(u8Money)!=0){
+				BigDecimal dividePrice =dzMoney.subtract(u8Money);
+				BigDecimal ioriMoney=new BigDecimal(jsonArrays.getJSONObject(jsonArrays.size()-1).get("IORIMONEY").toString());
+//				System.out.println("dividePrice\t"+dividePrice);
+//				System.out.println("ioriMoney\t"+ioriMoney);
+				jsonArrays.getJSONObject(jsonArrays.size()-1).put("MCPRICE","1");//不自动计算金额
+				jsonArrays.getJSONObject(jsonArrays.size()-1).put("IORIMONEY",ioriMoney.add(dividePrice));
+			}
 //			jsonObject.put("IORIMONEY",item.getUnitPrice());//金额
 			jsonObject1.put("DETAILList",jsonArrays);
 			if (syPackingListTailoring.getOmpoAccount().equals(account) && maps.get("isAhaa").toString().equals("国内") ){//国内托书的初始账套不进行推送
@@ -2425,6 +2426,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 					JSONObject  jsonObject=(JSONObject)j;
 					JSONObject  jsonObject1=new JSONObject();
 					jsonObject1.put("CACCID",account);
+					jsonObject1.put("CSVMEMO",listTailorings.get(0).getShippingOrderNumber());
 					jsonObject1.put("CMAKER","进出口平台管理员");
 					jsonObject1.put("CVOUCHCODE_U8",jsonObject.get("CVOUCHCODE"));
 					jsonObject1.put("DDATE",jsonObject.get("DDATE"));
@@ -2454,8 +2456,6 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 					}
 				}
 			}
-
-
 		}
 		return "推送成功";
 	}
@@ -2510,6 +2510,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 					JSONObject  jsonObject1=new JSONObject();
 					jsonObject1.put("CACCID",account);
 					jsonObject1.put("CMAKER","进出口平台管理员");
+					jsonObject1.put("CSVMEMO",packingListTailoring.getShippingOrderNumber());
 					jsonObject1.put("CVOUCHCODE_U8",documentNo);
 					jsonObject1.put("DDATE",packingListTailoring.getTheFinalShippingDate().substring(0,10));
 					jsonArrays2.add(jsonObject1);