From 9ae77e7d8d3fd02c0623cab6f7e7ef2307f1134a Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Sun, 1 Dec 2024 21:20:58 +0800 Subject: [PATCH] =?UTF-8?q?rev:=E4=BF=AE=E6=94=B9=E5=90=88=E6=A0=BC?= =?UTF-8?q?=E8=AF=81=E5=85=A5=E5=BA=93=E5=9B=9E=E4=BC=A0=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../external_system/erp/SyncErpService.java | 61 +++++++- .../nodeType/excess/impl/MappingHandler.java | 2 +- .../SyncReceiptProcessHandler.java | 132 ++++++++++++++++++ .../iostorage/sevice/PdaIOService.java | 3 +- .../service/dao/mapper/PmFormDataMapper.java | 14 +- .../dao/mapper/xml/PmFormDataMapper.xml | 5 + .../service/impl/PmFormDataServiceImpl.java | 4 +- .../SyncFormMappingController.java | 3 +- .../task/SyncErpBillsScheduleService.java | 60 +++----- .../src/main/resources/config/application.yml | 2 +- 10 files changed, 232 insertions(+), 54 deletions(-) diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/external_system/erp/SyncErpService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/external_system/erp/SyncErpService.java index 122d1404..7539bf73 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/external_system/erp/SyncErpService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/external_system/erp/SyncErpService.java @@ -3,6 +3,7 @@ package org.nl.wms.external_system.erp; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.github.javaparser.utils.Log; @@ -205,12 +206,70 @@ public class SyncErpService { //执行回传 String formType = from.getString("formid"); try { + // Model + Map modelMap = new LinkedHashMap<>(); + Map fBillTypeMap = new LinkedHashMap<>(); + fBillTypeMap.put("FNUMBER", "SCRKD01_SYS"); + modelMap.put("FBillType", fBillTypeMap); + modelMap.put("FDate", "2024-11-28"); + Map fStockOrgIdMap = new LinkedHashMap<>(); + fStockOrgIdMap.put("FNumber", "102"); + modelMap.put("FStockOrgId", fStockOrgIdMap); + Map fPrdOrgIdMap = new LinkedHashMap<>(); + fPrdOrgIdMap.put("FNumber", "102"); + modelMap.put("FPrdOrgId", fPrdOrgIdMap); + Map fOwnerId0Map = new LinkedHashMap<>(); + fOwnerId0Map.put("FNumber", "102"); + modelMap.put("FOwnerId0", fOwnerId0Map); + List> fEntityList = new ArrayList<>(); + Map fEntityMap = new LinkedHashMap<>(); + // FEntity + fEntityMap.put("FIsNew", "false"); + fEntityMap.put("FMoBillNo", "MO102241101889"); + fEntityMap.put("FMoId", "173959"); + fEntityMap.put("FMoEntryId", "174486"); + fEntityMap.put("FSrcEntryId", 216902); + Map fMaterialIdMap = new LinkedHashMap<>(); + fMaterialIdMap.put("FNumber", "05.01.D700.00225"); + fEntityMap.put("FMaterialId", fMaterialIdMap); + Map fLotMap = new LinkedHashMap<>(); + fLotMap.put("FNumber", "MO102241101889"); + fEntityMap.put("FLot", fLotMap); + Map fUnitIDMap = new LinkedHashMap<>(); + fUnitIDMap.put("FNumber", "MX055"); + fEntityMap.put("FUnitID", fUnitIDMap); + Map fWorkShopId1Map = new LinkedHashMap<>(); + fWorkShopId1Map.put("FNumber", "03.09"); + fEntityMap.put("FWorkShopId1", fWorkShopId1Map); + fEntityMap.put("FMustQty", "140"); + fEntityMap.put("FRealQty", "140"); + fEntityMap.put("FInStockType", "1"); + fEntityMap.put("FOwnerTypeId", "BD_OwnerOrg"); + Map fOwnerIdMap = new LinkedHashMap<>(); + fOwnerIdMap.put("FNumber", "102"); + fEntityMap.put("FOwnerId", fOwnerIdMap); + Map fStockStatusIdMap = new LinkedHashMap<>(); + fStockStatusIdMap.put("FNumber", "10000"); + fEntityMap.put("FStockStatusId", fStockStatusIdMap); + Map fStockIdMap = new LinkedHashMap<>(); + fStockIdMap.put("FNumber", "02"); + fEntityMap.put("FStockId", fStockIdMap); + fEntityMap.put("FKeeperTypeId", "BD_KeeperOrg"); + Map fKeeperIdMap = new LinkedHashMap<>(); + fKeeperIdMap.put("FNumber", "102"); + fEntityMap.put("FKeeperId", fKeeperIdMap); + fEntityList.add(fEntityMap); + modelMap.put("FEntity", fEntityList); + Map rootMap = new LinkedHashMap<>(); + rootMap.put("Model", modelMap); + String jsonString = JSON.toJSONString(rootMap, SerializerFeature.PrettyFormat); //要回传的json数据 JSONObject formData = from.getJSONObject("data"); IdentifyInfo identifyInfo = new IdentifyInfo(); BeanUtils.copyProperties(erpSec, identifyInfo); K3CloudApi cloudApi = new K3CloudApi(identifyInfo); - String results = cloudApi.save(formType, formData.toJSONString()); + //String results = cloudApi.save(formType, formData.toJSONString()); + String results = cloudApi.save(formType,jsonString); result.put("results", results); } catch (Exception ex) { Log.error(ex.getMessage()); diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/excess/impl/MappingHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/excess/impl/MappingHandler.java index 7eb44681..c40027ed 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/excess/impl/MappingHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/excess/impl/MappingHandler.java @@ -70,7 +70,7 @@ public class MappingHandler extends TypeHandler { JSONObject form_param = form_struc.getForm_param(); if (form_param!=null){ Map formDataSpelMap = new LinkedHashMap<>(); - JSONObject form_data = new JSONObject(); + JSONObject form_data = new JSONObject(new LinkedHashMap<>()); for (String item : form_param.keySet()) { Object struc = form_param.get(item); if (formDataMapping!=null){ diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/SyncReceiptProcessHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/SyncReceiptProcessHandler.java index 2b912f38..ad2a3c9b 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/SyncReceiptProcessHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/SyncReceiptProcessHandler.java @@ -1,6 +1,9 @@ package org.nl.wms.flow_manage.flow.service.classprocessimpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; import com.github.javaparser.utils.Log; import com.kingdee.bos.webapi.entity.IdentifyInfo; import com.kingdee.bos.webapi.sdk.K3CloudApi; @@ -13,6 +16,11 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + /* * @author ZZQ * @Date 2024/5/6 14:34 @@ -56,4 +64,128 @@ public class SyncReceiptProcessHandler implements ClassProcess { } return from; } + + public JSONObject process1(JSONObject from, JSONObject param) { + //执行回传单 + String formType = from.getString("form_type"); + try { + if (!formType.contains("RECEIPT")) { + throw new BadRequestException("回传失败:单据类型不是回传类型单据"); + } + //要回传的json数据 + JSONObject formData = from.getJSONObject("form_data"); + String formid = formData.getString("formid"); + if (StringUtils.isEmpty(formid)) { + throw new BadRequestException("回传失败:回传数据form_data中数据格式不是formid,data类型"); + } + List> fEntityList = new ArrayList<>(); + Map fPrdOrgIdMap = new LinkedHashMap<>(); + Map fStockOrgIdMap = new LinkedHashMap<>(); + Map fOwnerId0Map = new LinkedHashMap<>(); + Map modelMap = new LinkedHashMap<>(); + Map fBillTypeMap = new LinkedHashMap<>(); + Map modelMap1 = new LinkedHashMap<>(); + JSONObject modelData = formData.getJSONObject("Model"); + + JSONObject fBillType = modelData.getJSONObject("FBillType"); + fBillTypeMap.put("FNUMBER", fBillType.getString("FNUMBER")); + + + modelMap.put("FDate", modelData.getString("FDate")); + + JSONObject fStockOrgId = modelData.getJSONObject("FStockOrgId"); + fStockOrgIdMap.put("FNumber", fStockOrgId.getString("FNumber")); + modelMap.put("FStockOrgId", fStockOrgIdMap); + + + JSONObject fPrdOrgId = modelData.getJSONObject("FPrdOrgId"); + fPrdOrgIdMap.put("FNumber", fPrdOrgId.getString("FNumber")); + modelMap.put("FPrdOrgId", fPrdOrgIdMap); + + + JSONObject fOwnerId0 = modelData.getJSONObject("FOwnerId0"); + fOwnerId0Map.put("FNumber", fOwnerId0.getString("FNumber")); + modelMap.put("FOwnerId0", fOwnerId0Map); + + + JSONArray fEntityArray = modelData.getJSONArray("FEntity"); + for (int i = 0; i < fEntityArray.size(); i++) { + JSONObject entity = fEntityArray.getJSONObject(i); + Map entityMap = new LinkedHashMap<>(); + entityMap.put("FIsNew", entity.getString("FIsNew")); + entityMap.put("FMoBillNo", entity.getString("FMoBillNo")); + entityMap.put("FMoId", entity.getString("FMoId")); + entityMap.put("FMoEntryId", entity.getString("FMoEntryId")); + entityMap.put("FSrcEntryId", entity.getString("FSrcEntryId")); + entityMap.put("FSrcEntryId", "216397"); + + // FMaterialId + JSONObject fMaterialId = entity.getJSONObject("FMaterialId"); + Map fMaterialIdMap = new LinkedHashMap<>(); + fMaterialIdMap.put("FNumber", fMaterialId.getString("FNumber")); + entityMap.put("FMaterialId", fMaterialIdMap); + + // FLot + JSONObject fLot = entity.getJSONObject("FLot"); + Map fLotMap = new LinkedHashMap<>(); + fLotMap.put("FNumber", fLot.getString("FNumber")); + entityMap.put("FLot", fLotMap); + + // FUnitID + JSONObject fUnitID = entity.getJSONObject("FUnitID"); + Map fUnitIDMap = new LinkedHashMap<>(); + fUnitIDMap.put("FNumber", fUnitID.getString("FNumber")); + entityMap.put("FUnitID", fUnitIDMap); + + // FWorkShopId1 + JSONObject fWorkShopId1 = entity.getJSONObject("FWorkShopId1"); + Map fWorkShopId1Map = new LinkedHashMap<>(); + fWorkShopId1Map.put("FNumber", fWorkShopId1.getString("FNumber")); + entityMap.put("FWorkShopId1", fWorkShopId1Map); + + entityMap.put("FMustQty", entity.getString("FMustQty")); + entityMap.put("FRealQty", entity.getString("FRealQty")); + entityMap.put("FInStockType", entity.getString("FInStockType")); + entityMap.put("FOwnerTypeId", entity.getString("FOwnerTypeId")); + + // FOwnerId + JSONObject fOwnerId = entity.getJSONObject("FOwnerId"); + Map fOwnerIdMap = new LinkedHashMap<>(); + fOwnerIdMap.put("FNumber", fOwnerId.getString("FNumber")); + entityMap.put("FOwnerId", fOwnerIdMap); + + // FStockStatusId + JSONObject fStockStatusId = entity.getJSONObject("FStockStatusId"); + Map fStockStatusIdMap = new LinkedHashMap<>(); + fStockStatusIdMap.put("FNumber", fStockStatusId.getString("FNumber")); + fStockStatusIdMap.put("FNumber", "10000"); + entityMap.put("FStockStatusId", fStockStatusIdMap); + + // FStockId + JSONObject fStockId = entity.getJSONObject("FStockId"); + Map fStockIdMap = new LinkedHashMap<>(); + fStockIdMap.put("FNumber", fStockId.getString("FNumber")); + entityMap.put("FStockId", fStockIdMap); + entityMap.put("FKeeperTypeId", entity.getString("FKeeperTypeId")); + // FKeeperId + JSONObject fKeeperId = entity.getJSONObject("FKeeperId"); + Map fKeeperIdMap = new LinkedHashMap<>(); + fKeeperIdMap.put("FNumber", fKeeperId.getString("FNumber")); + entityMap.put("FKeeperId", fKeeperIdMap); + fEntityList.add(entityMap); + + } + modelMap.put("FEntity", fEntityList); + modelMap1.put("Model",modelMap); + String jsonString = JSON.toJSONString(modelMap1, SerializerFeature.PrettyFormat); + IdentifyInfo identifyInfo = new IdentifyInfo(); + BeanUtils.copyProperties(erpSec, identifyInfo); + K3CloudApi cloudApi = new K3CloudApi(identifyInfo); + String results = cloudApi.save("PRD_INSTOCK", jsonString); + Integer sd=0; + } catch (Exception ex) { + Log.error(ex.getMessage()); + } + return from; + } } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/sevice/PdaIOService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/sevice/PdaIOService.java index eb044f58..1d72794e 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/sevice/PdaIOService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/sevice/PdaIOService.java @@ -271,7 +271,8 @@ public class PdaIOService { result.setOwnerTypeId(StringUtils.isBlank(dataList.get(13).toString()) ? "BD_OwnerOrg" : dataList.get(13).toString()); result.setOwnerId_Id(dFormJson.getString("InStockOwnerId")); result.setStockStatusId("10000"); - result.setStockId(dFormJson.getString("stockId")); + // result.setStockId(dFormJson.getString("stockId")); + result.setStockId("04.01"); result.setKeeperId((dFormJson.getString("StockOrgId"))); result.setKeeperTypeId("BD_KeeperOrg"); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/mapper/PmFormDataMapper.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/mapper/PmFormDataMapper.java index 9059461d..877321f5 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/mapper/PmFormDataMapper.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/mapper/PmFormDataMapper.java @@ -1,14 +1,15 @@ package org.nl.wms.pm_manage.form_data.service.dao.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Update; import org.nl.wms.pda_manage.iostorage.server.dto.ReceiveBillData; import org.nl.wms.pm_manage.form_data.service.dao.PmFormData; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.nl.wms.pm_manage.form_data.service.dto.FormDataQuery; import org.nl.wms.pm_manage.form_data.service.dto.PmFormDataDto; import java.util.List; +import java.util.Set; /** *

@@ -24,15 +25,18 @@ public interface PmFormDataMapper extends BaseMapper { List queryTree(@Param("query")FormDataQuery query); - List queryTree2(@Param("query")FormDataQuery query); + List queryTree2(@Param("query") FormDataQuery query); List selectChilds(List parents); + @Update("${sql}") - void dynamicSql(@Param("sql")String sql); + void dynamicSql(@Param("sql") String sql); - ReceiveBillData queryOrderStockId(@Param("code")String code,@Param("seq")String seq); + ReceiveBillData queryOrderStockId(@Param("code") String code, @Param("seq") String seq); - ReceiveBillData queryReceiveBill(@Param("bar_code")String bar_code); + ReceiveBillData queryReceiveBill(@Param("bar_code") String bar_code); + + Set existFormDataList(); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/mapper/xml/PmFormDataMapper.xml b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/mapper/xml/PmFormDataMapper.xml index e6d51f57..e7bcebef 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/mapper/xml/PmFormDataMapper.xml +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/mapper/xml/PmFormDataMapper.xml @@ -191,4 +191,9 @@ JOIN pm_form_data p ON d.parent_id = p.id WHERE d.bar_code= #{bar_code} + diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/impl/PmFormDataServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/impl/PmFormDataServiceImpl.java index 49b99c8e..c69d8af1 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/impl/PmFormDataServiceImpl.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/impl/PmFormDataServiceImpl.java @@ -81,12 +81,12 @@ public class PmFormDataServiceImpl extends ServiceImpl syncAnalyse(JSONArray mappingJson, String formType,Boolean dtlSplit,String sourceString) { + List result = new ArrayList<>(); try { BmFormStruc one = formStrucService.getOne(new QueryWrapper().eq("form_type",formType)); if (one == null) { throw new BadRequestException("当前表单无配置信息" + formType); } - List result = new ArrayList<>(); //直接取 JSONObject sourceData = JSONObject.parseObject(sourceString); // if (StringUtils.isNotEmpty(convertJson)){ @@ -140,7 +140,7 @@ public class PmFormDataServiceImpl extends ServiceImpl pmFormDatas = formDataService.syncAnalyse(jsonArray,form.getString("form_type"),dtlSplit,(String) analyseData); if (needSave!=null && (Boolean)needSave){ diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/SyncErpBillsScheduleService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/SyncErpBillsScheduleService.java index e73dddfe..8206d04f 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/SyncErpBillsScheduleService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/SyncErpBillsScheduleService.java @@ -4,7 +4,6 @@ import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.kingdee.bos.webapi.entity.*; import com.kingdee.bos.webapi.sdk.K3CloudApi; import lombok.extern.slf4j.Slf4j; @@ -17,6 +16,7 @@ import org.nl.wms.external_system.erp.dto.ErpQuery; import org.nl.wms.external_system.erp.dto.ErpSec; import org.nl.wms.pm_manage.form_data.service.IPmFormDataService; import org.nl.wms.pm_manage.form_data.service.dao.PmFormData; +import org.nl.wms.pm_manage.form_data.service.dao.mapper.PmFormDataMapper; import org.nl.wms.sync_manage.service.form_mapping.dao.SyncFormMapping; import org.nl.wms.sync_manage.service.form_mapping.impl.SyncFormMappingServiceImpl; import org.slf4j.MDC; @@ -25,7 +25,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.locks.ReentrantLock; @@ -49,6 +48,10 @@ public class SyncErpBillsScheduleService { @Autowired private IPmFormDataService formDataService; + @Autowired + private PmFormDataMapper pmFormDataMapper; + + public void run() { try { MDC.put("requestMethod", "TaskScheduleService#run"); @@ -80,7 +83,7 @@ public class SyncErpBillsScheduleService { K3CloudApi cloudApi = new K3CloudApi(identifyInfo); String today = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); //String filterString = "FCreateDate >= '" + "2024-11-01" + " 00:00:00' and FCreateDate <= '" + today + " 23:59:59'"; - String filterString = "FCreateDate >= '2024-11-22 00:00:00' and FCreateDate <= '2024-11-22 23:59:59'"; + String filterString = "FCreateDate >= '2024-11-20 00:00:00' and FCreateDate <= '2024-11-23 23:59:59'"; ErpQuery query = new ErpQuery(); query.setFilterString(filterString); query.setFormId(formType); @@ -117,22 +120,23 @@ public class SyncErpBillsScheduleService { if (!CollectionUtils.isEmpty(error)) { log.error("ERP单据同步同步失败:{}", error); } + //外部同步过来的需要插入数据库的数据 List pmFormDataAll = new ArrayList<>(); for (Object r : result) { log.info(JSON.toJSONString(r)); JSONArray mappingJsonArray = JSONArray.parseArray(mappingJson); - pmFormDataAll.addAll(formDataService.syncAnalyse(mappingJsonArray, formType, dtlSplit, JSON.toJSONString(r))); + List formDataList = formDataService.syncAnalyse(mappingJsonArray, formType, dtlSplit, JSON.toJSONString(r)); + if (ObjectUtils.isNotEmpty(formDataList)) { + pmFormDataAll.addAll(formDataList); + } } - //今天已同步单据 - List existFormDataList = formDataService.list( - new LambdaQueryWrapper() - .ge(PmFormData::getCreate_time, DateUtil.format(new Date(), "yyyy-MM-dd") + " 00:00:00") - .le(PmFormData::getCreate_time, DateUtil.format(new Date(), "yyyy-MM-dd") + " 23:59:59") - ); - Set formDataIds = existFormDataList.stream().map(PmFormData::getId).collect(Collectors.toSet()); - List insertBills = pmFormDataAll.stream().filter(bill -> !formDataIds.contains(bill.getId())).collect(Collectors.toList()); - if (ObjectUtils.isNotEmpty(insertBills)) { - formDataService.saveBatch(insertBills); + //数据库已存在的数据 + Set existFormDataList = pmFormDataMapper.existFormDataList(); + List newFormDataList = pmFormDataAll.stream() + .filter(data -> !existFormDataList.contains(data.getId())) + .collect(Collectors.toList()); + if (!newFormDataList.isEmpty()) { + formDataService.saveBatch(newFormDataList); } } } catch (Exception ex) { @@ -145,34 +149,6 @@ public class SyncErpBillsScheduleService { } } - private void updateBills(List OutInBillDetails, List existingIds) { - // 过滤出需要插入的新单据,并根据来源设置 ID - // List updateBills = OutInBillDetails.stream().filter(r -> r.getUpdate_time() != null).collect(Collectors.toList()); - if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(OutInBillDetails)) { - //比较insertBills与existingIds的修改时间进行按需更新 - for (PmFormData entity : OutInBillDetails) { - PmFormData existing = existingIds.stream().filter(e -> { - boolean isUpdate = false; - try { - if (e.getId().equals(entity.getId())) { - if (e.getUnit_name() == null || org.nl.common.utils.DateUtil.getDate(entity.getUpdate_time()).after(org.nl.common.utils.DateUtil.getDate(e.getUpdate_time()))) { - isUpdate = true; - } - } - } catch (ParseException ex) { - throw new RuntimeException(ex); - } - return isUpdate; - }).findFirst().orElse(null); - if (existing != null) { - PmFormData updateEntity = new PmFormData(); - //todo 补充需要修改的字段 - updateEntity.setForm_data(entity.getForm_data()); - formDataService.update(updateEntity, new QueryWrapper().eq("id", entity.getId())); - } - } - } - } } diff --git a/wms_pro/hd/nladmin-system/src/main/resources/config/application.yml b/wms_pro/hd/nladmin-system/src/main/resources/config/application.yml index ba6a483b..e96ef885 100644 --- a/wms_pro/hd/nladmin-system/src/main/resources/config/application.yml +++ b/wms_pro/hd/nladmin-system/src/main/resources/config/application.yml @@ -6,7 +6,7 @@ spring: freemarker: check-template-location: false profiles: - active: prod + active: dev jackson: time-zone: GMT+8 data: