Browse Source

应收应付导入 修改调整

785834757 2 years ago
parent
commit
9857af68a0

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

@@ -211,4 +211,15 @@ public class InvReceivableController extends BaseController {
         return HttpResult.ok(uploadUrl + "excel/" +fileName);
     }
 
+    @ApiOperation("数据匹配")
+    @GetMapping("dataMatching")
+    public HttpResult dataMatching(){
+        int data = invReceivableService.dataMatching();
+        if(data > 0)
+        {
+            return HttpResult.ok("有"+data+"条数据与应收表数据无法匹配",true);
+        }
+        return HttpResult.ok("",false);
+    }
+
 }

+ 2 - 0
src/main/java/com/ydtech/modules/inv/dao/InvSourceMapper.java

@@ -11,6 +11,8 @@ import com.ydtech.modules.inv.model.po.InvSource;
 */
 public interface InvSourceMapper extends BaseMapper<InvSource> {
     Integer syncStatus();
+
+    Integer dataMatching();
 }
 
 

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

@@ -57,4 +57,6 @@ public interface InvReceivableService {
     Boolean updateSettlementBatch(InvSettlementSource invSettlementSource);
 
     Boolean addReceivable(InvSource invSource);
+
+    int dataMatching();
 }

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

@@ -20,6 +20,7 @@ import com.ydtech.modules.inv.model.vo.*;
 import com.ydtech.modules.inv.service.InvChannelAccountService;
 import com.ydtech.modules.inv.service.InvReceivableService;
 import com.ydtech.modules.inv.service.InvSourceService;
+import com.ydtech.utils.idgen.IdGenerate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -669,6 +670,7 @@ public class InvReceivableServiceImpl implements InvReceivableService {
 
     @Override
     public Boolean addReceivable(InvSource invSource) {
+        invSource.setId(IdGenerate.nextId());
         BigDecimal tax = new BigDecimal(1.06);
         //处理交强不含税
         invSource.setJqPremium(invSource.getJqPremiumTax().divide(tax,2, RoundingMode.HALF_UP));
@@ -704,10 +706,16 @@ public class InvReceivableServiceImpl implements InvReceivableService {
                 invSource.getJqPremiumTax().multiply(invSource.getMaxJqReceivableRatio())
                         .add(invSource.getSyPremiumTax().multiply(invSource.getMaxSyReceivableRatio()))
                         .add(invSource.getNonCarPremiumTax().multiply(invSource.getMaxNonCarReceivableRatio())));
-        boolean save = invSourceService.save(invSource);
+        boolean save = invSourceMapper.insert (invSource) > 0 ? true : false;
         return save;
     }
 
+    @Override
+    public int dataMatching() {
+        Integer data = invSourceMapper.dataMatching();
+        return data;
+    }
+
 }
 
 

+ 16 - 0
src/main/resources/mapper/modules/inv/InvSourceMapper.xml

@@ -69,4 +69,20 @@
         SET ins.clearing_state = 1,
             ins.clearing_time = iss.agency_settlement_time;
     </update>
+
+    <select id="dataMatching" resultType="Integer">
+        SELECT
+            count(iss.licenseno) as count
+        FROM
+            inv_settlement_source iss
+        WHERE
+            NOT EXISTS (
+                SELECT
+                    ivs.licenseno
+                FROM
+                    inv_source ivs
+                WHERE
+                    ivs.licenseno = iss.licenseno
+            )
+    </select>
 </mapper>