‘linchangsheng’ 1 vuosi sitten
vanhempi
commit
9c4d7f20de

+ 6 - 0
src/main/java/com/zfire/mall/manager/logic/k3/K3ReceiptLogic.java

@@ -9,6 +9,7 @@ import com.zfire.mall.manager.constant.Constant;
 import com.zfire.mall.manager.constant.KingDeeCons;
 import com.zfire.mall.manager.logic.wallet.WalletLogic;
 import com.zfire.mall.manager.plus.entity.CustomerWallet;
+import com.zfire.mall.manager.plus.entity.KingDeeCustomer;
 import com.zfire.mall.manager.plus.entity.KingDeeReceipt;
 import com.zfire.mall.manager.plus.service.KingDeeCustomerService;
 import com.zfire.mall.manager.plus.service.KingDeeReceiptService;
@@ -229,6 +230,11 @@ public class K3ReceiptLogic {
                 continue;
             }
 
+            KingDeeCustomer kingDeeCustomer = kingDeeCustomerService.getById(kingDeeReceipt.getCustomerId());
+            if (kingDeeCustomer == null){
+                continue;
+            }
+
             //本次同步过来的钱
             BigDecimal amount = kingDeeReceipt.getAmount();
             if(kingDeeReceipt.getStatus().equals("D")) {

+ 1 - 1
src/main/java/com/zfire/mall/manager/schedule/K3Schedule.java

@@ -14,7 +14,7 @@ import java.util.Date;
 /**
  * 钱包充值同步
  */
-@Component
+//@Component
 @Slf4j
 public class K3Schedule {
 

+ 72 - 8
src/main/java/com/zfire/mall/manager/schedule/StockInSchedule.java

@@ -105,6 +105,9 @@ public class StockInSchedule {
     @Autowired
     KingDeeTransferItemService kingDeeTransferItemService;
 
+    @Autowired
+    KingDeeMaterialService kingDeeMaterialService;
+
 
 
     final static String orgId = "1";
@@ -314,6 +317,12 @@ public class StockInSchedule {
             //被弃审的返回数量
             List<KingDeeTransferItem> list = kingDeeTransferItemService.lambdaQuery().eq(KingDeeTransferItem::getFId, object.getId()).list();
             for (KingDeeTransferItem kingDeeTransferItem : list) {
+
+                KingDeeMaterial kingDeeMaterialServiceById = kingDeeMaterialService.getById(kingDeeTransferItem.getMaterialId());
+                if (kingDeeMaterialServiceById == null){
+                    continue;
+                }
+
                 //查出被反审的内容
                 Stock stock = stockService.lambdaQuery().eq(Stock::getStockId, kingDeeTransferItem.getSrcStockId())
                         .eq(Stock::getMaterialId, kingDeeTransferItem.getMaterialId()).last("limit 1").one();
@@ -344,6 +353,11 @@ public class StockInSchedule {
 
         if (CollectionUtil.isNotEmpty(kingDeeTransferItems)) {
             for (KingDeeTransferItem kingDeeTransferItem : kingDeeTransferItems) {
+
+                KingDeeMaterial kingDeeMaterialServiceById = kingDeeMaterialService.getById(kingDeeTransferItem.getMaterialId());
+                if (kingDeeMaterialServiceById == null){
+                    continue;
+                }
                 KingDeeTransferItem byId = kingDeeTransferItemService.getById(kingDeeTransferItem.getId());
                 // 入库表表中能找到,相减加库存
                 if (byId != null){
@@ -507,6 +521,12 @@ public class StockInSchedule {
             //被弃审的返回数量
             List<KingDeeOtherStockOutItem> list = kingDeeOtherStockOutItemService.lambdaQuery().eq(KingDeeOtherStockOutItem::getFId, object.getId()).list();
             for (KingDeeOtherStockOutItem kingDeeOtherStockOutItem : list) {
+
+                KingDeeMaterial kingDeeMaterialServiceById = kingDeeMaterialService.getById(kingDeeOtherStockOutItem.getMaterialId());
+                if (kingDeeMaterialServiceById == null){
+                    continue;
+                }
+
                 //查出被反审的内容
                 Stock stock = stockService.lambdaQuery().eq(Stock::getStockId, kingDeeOtherStockOutItem.getStockId())
                         .eq(Stock::getMaterialId, kingDeeOtherStockOutItem.getMaterialId()).last("limit 1").one();
@@ -539,6 +559,13 @@ public class StockInSchedule {
 
         if (CollectionUtil.isNotEmpty(kingDeePurchaseStockOuts)) {
             for (KingDeeOtherStockOutItem kingDeePurchaseStockOutItem : kingDeePurchaseStockOuts) {
+
+                KingDeeMaterial kingDeeMaterialServiceById = kingDeeMaterialService.getById(kingDeePurchaseStockOutItem.getMaterialId());
+                if (kingDeeMaterialServiceById == null){
+                    continue;
+                }
+
+
                 KingDeeOtherStockOutItem byId = kingDeeOtherStockOutItemService.getById(kingDeePurchaseStockOutItem.getId());
                 KingDeeOtherStockOut kingDeeOtherStockOut = kingDeeOtherStockOutService.getById(kingDeePurchaseStockOutItem.getFId());
                 // 入库表表中能找到,相减加库存
@@ -744,6 +771,12 @@ public class StockInSchedule {
             //被弃审的返回数量
             List<KingDeeOtherStockInItem> list = kingDeeOtherStockInItemService.lambdaQuery().eq(KingDeeOtherStockInItem::getFId, object.getId()).list();
             for (KingDeeOtherStockInItem kingDeeOtherStockIn : list) {
+
+                KingDeeMaterial kingDeeMaterialServiceById = kingDeeMaterialService.getById(kingDeeOtherStockIn.getMaterialId());
+                if (kingDeeMaterialServiceById == null){
+                    continue;
+                }
+
                 //查出被反审的内容
                 Stock stock = stockService.lambdaQuery().eq(Stock::getStockId, kingDeeOtherStockIn.getStockId())
                         .eq(Stock::getMaterialId, kingDeeOtherStockIn.getMaterialId()).last("limit 1").one();
@@ -780,6 +813,11 @@ public class StockInSchedule {
                 KingDeeOtherStockInItem byId = kingDeeOtherStockInItemService.getById(kingDeeOtherStockInItem.getId());
                 KingDeeOtherStockIn kingDeeOtherStockIn = kingDeeOtherStockInService.getById(kingDeeOtherStockInItem.getFId());
 
+                KingDeeMaterial kingDeeMaterialServiceById = kingDeeMaterialService.getById(kingDeeOtherStockInItem.getMaterialId());
+                if (kingDeeMaterialServiceById == null){
+                    continue;
+                }
+
                 // 入库表表中能找到,相减加库存
                 if (byId != null){
 
@@ -927,14 +965,14 @@ public class StockInSchedule {
         // 调用入库单接口
         RequestApiBean request = k3Logic.getInstance(orgId, orgNumber, KingDeeCons.OTHER_IN_STOCK, startTime, endTime);
         String filterStr = "FDocumentStatus = 'C' "+ k3Logic.supplySql("FApproveDate", request.getStartTime(), request.getEndTime());
-        request.setFieldKeys("FID,FBillNo,FDate,FStockOrgId,FSupplierId,FApproverId.FName,FCancellerId,FCancelDate," +
+        request.setFieldKeys("FID,FBillNo,FDate,FStockOrgId,FSupplierId,FApproverId.FName,FApproveDate,FCancellerId,FCancelDate," +
                 "FNOTE,FDocumentStatus,FStockDirect");
         request.setFilterString(String.format(filterStr, orgNum));
         request.setOrderString("FID ASC");
         request.setNotTime(true);
 
-        String[] fields = new String[]{"id","billNo","fDate","stockOrgId","supplierId","approverId","cancellerId","cancelDate",
-                "note","fdDocumentStatus","stockDirect","approveDate"};
+        String[] fields = new String[]{"id","billNo","fDate","stockOrgId","supplierId","approverId","approveDate","cancellerId","cancelDate",
+                "note","fdDocumentStatus","stockDirect"};
         List<KingDeeOtherStockIn> objects = k3Logic.allSync(request, fields, KingDeeOtherStockIn.class);
         if (!org.springframework.util.CollectionUtils.isEmpty(objects)) {
             kingDeeOtherStockInService.saveOrUpdateBatch(objects);
@@ -968,6 +1006,13 @@ public class StockInSchedule {
         if (CollectionUtil.isNotEmpty(kingDeePurchaseStockOuts)) {
             for (KingDeePurchaseStockOutItem kingDeePurchaseStockOutItem : kingDeePurchaseStockOuts) {
                 KingDeePurchaseStockOutItem byId = kingDeePurchaseStockOutItemService.getById(kingDeePurchaseStockOutItem.getId());
+
+
+                KingDeeMaterial kingDeeMaterialServiceById = kingDeeMaterialService.getById(kingDeePurchaseStockOutItem.getMaterialId());
+                if (kingDeeMaterialServiceById == null){
+                    continue;
+                }
+
                 // 入库表表中能找到,相减加库存
                 if (byId != null){
 
@@ -1059,14 +1104,14 @@ public class StockInSchedule {
         // 调用入库单接口
         RequestApiBean request = k3Logic.getInstance(orgId, orgNumber, KingDeeCons.PURCHASE_RET_BILL, startTime, endTime);
         String filterStr = "FDocumentStatus = 'C' "+ k3Logic.supplySql("FApproveDate", request.getStartTime(), request.getEndTime());
-        request.setFieldKeys("FID,FBillNo,FDate,FStockOrgId,FPurchaseOrgId,FSupplierId,FApproverId.FName,FCancelDate," +
+        request.setFieldKeys("FID,FBillNo,FDate,FStockOrgId,FPurchaseOrgId,FSupplierId,FApproverId.FName,FApproveDate,FCancelDate," +
                 "FDESCRIPTION,FDocumentStatus");
         request.setFilterString(String.format(filterStr, orgNum));
         request.setOrderString("FID ASC");
         request.setNotTime(true);
 
-        String[] fields = new String[]{"id","billNo","fDate","stockOrgId","purchaseOrgId","supplierId","approverId","cancelDate",
-                "abcdRemarks","fdDocumentStatus","approveDate"};
+        String[] fields = new String[]{"id","billNo","fDate","stockOrgId","purchaseOrgId","supplierId","approverId","approveDate","cancelDate",
+                "abcdRemarks","fdDocumentStatus"};
         List<KingDeePurchaseStockOut> objects = k3Logic.allSync(request, fields, KingDeePurchaseStockOut.class);
         if (!org.springframework.util.CollectionUtils.isEmpty(objects)) {
             kingDeePurchaseStockOutService.saveOrUpdateBatch(objects);
@@ -1135,6 +1180,13 @@ public class StockInSchedule {
             //被弃审的返回数量
             List<KingDeePurchaseStockOutItem> list = kingDeePurchaseStockOutItemService.lambdaQuery().eq(KingDeePurchaseStockOutItem::getFId, object.getId()).list();
             for (KingDeePurchaseStockOutItem kingDeePurchaseStockOutItem : list) {
+
+
+                KingDeeMaterial kingDeeMaterialServiceById = kingDeeMaterialService.getById(kingDeePurchaseStockOutItem.getMaterialId());
+                if (kingDeeMaterialServiceById == null){
+                    continue;
+                }
+
                 //查出被反审的内容
                 Stock stock = stockService.lambdaQuery().eq(Stock::getStockId, kingDeePurchaseStockOutItem.getStockId())
                         .eq(Stock::getMaterialId, kingDeePurchaseStockOutItem.getMaterialId()).last("limit 1").one();
@@ -1190,6 +1242,12 @@ public class StockInSchedule {
             //被弃审的返回数量
             List<KingDeePurchaseStockInItem> list = kingDeePurchaseStockInItemService.lambdaQuery().eq(KingDeePurchaseStockInItem::getFId, object.getId()).list();
             for (KingDeePurchaseStockInItem kingDeePurchaseStockInItem : list) {
+
+                KingDeeMaterial kingDeeMaterialServiceById = kingDeeMaterialService.getById(kingDeePurchaseStockInItem.getMaterialId());
+                if (kingDeeMaterialServiceById == null){
+                    continue;
+                }
+
                 //查出被反审的内容
                 Stock stock = stockService.lambdaQuery().eq(Stock::getStockId, kingDeePurchaseStockInItem.getStockId())
                         .eq(Stock::getMaterialId, kingDeePurchaseStockInItem.getMaterialId()).last("limit 1").one();
@@ -1215,6 +1273,12 @@ public class StockInSchedule {
         if (CollectionUtil.isNotEmpty(kingDeePurchaseStockInItems)) {
             for (KingDeePurchaseStockInItem kingDeePurchaseStockInItem : kingDeePurchaseStockInItems) {
                 KingDeePurchaseStockInItem byId = kingDeePurchaseStockInItemService.getById(kingDeePurchaseStockInItem.getId());
+
+                KingDeeMaterial kingDeeMaterialServiceById = kingDeeMaterialService.getById(kingDeePurchaseStockInItem.getMaterialId());
+                if (kingDeeMaterialServiceById == null){
+                    continue;
+                }
+
                 // 入库表表中能找到,相减加库存
                 if (byId != null){
 
@@ -1320,14 +1384,14 @@ public class StockInSchedule {
         // 调用入库单接口
         RequestApiBean request = k3Logic.getInstance(orgId, orgNumber, KingDeeCons.PURCHASE_IN_STOCK, startTime, endTime);
         String filterStr = "FDocumentStatus = 'C' "+ k3Logic.supplySql("FApproveDate", request.getStartTime(), request.getEndTime());
-        request.setFieldKeys("FID,FBillNo,FDate,FStockOrgId,FDemandOrgId,FPurchaseOrgId,FSupplierId,FStockDeptId,FApproverId.FName,FCancellerId,FCancelDate," +
+        request.setFieldKeys("FID,FBillNo,FDate,FStockOrgId,FDemandOrgId,FPurchaseOrgId,FSupplierId,FStockDeptId,FApproverId.FName,FApproveDate,FCancellerId,FCancelDate," +
                 "FSupplyId.FName,FDocumentStatus");
         request.setFilterString(String.format(filterStr, orgNumber));
         request.setOrderString("FID ASC");
         request.setNotTime(true);
 
         String[] fields = new String[]{"id","billNo","fDate","stockOrgId","demandOrgId","purchaseOrgId","supplierId","stockDeptId","approverId","approveDate","cancellerId","cancelDate",
-                "supplyName","fdDocumentStatus","approveDate"};
+                "supplyName","fdDocumentStatus"};
         List<KingDeePurchaseStockIn> objects = k3Logic.allSync(request, fields, KingDeePurchaseStockIn.class);
         if (!org.springframework.util.CollectionUtils.isEmpty(objects)) {
             kingDeePurchaseStockInService.saveOrUpdateBatch(objects);