add:增加任务优先级;

增加任务开始反馈;
opt:优化近一个月现场问题;
This commit is contained in:
2026-04-10 17:13:41 +08:00
parent 6c03f3a96b
commit e260b5a3ce
25 changed files with 185 additions and 139 deletions

View File

@@ -366,40 +366,48 @@ public class StructattrServiceImpl extends ServiceImpl<StructattrMapper, Structa
}
List<String> strategy = one.getStrategy();
Map<String, Decisioner> decisionerMap = SpringContextHolder.getBeansOfType(Decisioner.class);
QueryWrapper<Structattr> query = new QueryWrapper<Structattr>();
if ("2FCP3C".equals(param.getStoragevehicle_type())) {
QueryWrapper<Structattr> query = new QueryWrapper<>();
//一楼车辆特殊分配
if ("firstfloorBC".equals(param.getStor_code())) {
if ("3".equals(param.getSuitable_car())) {
query.eq("is_used", true)
.eq("lock_type", IOSEnum.LOCK_TYPE.code("未锁定"))
.eq("sect_code", param.getSect_code())
.isNull("width")
.isNull("stor_type")
.and(wrapper -> wrapper.isNull("storagevehicle_code")
.or()
.eq("storagevehicle_code", " "));
} else if ("2".equals(param.getSuitable_car())) {
query.eq("is_used", true)
.eq("lock_type", IOSEnum.LOCK_TYPE.code("未锁定"))
.eq("sect_code", param.getSect_code())
.eq("width", 1)
.ne("layer_num", maxLayerNum)
.isNull("stor_type")
.and(wrapper -> wrapper.isNull("storagevehicle_code")
.or()
.eq("storagevehicle_code", " "));
} else if ("1".equals(param.getSuitable_car())) {
query.eq("is_used", true)
.eq("lock_type", IOSEnum.LOCK_TYPE.code("未锁定"))
.eq("sect_code", param.getSect_code())
.eq("layer_num", maxLayerNum)
.isNull("stor_type")
.and(wrapper -> wrapper.isNull("storagevehicle_code")
.or()
.eq("storagevehicle_code", " "));
}
} else {
//特殊物料优先放3层
if ("2FCP3C".equals(param.getStoragevehicle_type())) {
query.eq("layer_num", maxLayerNum);
} else {
query.ne("layer_num", maxLayerNum);
}
query.eq("is_used", true)
.eq("lock_type", IOSEnum.LOCK_TYPE.code("未锁定"))
.eq("sect_code", param.getSect_code())
.eq("layer_num", maxLayerNum)
.and(wrapper -> wrapper.isNull("storagevehicle_code")
.or()
.eq("storagevehicle_code", " "));
} else if ("3".equals(param.getSuitable_car())) {
query.eq("is_used", true)
.eq("lock_type", IOSEnum.LOCK_TYPE.code("未锁定"))
.eq("sect_code", param.getSect_code())
.isNull("width")
.isNull("stor_type")
.and(wrapper -> wrapper.isNull("storagevehicle_code")
.or()
.eq("storagevehicle_code", " "));
} else if ("2".equals(param.getSuitable_car())) {
query.eq("is_used", true)
.eq("lock_type", IOSEnum.LOCK_TYPE.code("未锁定"))
.eq("sect_code", param.getSect_code())
.eq("width", 1)
.ne("layer_num", maxLayerNum)
.isNull("stor_type")
.and(wrapper -> wrapper.isNull("storagevehicle_code")
.or()
.eq("storagevehicle_code", " "));
} else if ("1".equals(param.getSuitable_car())) {
query.eq("is_used", true)
.eq("lock_type", IOSEnum.LOCK_TYPE.code("未锁定"))
.eq("sect_code", param.getSect_code())
.eq("layer_num", maxLayerNum)
.isNull("stor_type")
.and(wrapper -> wrapper.isNull("storagevehicle_code")
.or()
.eq("storagevehicle_code", " "));

View File

@@ -17,6 +17,7 @@ import org.nl.wms.sch_manage.service.dao.SchBaseTask;
import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper;
import org.nl.wms.sch_manage.service.util.AbstractTask;
import org.nl.wms.sch_manage.service.util.TaskFactory;
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
@@ -57,6 +58,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@Autowired
private ISchBasePointService iSchBasePointService;
@Autowired
private IInBillService iInBillService;
/**
* 任务工厂服务
*/
@@ -89,6 +94,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
if (ResultAcsStatus.EXECUTING.getCode().equals(acs_task_status)) {
// 执行中
status = TaskStatus.EXECUTING;
taskObj.setTask_status(acs_task_status);
iInBillService.taskFinish(taskObj);
} else if (ResultAcsStatus.FINISHED.getCode().equals(acs_task_status)) {
// 完成
status = TaskStatus.FINISHED;

View File

@@ -217,6 +217,7 @@ public class PdaIosOutServiceImpl implements PdaIosOutService {
taskForm.put("PickingLocation", whereJson.getString("struct_code"));
taskForm.put("PlacedLocation", whereJson.getString("siteCode"));
taskForm.put("vehicle_code", whereJson.getString("storagevehicle_code"));
taskForm.put("priority", whereJson.getString("priority"));
StOutTask stOutTask = SpringContextHolder.getBean("STOutTask");
String taskId = stOutTask.create(taskForm);
//更新任务id

View File

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.nl.wms.sch_manage.enums.TaskStatus;
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
@@ -64,6 +65,8 @@ public class AutoTask {
}
// 整理下发acs参数
for (SchBaseTask taskDao : taskList) {
//任务优先级
taskDao.setPriority(StringUtils.isBlank(taskDao.getPriority()) ? "0" : taskDao.getPriority());
AbstractTask task = taskFactory.getTask(taskDao.getConfig_code());
task.sendTaskOne(taskDao.getTask_id());
}

View File

@@ -61,7 +61,7 @@ public class BackInTask extends AbstractTask {
task.setPoint_code2(json.getString("point_code2"));
task.setVehicle_code(json.getString("vehicle_code"));
task.setRequest_param(json.toString());
task.setPriority(json.getString("Priority"));
task.setPriority(json.getString("priority"));
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());

View File

@@ -96,7 +96,7 @@ public class CheckBackMoveTask extends AbstractTask {
task.setVehicle_code(json.getString("vehicle_code"));
task.setGroup_id(json.getString("group_id"));
task.setRequest_param(json.toString());
task.setPriority(json.getString("Priority"));
task.setPriority(json.getString("priority"));
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());

View File

@@ -58,7 +58,7 @@ public class CheckInTask extends AbstractTask {
task.setGroup_id(json.getString("group_id"));
task.setCar_type(json.getString("car_type"));
task.setCar_width(json.getString("car_width"));
task.setPriority(json.getString("Priority"));
task.setPriority(json.getString("priority"));
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());

View File

@@ -74,7 +74,7 @@ public class CheckMoveTask extends AbstractTask {
task.setVehicle_code(json.getString("vehicle_code"));
task.setGroup_id(json.getString("group_id"));
task.setRequest_param(json.toString());
task.setPriority(json.getString("Priority"));
task.setPriority(json.getString("priority"));
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());

View File

@@ -55,7 +55,7 @@ public class CheckOutTask extends AbstractTask {
task.setGroup_id(json.getString("group_id"));
task.setCar_type(json.getString("car_type"));
task.setCar_width(json.getString("car_width"));
task.setPriority(json.getString("Priority"));
task.setPriority(json.getString("priority"));
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());

View File

@@ -59,7 +59,7 @@ public class MoveTask extends AbstractTask {
task.setPoint_code2(json.getString("point_code2"));
task.setVehicle_code(json.getString("vehicle_code"));
task.setRequest_param(json.toString());
task.setPriority(json.getString("Priority"));
task.setPriority(json.getString("priority"));
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());

View File

@@ -61,7 +61,7 @@ public class PdaPointTask extends AbstractTask {
task.setPoint_code2(json.getString("point_code2"));
task.setVehicle_code(json.getString("vehicle_code"));
task.setRequest_param(json.toString());
task.setPriority(json.getString("Priority"));
task.setPriority(json.getString("priority"));
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());

View File

@@ -71,7 +71,7 @@ public class StInTask extends AbstractTask {
task.setGroup_id(json.getString("group_id"));
task.setCar_type(json.getString("car_type"));
task.setCar_width(json.getString("car_width"));
task.setPriority(json.getString("Priority"));
task.setPriority(json.getString("priority"));
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());

View File

@@ -56,7 +56,7 @@ public class StOutTask extends AbstractTask {
task.setCar_width(json.getString("car_width"));
task.setGroup_id(json.getString("group_id"));
task.setRequest_param(json.toString());
task.setPriority(json.getString("Priority"));
task.setPriority(json.getString("priority"));
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());

View File

@@ -61,7 +61,7 @@ public class VehicleInTask extends AbstractTask {
task.setPoint_code2(json.getString("point_code2"));
task.setVehicle_code(json.getString("vehicle_code"));
task.setRequest_param(json.toString());
task.setPriority(json.getString("Priority"));
task.setPriority(json.getString("priority"));
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());

View File

@@ -53,7 +53,7 @@ public class VehicleOutTask extends AbstractTask {
task.setVehicle_code(json.getString("vehicle_code"));
task.setGroup_id(json.getString("group_id"));
task.setRequest_param(json.toString());
task.setPriority(json.getString("Priority"));
task.setPriority(json.getString("priority"));
task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now());

View File

@@ -29,28 +29,28 @@ import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleinfoMappe
import org.nl.wms.basedata_manage.service.dto.StrategyMater;
import org.nl.wms.basedata_manage.service.dto.StrategyStructParam;
import org.nl.wms.basedata_manage.service.dto.StructattrChangeDto;
import org.nl.wms.ext_manage.enums.ResultAcsStatus;
import org.nl.wms.sch_manage.enums.StatusEnum;
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper;
import org.nl.wms.sch_manage.service.util.tasks.StInTask;
import org.nl.wms.warehouse_manage.enums.IOSConstant;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.TOWMSMSG;
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper;
import org.nl.wms.warehouse_manage.service.impl.MdPbGroupplateServiceImpl;
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl;
import org.nl.wms.warehouse_manage.service.dto.GroupPlateDto;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDtlMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDtlDto;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.TOWMSMSG;
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper;
import org.nl.wms.warehouse_manage.service.dto.GroupPlateDto;
import org.nl.wms.warehouse_manage.service.impl.MdPbGroupplateServiceImpl;
import org.nl.wms.wbwms.service.IWmsToWmsService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -61,8 +61,6 @@ import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.function.Predicate;
import java.util.function.ToIntFunction;
import java.util.stream.Collectors;
/**
@@ -806,10 +804,9 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
task_form.put("vehicle_code", whereJson.get("storagevehicle_code"));
task_form.put("car_type",car_type);
task_form.put("car_width",car_width);
task_form.put("priority", whereJson.get("priority"));
StInTask stInTask = SpringContextHolder.getBean("STInTask");
String task_id = stInTask.create(task_form);
//分配明细表更新任务相关数据
IOStorInvDis dis = new IOStorInvDis();
dis.setIostorinvdis_id((String) whereJson.get("iostorinvdis_id"));
@@ -850,6 +847,7 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
task_form.put("PickingLocation", point_code);
task_form.put("PlacedLocation", ioStorInvDis.get(0).getStruct_code());
task_form.put("vehicle_code", map.get("storagevehicle_code"));
task_form.put("priority", map.get("priority"));
StInTask stInTask = SpringContextHolder.getBean("STInTask");
String task_id = stInTask.create(task_form);
@@ -970,79 +968,79 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
String structCode = ioStorInvDis.get(0).getStruct_code();
IOStorInvDis item1 = ioStorInvDis.get(0);
//获取出入库单标识
String iostorinv_id=item1.getIostorinv_id();
IOStorInv ioStorInv=ioStorInvMapper.selectOne(new LambdaQueryWrapper<IOStorInv>().eq(IOStorInv::getIostorinv_id,iostorinv_id));
String iostorinv_id = item1.getIostorinv_id();
IOStorInv ioStorInv = ioStorInvMapper.selectOne(new LambdaQueryWrapper<IOStorInv>().eq(IOStorInv::getIostorinv_id, iostorinv_id));
//获取单据编号
String bill_code=ioStorInv.getBill_code();
//
//
String source_name=ioStorInv.getSource_name();
//解锁库位
JSONObject finish_map = new JSONObject();
finish_map.put("struct_code", structCode);
finish_map.put("storagevehicle_code", storagevehicleCode);
finish_map.put("lock_type", IOSEnum.LOCK_TYPE.code("未锁定"));
finish_map.put("inv_type", null);
finish_map.put("inv_id", null);
finish_map.put("inv_code", null);
iStructattrService.updateStatusByCode("1", finish_map);
//库存变动
StructattrChangeDto changeDto = StructattrChangeDto.builder()
.inv(iostorinvId)
.storagevehicleCode(storagevehicleCode)
.structCode(structCode).taskType(task.getConfig_code()).inBound(true).build();
iStructattrService.changeStruct(changeDto);
// 完成当前分配明细
Map<String, BigDecimal> dtlMap = new HashMap<>();
for (IOStorInvDis item : ioStorInvDis) {
ioStorInvDisMapper.update(item, new LambdaUpdateWrapper<>(IOStorInvDis.class)
.set(IOStorInvDis::getWork_status, IOSEnum.INBILL_DIS_STATUS.code("完成"))
.set(IOStorInvDis::getReal_qty, item.getPlan_qty())
.eq(IOStorInvDis::getIostorinvdis_id, item.getIostorinvdis_id()));
dtlMap.put(item.getIostorinvdtl_id(), item.getPlan_qty());
}
//更新明细
for (String dtl_id : dtlMap.keySet()) {
IOStorInvDtl invDtl = new IOStorInvDtl();
invDtl.setIostorinvdtl_id(dtl_id);
invDtl.setReal_qty(dtlMap.get(dtl_id));
invDtl.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
ioStorInvDtlMapper.updateById(invDtl);
}
// 查看明细是否全部完成
int countDtl = ioStorInvDtlMapper.selectCount(new LambdaQueryWrapper<>(IOStorInvDtl.class)
.eq(IOStorInvDtl::getIostorinv_id, iostorinvId)
.ne(IOStorInvDtl::getBill_status, IOSEnum.BILL_STATUS.code("完成"))
);
// 如果明细全部完成则更新主表状态
if (countDtl == 0) {
//更新主表状态
ioStorInvMapper.update(new IOStorInv(), new LambdaUpdateWrapper<>(IOStorInv.class)
.set(IOStorInv::getBill_status, IOSEnum.BILL_STATUS.code("完成"))
.set(IOStorInv::getConfirm_optid, currentUserId)
.set(IOStorInv::getConfirm_optname, nickName)
.set(IOStorInv::getConfirm_time, now)
.eq(IOStorInv::getIostorinv_id, iostorinvId)
String bill_code = ioStorInv.getBill_code();
String source_name = ioStorInv.getSource_name();
if (!ResultAcsStatus.EXECUTING.getCode().equals(task.getTask_status())) {
//解锁库位
JSONObject finish_map = new JSONObject();
finish_map.put("struct_code", structCode);
finish_map.put("storagevehicle_code", storagevehicleCode);
finish_map.put("lock_type", IOSEnum.LOCK_TYPE.code("未锁定"));
finish_map.put("inv_type", null);
finish_map.put("inv_id", null);
finish_map.put("inv_code", null);
iStructattrService.updateStatusByCode("1", finish_map);
//库存变动
StructattrChangeDto changeDto = StructattrChangeDto.builder()
.inv(iostorinvId)
.storagevehicleCode(storagevehicleCode)
.structCode(structCode).taskType(task.getConfig_code()).inBound(true).build();
iStructattrService.changeStruct(changeDto);
// 完成当前分配明细
Map<String, BigDecimal> dtlMap = new HashMap<>();
for (IOStorInvDis item : ioStorInvDis) {
ioStorInvDisMapper.update(item, new LambdaUpdateWrapper<>(IOStorInvDis.class)
.set(IOStorInvDis::getWork_status, IOSEnum.INBILL_DIS_STATUS.code("完成"))
.set(IOStorInvDis::getReal_qty, item.getPlan_qty())
.eq(IOStorInvDis::getIostorinvdis_id, item.getIostorinvdis_id()));
dtlMap.put(item.getIostorinvdtl_id(), item.getPlan_qty());
}
//更新明细
for (String dtl_id : dtlMap.keySet()) {
IOStorInvDtl invDtl = new IOStorInvDtl();
invDtl.setIostorinvdtl_id(dtl_id);
invDtl.setReal_qty(dtlMap.get(dtl_id));
invDtl.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
ioStorInvDtlMapper.updateById(invDtl);
}
// 查看明细是否全部完成
int countDtl = ioStorInvDtlMapper.selectCount(new LambdaQueryWrapper<>(IOStorInvDtl.class)
.eq(IOStorInvDtl::getIostorinv_id, iostorinvId)
.ne(IOStorInvDtl::getBill_status, IOSEnum.BILL_STATUS.code("完成"))
);
// 如果明细全部完成则更新主表状态
if (countDtl == 0) {
//更新主表状态
ioStorInvMapper.update(new IOStorInv(), new LambdaUpdateWrapper<>(IOStorInv.class)
.set(IOStorInv::getBill_status, IOSEnum.BILL_STATUS.code("完成"))
.set(IOStorInv::getConfirm_optid, currentUserId)
.set(IOStorInv::getConfirm_optname, nickName)
.set(IOStorInv::getConfirm_time, now)
.eq(IOStorInv::getIostorinv_id, iostorinvId)
);
}
}
//回传给wms
TOWMSMSG towmsmsg=new TOWMSMSG();
TOWMSMSG towmsmsg = new TOWMSMSG();
towmsmsg.setType("0");
towmsmsg.setBill_code(source_name);
towmsmsg.setStatus("200");
JSONObject jo=new JSONObject();
jo.put("storagevehicle_code",task.getVehicle_code());
jo.put("struct_name",task.getPoint_code2());
jo.put("struct_code",task.getPoint_code2());
GroupPlate groupPlate=mdPbGroupplateMapper.selectOne(new LambdaQueryWrapper<GroupPlate>()
.eq(GroupPlate::getStatus,IOSEnum.GROUP_PLATE_STATUS.code("入库"))
.eq(GroupPlate::getStoragevehicle_code,task.getVehicle_code()
));
MdMeMaterialbase mdMeMaterialbase=mdMeMaterialbaseMapper.selectOne(new LambdaQueryWrapper<MdMeMaterialbase>().eq(MdMeMaterialbase::getMaterial_code,groupPlate.getMaterial_id()));
jo.put("material_name",mdMeMaterialbase.getMaterial_name());
jo.put("material_code",mdMeMaterialbase.getMaterial_code());
jo.put("qty",groupPlate.getQty());
List<JSONObject> tableData=new ArrayList<>();
towmsmsg.setStatus(ResultAcsStatus.EXECUTING.getCode().equals(task.getTask_status()) ? "1" : "200");
JSONObject jo = new JSONObject();
jo.put("storagevehicle_code", task.getVehicle_code());
jo.put("struct_name", task.getPoint_code2());
jo.put("struct_code", task.getPoint_code2());
GroupPlate groupPlate = mdPbGroupplateMapper.selectOne(new LambdaQueryWrapper<GroupPlate>()
.eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库"))
.eq(GroupPlate::getStoragevehicle_code, task.getVehicle_code()
));
MdMeMaterialbase mdMeMaterialbase = mdMeMaterialbaseMapper.selectOne(new LambdaQueryWrapper<MdMeMaterialbase>().eq(MdMeMaterialbase::getMaterial_code, groupPlate.getMaterial_id()));
jo.put("material_name", mdMeMaterialbase.getMaterial_name());
jo.put("material_code", mdMeMaterialbase.getMaterial_code());
jo.put("qty", groupPlate.getQty());
List<JSONObject> tableData = new ArrayList<>();
tableData.add(jo);
towmsmsg.setTableData(tableData);
iWmsToWmsService.FinishOutTask(towmsmsg);

View File

@@ -1146,15 +1146,15 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
if (StrUtil.isBlank(whereJson.getString("region_code"))){
throw new BadRequestException("未选择出库区");
}
List<SchBasePoint> regionCode = schBasePointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>()
.eq(SchBasePoint::getRegion_code, whereJson.getString("region_code"))
.eq(SchBasePoint::getPoint_status,PointStatusEnum.EMPTY_POINT.getCode())
.eq(SchBasePoint::getIs_used,true)
.eq(SchBasePoint::getLock_up,"0")
);
if (CollectionUtils.isEmpty(regionCode)){
throw new BadRequestException("当前库区"+regionCode+"无可用点位");
}
// List<SchBasePoint> regionCode = schBasePointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>()
// .eq(SchBasePoint::getRegion_code, whereJson.getString("region_code"))
// .eq(SchBasePoint::getPoint_status,PointStatusEnum.EMPTY_POINT.getCode())
// .eq(SchBasePoint::getIs_used,true)
// .eq(SchBasePoint::getLock_up,"0")
// );
// if (CollectionUtils.isEmpty(regionCode)){
// throw new BadRequestException("当前库区"+regionCode+"无可用点位");
// }
// String pointCode=regionCode.get(0).getPoint_code();
// SchBasePoint schBasePoint=new SchBasePoint();
// schBasePoint=iSchBasePointService.getByCode(pointCode);
@@ -1205,6 +1205,7 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
task_form.put("vehicle_code", item.getStoragevehicle_code());
task_form.put("car_type",car_type);
task_form.put("car_width",car_width);
task_form.put("priority", whereJson.getString("priority"));
StOutTask stOutTask = SpringContextHolder.getBean("STOutTask");
String task_id = stOutTask.create(task_form);
for (IOStorInvDis itemDis : disList) {

View File

@@ -206,6 +206,7 @@ public class WmsToIWmsServiceImpl implements WmsToIWmsService {
task_form.put("vehicle_code", parm.getString("storagevehicle_type"));
task_form.put("car_type",car_type);
task_form.put("car_width",car_width);
task_form.put("priority", parm.getString("priority"));
CheckInTask checkInTask = SpringContextHolder.getBean("CheckInTask");
String task_id = checkInTask.create(task_form);
} else if("2".equals(parm.getString("task_type"))){
@@ -223,6 +224,7 @@ public class WmsToIWmsServiceImpl implements WmsToIWmsService {
task_form.put("vehicle_code",parm.getString("storagevehicle_type"));
task_form.put("car_type",car_type);
task_form.put("car_width",car_width);
task_form.put("priority", parm.getString("priority"));
CheckOutTask checkOutTask = SpringContextHolder.getBean("CheckOutTask");
String task_id = checkOutTask.create(task_form);
}