소스 검색

应收应付导入修改

785834757 2 년 전
부모
커밋
339ccde9ec

+ 7 - 0
src/main/java/com/ydtech/modules/inv/controller/InvReceivableController.java

@@ -91,6 +91,13 @@ public class InvReceivableController extends BaseController {
         return HttpResult.ok(uploadUrl + "excel/" +fileName);
     }
 
+    @ApiOperation("应收导入新增")
+    @PostMapping("addReceivable")
+    public HttpResult addReceivable(@RequestBody InvSource invSource){
+        Boolean b = invReceivableService.addReceivable(invSource);
+        return b ? HttpResult.ok("新增成功") : HttpResult.error("新增失败");
+    }
+
     @ApiOperation("应收导入删除")
     @PostMapping("deleteReceivable")
     public HttpResult deleteReceivable(@RequestBody String[] ids){

+ 1 - 0
src/main/java/com/ydtech/modules/inv/service/InvReceivableService.java

@@ -56,4 +56,5 @@ public interface InvReceivableService {
 
     Boolean updateSettlementBatch(InvSettlementSource invSettlementSource);
 
+    Boolean addReceivable(InvSource invSource);
 }

+ 2 - 0
src/main/java/com/ydtech/modules/inv/service/InvSourceService.java

@@ -14,5 +14,7 @@ import java.util.List;
 public interface InvSourceService extends IService<InvSource> {
     HttpResult readExcel(String file);
 
+    boolean save(InvSource invSource);
+
     boolean saveOrUpdateBatchWithConditions(List<InvSource> invSourceList);
 }

+ 43 - 1
src/main/java/com/ydtech/modules/inv/service/impl/InvReceivableServiceImpl.java

@@ -513,7 +513,8 @@ public class InvReceivableServiceImpl implements InvReceivableService {
                         .add(invSource.getNonCarPremiumTax().multiply(invSource.getMaxNonCarReceivableRatio())));
         invSource.setClearingState("未结算".equals(invSource.getClearingState()) ? "0" :
                 "已结算".equals(invSource.getClearingState()) ? "1" : invSource.getClearingState());
-
+        invSource.setInsuranceClearingState("未结算".equals(invSource.getClearingState()) ? "0" :
+                "已结算".equals(invSource.getClearingState()) ? "1" : invSource.getClearingState());
         return invSourceMapper.updateById(invSource) > 0 ? true : false;
     }
 
@@ -666,6 +667,47 @@ public class InvReceivableServiceImpl implements InvReceivableService {
 
     }
 
+    @Override
+    public Boolean addReceivable(InvSource invSource) {
+        BigDecimal tax = new BigDecimal(1.06);
+        //处理交强不含税
+        invSource.setJqPremium(invSource.getJqPremiumTax().divide(tax,2, RoundingMode.HALF_UP));
+        //处理商业不含税
+        invSource.setSyPremium(invSource.getSyPremiumTax().divide(tax,2, RoundingMode.HALF_UP));
+        //处理非车不含税
+        invSource.setNonCarPremium(invSource.getNonCarPremiumTax().divide(tax,2, RoundingMode.HALF_UP));
+        //处理手续费金额
+        invSource.setPremium(
+                invSource.getJqPremium().multiply(invSource.getJqPremiumRatio())
+                        .add(invSource.getSyPremium().multiply(invSource.getSyPremiumRatio()))
+                        .add(invSource.getNonCarPremium().multiply(invSource.getNonCarPremiumRatio())));
+        //处理非跟单金额
+        invSource.setNonCopying(
+                invSource.getJqPremium().multiply(invSource.getJqNonCopyingRatio())
+                        .add(invSource.getSyPremium().multiply(invSource.getSyNonCopyingRatio()))
+                        .add(invSource.getNonCarPremium().multiply(invSource.getNonCarNonCopyingRatio())));
+        //处理保司应收金额
+        invSource.setReceivable(
+                invSource.getJqPremium().multiply(invSource.getJqReceivableRatio())
+                        .add(invSource.getSyPremium().multiply(invSource.getSyReceivableRatio()))
+                        .add(invSource.getNonCarPremium().multiply(invSource.getNonCarReceivableRatio())));
+        //处理补贴金额
+        invSource.setSubsidyAmount(
+                invSource.getJqPremiumTax().multiply(invSource.getSubsidyRatio())
+                        .add(invSource.getSyPremiumTax().multiply(invSource.getSubsidyRatio()))
+                        .add(invSource.getNonCarPremiumTax().multiply(invSource.getSubsidyRatio())));
+        //处理应收总金额
+        invSource.setTotalReceivableAmount(
+                invSource.getReceivable().add(invSource.getSubsidyAmount()));
+        //处理最大应付金额
+        invSource.setMaxReceivable(
+                invSource.getJqPremiumTax().multiply(invSource.getMaxJqReceivableRatio())
+                        .add(invSource.getSyPremiumTax().multiply(invSource.getMaxSyReceivableRatio()))
+                        .add(invSource.getNonCarPremiumTax().multiply(invSource.getMaxNonCarReceivableRatio())));
+        boolean save = invSourceService.save(invSource);
+        return save;
+    }
+
 }
 
 

+ 5 - 0
src/main/java/com/ydtech/modules/inv/service/impl/InvSourceServiceImpl.java

@@ -42,6 +42,11 @@ public class InvSourceServiceImpl extends ServiceImpl<InvSourceMapper, InvSource
         return result ? HttpResult.ok("导入成功") : HttpResult.error("导入失败");
     }
 
+    @Override
+    public boolean save(InvSource invSource) {
+        return invSourceService.save(invSource);
+    }
+
     /**
      * 导入InsSource 处理重复导入
      * @param invSourceList