소스 검색

资金模块-解决业务逻辑问题

huangx 7 년 전
부모
커밋
066d17a003

+ 3 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/CustomerServiceImpl.java

@@ -306,6 +306,9 @@ public class CustomerServiceImpl extends CommonBaseServiceImpl<CustomerMapper, C
         subledger.setCompanyId(BaseContextHolder.getCompanyId());
         subledger.setSl_date(DateUtils.getFirstDay(customer.getCu_begindate()));
         subledger.setSl_ym(DateUtils.getYm(customer.getCu_begindate()));
+        subledger.setCreateTime(new Date());
+        subledger.setCreatorId(BaseContextHolder.getUserId());
+        subledger.setCreatorName(BaseContextHolder.getUserName());
         if (amount > new Double(0)){
             subledger.setSl_amount(amount);
         }else {

+ 3 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/VendorServiceImpl.java

@@ -276,6 +276,9 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
         }
         subledger.setSl_orderamount(Math.abs(amount));
         subledger.setSl_namount(Math.abs(amount));
+        subledger.setCreateTime(new Date());
+        subledger.setCreatorId(BaseContextHolder.getUserId());
+        subledger.setCreatorName(BaseContextHolder.getUserName());
         Long sl_id = subledgerMapper.selectByKindCodeVendid("期初余额","期初余额",
                 Math.toIntExact(main.getId()),BaseContextHolder.getCompanyId(),YM);
 

+ 1 - 1
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/VerificationMapper.java

@@ -37,7 +37,7 @@ public interface VerificationMapper extends CommonBaseMapper<Verification> {
 
     String selectCodeById(Long id);
 
-    String validateResAudit(Long id);
+    String validateResAudit(@Param("id") Long id);
 
     int validateSetAcount(@Param("detno") int detno,@Param("companyid")Long companyid);
 }

+ 2 - 5
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthreceiptsServiceImpl.java

@@ -433,11 +433,8 @@ public class OthreceiptsServiceImpl extends CommonBaseServiceImpl<OthreceiptsMap
             banksubledger.setBl_income(othreceiptsdetail.getOrd_nowbalance());
             banksubledger.setBl_remark(othreceiptsdetail.getOrd_remark());
             banksubledger.setBl_orderamount(othreceiptsdetail.getOrd_nowbalance());
-            if (banksubledgerMapper.selectCode(banksubledger.getBl_code()) == null){
-                banksubledgerMapper.insertSelective(banksubledger);
-            }else {
-                banksubledgerMapper.updateByPrimaryKeySelective(banksubledger);
-            }
+            banksubledger.setBl_item(othreceiptsdetail.getOrd_type());
+            banksubledgerMapper.insertSelective(banksubledger);
         }
     }
 

+ 2 - 5
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthspendingsServiceImpl.java

@@ -428,11 +428,8 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
             banksubledger.setBl_income(othspendingsdetail.getOsd_nowbalance());
             banksubledger.setBl_remark(othspendingsdetail.getOsd_remark());
             banksubledger.setBl_orderamount(othspendingsdetail.getOsd_nowbalance() * -1);
-            if (banksubledgerMapper.selectCode(banksubledger.getBl_code()) == null){
-                banksubledgerMapper.insertSelective(banksubledger);
-            }else {
-                banksubledgerMapper.updateByPrimaryKeySelective(banksubledger);
-            }
+            banksubledger.setBl_item(othspendingsdetail.getOsd_type());
+            banksubledgerMapper.insertSelective(banksubledger);
         }
     }
 

+ 8 - 31
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/PaybalanceServiceImpl.java

@@ -173,22 +173,6 @@ public class PaybalanceServiceImpl extends CommonBaseServiceImpl<PaybalanceMappe
                 }
             }
         }
-        //付款金额合计
-        Double amountTotal = new Double(0);
-        for (Paybalancedet det: paybalancedet) {
-            amountTotal = amountTotal + det.getPd_amount();
-        }
-        //更新本次预付款金额
-        Paybalance updatePay = new Paybalance();
-        updatePay.setId(paybalance.getId());
-
-        //折扣
-        Double discounts = paybalance.getPb_discounts();
-        if(discounts == null){
-            discounts = 0.0;
-        }
-        updatePay.setPb_preamount(amountTotal + discounts - nowbalanceTotal);
-        paybalanceMapper.updateByPrimaryKeySelective(updatePay);
     }
 
     @Override
