Explorar el Código

Merge remote-tracking branch 'origin/dev_huangjunjie'

yz hace 5 días
padre
commit
2dc9841606

+ 13 - 4
src/main/java/com/jsh/erp/service/impl/DepotHeadServiceImpl.java

@@ -1213,6 +1213,8 @@ public class DepotHeadServiceImpl extends ServiceImpl<DepotHeadMapper, DepotHead
             /**入库和出库处理单据子表信息*/
             depotItemService.saveDetials(rows,headId, "add",request);
         }
+        //修改订单总额
+        updateTotalPriceById(list.get(0));
         logService.insertLog("单据",
                 new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_ADD).append(depotHead.getNumber()).toString(),
                 ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest());
@@ -1329,10 +1331,12 @@ public class DepotHeadServiceImpl extends ServiceImpl<DepotHeadMapper, DepotHead
         }
         /**入库和出库处理单据子表信息*/
         depotItemService.saveDetials(rows,depotHead.getId(), "update",request);
-        //处理实际入库数量价格总额
+        //修改订单总额
 //        if (depotHead.getSubType().equals("采购") || depotHead.getSubType().equals("销售")){
 //            updateTotalPriceById(depotHead);
 //        }
+
+        updateTotalPriceById(depotHead);
         logService.insertLog("单据",
                 new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_EDIT).append(depotHead.getNumber()).toString(),
                 ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest());
@@ -2046,6 +2050,7 @@ public class DepotHeadServiceImpl extends ServiceImpl<DepotHeadMapper, DepotHead
             depotItem.setWarehousingUser(user.getId());
             //基本单位数量*单价
             depotItem.setAllPrice(depotItem.getBasicNumber().multiply(depotItem.getUnitPrice()));
+            depotItem.setTaxMoney(depotItem.getBasicNumber().multiply(depotItem.getTaxRate()));
             //单价总额 + 税额
             depotItem.setTaxLastMoney(depotItem.getAllPrice().add(depotItem.getTaxMoney()));
             //添加单据子表
@@ -2077,18 +2082,22 @@ public class DepotHeadServiceImpl extends ServiceImpl<DepotHeadMapper, DepotHead
      */
     private void updateTotalPriceById(DepotHead depotHead) throws Exception {
         BigDecimal sum = BigDecimal.ZERO;
-        if (depotHead.getSubType().equals("采购") || depotHead.getSubType().equals("销售") ){
             //获取单据子表
             List<DepotItem> list = depotItemService.getListByHeaderId(depotHead.getId());
             for (DepotItem depotItem : list) {
-                sum = sum.add(depotItem.getTaxLastMoney());
+                if (depotItem.getTaxLastMoney() != null){
+                    sum = sum.add(depotItem.getTaxLastMoney());
+                }else {
+                    sum = sum.add(depotItem.getAllPrice());
+                }
+
             }
             BigDecimal totalPrice = sum;
             if (depotHead.getTotalPrice().compareTo(BigDecimal.ZERO) < 0){
                 totalPrice = totalPrice.negate();
             }
             this.update(new UpdateWrapper<DepotHead>().set("total_price",totalPrice).set("change_amount",totalPrice).set("discount_last_money",sum).eq("id",depotHead.getId()));
-        }
+
     }
 
 }

+ 6 - 2
src/main/java/com/jsh/erp/service/impl/DepotItemServiceImpl.java

@@ -780,15 +780,19 @@ public class DepotItemServiceImpl extends ServiceImpl<DepotItemMapper, DepotItem
                 //税率
                 if (StringUtil.isExist(rowObj.get("taxRate"))) {
                     depotItem.setTaxRate(rowObj.getBigDecimal("taxRate"));
+                    //金额*税率
+                    depotItem.setTaxLastMoney(depotItem.getAllPrice().multiply(depotItem.getTaxRate()).divide(new BigDecimal("100"),2,BigDecimal.ROUND_HALF_UP));
                 }
                 //税额
                 if (StringUtil.isExist(rowObj.get("taxMoney"))) {
-                    depotItem.setTaxMoney(rowObj.getBigDecimal("taxMoney"));
+                    //depotItem.setTaxMoney(rowObj.getBigDecimal("taxMoney"));
+
                 }
                 //价税合计
                 if (StringUtil.isExist(rowObj.get("taxLastMoney"))) {
                     //单价总额 + 税额
-                    depotItem.setTaxLastMoney(rowObj.getBigDecimal("taxLastMoney"));
+                    //depotItem.setTaxLastMoney(rowObj.getBigDecimal("taxLastMoney"));
+                    depotItem.setTaxLastMoney(depotItem.getAllPrice().add(depotItem.getTaxLastMoney() == null ? BigDecimal.ZERO : depotItem.getTaxLastMoney()));
                 }
                 if (StringUtil.isExist(rowObj.get("mType"))) {
                     depotItem.setMaterialType(rowObj.getString("mType"));