rev:修改合格证入库回传;
This commit is contained in:
@@ -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<String, Object> modelMap = new LinkedHashMap<>();
|
||||
Map<String, Object> fBillTypeMap = new LinkedHashMap<>();
|
||||
fBillTypeMap.put("FNUMBER", "SCRKD01_SYS");
|
||||
modelMap.put("FBillType", fBillTypeMap);
|
||||
modelMap.put("FDate", "2024-11-28");
|
||||
Map<String, Object> fStockOrgIdMap = new LinkedHashMap<>();
|
||||
fStockOrgIdMap.put("FNumber", "102");
|
||||
modelMap.put("FStockOrgId", fStockOrgIdMap);
|
||||
Map<String, Object> fPrdOrgIdMap = new LinkedHashMap<>();
|
||||
fPrdOrgIdMap.put("FNumber", "102");
|
||||
modelMap.put("FPrdOrgId", fPrdOrgIdMap);
|
||||
Map<String, Object> fOwnerId0Map = new LinkedHashMap<>();
|
||||
fOwnerId0Map.put("FNumber", "102");
|
||||
modelMap.put("FOwnerId0", fOwnerId0Map);
|
||||
List<Map<String, Object>> fEntityList = new ArrayList<>();
|
||||
Map<String, Object> 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<String, Object> fMaterialIdMap = new LinkedHashMap<>();
|
||||
fMaterialIdMap.put("FNumber", "05.01.D700.00225");
|
||||
fEntityMap.put("FMaterialId", fMaterialIdMap);
|
||||
Map<String, Object> fLotMap = new LinkedHashMap<>();
|
||||
fLotMap.put("FNumber", "MO102241101889");
|
||||
fEntityMap.put("FLot", fLotMap);
|
||||
Map<String, Object> fUnitIDMap = new LinkedHashMap<>();
|
||||
fUnitIDMap.put("FNumber", "MX055");
|
||||
fEntityMap.put("FUnitID", fUnitIDMap);
|
||||
Map<String, Object> 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<String, Object> fOwnerIdMap = new LinkedHashMap<>();
|
||||
fOwnerIdMap.put("FNumber", "102");
|
||||
fEntityMap.put("FOwnerId", fOwnerIdMap);
|
||||
Map<String, Object> fStockStatusIdMap = new LinkedHashMap<>();
|
||||
fStockStatusIdMap.put("FNumber", "10000");
|
||||
fEntityMap.put("FStockStatusId", fStockStatusIdMap);
|
||||
Map<String, Object> fStockIdMap = new LinkedHashMap<>();
|
||||
fStockIdMap.put("FNumber", "02");
|
||||
fEntityMap.put("FStockId", fStockIdMap);
|
||||
fEntityMap.put("FKeeperTypeId", "BD_KeeperOrg");
|
||||
Map<String, Object> fKeeperIdMap = new LinkedHashMap<>();
|
||||
fKeeperIdMap.put("FNumber", "102");
|
||||
fEntityMap.put("FKeeperId", fKeeperIdMap);
|
||||
fEntityList.add(fEntityMap);
|
||||
modelMap.put("FEntity", fEntityList);
|
||||
Map<String, Object> 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());
|
||||
|
||||
@@ -70,7 +70,7 @@ public class MappingHandler extends TypeHandler<JSONObject, JSONObject> {
|
||||
JSONObject form_param = form_struc.getForm_param();
|
||||
if (form_param!=null){
|
||||
Map<String, String> 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){
|
||||
|
||||
@@ -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<Map<String, Object>> fEntityList = new ArrayList<>();
|
||||
Map<String, Object> fPrdOrgIdMap = new LinkedHashMap<>();
|
||||
Map<String, Object> fStockOrgIdMap = new LinkedHashMap<>();
|
||||
Map<String, Object> fOwnerId0Map = new LinkedHashMap<>();
|
||||
Map<String, Object> modelMap = new LinkedHashMap<>();
|
||||
Map<String, Object> fBillTypeMap = new LinkedHashMap<>();
|
||||
Map<String, Object> 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<String, Object> 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<String, Object> fMaterialIdMap = new LinkedHashMap<>();
|
||||
fMaterialIdMap.put("FNumber", fMaterialId.getString("FNumber"));
|
||||
entityMap.put("FMaterialId", fMaterialIdMap);
|
||||
|
||||
// FLot
|
||||
JSONObject fLot = entity.getJSONObject("FLot");
|
||||
Map<String, Object> fLotMap = new LinkedHashMap<>();
|
||||
fLotMap.put("FNumber", fLot.getString("FNumber"));
|
||||
entityMap.put("FLot", fLotMap);
|
||||
|
||||
// FUnitID
|
||||
JSONObject fUnitID = entity.getJSONObject("FUnitID");
|
||||
Map<String, Object> fUnitIDMap = new LinkedHashMap<>();
|
||||
fUnitIDMap.put("FNumber", fUnitID.getString("FNumber"));
|
||||
entityMap.put("FUnitID", fUnitIDMap);
|
||||
|
||||
// FWorkShopId1
|
||||
JSONObject fWorkShopId1 = entity.getJSONObject("FWorkShopId1");
|
||||
Map<String, Object> 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<String, Object> fOwnerIdMap = new LinkedHashMap<>();
|
||||
fOwnerIdMap.put("FNumber", fOwnerId.getString("FNumber"));
|
||||
entityMap.put("FOwnerId", fOwnerIdMap);
|
||||
|
||||
// FStockStatusId
|
||||
JSONObject fStockStatusId = entity.getJSONObject("FStockStatusId");
|
||||
Map<String, Object> fStockStatusIdMap = new LinkedHashMap<>();
|
||||
fStockStatusIdMap.put("FNumber", fStockStatusId.getString("FNumber"));
|
||||
fStockStatusIdMap.put("FNumber", "10000");
|
||||
entityMap.put("FStockStatusId", fStockStatusIdMap);
|
||||
|
||||
// FStockId
|
||||
JSONObject fStockId = entity.getJSONObject("FStockId");
|
||||
Map<String, Object> 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<String, Object> 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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -24,15 +25,18 @@ public interface PmFormDataMapper extends BaseMapper<PmFormData> {
|
||||
|
||||
List<PmFormDataDto> queryTree(@Param("query")FormDataQuery query);
|
||||
|
||||
List<PmFormDataDto> queryTree2(@Param("query")FormDataQuery query);
|
||||
List<PmFormDataDto> queryTree2(@Param("query") FormDataQuery query);
|
||||
|
||||
List<PmFormDataDto> selectChilds(List<String> 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<String> existFormDataList();
|
||||
|
||||
}
|
||||
|
||||
@@ -191,4 +191,9 @@
|
||||
JOIN pm_form_data p ON d.parent_id = p.id
|
||||
WHERE d.bar_code= #{bar_code}
|
||||
</select>
|
||||
<select id="existFormDataList" resultType="java.lang.String">
|
||||
SELECT ID
|
||||
FROM pm_form_data
|
||||
WHERE DATE(create_time) = CURDATE()
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -81,12 +81,12 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
||||
*/
|
||||
@Override
|
||||
public List<PmFormData> syncAnalyse(JSONArray mappingJson, String formType,Boolean dtlSplit,String sourceString) {
|
||||
List<PmFormData> result = new ArrayList<>();
|
||||
try {
|
||||
BmFormStruc one = formStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("form_type",formType));
|
||||
if (one == null) {
|
||||
throw new BadRequestException("当前表单无配置信息" + formType);
|
||||
}
|
||||
List<PmFormData> result = new ArrayList<>();
|
||||
//直接取
|
||||
JSONObject sourceData = JSONObject.parseObject(sourceString);
|
||||
// if (StringUtils.isNotEmpty(convertJson)){
|
||||
@@ -140,7 +140,7 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
||||
return result;
|
||||
} catch (Exception ex) {
|
||||
log.error("ERP单据解析异常:" + ex.getMessage());
|
||||
throw new BadRequestException(ex.getMessage());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@@ -104,7 +105,7 @@ public class SyncFormMappingController {
|
||||
if (analyseData == null){
|
||||
throw new BadRequestException("解析数据不能为空");
|
||||
}
|
||||
JSONArray jsonArray = JSONArray.parseArray(form.getString("mapping_json"));
|
||||
JSONArray jsonArray = form.getJSONArray("mapping_json");
|
||||
boolean dtlSplit =Boolean.parseBoolean(form.getString("mapping_json"));
|
||||
List<PmFormData> pmFormDatas = formDataService.syncAnalyse(jsonArray,form.getString("form_type"),dtlSplit,(String) analyseData);
|
||||
if (needSave!=null && (Boolean)needSave){
|
||||
|
||||
@@ -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<PmFormData> 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<PmFormData> formDataList = formDataService.syncAnalyse(mappingJsonArray, formType, dtlSplit, JSON.toJSONString(r));
|
||||
if (ObjectUtils.isNotEmpty(formDataList)) {
|
||||
pmFormDataAll.addAll(formDataList);
|
||||
}
|
||||
}
|
||||
//今天已同步单据
|
||||
List<PmFormData> existFormDataList = formDataService.list(
|
||||
new LambdaQueryWrapper<PmFormData>()
|
||||
.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<String> formDataIds = existFormDataList.stream().map(PmFormData::getId).collect(Collectors.toSet());
|
||||
List<PmFormData> insertBills = pmFormDataAll.stream().filter(bill -> !formDataIds.contains(bill.getId())).collect(Collectors.toList());
|
||||
if (ObjectUtils.isNotEmpty(insertBills)) {
|
||||
formDataService.saveBatch(insertBills);
|
||||
//数据库已存在的数据
|
||||
Set<String> existFormDataList = pmFormDataMapper.existFormDataList();
|
||||
List<PmFormData> 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<PmFormData> OutInBillDetails, List<PmFormData> existingIds) {
|
||||
// 过滤出需要插入的新单据,并根据来源设置 ID
|
||||
// List<PmFormData> 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<PmFormData>().eq("id", entity.getId()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ spring:
|
||||
freemarker:
|
||||
check-template-location: false
|
||||
profiles:
|
||||
active: prod
|
||||
active: dev
|
||||
jackson:
|
||||
time-zone: GMT+8
|
||||
data:
|
||||
|
||||
Reference in New Issue
Block a user