瀏覽代碼

Merge branch 'master' of http://git.ds-bay.com/project/kmall-pt-general

zcb 4 年之前
父節點
當前提交
1e41319ad1

+ 9 - 15
kmall-admin/src/main/java/com/kmall/admin/Test.java

@@ -34,20 +34,14 @@ import java.util.Map;
  */
 public class Test {
     public static void main(String[] args) {
-        BigDecimal actualPaymentAmount = new BigDecimal("64.15"); //随便拿一个门店的当前时间的价格,如果有活动价会使用活动价
-        GoodsEntity goodsEntity = new GoodsEntity();
-        goodsEntity.setHsCode("3307900000");
-        goodsEntity.setHsCodeName("其他编号未列名的芳香料制品(包括化妆盥洗品)");
-        goodsEntity.setImpConsumTaxRate(new BigDecimal("0"));
-        goodsEntity.setValueAddedTaxRate(new BigDecimal("13"));
-        goodsEntity.setLegalUnit2Qty(new BigDecimal("0"));
-        goodsEntity.setLegalUnit1Qty(new BigDecimal("0.1"));
-        goodsEntity.setSku("ISZWCW47250");
-        goodsEntity.setCosmThresholdValue(null);
-
-        BigDecimal calculateTax = CalculateTax.calculateTax(goodsEntity, actualPaymentAmount);// 税费
-        BigDecimal goodsRate = calculateTax.divide(actualPaymentAmount,4,BigDecimal.ROUND_HALF_UP);
-        System.out.println(calculateTax);
-        System.out.println(goodsRate);
+        String result = HttpUtil.get("https://oms.ds-bay.com/oms-controller-mgt/pdProductRecord/hsCodeMapBySkuList?skuList=ISZWCW48781");
+        Map<String,Map> map = JSON.parseObject(result, Map.class);
+        System.out.println(map);
+        Map skuMap =  map.get("ISZWCW48781");
+        System.out.println(skuMap);
+        String cusGoodsName = (String) skuMap.get("cusGoodsName");
+        System.out.println(cusGoodsName);
+        String valueAddedTaxRate = (String) skuMap.get("valueAddedTaxRate");
+        System.out.println(valueAddedTaxRate);
     }
 }

+ 3 - 4
kmall-admin/src/main/java/com/kmall/admin/controller/OrderController.java

@@ -1312,10 +1312,9 @@ public class OrderController {
                     // 设置综合税额
                     BigDecimal totalSalesIncTax = new BigDecimal(systemFormat.getTotalSalesInclTax());
                     BigDecimal taxRate = new BigDecimal(systemFormat.getTaxRate());
-                    systemFormat.setTaxAmount(totalSalesIncTax.multiply(taxRate).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
-                    // 设置商品销售额(税前)
-                    BigDecimal taxAmount = new BigDecimal(systemFormat.getTaxAmount());
-                    systemFormat.setSales(totalSalesIncTax.subtract(taxAmount).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
+                    systemFormat.setSales(totalSalesIncTax.divide(new BigDecimal(1).add(taxRate),4,RoundingMode.HALF_UP).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
+                    systemFormat.setTaxAmount(totalSalesIncTax.subtract(new BigDecimal(systemFormat.getSales())).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
+
                     // 设置实际销售额
                     BigDecimal unitSold = new BigDecimal(systemFormat.getUnitSold());
                     systemFormat.setCurrentPrice(totalSalesIncTax.divide(unitSold,2,BigDecimal.ROUND_HALF_UP).setScale(2,BigDecimal.ROUND_HALF_UP).toEngineeringString());

+ 14 - 14
kmall-admin/src/main/java/com/kmall/admin/service/impl/GoodsServiceImpl.java

@@ -1816,27 +1816,27 @@ public class GoodsServiceImpl implements GoodsService {
             Map<String,Map> map = JSON.parseObject(result, Map.class);
 
             for (String sku : skuList) {
-                Map<String,String> skuInfoMap = map.get(sku);
+                Map skuInfoMap = map.get(sku);
                 if (Objects.nonNull(skuInfoMap)){
-                    String hsCodeName = skuInfoMap.get("cusGoodsName");
-                    String hsCode = skuInfoMap.get("cusGoodsCode");
-                    String impConsumTaxRate = skuInfoMap.get("impConsumTaxRate");
-                    String valueAddedTaxRate = skuInfoMap.get("valueAddedTaxRate");
-                    String legalUnit1Qty = skuInfoMap.get("legalUnit1Qty");
-                    String legalUnit2Qty = skuInfoMap.get("legalUnit2Qty");
-                    String cosmThresholdValue = skuInfoMap.get("cosmThresholdValue");
-                    if (StringUtils.isNotEmpty(hsCodeName) && StringUtils.isNotEmpty(hsCode) && StringUtils.isNotEmpty(impConsumTaxRate) && StringUtils.isNotEmpty(valueAddedTaxRate)){
+                    String hsCodeName = (String) skuInfoMap.get("cusGoodsName");
+                    String hsCode = (String) skuInfoMap.get("cusGoodsCode");
+                    BigDecimal impConsumTaxRate = (BigDecimal) skuInfoMap.get("impConsumTaxRate");
+                    BigDecimal valueAddedTaxRate = (BigDecimal) skuInfoMap.get("valueAddedTaxRate");
+                    BigDecimal legalUnit1Qty = (BigDecimal) skuInfoMap.get("legalUnit1Qty");
+                    BigDecimal legalUnit2Qty = (BigDecimal) skuInfoMap.get("legalUnit2Qty");
+                    BigDecimal cosmThresholdValue = (BigDecimal) skuInfoMap.get("cosmThresholdValue");
+                    if (StringUtils.isNotEmpty(hsCodeName) && StringUtils.isNotEmpty(hsCode)){
                         List<GoodsEntity> goodsEntityList = goodsDao.queryListBySku(sku);
                         if (Objects.nonNull(goodsEntityList) && goodsEntityList.size()>0){
                             for (GoodsEntity goodsEntity : goodsEntityList) {
                                 goodsEntity.setHsCode(hsCode);
                                 goodsEntity.setHsCodeName(hsCodeName);
-                                goodsEntity.setImpConsumTaxRate(new BigDecimal(impConsumTaxRate));
-                                goodsEntity.setValueAddedTaxRate(new BigDecimal(valueAddedTaxRate));
+                                goodsEntity.setImpConsumTaxRate(impConsumTaxRate);
+                                goodsEntity.setValueAddedTaxRate(valueAddedTaxRate);
                                 goodsEntity.setIsSyncHsCode("1");
-                                goodsEntity.setLegalUnit1Qty(new BigDecimal(legalUnit1Qty));
-                                goodsEntity.setLegalUnit2Qty(new BigDecimal(legalUnit2Qty));
-                                goodsEntity.setCosmThresholdValue(new BigDecimal(cosmThresholdValue));
+                                goodsEntity.setLegalUnit1Qty(legalUnit1Qty);
+                                goodsEntity.setLegalUnit2Qty(legalUnit2Qty);
+                                goodsEntity.setCosmThresholdValue(cosmThresholdValue);
                                 goodsDao.update(goodsEntity);
                             }
                         }