From ee755f4c8b6ce929db740d950b6bfc13da306d53 Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Wed, 5 Mar 2025 11:46:14 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E6=89=8B=E6=8C=81?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E6=8D=AE=E5=AE=9E=E6=97=B6=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../point/service/ISchBasePointService.java | 10 ++--- .../service/impl/SchBasePointServiceImpl.java | 13 +++++-- .../service/impl/PmFormDataServiceImpl.java | 39 ++++++++++--------- .../task/ApplyShelfScheduleService.java | 6 +-- .../task/SyncErpBillsScheduleService.java | 37 +++++++++--------- .../quartz/task/TaskScheduleService.java | 6 +-- 6 files changed, 59 insertions(+), 52 deletions(-) diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/service/ISchBasePointService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/service/ISchBasePointService.java index 35be6b24..8879e1f6 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/service/ISchBasePointService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/service/ISchBasePointService.java @@ -1,6 +1,5 @@ package org.nl.wms.dispatch_manage.point.service; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.wms.dispatch_manage.point.service.dao.SchBasePoint; @@ -31,10 +30,11 @@ public interface ISchBasePointService extends IService { * @param regionCode 点位类型 * @param getLockType 锁定状态 * @param sortType 点位排序规则1:升序2:降序 - @param pointType 0空载具1满载具 - * @return List + * @param pointType 0空载具1满载具 + * @param pointCode 点位编码 + * @return List */ - List checkEndPointTask(String regionCode, String getLockType,String sortType,String pointType); - + List checkEndPointTask(String regionCode, String getLockType, String sortType, String + pointType, String pointCode); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/service/impl/SchBasePointServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/service/impl/SchBasePointServiceImpl.java index 74994a2c..d4048a19 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/service/impl/SchBasePointServiceImpl.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/service/impl/SchBasePointServiceImpl.java @@ -113,17 +113,22 @@ public class SchBasePointServiceImpl extends ServiceImpl */ @Override public List checkEndPointTask(String regionCode, String getLockType, String sortType, String - pointType) { + pointType, String pointCode) { Set pointSets; List taskList; List returList = new ArrayList<>(); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(SchBasePoint::getIs_used, true) - .eq(SchBasePoint::getRegion_code, regionCode); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper().eq(SchBasePoint::getIs_used, true); + if (StringUtils.isNotBlank(regionCode)) { + queryWrapper.eq(SchBasePoint::getRegion_code, regionCode); + } + if (StringUtils.isNotBlank(pointCode)) { + queryWrapper.eq(SchBasePoint::getCode, pointCode); + } if (StringUtils.isNotEmpty(getLockType)) { queryWrapper.eq(SchBasePoint::getLock_type, getLockType); } 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 b9863b0f..c1a70ea1 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 @@ -1,6 +1,7 @@ package org.nl.wms.pm_manage.form_data.service.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -269,29 +270,29 @@ public class PmFormDataServiceImpl extends ServiceImpl queryTree(FormDataQuery query, PageQuery pageQuery) { Page page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize()); page.setOrderBy("id DESC"); - List pmFormDataList = this.baseMapper.queryTree2(query); - if (!CollectionUtils.isEmpty(pmFormDataList)) { - handleFormDatas(pmFormDataList); - } else { + if (StringUtils.isNotBlank(query.getCode())) { //根据单据编号查询Erp单据 List list = iSyncFormMappingService.list(new LambdaQueryWrapper().eq(SyncFormMapping::getForm_type, query.getForm_type())); - if (ObjectUtils.isNotEmpty(list)) { - JSONArray mappingJson = list.get(0).getMapping_json(); - String mappingString = JSON.toJSONString(mappingJson); - syncErpBillsScheduleService.syncData(mappingString, list.get(0).getForm_type(), list.get(0).getDtl_split(), query.getCode()); - List pmFormData = this.baseMapper.queryTree2(query); - if (!CollectionUtils.isEmpty(pmFormData)) { - handleFormDatas(pmFormData); - } - com.baomidou.mybatisplus.extension.plugins.pagination.Page dtoPage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPages(), page.getPageSize(), page.getTotal()); - dtoPage.setRecords(pmFormData); - dtoPage.setTotal(pmFormData.size()); - return dtoPage; + JSONArray mappingJson = list.get(0).getMapping_json(); + String mappingString = JSON.toJSONString(mappingJson); + syncErpBillsScheduleService.syncData(mappingString, list.get(0).getForm_type(), list.get(0).getDtl_split(), query.getCode()); + List pmFormData = this.baseMapper.queryTree2(query); + if (ObjectUtil.isNotEmpty(pmFormData)) { + handleFormDatas(pmFormData); } + com.baomidou.mybatisplus.extension.plugins.pagination.Page dtoPage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPages(), page.getPageSize(), page.getTotal()); + dtoPage.setRecords(pmFormData); + dtoPage.setTotal(pmFormData.size()); + return dtoPage; + } else { + List pmFormDataList = this.baseMapper.queryTree2(query); + if (ObjectUtil.isNotEmpty(pmFormDataList)) { + handleFormDatas(pmFormDataList); + } + com.baomidou.mybatisplus.extension.plugins.pagination.Page dtoPage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPages(), page.getPageSize(), page.getTotal()); + dtoPage.setRecords(pmFormDataList); + return dtoPage; } - com.baomidou.mybatisplus.extension.plugins.pagination.Page dtoPage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPages(), page.getPageSize(), page.getTotal()); - dtoPage.setRecords(pmFormDataList); - return dtoPage; } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/ApplyShelfScheduleService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/ApplyShelfScheduleService.java index df2b53b0..96bb3fe5 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/ApplyShelfScheduleService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/ApplyShelfScheduleService.java @@ -79,14 +79,14 @@ public class ApplyShelfScheduleService { List cxPointLists = iSchBasePointService.checkEndPointTask( StatusEnum.REGION_INFO.code("二楼AGV产线对接位"), StatusEnum.LOCK.code("无锁"), - StatusEnum.SORT_TYPE.code("升序"), "0"); + StatusEnum.SORT_TYPE.code("升序"), "0", null); if (ObjectUtils.isNotEmpty(cxPointLists)) { startPointCode = cxPointLists.get(0).getCode(); vehicleCode = cxPointLists.get(0).getVehicle_code(); List ctuPointList = iSchBasePointService.checkEndPointTask( StatusEnum.REGION_INFO.code("二楼CTU货架对接位"), StatusEnum.LOCK.code("无锁"), - StatusEnum.SORT_TYPE.code("升序"), null + StatusEnum.SORT_TYPE.code("升序"), null, null ); if (ObjectUtils.isNotEmpty(ctuPointList)) { endPointCode = ctuPointList.get(0).getCode(); @@ -96,7 +96,7 @@ public class ApplyShelfScheduleService { endPointCode = iSchBasePointService.checkEndPointTask( StatusEnum.REGION_INFO.code("二楼CTU货架对接位"), StatusEnum.LOCK.code("无锁"), - StatusEnum.SORT_TYPE.code("升序"), null + StatusEnum.SORT_TYPE.code("升序"), null, null ).get(0).getCode(); } if (StringUtils.isNotBlank(startPointCode) && StringUtils.isNotBlank(endPointCode)) { 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 28600f45..071c5fcc 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 @@ -24,7 +24,6 @@ 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.stor_manage.struct.service.dao.StIvtStructattr; 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; @@ -133,7 +132,7 @@ public class SyncErpBillsScheduleService { // 获取当前日期 String today = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DAY_OF_MONTH, -80); + calendar.add(Calendar.DAY_OF_MONTH, -15); String sevenDaysAgo = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()); String filterString; if (StringUtils.isNotBlank(billCode)) { @@ -188,7 +187,7 @@ public class SyncErpBillsScheduleService { // 获取当前日期 String timeEnd = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DAY_OF_MONTH, -80); + calendar.add(Calendar.DAY_OF_MONTH, -15); String timeStart = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()); if (StringUtils.isNotBlank(start) && StringUtils.isNotBlank(end)) { timeStart = start; @@ -300,22 +299,24 @@ public class SyncErpBillsScheduleService { if (exitFormDataList.contains(id)) { //单据明细 if (StringUtils.isBlank(f.getCode())) { - PmFormData existDtlData = formDataService.getOne(new QueryWrapper().eq("id",id).select("qty")); + PmFormData existDtlData = formDataService.getOne(new QueryWrapper().eq("id", id).select("qty")); //同步修改未出库单据 - if (existDtlData.getQty().compareTo(BigDecimal.ZERO) > 0||f.getPlan_qty().compareTo(f.getAssign_qty()) > 0) - { - formDataService.update(new LambdaUpdateWrapper() - .set(PmFormData::getMaterial_id, f.getMaterial_id()) - .set(PmFormData::getQty, f.getQty()) - //todo 确认分配数量是多少 - .set(PmFormData::getAssign_qty,BigDecimal.ZERO) - .set(PmFormData::getUnit_id, f.getUnit_id()) - .set(PmFormData::getForm_data, JSON.toJSONString(f.getForm_data())) - .set(PmFormData::getPlan_qty, f.getPlan_qty()) - .set(PmFormData::getBar_code, f.getBar_code()) - .set(PmFormData::getUpdate_name, DateUtil.now()) - .set(PmFormData::getUpdate_name, SecurityUtils.getCurrentNickName()) - .eq(PmFormData::getId, id)); + //existDtlData.getQty().compareTo(BigDecimal.ZERO) > 0||f.getPlan_qty().compareTo(f.getAssign_qty()) > 0 + if (existDtlData.getQty() != null) { + if (existDtlData.getQty().compareTo(BigDecimal.ZERO) > 0) { + formDataService.update(new LambdaUpdateWrapper() + .set(PmFormData::getMaterial_id, f.getMaterial_id()) + .set(PmFormData::getQty, f.getQty()) + //todo 确认分配数量是多少 + .set(PmFormData::getAssign_qty, BigDecimal.ZERO) + .set(PmFormData::getUnit_id, f.getUnit_id()) + .set(PmFormData::getForm_data, JSON.toJSONString(f.getForm_data())) + .set(PmFormData::getPlan_qty, f.getPlan_qty()) + .set(PmFormData::getBar_code, f.getBar_code()) + .set(PmFormData::getUpdate_name, DateUtil.now()) + .set(PmFormData::getUpdate_name, SecurityUtils.getCurrentNickName()) + .eq(PmFormData::getId, id)); + } } } } else { diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/TaskScheduleService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/TaskScheduleService.java index d2cde744..840482fb 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/TaskScheduleService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/TaskScheduleService.java @@ -106,9 +106,9 @@ public class TaskScheduleService { if (targetSize == t.size()) { //创建agv任务 // 终点满足条件 - List endPointList = iSchBasePointService.list(new LambdaQueryWrapper() - .eq(SchBasePoint::getLock_type, StatusEnum.LOCK.code("无锁")) - .eq(SchBasePoint::getCode, targetCode)); + List endPointList = iSchBasePointService.checkEndPointTask(null, + StatusEnum.LOCK.code("无锁"), + StatusEnum.SORT_TYPE.code("升序"), "0",targetCode); if (ObjectUtils.isEmpty(endPointList)) { return; }