@@ -562,19 +546,19 @@ public class PaybalanceServiceImpl extends CommonBaseServiceImpl<PaybalanceMappe
         subledger.setSl_ym(DateUtils.getYm(paybalance.getPb_date()));
         Double pdamount = paybalance.getPb_pdamount()==null?new Double(0):paybalance.getPb_pdamount();
         Double preamount = paybalance.getPb_preamount()==null?new Double(0):paybalance.getPb_preamount();
-        Double pbdamount = new Double(0);
-        subledger.setSl_amount(-pdamount);
-        subledger.setSl_yamount(preamount);
+        Double pbdamount = paybalance.getPb_pbdamount()==null?new Double(0):paybalance.getPb_pbdamount();
+        subledger.setSl_amount(-pbdamount);
         subledger.setSl_orderamount(pdamount);
 
         if(preamount!=0){
-            pbdamount = paybalance.getPb_pbdamount()==null?new Double(0):paybalance.getPb_pbdamount();
+            subledger.setSl_yamount(pbdamount);
+            subledger.setSl_namount(pdamount-pbdamount);
+        }else{
+            subledger.setSl_yamount(new Double(0));
+            subledger.setSl_namount(pdamount);
         }
-        subledger.setSl_namount(pdamount-pbdamount);
         subledger.setSl_remark(subledger.getSl_remark());
         subledger.setSl_preamount(preamount);
-
-
         subledgerMapper.insertSelective(subledger);
     }
 
@@ -605,14 +589,7 @@ public class PaybalanceServiceImpl extends CommonBaseServiceImpl<PaybalanceMappe
             banksubledger.setBl_manname(paybalance.getPb_manname());
             banksubledger.setBl_remark(paybalancedet.getPd_remark());
             banksubledger.setBl_orderamount(paybalancedet.getPd_amount() * -1);
-
-            List<String> bankList = banksubledgerMapper.selectCode(banksubledger.getBl_code());
-            if (bankList.size() == 0){
-                banksubledgerMapper.insertSelective(banksubledger);
-            }else {
-                banksubledgerMapper.updateByPrimaryKeySelective(banksubledger);
-            }
-
+            banksubledgerMapper.insertSelective(banksubledger);
         }
     }
 

+ 17 - 30
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/RecbalanceServiceImpl.java

@@ -21,6 +21,7 @@ import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.utils.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 
 import java.util.Date;
@@ -53,6 +54,7 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
     private CommonService commonService;
 
     @Override
+    @Transactional
     public DocBaseDTO insert(Rec rec) {
         Recbalance recbalance = rec.getMain();
         List<Recbalancedet> recbalancedet = rec.getItems1();
@@ -164,32 +166,17 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
             }
         }
         //不能选择重复的源单
