Sfoglia il codice sorgente

出运明细调整、装箱单推送发票调整

huxy 6 giorni fa
parent
commit
d7555939df

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/controller/SyShippingDetailsController.java

@@ -481,7 +481,7 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 			 strList.add(str);
 		 }
 		 QueryWrapper<SyShippingDetailsItem> syShippingDetailsItemQueryWrapper = new QueryWrapper<SyShippingDetailsItem>();
-		 syShippingDetailsItemQueryWrapper.in("id",strList).eq("del_flag",0);
+		 syShippingDetailsItemQueryWrapper.in("id",strList).eq("del_flag",0).orderByAsc("sy_order_data_item_id");
 		 List<SyShippingDetailsItem> syShippingDetailsItemList = syShippingDetailsItemService.list(syShippingDetailsItemQueryWrapper);
 		 if(syShippingDetailsItemList.size()!=0){
 			 syShippingDetails.setSyShippingDetailsItemList(syShippingDetailsItemList);

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

@@ -1845,6 +1845,33 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					mapItem6.put("ITAXUNITPRICE",item.getPrice());//改成使用报关单价
 				}
 
+				BigDecimal total=new BigDecimal(oConvertUtils.getString(mapItem5.get("IQUANTITY")));//数量
+				BigDecimal nflat=new BigDecimal(oConvertUtils.getString(map5.get("IEXCHRATE")));//汇率
+				BigDecimal taxPrice=new BigDecimal(oConvertUtils.getString(item.getPrice()));//原币含税单价
+
+				BigDecimal totalPrice=total.multiply(taxPrice).setScale(2,RoundingMode.HALF_UP);//含税单价*入库数量=总价
+				BigDecimal 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);//税额
+
+				mapItem5.put("MCPRICE","1");//不自动计算金额
+				//原币
+				mapItem5.put("IORITAXCOST", oConvertUtils.getString(taxPrice.setScale(4,RoundingMode.HALF_UP)));//原币含税单价
+				mapItem5.put("IORICOST", oConvertUtils.getString(ioricost.setScale(4,RoundingMode.HALF_UP)));//原币无税单价
+				mapItem5.put("IORIMONEY", oConvertUtils.getString(totalIoricost.setScale(2,RoundingMode.HALF_UP)));//原币无税金额
+				mapItem5.put("IORISUM", oConvertUtils.getString(totalPrice.setScale(2,RoundingMode.HALF_UP)));//原币含税金额
+				mapItem5.put("IORITAXPRICE", oConvertUtils.getString(taxrate2.setScale(2,RoundingMode.HALF_UP)));//原币税额
+
+				//本币
+				mapItem5.put("INATTAXPRICE", oConvertUtils.getString(taxPrice.multiply(nflat).setScale(4,RoundingMode.HALF_UP)));//本币含税单价
+				mapItem5.put("ICOST", oConvertUtils.getString(ioricost.multiply(nflat).setScale(4,RoundingMode.HALF_UP)));//本币无税单价
+				mapItem5.put("IMONEY", oConvertUtils.getString(totalIoricost.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币金额
+				mapItem5.put("ITAXPRICE", oConvertUtils.getString(taxrate2.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币税额
+				mapItem5.put("ISUM", oConvertUtils.getString(totalPrice.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币含税金额
+
+
 				mapItem5.put("CINVCODE",item.getInventoryCode());//存货编码
 
 				mapItem6.put("CINVCODE",item.getInventoryCode());//存货编码
@@ -2834,6 +2861,33 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 //					//System.out.println("tid\t"+item.getId());
 //					//System.out.println("tpid\t"+item.getSyPackingListFabricId());
 //				}
+
+
+				BigDecimal total=new BigDecimal(org.jeecg.common.util.oConvertUtils.getString(jsonObject.get("IQUANTITY")));//数量
+				BigDecimal nflat=new BigDecimal(org.jeecg.common.util.oConvertUtils.getString(jsonObject1.get("IEXCHRATE")));//汇率
+				BigDecimal taxPrice=new BigDecimal(org.jeecg.common.util.oConvertUtils.getString(jsonObject.get("ITAXUNITPRICE")));//原币含税单价
+				BigDecimal totalPrice=total.multiply(taxPrice).setScale(2, RoundingMode.HALF_UP);//含税单价*入库数量=总价
+				double taxrate=0;
+				if (order.get("iTaxRate")!=null){
+					taxrate=Double.parseDouble(order.get("iTaxRate").toString());
+				}
+				BigDecimal itaxrate=new BigDecimal((100.0+taxrate)/100).setScale(2, RoundingMode.HALF_UP);//税率
+				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("IUNITPRICE", org.jeecg.common.util.oConvertUtils.getString(ioricost.setScale(4,RoundingMode.HALF_UP)));//原币无税单价
+				jsonObject.put("ITAXUNITPRICE", org.jeecg.common.util.oConvertUtils.getString(taxPrice.setScale(4,RoundingMode.HALF_UP)));//原币含税单价
+				jsonObject.put("IMONEY", org.jeecg.common.util.oConvertUtils.getString(totalIoricost.setScale(2,RoundingMode.HALF_UP)));//原币无税金额
+				jsonObject.put("ITAX", org.jeecg.common.util.oConvertUtils.getString(taxrate2.setScale(2,RoundingMode.HALF_UP)));//原币税额
+				jsonObject.put("ISUM", org.jeecg.common.util.oConvertUtils.getString(totalPrice.setScale(2,RoundingMode.HALF_UP)));//原币价税合计
+
+				jsonObject.put("INATUNITPRICE", org.jeecg.common.util.oConvertUtils.getString(ioricost.multiply(nflat).setScale(4,RoundingMode.HALF_UP)));//本币无税单价
+				jsonObject.put("INATMONEY", org.jeecg.common.util.oConvertUtils.getString(totalIoricost.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币无税金额
+				jsonObject.put("INATTAX", org.jeecg.common.util.oConvertUtils.getString(taxrate2.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币税额
+				jsonObject.put("INATSUM", org.jeecg.common.util.oConvertUtils.getString(totalPrice.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币价税合计
+
 				if(item.getMasterMetering()!=null&&item.getMasterMetering().equals("KG")){
 					jsonObject.put("CDEFINE23","千克");//报关单位
 				}else if(item.getMasterMetering()!=null&&item.getMasterMetering().equals("M")){
@@ -3011,6 +3065,33 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 						break;
 					}
 				}
+
+
+				BigDecimal total=new BigDecimal(org.jeecg.common.util.oConvertUtils.getString(jsonObject.get("IQUANTITY")));//数量
+				BigDecimal nflat=new BigDecimal(org.jeecg.common.util.oConvertUtils.getString(jsonObject1.get("IEXCHRATE")));//汇率
+				BigDecimal taxPrice=new BigDecimal(org.jeecg.common.util.oConvertUtils.getString(item.getPrice()));//原币含税单价
+				BigDecimal totalPrice=total.multiply(taxPrice).setScale(2, RoundingMode.HALF_UP);//含税单价*入库数量=总价
+				double taxrate=0;
+				if (order.get("iTaxRate")!=null){
+					taxrate=Double.parseDouble(order.get("iTaxRate").toString());
+				}
+				BigDecimal itaxrate=new BigDecimal((100.0+taxrate)/100).setScale(2, RoundingMode.HALF_UP);//税率
+				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("IUNITPRICE", org.jeecg.common.util.oConvertUtils.getString(ioricost.setScale(4,RoundingMode.HALF_UP)));//原币无税单价
+				jsonObject.put("ITAXUNITPRICE", org.jeecg.common.util.oConvertUtils.getString(taxPrice.setScale(4,RoundingMode.HALF_UP)));//原币含税单价
+				jsonObject.put("IMONEY", org.jeecg.common.util.oConvertUtils.getString(totalIoricost.setScale(2,RoundingMode.HALF_UP)));//原币无税金额
+				jsonObject.put("ITAX", org.jeecg.common.util.oConvertUtils.getString(taxrate2.setScale(2,RoundingMode.HALF_UP)));//原币税额
+				jsonObject.put("ISUM", org.jeecg.common.util.oConvertUtils.getString(totalPrice.setScale(2,RoundingMode.HALF_UP)));//原币价税合计
+
+				jsonObject.put("INATUNITPRICE", org.jeecg.common.util.oConvertUtils.getString(ioricost.multiply(nflat).setScale(4,RoundingMode.HALF_UP)));//本币无税单价
+				jsonObject.put("INATMONEY", org.jeecg.common.util.oConvertUtils.getString(totalIoricost.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币无税金额
+				jsonObject.put("INATTAX", org.jeecg.common.util.oConvertUtils.getString(taxrate2.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币税额
+				jsonObject.put("INATSUM", org.jeecg.common.util.oConvertUtils.getString(totalPrice.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币价税合计
+
 				if(item.getMasterMetering()!=null&&item.getMasterMetering().equals("KG")){
 					jsonObject.put("CDEFINE23","千克");//报关单位
 				}else if(item.getMasterMetering()!=null&&item.getMasterMetering().equals("M")){
@@ -3179,10 +3260,44 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 						u8Money=u8Money.add(u8Price.multiply(iquantity).setScale(2, RoundingMode.HALF_UP));//单证合计
 						jsonObject.put("IORIMONEY",iquantity.multiply(u8Price).setScale(2, RoundingMode.HALF_UP));//改成使用报关单价*成衣参考单价
 						getcFree(jsonObject,map);
-						jsonObject.put("CDEFINE28",item.getSmallPo());//小po
+//						jsonObject.put("CDEFINE28",item.getSmallPo());//小po
 						break;
 					}
 				}
+
+				BigDecimal u8Price=new BigDecimal(jsonObject.get("IORITAXCOST").toString());
+				BigDecimal total=new BigDecimal(org.jeecg.common.util.oConvertUtils.getString(iquantity));//数量
+				BigDecimal nflat=new BigDecimal(org.jeecg.common.util.oConvertUtils.getString(jsonObject1.get("IEXCHRATE")));//汇率
+				BigDecimal taxPrice=new BigDecimal(org.jeecg.common.util.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", org.jeecg.common.util.oConvertUtils.getString(taxPrice.setScale(4,RoundingMode.HALF_UP)));//原币含税单价
+				jsonObject.put("IORICOST", org.jeecg.common.util.oConvertUtils.getString(ioricost.setScale(4,RoundingMode.HALF_UP)));//原币无税单价
+				jsonObject.put("IORIMONEY", org.jeecg.common.util.oConvertUtils.getString(totalIoricost.setScale(2,RoundingMode.HALF_UP)));//原币无税金额
+				jsonObject.put("IORISUM", org.jeecg.common.util.oConvertUtils.getString(totalPrice.setScale(2,RoundingMode.HALF_UP)));//原币含税金额
+				jsonObject.put("IORITAXPRICE", org.jeecg.common.util.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", org.jeecg.common.util.oConvertUtils.getString(taxPrice.multiply(nflat).setScale(4,RoundingMode.HALF_UP)));//本币含税单价
+				jsonObject.put("ICOST", org.jeecg.common.util.oConvertUtils.getString(ioricost.multiply(nflat).setScale(4,RoundingMode.HALF_UP)));//本币无税单价
+				jsonObject.put("IMONEY", org.jeecg.common.util.oConvertUtils.getString(totalIoricost.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币金额
+				jsonObject.put("ITAXPRICE", org.jeecg.common.util.oConvertUtils.getString(taxrate2.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币税额
+				jsonObject.put("ISUM", org.jeecg.common.util.oConvertUtils.getString(totalPrice.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币含税金额
+
+
 				jsonObject.put("CDEFINE23",item.getDeclarationUnit());//报关单位
 				jsonObject.put("CDEFINE33",item.getDeclarationName());//存货名称
 				jsonArrays.add(jsonObject);

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

@@ -2239,6 +2239,9 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 				}
 			}
 			jsonObject1.put("IEXCHRATE",orderData.get("nflat"));//汇率
+//			System.out.println("汇率1\t"+orderData.get("nflat"));
+//			orderData.put("nflat","7.0663");
+//			System.out.println("汇率2\t"+orderData.get("nflat"));
 			jsonObject1.put("CEXCH_NAME",orderData.get("cexchname"));//币种名称
 
 			if(!orderData.get("cexchname").equals("人民币")){//不为人民币
@@ -2262,6 +2265,8 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			List<Object> autoIds=new ArrayList<>();
 			BigDecimal dzMoney=new BigDecimal("0");//单证金额合计
 			BigDecimal u8Money=new BigDecimal("0");//u8金额合计
+			BigDecimal dzUsdMoney=new BigDecimal("0");//单证金额合计
+			BigDecimal u8UsdMoney=new BigDecimal("0");//u8美元金额合计
 			for (SyPackingListTailoringItem item : listTailoringItems){
 				JSONObject  jsonObject=new JSONObject();
 				jsonObject.put("IQUANTITY",item.getTotal());//净重
@@ -2272,7 +2277,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 				if (istc2!=null&&istc2.equals("1")){
 					item.setMemo("TC证书");
 				}
-				jsonObject.put("CBMEMO",item.getMemo());//备注
+				jsonObject.put("CBMEMO",item.getMemo());//备注 IORIMONEY
 				for (Map<String,Object> map : invoices){
 					if(Double.parseDouble(map.get("iQuantity").toString())==Double.parseDouble(jsonObject.get("IQUANTITY").toString())&&
 					   map.get("cInvCode").toString().equalsIgnoreCase(item.getInventoryCode())&&map.get("cFree2").equals(item.getSize())
@@ -2294,7 +2299,49 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 						BigDecimal u8Price=new BigDecimal(jsonObject.get("IORITAXCOST").toString());
 						dzMoney=dzMoney.add(item.getTotal().multiply(u8Price));//单证合计
 						u8Money=u8Money.add(u8Price.multiply(item.getTotal()).setScale(2, RoundingMode.HALF_UP));//单证合计
-						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);//税额
+
+						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)));//原币税额
+//						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)));//本币含税金额
+//						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)
+//								+"\t1totalPrice\t"+totalPrice.multiply(nflat).setScale(2,RoundingMode.HALF_UP)
+//								+"\t1taxrate2\t"+taxrate2.multiply(nflat).setScale(2,RoundingMode.HALF_UP));
+
+						u8UsdMoney=u8UsdMoney.add(totalIoricost.multiply(nflat).setScale(2,RoundingMode.HALF_UP));
+						dzUsdMoney=dzUsdMoney.add(totalIoricost.multiply(nflat));
+//						jsonObject.put("IORIMONEY",item.getTotal().multiply(u8Price).setScale(2, RoundingMode.HALF_UP));//改成使用报关单价*成衣参考单价
+
+
 						getcFree(jsonObject,map);
 //						jsonObject.put("CDEFINE28",item.getSmallPo());//小po
 						break;
@@ -2305,9 +2352,16 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 				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));
 			}
 //			jsonObject.put("IORIMONEY",item.getUnitPrice());//金额
@@ -2433,6 +2487,9 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			jsonObject1.put("IEXCHRATE",order.get("iExchRate"));//汇率
 			jsonObject1.put("CEXCH_NAME",order.get("cexch_name"));//币种名称
 			jsonObject1.put("ITAXRATE",order.get("iTaxRate"));//税率
+
+
+
 			if(account.equals("103")){
 				//jsonObject1.put("iTaxRate","13");//税率
 			}
@@ -2457,6 +2514,8 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			List<Object> autoIds=new ArrayList<>();
 			for (SyPackingListTailoringItem item : listFabricItems){
 				JSONObject  jsonObject=new JSONObject();
+
+
 				jsonObject.put("IQUANTITY",item.getTotal());//净重
 				jsonObject.put("size",item.getSize());
 				jsonObject.put("CINVCODE",item.getInventoryCode());//存货编码
@@ -2474,9 +2533,12 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 						jsonObject.put("AUTOID_DIS",map.get("AutoID"));
 						getcFree(jsonObject,map);
 //						jsonObject.put("CDEFINE28",item.getSmallPo());
+
+						jsonObject.put("ITAXUNITPRICE",item.getCustomsDeclarationUnitPrice());//改成使用报关单价
 						if(item.getAcSetNo().equals("102")&&account.equals("102")){
 							jsonObject.put("ITAXUNITPRICE",item.getCustomsDeclarationUnitPrice());//改成使用报关单价
 						}
+
 						if(item.getOmpoAccount().equals("103")&&account.equals("103")){
 							BigDecimal unitPrice=new BigDecimal(map.get("iTaxUnitPrice").toString());
 							jsonObject.put("ITAXUNITPRICE",unitPrice.multiply(item.getAccountPrice()));//改成使用报关单价*成衣参考单价
@@ -2484,6 +2546,33 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 						break;
 					}
 				}
+
+				BigDecimal total=new BigDecimal(oConvertUtils.getString(item.getTotal()));//数量
+				BigDecimal nflat=new BigDecimal(oConvertUtils.getString(jsonObject1.get("IEXCHRATE")));//汇率
+				BigDecimal taxPrice=new BigDecimal(oConvertUtils.getString(jsonObject.get("ITAXUNITPRICE")));//原币含税单价
+				BigDecimal totalPrice=total.multiply(taxPrice).setScale(2, RoundingMode.HALF_UP);//含税单价*入库数量=总价
+				double taxrate=0;
+				if (order.get("iTaxRate")!=null){
+					taxrate=Double.parseDouble(order.get("iTaxRate").toString());
+				}
+				BigDecimal itaxrate=new BigDecimal((100.0+taxrate)/100).setScale(2, RoundingMode.HALF_UP);//税率
+				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("IUNITPRICE", oConvertUtils.getString(ioricost.setScale(4,RoundingMode.HALF_UP)));//原币无税单价
+				jsonObject.put("ITAXUNITPRICE",oConvertUtils.getString(taxPrice.setScale(4,RoundingMode.HALF_UP)));//原币含税单价
+				jsonObject.put("IMONEY", oConvertUtils.getString(totalIoricost.setScale(2,RoundingMode.HALF_UP)));//原币无税金额
+				jsonObject.put("ITAX", oConvertUtils.getString(taxrate2.setScale(2,RoundingMode.HALF_UP)));//原币税额
+				jsonObject.put("ISUM", oConvertUtils.getString(totalPrice.setScale(2,RoundingMode.HALF_UP)));//原币价税合计
+
+				jsonObject.put("INATUNITPRICE",oConvertUtils.getString(ioricost.multiply(nflat).setScale(4,RoundingMode.HALF_UP)));//本币无税单价
+				jsonObject.put("INATMONEY",oConvertUtils.getString(totalIoricost.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币无税金额
+				jsonObject.put("INATTAX",oConvertUtils.getString(taxrate2.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币税额
+				jsonObject.put("INATSUM",oConvertUtils.getString(totalPrice.multiply(nflat).setScale(2,RoundingMode.HALF_UP)));//本币价税合计
+
+
 				//jsonObject.put("CDEFINE23",syPackingListTailoringMapper.getUnit(item.getInventoryCode()));//报关单位
 				jsonObject.put("CDEFINE23",item.getDeclarationUnit());//报关单位
 				jsonObject.put("CDEFINE31",item.getDeclarationName());//存货名称