Browse Source

[CODE]: 入库收付款校验:数量单价金额;提交生成业务编码、存货编码

maxianghua 4 years ago
parent
commit
72902b9de3

+ 49 - 7
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.*;
 
 /**
@@ -63,6 +64,10 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     @Autowired
     private TWarehousebillsitemsMapper tWarehousebillsitemsMapper;
 
+    @Autowired
+    private BillnoSerialServiceImpl billnoSerialServiceImpl;
+
+
 
     /**
      * 查询详情主表
@@ -229,10 +234,15 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             warehouseBills.setCreateBy(loginUser.getUser().getUserName());
             warehouseBills.setfBilltype(billsType);
             warehouseBills.setfBsdeptid(loginUser.getUser().getDeptId());
-            warehouseBills.setfBillstatus("T");
             // 提交时:  生流水号
             if(warehouseBills.getfBillstatus().equals("1")){
-
+                // 业务编码
+                String billNo= billnoSerialServiceImpl.getBillNo("SJRK",warehouseBills.getfBsdate());
+                warehouseBills.setfBillno(billNo);
+                // 存货编码
+                Date time = new Date();
+                String bscorpno= billnoSerialServiceImpl.getCorpNo(warehouseBills.getfCorpid(),time);
+                warehouseBills.setfBscorpno(bscorpno);
             }
             tWarehouseBillsMapper.insertTWarehousebills(warehouseBills);
             fPid=warehouseBills.getfId();
@@ -291,17 +301,29 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             }
         }
         //  附件添加
-
+        if (tWhgenleg != null) {
+            JSONArray jsonDrArray = JSONArray.parseArray(tWhgenleg);
+            List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonDrArray.toJSONString(), TEnclosure.class);
+            for (TEnclosure tEnclosure : tEnclosureList) {
+                tEnclosure.setfPid(fPid);
+                tEnclosure.setCreateBy(loginUser.getUser().getUserName());
+                tEnclosure.setCreateTime(new Date());
+                tEnclosureMapper.insertTEnclosure(tEnclosure);
+            }
+        }
         // 收款明细添加
         if (tWarehousebillsfeesDr != null) {
             JSONArray jsonDrArray = JSONArray.parseArray(tWarehousebillsfeesDr);
             List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsfees.class);
             for (TWarehousebillsfees wbDr : warehousebillsfeesDrList) {
                 // 检验  数量*单价=金额
-                wbDr.getfQty();
-                wbDr.getfUnitprice();
-
-
+                if(wbDr.getfQty()!=null && ! wbDr.getfQty().equals("")
+                        && wbDr.getfUnitprice()!=null && ! wbDr.getfUnitprice().equals("")  ){
+                    BigDecimal fqty = wbDr.getfQty();
+                    BigDecimal funitprice = wbDr.getfUnitprice();
+                    Long result=check(fqty,funitprice);
+                    wbDr.setfAmount(result);
+                }
                 wbDr.setfPid(fPid);
                 wbDr.setfDc("D");
                 wbDr.setCreateBy(loginUser.getUser().getUserName());
@@ -314,6 +336,14 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesCr);
             List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
             for (TWarehousebillsfees wbCr : warehousebillsfeesCrList) {
+                // 检验  数量*单价=金额
+                if(wbCr.getfQty()!=null && ! wbCr.getfQty().equals("")
+                        && wbCr.getfUnitprice()!=null && ! wbCr.getfUnitprice().equals("")  ){
+                    BigDecimal fqty = wbCr.getfQty();
+                    BigDecimal funitprice = wbCr.getfUnitprice();
+                    Long result=check(fqty,funitprice);
+                    wbCr.setfAmount(result);
+                }
                 wbCr.setfPid(fPid);
                 wbCr.setfDc("C");
                 wbCr.setCreateBy(loginUser.getUser().getUserName());
@@ -332,6 +362,18 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         return AjaxResult.success();
     }
 
+    // 入库 收费明细 校验
+    public Long check (BigDecimal number ,BigDecimal unitPrice){
+        BigDecimal result1 =  number.multiply(unitPrice);
+        // 保留两位小数且四舍五入
+        result1 = result1.setScale(2, BigDecimal.ROUND_HALF_UP);
+        // 转换去掉小数点
+        String result=result1.toString().replace(".","");
+        return Long.valueOf(result);
+    }
+
+
+
     /**
      * 修改详情主表
      *