-        for  ( int  i  =   0 ; i  <  recbalancedetail.size()  -   1 ; i ++ )  {
-            for  ( int  j  =  recbalancedetail.size()  -   1 ; j  >  i; j -- )  {
-                if  (recbalancedetail.get(j).getRbd_slcode().equals(recbalancedetail.get(i).getRbd_slcode()))  {
+        for  ( int  i  =   0 ; i  <  recbalancedetail.size()  -   1 ; i ++ ) {
+            for (int j = recbalancedetail.size() - 1; j > i; j--) {
+                if (recbalancedetail.get(j).getRbd_slcode().equals(recbalancedetail.get(i).getRbd_slcode())) {
                     throw new BizException(500, BizExceptionCode.PAYBALANCE_UNIQUESOURCECODE.getMessage());
                 }
             }
         }
-        //付款金额合计
-        Double amountTotal = new Double(0);
-        for (Recbalancedet det: recbalancedet) {
-            amountTotal = amountTotal + det.getRd_amount();
-        }
-        //更新本次预付款金额
-        Recbalance updatePay = new Recbalance();
-        updatePay.setId(recbalance.getId());
-
-        //折扣
-        Double discount = recbalance.getRb_discounts();
-        if (discount == null){
-            discount = 0.0;
-        }
-        updatePay.setRb_preamount(amountTotal + discount - nowbalanceTotal);
-        recbalanceMapper.updateByPrimaryKeySelective(updatePay);
     }
 
     @Override
+    @Transactional
     public void delete(int id) {
         DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
 
@@ -214,6 +201,7 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
     }
 
     @Override
+    @Transactional
     public void deleteItem(int id) {
         DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
         recbalancedetMapper.deleteItem(id);
@@ -223,6 +211,7 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
     }
 
     @Override
+    @Transactional
     public void deleteItems(int id) {
         DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
         recbalancedetailMapper.deleteItem(id);
@@ -232,6 +221,7 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
     }
 
     @Override
+    @Transactional
     public DocBaseDTO audit(Rec rec) {
         Long companyId = BaseContextHolder.getCompanyId();
         Recbalance recbalance = rec.getMain();
@@ -566,15 +556,17 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
         subledger.setSl_ym(DateUtils.getYm(recbalance.getRb_date()));
         Double rdamount = recbalance.getRb_rdamount()==null?new Double(0):recbalance.getRb_rdamount();
         Double preamount = recbalance.getRb_preamount()==null?new Double(0):recbalance.getRb_preamount();
-        Double pbdamount = new Double(0);
-        subledger.setSl_amount(-rdamount);
-        subledger.setSl_yamount(preamount);
+        Double rbdamount = recbalance.getRb_rbdamount()==null?new Double(0):recbalance.getRb_rbdamount();
+        subledger.setSl_amount(-rbdamount);
         subledger.setSl_orderamount(rdamount);
 
         if(preamount!=0){
-            pbdamount = recbalance.getRb_rbdamount()==null?new Double(0):recbalance.getRb_rbdamount();
+            subledger.setSl_yamount(rbdamount);
+            subledger.setSl_namount(rdamount-rbdamount);
+        }else{
+            subledger.setSl_yamount(new Double(0));
+            subledger.setSl_namount(rdamount);
         }
-        subledger.setSl_namount(rdamount-pbdamount);
         subledger.setSl_remark(subledger.getSl_remark());
         subledger.setSl_preamount(preamount);
 
@@ -609,12 +601,7 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
             banksubledger.setBl_manname(recbalance.getRb_manname());
             banksubledger.setBl_remark(recbalancedet.getRd_remark());
             banksubledger.setBl_orderamount(amount);
-            if (banksubledgerMapper.selectCode(banksubledger.getBl_code()) == null){
-                banksubledgerMapper.insertSelective(banksubledger);
-            }else {
-                banksubledgerMapper.updateByPrimaryKeySelective(banksubledger);
-            }
-
+            banksubledgerMapper.insertSelective(banksubledger);
         }
     }
     private DocBaseDTO getBaseDTOById(Long id) {

+ 10 - 2
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/VerificationServiceImpl.java

@@ -21,6 +21,7 @@ import com.usoftchina.saas.money.po.*;
 import com.usoftchina.saas.money.service.VerificationService;
 import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.utils.BeanMapper;
+import com.usoftchina.saas.utils.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
@@ -291,6 +292,7 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
         subledger.setSl_yamount(new Double(0));
         subledger.setSl_remark(verification.getVc_remark());
         subledger.setSl_discount(new Double(0));
+        subledger.setSl_ym(DateUtils.getYm(verification.getVc_date()));
         if(kind.equals("receipts_offset_receivable") || kind.equals("prepaid_offset_payable")){
             subledger.setSl_preamount(-amount1);
         }else{
@@ -789,6 +791,9 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
         //更新存在字段
         verificationMapper.updateByPrimaryKeySelective(verification);
 
+        subledgerMapper.deleteByPrimaryKey(nowverification.getVc_code(),nowverification.getVc_kind(),
+                BaseContextHolder.getCompanyId());
+
         //更新出入库状态
         this.updateProdInoutStatus(id);
 
@@ -977,7 +982,7 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
             Long id = docBaseDTO.getId();
 
             //更新客户或者供应商的金额
-            Verification nowverification = verificationMapper.selectByPrimaryKey(id);
+            Verification nowverification = verificationMapper.selectByPrimaryKey(Math.toIntExact(id));
             VerificationDTO verificationDTO = BeanMapper.map(nowverification,VerificationDTO.class);
             updateAuditCustomer(verificationDTO);
             updateAuditVendor(verificationDTO);
@@ -1018,7 +1023,7 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
             Long id = docBaseDTO.getId();
 
             //更新客户或者供应商的金额
-            Verification nowverification = verificationMapper.selectByPrimaryKey(id);
+            Verification nowverification = verificationMapper.selectByPrimaryKey(Math.toIntExact(id));
             VerificationDTO verificationDTO = BeanMapper.map(nowverification,VerificationDTO.class);
             updateResAuditCustomer(verificationDTO);
             updateResAuditVendor(verificationDTO);
@@ -1046,6 +1051,9 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
             verification.setUpdateTime(new Date());
             verificationMapper.updateByPrimaryKeySelective(verification);
 
+            subledgerMapper.deleteByPrimaryKey(nowverification.getVc_code(),nowverification.getVc_kind(),
+                    BaseContextHolder.getCompanyId());
+
             this.updateProdInoutStatus(id);
         }
     }

+ 8 - 1
applications/money/money-server/src/main/resources/mapper/BanksubledgerMapper.xml

@@ -109,7 +109,7 @@
     </select>
     <delete id="deleteByPrimaryKey">
     delete from banksubledger
-    where bl_id = #{code,jdbcType=VARCHAR} and bl_kind = #{kind, jdbcType=VARCHAR}
+    where bl_code = #{code,jdbcType=VARCHAR} and bl_kind = #{kind, jdbcType=VARCHAR}
     and companyid = #{companyid}
   </delete>
     <delete id="deleteByExample" parameterType="com.usoftchina.saas.money.po.BanksubledgerExample">
@@ -448,4 +448,11 @@
     where bk_bankcode = #{bankcode,jdbcType=VARCHAR} and companyId = #{companyId}
   </select>
 
+    <select id="checkbankSubledgerExist" resultType="java.lang.Integer">
+        select count(1) from banksubledger where bl_kind = #{bl_kind} and
+        bl_code= #{bl_code} and companyid = #{companyid} and bl_bankid= #{bl_bankid}
+    </select>
+
+
+
 </mapper>

+ 1 - 1
applications/money/money-server/src/main/resources/mapper/VerificationMapper.xml

@@ -593,7 +593,7 @@
   <select id="selectCodeById" resultType="string" parameterType="java.lang.Long">
     select vc_code from Verification where vc_id=#{id}
   </select>
-  <select id="validateResAudit" parameterType="long" resultType="java.lang.String">
+  <select id="validateResAudit"  resultType="java.lang.String">
     select vc_code from Verification where vc_id = #{id} and IFNULL(vc_statuscode,'UNAUDITED')='UNAUDITED'
   </select>
 

+ 2 - 0
frontend/saas-web/app/view/money/payBalance/FormPanelController.js

@@ -210,6 +210,8 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
         var sum_pbd_nowbalance = store2.sum('pbd_nowbalance'); // 本次核销金额合计
 
         var flag = sum_pd_amount + pb_discounts - sum_pbd_nowbalance;
+         viewModel.set("pb_pbdamount",sum_rbd_nowbalance);
+         viewModel.set("pb_pdamount",sum_rd_amount);
          viewModel.set("pb_preamount",flag);
         if(flag != 0) {
             var t = flag > 0 ? '大' : '小';

+ 3 - 0
frontend/saas-web/app/view/money/recBalance/FormPanelController.js

@@ -207,6 +207,9 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
         var sum_rbd_nowbalance = store2.sum('rbd_nowbalance'); // 本次核销金额合计
 
         var flag = sum_rd_amount + rb_discounts - sum_rbd_nowbalance;
+        viewModel.set("rb_rbdamount",sum_rbd_nowbalance);
+        viewModel.set("rb_rdamount",sum_rd_amount);
+        viewModel.set("rb_preamount",sum_rd_amount-sum_rbd_nowbalance);
 
         viewModel.set("rb_preamount",flag);
         if(flag != 0) {