|
@@ -2523,7 +2523,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
System.out.println("账套号 "+account+" 结算单JSON "+jsonArrays2);
|
|
System.out.println("账套号 "+account+" 结算单JSON "+jsonArrays2);
|
|
|
if (jsonArrays2.size()>0){
|
|
if (jsonArrays2.size()>0){
|
|
|
JSONArray resturnJsonArrays2 = InterfaceConnUtils.doPost(jsonArrays2,"purchasesettle_import");//结算单
|
|
JSONArray resturnJsonArrays2 = InterfaceConnUtils.doPost(jsonArrays2,"purchasesettle_import");//结算单
|
|
|
- Map<String,String> codeMaps3 = result(resturnJsonArrays2,"结算单","101");
|
|
|
|
|
|
|
+ Map<String,String> codeMaps3 = result(resturnJsonArrays2,"结算单",account);
|
|
|
|
|
|
|
|
for (String code1 : codeMaps.keySet()){
|
|
for (String code1 : codeMaps.keySet()){
|
|
|
List<SyPackingListTailoring> listFabricList=codeMaps.get(code1);
|
|
List<SyPackingListTailoring> listFabricList=codeMaps.get(code1);
|
|
@@ -2644,10 +2644,10 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
}
|
|
}
|
|
|
JSONArray jsonArrays=new JSONArray();
|
|
JSONArray jsonArrays=new JSONArray();
|
|
|
List<Object> autoIds=new ArrayList<>();
|
|
List<Object> autoIds=new ArrayList<>();
|
|
|
|
|
+ BigDecimal dzMoney=new BigDecimal("0");//正确发票金额
|
|
|
|
|
+ BigDecimal u8Money=new BigDecimal("0");//传过去的金额
|
|
|
for (SyPackingListTailoringItem item : listFabricItems){
|
|
for (SyPackingListTailoringItem item : listFabricItems){
|
|
|
JSONObject jsonObject=new JSONObject();
|
|
JSONObject jsonObject=new JSONObject();
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
jsonObject.put("IQUANTITY",item.getTotal());//净重
|
|
jsonObject.put("IQUANTITY",item.getTotal());//净重
|
|
|
jsonObject.put("size",item.getSize());
|
|
jsonObject.put("size",item.getSize());
|
|
|
jsonObject.put("CINVCODE",item.getInventoryCode());//存货编码
|
|
jsonObject.put("CINVCODE",item.getInventoryCode());//存货编码
|
|
@@ -2657,6 +2657,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
item.setMemo("TC证书");
|
|
item.setMemo("TC证书");
|
|
|
}
|
|
}
|
|
|
jsonObject.put("CBMEMO",item.getMemo());//备注
|
|
jsonObject.put("CBMEMO",item.getMemo());//备注
|
|
|
|
|
+ BigDecimal itaxunitprice=new BigDecimal("0");
|
|
|
for (Map<String,Object> map : invoices){
|
|
for (Map<String,Object> map : invoices){
|
|
|
if(Double.parseDouble(map.get("iQuantity").toString())==Double.parseDouble(jsonObject.get("IQUANTITY").toString())&&
|
|
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())
|
|
map.get("cInvCode").toString().equalsIgnoreCase(item.getInventoryCode()) &&map.get("cFree2").equals(item.getSize())
|
|
@@ -2675,9 +2676,12 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
BigDecimal unitPrice=new BigDecimal(map.get("iTaxUnitPrice").toString());
|
|
BigDecimal unitPrice=new BigDecimal(map.get("iTaxUnitPrice").toString());
|
|
|
jsonObject.put("ITAXUNITPRICE",unitPrice.multiply(item.getAccountPrice()));//改成使用报关单价*成衣参考单价
|
|
jsonObject.put("ITAXUNITPRICE",unitPrice.multiply(item.getAccountPrice()));//改成使用报关单价*成衣参考单价
|
|
|
}
|
|
}
|
|
|
|
|
+ itaxunitprice=new BigDecimal(oConvertUtils.getString(jsonObject.get("ITAXUNITPRICE")));
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ dzMoney=dzMoney.add(itaxunitprice.multiply(item.getTotal()));//非两位数
|
|
|
|
|
+ u8Money=u8Money.add(itaxunitprice.multiply(item.getTotal()).setScale(2,BigDecimal.ROUND_HALF_UP));//两位数
|
|
|
|
|
|
|
|
BigDecimal total=new BigDecimal(oConvertUtils.getString(item.getTotal()));//数量
|
|
BigDecimal total=new BigDecimal(oConvertUtils.getString(item.getTotal()));//数量
|
|
|
BigDecimal nflat=new BigDecimal(oConvertUtils.getString(jsonObject1.get("IEXCHRATE")));//汇率
|
|
BigDecimal nflat=new BigDecimal(oConvertUtils.getString(jsonObject1.get("IEXCHRATE")));//汇率
|
|
@@ -2687,22 +2691,22 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
if (order.get("iTaxRate")!=null){
|
|
if (order.get("iTaxRate")!=null){
|
|
|
taxrate=Double.parseDouble(order.get("iTaxRate").toString());
|
|
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);//税额
|
|
|
|
|
|
|
+ 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("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("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",syPackingListTailoringMapper.getUnit(item.getInventoryCode()));//报关单位
|
|
@@ -2712,11 +2716,32 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
jsonObject.put("CWHCODE",syPackingListFabricItemMapper.getVencode(item.getSupplier()));//获取仓库编码
|
|
jsonObject.put("CWHCODE",syPackingListFabricItemMapper.getVencode(item.getSupplier()));//获取仓库编码
|
|
|
jsonArrays.add(jsonObject);
|
|
jsonArrays.add(jsonObject);
|
|
|
}
|
|
}
|
|
|
|
|
+ System.out.println("dzMoney\t"+dzMoney);
|
|
|
|
|
+ System.out.println("u8Money\t"+u8Money);
|
|
|
|
|
+ if(dzMoney.compareTo(u8Money)!=0){
|
|
|
|
|
+ BigDecimal dividePrice=dzMoney.subtract(u8Money);
|
|
|
|
|
+ BigDecimal ioriMoney=new BigDecimal(jsonArrays.getJSONObject(jsonArrays.size()-1).get("ISUM").toString());
|
|
|
|
|
+ BigDecimal ioriMoney2=new BigDecimal(jsonArrays.getJSONObject(jsonArrays.size()-1).get("IMONEY").toString());
|
|
|
|
|
+// jsonObject.put("IMONEY", oConvertUtils.getString(totalIoricost.setScale(2,RoundingMode.HALF_UP)));//原币无税金额
|
|
|
|
|
+// jsonObject.put("ITAX", oConvertUtils.getString(taxrate2.setScale(2,RoundingMode.HALF_UP)));//原币税额
|
|
|
|
|
+
|
|
|
|
|
+ jsonArrays.getJSONObject(jsonArrays.size()-1).put("MCPRICE","1");
|
|
|
|
|
+ System.out.println("价税合计a\t"+jsonArrays.getJSONObject(jsonArrays.size()-1).get("ISUM").toString());
|
|
|
|
|
+ System.out.println("无税金额a\t"+jsonArrays.getJSONObject(jsonArrays.size()-1).get("IMONEY").toString());
|
|
|
|
|
+
|
|
|
|
|
+ jsonArrays.getJSONObject(jsonArrays.size()-1).put("ISUM",ioriMoney.add(dividePrice).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
|
|
+ jsonArrays.getJSONObject(jsonArrays.size()-1).put("IMONEY",ioriMoney2.add(dividePrice).setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
|
|
+
|
|
|
|
|
+ System.out.println("价税合计b\t"+jsonArrays.getJSONObject(jsonArrays.size()-1).get("ISUM").toString());
|
|
|
|
|
+ System.out.println("无税金额b\t"+jsonArrays.getJSONObject(jsonArrays.size()-1).get("IMONEY").toString());
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
jsonObject1.put("DETAILList",jsonArrays);
|
|
jsonObject1.put("DETAILList",jsonArrays);
|
|
|
jsonArrays1.add(jsonObject1);
|
|
jsonArrays1.add(jsonObject1);
|
|
|
}
|
|
}
|
|
|
|
|
+ System.out.println("销售发票jsonArrays1\t"+jsonArrays1);
|
|
|
text(jsonArrays1,"测试合并推送成衣销售发票");
|
|
text(jsonArrays1,"测试合并推送成衣销售发票");
|
|
|
- JSONArray resturnJsonArrays = InterfaceConnUtils.doPost(jsonArrays1,"saleinvoice_import");//销售发-票单
|
|
|
|
|
|
|
+ /*JSONArray resturnJsonArrays = InterfaceConnUtils.doPost(jsonArrays1,"saleinvoice_import");//销售发-票单
|
|
|
Map<String,String> codeMaps2 = result(resturnJsonArrays,"销售发票",account);
|
|
Map<String,String> codeMaps2 = result(resturnJsonArrays,"销售发票",account);
|
|
|
for (String code1 : codeMaps.keySet()){
|
|
for (String code1 : codeMaps.keySet()){
|
|
|
List<SyPackingListTailoring> listTailoringList=codeMaps.get(code1);
|
|
List<SyPackingListTailoring> listTailoringList=codeMaps.get(code1);
|
|
@@ -2739,7 +2764,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
+ }*/
|
|
|
return "推送成功";
|
|
return "推送成功";
|
|
|
}
|
|
}
|
|
|
|
|
|