opt:优化手持出库单据实时查询
This commit is contained in:
@@ -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<SchBasePoint> {
|
||||
* @param regionCode 点位类型
|
||||
* @param getLockType 锁定状态
|
||||
* @param sortType 点位排序规则1:升序2:降序
|
||||
@param pointType 0空载具1满载具
|
||||
* @return List<SchBasePoint>
|
||||
* @param pointType 0空载具1满载具
|
||||
* @param pointCode 点位编码
|
||||
* @return List<SchBasePoint>
|
||||
*/
|
||||
List<SchBasePoint> checkEndPointTask(String regionCode, String getLockType,String sortType,String pointType);
|
||||
|
||||
List<SchBasePoint> checkEndPointTask(String regionCode, String getLockType, String sortType, String
|
||||
pointType, String pointCode);
|
||||
|
||||
}
|
||||
|
||||
@@ -113,17 +113,22 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
* @param getLockType 锁定状态
|
||||
* @param sortType 点位排序规则1:升序2:降序
|
||||
* @param pointType 0空载具1满载具
|
||||
* @param pointCode 点位编码
|
||||
* @return List<SchBasePoint>
|
||||
*/
|
||||
@Override
|
||||
public List<SchBasePoint> checkEndPointTask(String regionCode, String getLockType, String sortType, String
|
||||
pointType) {
|
||||
pointType, String pointCode) {
|
||||
Set<String> pointSets;
|
||||
List<SchBaseTask> taskList;
|
||||
List<SchBasePoint> returList = new ArrayList<>();
|
||||
LambdaQueryWrapper<SchBasePoint> queryWrapper = new LambdaQueryWrapper<SchBasePoint>()
|
||||
.eq(SchBasePoint::getIs_used, true)
|
||||
.eq(SchBasePoint::getRegion_code, regionCode);
|
||||
LambdaQueryWrapper<SchBasePoint> queryWrapper = new LambdaQueryWrapper<SchBasePoint>().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);
|
||||
}
|
||||
|
||||
@@ -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<PmFormDataMapper, PmFormD
|
||||
public com.baomidou.mybatisplus.extension.plugins.pagination.Page<PmFormDataDto> queryTree(FormDataQuery query, PageQuery pageQuery) {
|
||||
Page page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize());
|
||||
page.setOrderBy("id DESC");
|
||||
List<PmFormDataDto> pmFormDataList = this.baseMapper.queryTree2(query);
|
||||
if (!CollectionUtils.isEmpty(pmFormDataList)) {
|
||||
handleFormDatas(pmFormDataList);
|
||||
} else {
|
||||
if (StringUtils.isNotBlank(query.getCode())) {
|
||||
//根据单据编号查询Erp单据
|
||||
List<SyncFormMapping> list = iSyncFormMappingService.list(new LambdaQueryWrapper<SyncFormMapping>().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<PmFormDataDto> pmFormData = this.baseMapper.queryTree2(query);
|
||||
if (!CollectionUtils.isEmpty(pmFormData)) {
|
||||
handleFormDatas(pmFormData);
|
||||
}
|
||||
com.baomidou.mybatisplus.extension.plugins.pagination.Page<PmFormDataDto> 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<PmFormDataDto> pmFormData = this.baseMapper.queryTree2(query);
|
||||
if (ObjectUtil.isNotEmpty(pmFormData)) {
|
||||
handleFormDatas(pmFormData);
|
||||
}
|
||||
com.baomidou.mybatisplus.extension.plugins.pagination.Page<PmFormDataDto> 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<PmFormDataDto> pmFormDataList = this.baseMapper.queryTree2(query);
|
||||
if (ObjectUtil.isNotEmpty(pmFormDataList)) {
|
||||
handleFormDatas(pmFormDataList);
|
||||
}
|
||||
com.baomidou.mybatisplus.extension.plugins.pagination.Page<PmFormDataDto> 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<PmFormDataDto> dtoPage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPages(), page.getPageSize(), page.getTotal());
|
||||
dtoPage.setRecords(pmFormDataList);
|
||||
return dtoPage;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -79,14 +79,14 @@ public class ApplyShelfScheduleService {
|
||||
List<SchBasePoint> 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<SchBasePoint> 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)) {
|
||||
|
||||
@@ -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<PmFormData>().eq("id",id).select("qty"));
|
||||
PmFormData existDtlData = formDataService.getOne(new QueryWrapper<PmFormData>().eq("id", id).select("qty"));
|
||||
//同步修改未出库单据
|
||||
if (existDtlData.getQty().compareTo(BigDecimal.ZERO) > 0||f.getPlan_qty().compareTo(f.getAssign_qty()) > 0)
|
||||
{
|
||||
formDataService.update(new LambdaUpdateWrapper<PmFormData>()
|
||||
.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<PmFormData>()
|
||||
.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 {
|
||||
|
||||
@@ -106,9 +106,9 @@ public class TaskScheduleService {
|
||||
if (targetSize == t.size()) {
|
||||
//创建agv任务
|
||||
// 终点满足条件
|
||||
List<SchBasePoint> endPointList = iSchBasePointService.list(new LambdaQueryWrapper<SchBasePoint>()
|
||||
.eq(SchBasePoint::getLock_type, StatusEnum.LOCK.code("无锁"))
|
||||
.eq(SchBasePoint::getCode, targetCode));
|
||||
List<SchBasePoint> endPointList = iSchBasePointService.checkEndPointTask(null,
|
||||
StatusEnum.LOCK.code("无锁"),
|
||||
StatusEnum.SORT_TYPE.code("升序"), "0",targetCode);
|
||||
if (ObjectUtils.isEmpty(endPointList)) {
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user