opt:印尼调试代码优化
This commit is contained in:
@@ -41,7 +41,7 @@ public class VehicleTwoController {
|
||||
@Log("入空载具")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> vehicleIn(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(vehicleTwoService.vehicleIn(whereJson), HttpStatus.OK);
|
||||
return new ResponseEntity<>(vehicleTwoService.InVehicleIn(whereJson), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/boxIn")
|
||||
|
||||
@@ -20,6 +20,18 @@ public interface VehicleTwoService {
|
||||
*/
|
||||
JSONObject vehicleIn(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
* 一楼入库空载具入库
|
||||
* @param whereJson {
|
||||
* vehicle_code: 载具号
|
||||
* vehicle_type: 载具类型
|
||||
* point_code: 点位
|
||||
* }
|
||||
* @return :JSONObject:返回前端参数
|
||||
*/
|
||||
|
||||
JSONObject InVehicleIn(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param whereJson {
|
||||
|
||||
@@ -28,8 +28,10 @@ import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBussMana
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InVehicleManageService;
|
||||
import org.nl.common.enums.SpecEnum;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.common.utils.RedisUtils;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.nl.system.service.param.ISysParamService;
|
||||
import org.nl.system.service.param.dao.Param;
|
||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||
import org.nl.wms.basedata.st.service.StructattrService;
|
||||
@@ -41,6 +43,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@@ -90,6 +93,18 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
@Autowired
|
||||
private IMdPbStoragevehicleextService mdPbStoragevehicleextService;
|
||||
|
||||
@Autowired
|
||||
private RedisUtils redisUtils;
|
||||
|
||||
/**
|
||||
* 空载具入库处理服务
|
||||
*/
|
||||
@Autowired
|
||||
private InVehicleManageService inVehicleManageService;
|
||||
|
||||
@Resource
|
||||
private ISysParamService iSysParamService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONObject vehicleIn(JSONObject whereJson) {
|
||||
@@ -112,7 +127,7 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
|
||||
// 判断入库叠盘位的 托盘类型是否相同、是否叠满
|
||||
JSONObject device_jo = new JSONObject();
|
||||
device_jo.put("device_code", "RK1004");
|
||||
device_jo.put("device_code", IOSEnum.VEHICLE_TYPE_POINT.code(vehicle_type));
|
||||
device_jo.put("product_area", IOSEnum.PRODUCT_AREA.code("BLK"));
|
||||
|
||||
JSONArray device_ja = new JSONArray();
|
||||
@@ -126,7 +141,7 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010715");
|
||||
jsonTaskParam.put("start_device_code", point_code);
|
||||
jsonTaskParam.put("next_device_code", "RK1004");
|
||||
jsonTaskParam.put("next_device_code", IOSEnum.VEHICLE_TYPE_POINT.code(vehicle_type));
|
||||
jsonTaskParam.put("containerType", whereJson.getString("vehicle_type"));
|
||||
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||
JSONObject param = new JSONObject();
|
||||
@@ -145,7 +160,8 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
|
||||
// 生层到出库口叠盘机任务
|
||||
// 判断托盘类型
|
||||
String next_device_code = "CK2005";
|
||||
|
||||
String next_device_code = IOSEnum.VEHICLE_TYPE_SCAN_POINT.code(vehicle_type);
|
||||
/*if (vehicle_type.equals(IOSEnum.IS_NOTANDYES.code("是"))) {
|
||||
// 小托盘 CK2009
|
||||
next_device_code = "CK2009";
|
||||
@@ -155,11 +171,11 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
}*/
|
||||
|
||||
// 判断点位状态
|
||||
device_jo.put("device_code", "CK2005");
|
||||
device_jo.put("device_code", IOSEnum.VEHICLE_TYPE_SCAN_POINT.code(vehicle_type));
|
||||
JSONArray device_ja2 = new JSONArray();
|
||||
device_ja2.add(device_jo);
|
||||
JSONObject device_data2 = wmsToAcsService.getPointStatus(device_ja2);
|
||||
JSONObject data2 = device_data2.getJSONArray("data").getJSONObject(0);
|
||||
// JSONObject data2 = device_data2.getJSONArray("data").getJSONObject(0);
|
||||
/*// 判断是否有货 且数量小于5
|
||||
if (data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code("否")) ||
|
||||
(data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code("是"))
|
||||
@@ -172,6 +188,7 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
jsonTaskParam.put("next_device_code", next_device_code);
|
||||
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||
jsonTaskParam.put("containerType", whereJson.getString("vehicle_type"));
|
||||
jsonTaskParam.put("type", "3");
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("containerType", whereJson.getString("vehicle_type"));
|
||||
param.put("heightLevel", "0");
|
||||
@@ -187,15 +204,93 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONObject InVehicleIn(JSONObject whereJson) {
|
||||
JSONObject result = new JSONObject();
|
||||
|
||||
String point_code = whereJson.getString("point_code");
|
||||
String vehicle_type = whereJson.getString("vehicle_type");
|
||||
if( whereJson.getIntValue("layer") >4 || whereJson.getIntValue("layer")<1){
|
||||
throw new BadRequestException("层数不区间");
|
||||
}
|
||||
|
||||
// 判断起点是否存在
|
||||
SchBasePoint pointDao = ischBasePointService.getOne(
|
||||
new QueryWrapper<SchBasePoint>().lambda()
|
||||
.eq(SchBasePoint::getPoint_code, point_code)
|
||||
.eq(SchBasePoint::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
.eq(SchBasePoint::getIs_used, IOSEnum.IS_NOTANDYES.code("是"))
|
||||
);
|
||||
|
||||
if (ObjectUtil.isEmpty(pointDao)) {
|
||||
throw new BadRequestException("点位:" + point_code + "不存在或未启用!");
|
||||
}
|
||||
|
||||
if(!IOSEnum.VEHICLE_TYPE_SCAN_POINT.code(vehicle_type).equals(point_code)){
|
||||
throw new BadRequestException("点位只能为" + IOSEnum.VEHICLE_TYPE_SCAN_POINT.code(vehicle_type));
|
||||
}
|
||||
|
||||
String height = "";
|
||||
String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue();
|
||||
String heightLevel2 = iSysParamService.findByCode("height_level_2").getValue();
|
||||
String vehicle_height = iSysParamService.findByCode("vehicle_height").getValue();
|
||||
int high = Integer.parseInt(vehicle_height) * whereJson.getIntValue("layer");
|
||||
if (high <= Integer.parseInt(heightLevel1)) {
|
||||
height = "1";
|
||||
} else if (high > Integer.parseInt(heightLevel1) && high <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2";
|
||||
}
|
||||
// whereJson.put("heightLevel", height);
|
||||
|
||||
if (high > Integer.parseInt(heightLevel2)){
|
||||
throw new BadRequestException("高度超高,无法入库");
|
||||
}
|
||||
|
||||
JSONArray rows = new JSONArray();
|
||||
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("device_code", point_code);
|
||||
jsonObject.put("code", "to_back_up_1");
|
||||
jsonObject.put("value", "3");
|
||||
jsonObject.put("product_area", "BLK");
|
||||
rows.add(jsonObject);
|
||||
|
||||
JSONObject jsonObject1 = new JSONObject();
|
||||
jsonObject1.put("device_code", point_code);
|
||||
jsonObject1.put("code", "to_container_type");
|
||||
jsonObject1.put("value",vehicle_type);
|
||||
jsonObject1.put("product_area", "BLK");
|
||||
|
||||
rows.add(jsonObject1);
|
||||
|
||||
redisUtils.set(whereJson.getString("vehicle_code") + "InVehicleInHeightLevel",height);
|
||||
|
||||
wmsToAcsService.action(rows);
|
||||
|
||||
|
||||
// inVehicleManageService.inVehicle(whereJson);
|
||||
|
||||
|
||||
result.put("message", "入库成功!");
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject boxIn(JSONObject whereJson) {
|
||||
// 调用接口
|
||||
String startCode = whereJson.getString("point_code");
|
||||
if ("MXRKW1".equals(startCode)) {
|
||||
inBoxManageService.boxBinVehicle(whereJson);
|
||||
} else if ("THRKDJW1".equals(startCode)) {
|
||||
if(StringUtils.isBlank(startCode)){
|
||||
throw new BadRequestException("点位不能为空!");
|
||||
}
|
||||
//KMXRKW2 退货入库
|
||||
if ("KMXRKW2".equals(startCode)) {
|
||||
inBoxManageService.boxBinVehicleByTHRK(whereJson);
|
||||
}
|
||||
else if (startCode.contains("KMXRKW")) {
|
||||
inBoxManageService.boxBinVehicle(whereJson);
|
||||
}
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("message", "入库成功!");
|
||||
return result;
|
||||
|
||||
@@ -40,6 +40,6 @@ public interface PdmBiSubpackagerelationMapper extends BaseMapper<PdmBiSubpackag
|
||||
List<Map<String,String>> downloadData(@Param("day") String date);
|
||||
|
||||
|
||||
@Select("select * from pdm_bi_subpackagerelation where package_box_sn = #{boxNo}")
|
||||
@Select("select * from pdm_bi_subpackagerelation where package_box_sn = #{boxNo} limit 1")
|
||||
StructattrQuerry selectSubpackagerelationInser(String boxNo);
|
||||
}
|
||||
|
||||
@@ -42,7 +42,6 @@ import org.nl.b_lms.sch.point.dao.mapper.BstIvtPackageinfoivtMapper;
|
||||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.sch.tasks.TwoInBoxTrussTask;
|
||||
import org.nl.b_lms.sch.tasks.boxstack.InBoxTrussTask;
|
||||
import org.nl.b_lms.sch.tasks.TwoOutBoxTask;
|
||||
import org.nl.b_lms.sch.tasks.boxstack.MxMoveTask;
|
||||
@@ -867,7 +866,7 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
throw new BadRequestException("高度超高,无法入库");
|
||||
}
|
||||
acsParam.put("device_code", deviceCode);
|
||||
acsParam.put("sub_volume", "BR" + box);
|
||||
|
||||
@@ -115,7 +115,7 @@ public class TwoInBoxTrussTask extends AbstractAcsTask {
|
||||
task.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
task.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
task.setUpdate_time(DateUtil.now());
|
||||
ischBaseTaskService.update(task, new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, task.getTask_id()));
|
||||
ischBaseTaskService.update(task, new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -104,6 +104,7 @@ public class TwoLashTask extends AbstractAcsTask {
|
||||
interaction_json.put("length", dao.get(0).getBox_length());
|
||||
interaction_json.put("weight", dao.get(0).getBox_width());
|
||||
interaction_json.put("height", dao.get(0).getBox_high());
|
||||
interaction_json.put("barcode",dao.get(0).getBox_no());
|
||||
// 捆扎模版
|
||||
if (ObjectUtil.isEmpty(boxTypeDao.getLash_num())) {
|
||||
throw new BadRequestException("捆扎模版不能为空!");
|
||||
|
||||
@@ -38,6 +38,8 @@ import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 堆垛机点位至行架点位任务(出库)
|
||||
@@ -57,158 +59,211 @@ public class TwoOutHeapTask extends AbstractAcsTask {
|
||||
private MdPdStoragevehicleextMapper mdPdStoragevehicleextMapper;
|
||||
|
||||
|
||||
private List<SchBaseTask> sendTask(List<SchBaseTask> taskArrAll) {
|
||||
private List<JSONObject> sendTask(List<JSONObject> taskArrAll) {
|
||||
/*
|
||||
* 一个行架点位只允许一个任务正在执行或下发中
|
||||
*/
|
||||
// WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task");
|
||||
// // 点位表
|
||||
// WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
|
||||
WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task");
|
||||
// 点位表
|
||||
WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
|
||||
|
||||
List<SchBaseTask> taskArr = new ArrayList<>();
|
||||
ArrayList<JSONObject> taskArr = new ArrayList<>();
|
||||
|
||||
// 判断这两个点位是否有任务:如果没有则下发任务
|
||||
// List<JSONObject> pointJson = wo_Task.query("handle_class = '" + THIS_CLASS + "' AND task_status IN ('05','06') AND is_delete = '0' ORDER BY point_code2")
|
||||
// .getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
List<JSONObject> pointJson = wo_Task.query("handle_class = '" + THIS_CLASS + "' AND task_status IN ('05','06') AND is_delete = '0' ORDER BY point_code2")
|
||||
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
List<SchBaseTask> taskList = schBaseTaskMapper.selectList(new LambdaQueryWrapper<SchBaseTask>().eq(SchBaseTask::getHandle_class, THIS_CLASS).eq(SchBaseTask::getIs_delete, "0")
|
||||
.in(SchBaseTask::getTask_status, "05", "06").orderByAsc(SchBaseTask::getPoint_code2));
|
||||
// 统计行架1、行架2 当前负载数量
|
||||
long countHanger1 = pointJson.stream()
|
||||
.filter(j -> IOSEnum.OUT_HANGER.code("行架位1").equals(j.getString("point_code2"))).count();
|
||||
long countHanger2 = pointJson.stream()
|
||||
.filter(j -> IOSEnum.OUT_HANGER.code("行架位2").equals(j.getString("point_code2"))).count();
|
||||
|
||||
// ==========2. 预分组待下发任务,只遍历一次taskArrAll ==========
|
||||
Map<String, List<JSONObject>> taskGroupMap = taskArrAll.stream()
|
||||
.collect(Collectors.groupingBy(item -> item.getString("point_code2")));
|
||||
List<JSONObject> exceptTaskList = taskGroupMap.getOrDefault(IOSEnum.EXCEP_OUT.code("异常出库口"), Collections.emptyList());
|
||||
List<JSONObject> waitHanger1List = taskGroupMap.getOrDefault(IOSEnum.OUT_HANGER.code("行架位1"), Collections.emptyList());
|
||||
List<JSONObject> waitHanger2List = taskGroupMap.getOrDefault(IOSEnum.OUT_HANGER.code("行架位2"), Collections.emptyList());
|
||||
|
||||
if (CollUtil.isEmpty(taskList)) {
|
||||
// 下发两个的任务
|
||||
SchBaseTask oneTask = taskArrAll.stream()
|
||||
.filter(row -> row.getPoint_code2().equals(IOSEnum.OUT_HANGER.code("行架位1")))
|
||||
.findFirst().orElse(null);
|
||||
if (ObjectUtil.isNotEmpty(oneTask)) {
|
||||
taskArr.add(oneTask);
|
||||
// ==========3. 优先下发异常出库任务(限制最多1条,点位独占) ==========
|
||||
if (CollUtil.isNotEmpty(exceptTaskList)) {
|
||||
// 只取第一条下发
|
||||
taskArr.add(exceptTaskList.get(0));
|
||||
}
|
||||
|
||||
// ==========4. 行架负载均衡分配核心逻辑 ==========
|
||||
// 判断哪边负载更小
|
||||
boolean hanger1Less = countHanger1 < countHanger2;
|
||||
boolean hanger2Less = countHanger2 < countHanger1;
|
||||
|
||||
JSONObject selectTask = null;
|
||||
String targetPoint = null;
|
||||
|
||||
if (hanger1Less) {
|
||||
// 行架1负载低:优先原生行架1任务
|
||||
selectTask = waitHanger1List.stream().findFirst().orElse(null);
|
||||
targetPoint = IOSEnum.OUT_HANGER.code("行架位1");
|
||||
// 若无原生任务,则把行架2任务 转移 → 行架1
|
||||
if (ObjectUtil.isNull(selectTask)) {
|
||||
selectTask = waitHanger2List.stream().findFirst().orElse(null);
|
||||
targetPoint = IOSEnum.OUT_HANGER.code("行架位1");
|
||||
}
|
||||
|
||||
SchBaseTask towTask = taskArrAll.stream()
|
||||
.filter(row -> row.getPoint_code2().equals(IOSEnum.OUT_HANGER.code("行架位2")))
|
||||
.findFirst().orElse(null);
|
||||
if (ObjectUtil.isNotEmpty(towTask)) {
|
||||
taskArr.add(towTask);
|
||||
} else if (hanger2Less) {
|
||||
// 行架2负载低:优先原生行架2任务
|
||||
selectTask = waitHanger2List.stream().findFirst().orElse(null);
|
||||
targetPoint = IOSEnum.OUT_HANGER.code("行架位2");
|
||||
// 若无原生任务,则把行架1任务 转移 → 行架2
|
||||
if (ObjectUtil.isNull(selectTask)) {
|
||||
selectTask = waitHanger1List.stream().findFirst().orElse(null);
|
||||
targetPoint = IOSEnum.OUT_HANGER.code("行架位2");
|
||||
}
|
||||
} else {
|
||||
// 哪里空了就下发哪里的
|
||||
if (taskList.size() == 1) {
|
||||
SchBaseTask schBaseTask = taskList.get(0);
|
||||
if (schBaseTask.getPoint_code2().equals(IOSEnum.OUT_HANGER.code("行架位1"))) {
|
||||
// 行架位1有任务则下发行架位2的任务
|
||||
SchBaseTask towTask = taskArrAll.stream()
|
||||
.filter(row -> row.getPoint_code2().equals(IOSEnum.OUT_HANGER.code("行架位2")))
|
||||
.findFirst().orElse(null);
|
||||
if (ObjectUtil.isNotEmpty(towTask)) {
|
||||
// 如果能找到去行架位2的任务则下发当前任务
|
||||
taskArr.add(towTask);
|
||||
} else {
|
||||
// 如果不能找到去行架位2则找去行架位1的任务进行二次分配到行架位2
|
||||
SchBaseTask twoJsonOne = taskArrAll.stream()
|
||||
.filter(row -> row.getPoint_code2().equals(IOSEnum.OUT_HANGER.code("行架位1")))
|
||||
.findFirst().orElse(null);
|
||||
|
||||
if (twoJsonOne != null) {
|
||||
// 进行二次分配
|
||||
// 判断点位是否启用
|
||||
// JSONObject jsonOne = pointTab.query("point_code = '" + IOSEnum.OUT_HANGER.code("行架位2") + "'")
|
||||
// .uniqueResult(0);
|
||||
SchBasePoint point = schPointMapper.selectOne(new LambdaQueryWrapper<SchBasePoint>().eq(SchBasePoint::getPoint_code, IOSEnum.OUT_HANGER.code("行架位2")));
|
||||
if (point.getIs_used().equals("1")) {
|
||||
twoJsonOne.setPoint_code2(IOSEnum.OUT_HANGER.code("行架位2"));
|
||||
schBaseTaskMapper.updateById(twoJsonOne);
|
||||
taskArr.add(twoJsonOne);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
// 行架位2有任务则下发行架位1的任务
|
||||
SchBaseTask oneJson = taskArrAll.stream()
|
||||
.filter(row -> row.getPoint_code2().equals(IOSEnum.OUT_HANGER.code("行架位1")))
|
||||
.findFirst().orElse(null);
|
||||
if (ObjectUtil.isNotEmpty(oneJson)) {
|
||||
// 如果能找到去行架位1的任务则下发当前任务
|
||||
taskArr.add(oneJson);
|
||||
} else {
|
||||
// 如果不能找到去行架位1则找去行架位2的任务进行二次分配到行架位1
|
||||
SchBaseTask twoJsonTwo = taskArrAll.stream()
|
||||
.filter(row -> row.getPoint_code2().equals(IOSEnum.OUT_HANGER.code("行架位2")))
|
||||
.findFirst().orElse(null);
|
||||
|
||||
if (twoJsonTwo!=null) {
|
||||
// 进行二次分配
|
||||
// JSONObject jsonTwo = pointTab.query("point_code = '" + IOSEnum.OUT_HANGER.code("行架位1") + "'")
|
||||
// .uniqueResult(0);
|
||||
SchBasePoint point = schPointMapper.selectOne(new LambdaQueryWrapper<SchBasePoint>().eq(SchBasePoint::getPoint_code, IOSEnum.OUT_HANGER.code("行架位1")));
|
||||
|
||||
if (point.getIs_used().equals("1")) {
|
||||
twoJsonTwo.setPoint_code2(IOSEnum.OUT_HANGER.code("行架位1"));
|
||||
schBaseTaskMapper.updateById(twoJsonTwo);
|
||||
taskArr.add(twoJsonTwo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// count相等,默认优先行架1
|
||||
selectTask = waitHanger1List.stream().findFirst().orElse(null);
|
||||
targetPoint = IOSEnum.OUT_HANGER.code("行架位1");
|
||||
if (ObjectUtil.isNull(selectTask)) {
|
||||
selectTask = waitHanger2List.stream().findFirst().orElse(null);
|
||||
targetPoint = IOSEnum.OUT_HANGER.code("行架位2");
|
||||
}
|
||||
}
|
||||
|
||||
// ==========5. 处理选中任务,区分是否需要变更点位 ==========
|
||||
if (ObjectUtil.isNotEmpty(selectTask)) {
|
||||
String originalPoint = selectTask.getString("point_code2");
|
||||
// 深拷贝!禁止操作原始taskArrAll对象
|
||||
JSONObject taskCopy = JSONObject.parseObject(selectTask.toJSONString());
|
||||
|
||||
if (!originalPoint.equals(targetPoint)) {
|
||||
// 需要二次分配、变更点位
|
||||
// 校验目标点位是否启用
|
||||
JSONObject pointInfo = pointTab.query("point_code = '" + targetPoint + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(pointInfo) && "1".equals(pointInfo.getString("is_used"))) {
|
||||
// 修改副本点位
|
||||
taskCopy.put("point_code2", targetPoint);
|
||||
// 更新数据库
|
||||
wo_Task.update(taskCopy);
|
||||
taskArr.add(taskCopy);
|
||||
}
|
||||
} else {
|
||||
// 原生点位,无需修改,直接加入下发列表
|
||||
taskArr.add(taskCopy);
|
||||
}
|
||||
}
|
||||
|
||||
return taskArr;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<AcsTaskDto> addTask() {
|
||||
return Collections.emptyList();
|
||||
/*
|
||||
* 下发给ACS时需要特殊处理
|
||||
*/
|
||||
//任务表
|
||||
WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task");
|
||||
|
||||
List<JSONObject> taskArrAll = wo_Task
|
||||
.query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' ORDER BY create_time")
|
||||
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 是否下发多个AGV输送出库任务
|
||||
String is_send_many = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_send_many").getValue();
|
||||
// 是否异常出库口任务
|
||||
String TWO_EXCEP = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("TWO_EXCEP").getValue();
|
||||
|
||||
List<JSONObject> taskArr;
|
||||
if (TWO_EXCEP.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||
if (is_send_many.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||
// 只允许每个行架点位有一条任务
|
||||
taskArr = sendTask(taskArrAll);
|
||||
} else {
|
||||
taskArr = taskArrAll;
|
||||
}
|
||||
} else {
|
||||
taskArr = taskArrAll;
|
||||
}
|
||||
|
||||
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
|
||||
for (int i = 0; i < taskArr.size(); i++) {
|
||||
JSONObject json = taskArr.get(i);
|
||||
|
||||
char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1);
|
||||
AcsTaskDto dto = AcsTaskDto.builder()
|
||||
.ext_task_id(json.getString("task_id"))
|
||||
.task_code(json.getString("task_code"))
|
||||
.task_type(json.getString("acs_task_type"))
|
||||
.start_device_code(json.getString("point_code1"))
|
||||
.next_device_code(json.getString("point_code2"))
|
||||
.vehicle_code(json.getString("vehicle_code2"))
|
||||
.vehicle_code2(json.getString("vehicle_code"))
|
||||
.interaction_json(json.getJSONObject("request_param"))
|
||||
.priority(json.getString("priority"))
|
||||
.class_type(IOSEnum.ACS_TYPE.code("RGV输送任务"))
|
||||
.dtl_type(String.valueOf(dtl_type))
|
||||
.product_area(IOSEnum.PRODUCT_AREA.code("BLK"))
|
||||
.remark(json.getString("remark"))
|
||||
.build();
|
||||
|
||||
if (json.getString("vehicle_code2").contains("YNX")) {
|
||||
dto.setRoute_plan_code("two");
|
||||
} else {
|
||||
dto.setRoute_plan_code("normal");
|
||||
}
|
||||
resultList.add(dto);
|
||||
|
||||
// 更新任务为下发
|
||||
JSONObject paramMap = new JSONObject();
|
||||
paramMap.put("task_status", TaskStatusEnum.ISSUE.getCode());
|
||||
wo_Task.update(paramMap, "task_id ='" + json.getString("task_id") + "'");
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
|
||||
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); // 任务表
|
||||
String task_id = taskObj.getString("task_id");
|
||||
// JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "' and task_status < '07'").uniqueResult(0);
|
||||
|
||||
|
||||
SchBaseTask schBaseTask = schBaseTaskMapper.selectOne(new LambdaQueryWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id,task_id).lt(SchBaseTask::getTask_status, "07"));
|
||||
|
||||
|
||||
if (ObjectUtil.isNotEmpty(schBaseTask)) {
|
||||
JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "' and task_status < '07'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(jsonTask)) {
|
||||
if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||
// 任务为执行之后就不允许取消
|
||||
if (Integer.parseInt(schBaseTask.getTask_status()) > Integer.parseInt(TaskStatusEnum.ISSUE.getCode())) {
|
||||
throw new BadRequestException("任务:" + schBaseTask.getTask_code() + "已执行,不可取消");
|
||||
if (jsonTask.getIntValue("task_status") > Integer.parseInt(TaskStatusEnum.ISSUE.getCode())) {
|
||||
throw new BadRequestException("任务:" + jsonTask.getString("task_code") + "已执行,不可取消");
|
||||
}
|
||||
schBaseTask.setIs_delete("1");
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTaskMapper.updateById(schBaseTask);
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("is_delete", "1");
|
||||
param.put("update_time", DateUtil.now());
|
||||
taskTab.update(param, "task_id = '" + task_id + "'");
|
||||
}
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTaskMapper.updateById(schBaseTask);
|
||||
|
||||
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("task_status", TaskStatusEnum.EXECUTING.getCode());
|
||||
param.put("update_time", DateUtil.now());
|
||||
taskTab.update(param, "task_id = '" + task_id + "'");
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
// 更新任务完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTaskMapper.updateById(schBaseTask);
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("task_status", TaskStatusEnum.FINISHED.getCode());
|
||||
param.put("update_time", DateUtil.now());
|
||||
taskTab.update(param, "task_id = '" + task_id + "'");
|
||||
// 如果是异常出库口则不需要下发行架任务
|
||||
if (schBaseTask.getPoint_code2().equals(IOSEnum.EXCEP_OUT.code("异常出库口"))) {
|
||||
|
||||
|
||||
MdPdStoragevehicleext mdPdStoragevehicleext = mdPdStoragevehicleextMapper.selectOne(new QueryWrapper<MdPdStoragevehicleext>().eq("storagevehicle_code",schBaseTask.getVehicle_code() ));
|
||||
if (ObjectUtil.isNotEmpty(mdPdStoragevehicleext)) {
|
||||
mdPdStoragevehicleext.setPcsn("");
|
||||
mdPdStoragevehicleextMapper.updateById(mdPdStoragevehicleext);
|
||||
if (jsonTask.getString("point_code2").equals(IOSEnum.EXCEP_OUT.code("异常出库口"))) {
|
||||
WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||
JSONObject ext_jo = veExtTab.query("pcsn = '" + jsonTask.getString("vehicle_code") + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(ext_jo)) {
|
||||
ext_jo.put("pcsn", "");
|
||||
veExtTab.update(ext_jo);
|
||||
}
|
||||
} else {
|
||||
// 下发桁架任务:捆扎
|
||||
JSONObject jsonParam = new JSONObject();
|
||||
jsonParam.put("device_code", schBaseTask.getPoint_code2());
|
||||
jsonParam.put("vehicle_code", schBaseTask.getVehicle_code());
|
||||
jsonParam.put("task_group_id", schBaseTask.getTask_group_id());
|
||||
jsonParam.put("device_code", jsonTask.getString("point_code2"));
|
||||
jsonParam.put("vehicle_code", jsonTask.getString("vehicle_code"));
|
||||
jsonParam.put("task_group_id", jsonTask.getString("task_group_id"));
|
||||
LashManageServiceImpl bean1 = SpringContextHolder.getBean(LashManageServiceImpl.class);
|
||||
bean1.createLashTask(jsonParam);
|
||||
}
|
||||
@@ -280,80 +335,49 @@ public class TwoOutHeapTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void sendTaskAcs(String groupTaskId, boolean retry) {
|
||||
// WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task");
|
||||
// List<JSONObject> taskArrAll = wo_Task
|
||||
// .query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' ORDER BY create_time")
|
||||
// .getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
|
||||
List<SchBaseTask> taskList = schBaseTaskMapper.selectList(new LambdaQueryWrapper<SchBaseTask>().eq(SchBaseTask::getHandle_class, THIS_CLASS)
|
||||
.eq(SchBaseTask::getTask_status, TaskStatusEnum.START_AND_POINT.getCode())
|
||||
.eq(SchBaseTask::getIs_delete, "0").orderByAsc(SchBaseTask::getCreate_time));
|
||||
|
||||
|
||||
public void sendTaskAcs(String groupTaskId, boolean retry) { WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task");
|
||||
List<JSONObject> taskArrAll = wo_Task
|
||||
.query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' ORDER BY create_time")
|
||||
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
// 是否下发多个AGV输送出库任务
|
||||
if (CollectionUtils.isEmpty(taskList)) {
|
||||
if (CollectionUtils.isEmpty(taskArrAll)) {
|
||||
return;
|
||||
}
|
||||
List<SchBaseTask> taskArr;
|
||||
List<JSONObject> taskArr;
|
||||
// 是否异常出库口任务
|
||||
String TWO_EXCEP = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("TWO_EXCEP").getValue();
|
||||
if (TWO_EXCEP.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||
String is_send_many = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_send_many").getValue();
|
||||
if (is_send_many.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||
// 只允许每个行架点位有一条任务
|
||||
taskArr = sendTask(taskList);
|
||||
taskArr = sendTask(taskArrAll);
|
||||
} else {
|
||||
taskArr = taskList;
|
||||
taskArr = taskArrAll;
|
||||
}
|
||||
} else {
|
||||
taskArr = taskList;
|
||||
taskArr = taskArrAll;
|
||||
}
|
||||
|
||||
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
|
||||
for (int i = 0; i < taskArr.size(); i++) {
|
||||
// SchBaseTask schBaseTask = taskArr.get(i);
|
||||
// char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1);
|
||||
// AcsTaskDto dto = AcsTaskDto.builder()
|
||||
// .ext_task_id(json.getString("task_id"))
|
||||
// .task_code(json.getString("task_code"))
|
||||
// .task_type(json.getString("acs_task_type"))
|
||||
// .start_device_code(json.getString("point_code1"))
|
||||
// .next_device_code(json.getString("point_code2"))
|
||||
// .vehicle_code(json.getString("vehicle_code2"))
|
||||
// .vehicle_code2(json.getString("vehicle_code"))
|
||||
// .interaction_json(json.getJSONObject("request_param"))
|
||||
// .priority(json.getString("priority"))
|
||||
// .class_type(IOSEnum.ACS_TYPE.code("RGV输送任务"))
|
||||
// .dtl_type(String.valueOf(dtl_type))
|
||||
// .product_area(IOSEnum.PRODUCT_AREA.code("BLK"))
|
||||
// .remark(json.getString("remark"))
|
||||
// .build();
|
||||
|
||||
SchBaseTask schBaseTask = taskArr.get(i);
|
||||
char dtl_type = schBaseTask.getTask_type().charAt(schBaseTask.getTask_type().length() - 1);
|
||||
// 处理request_param转换为JSONObject
|
||||
JSONObject requestParamJson = null;
|
||||
if (schBaseTask.getRequest_param() != null && !schBaseTask.getRequest_param().isEmpty()) {
|
||||
requestParamJson = JSONObject.parseObject(schBaseTask.getRequest_param());
|
||||
}
|
||||
JSONObject json = taskArr.get(i);
|
||||
char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1);
|
||||
AcsTaskDto dto = AcsTaskDto.builder()
|
||||
.ext_task_id(schBaseTask.getTask_id())
|
||||
.task_code(schBaseTask.getTask_code())
|
||||
.task_type(schBaseTask.getAcs_task_type())
|
||||
.start_device_code(schBaseTask.getPoint_code1())
|
||||
.next_device_code(schBaseTask.getPoint_code2())
|
||||
.vehicle_code(schBaseTask.getVehicle_code2())
|
||||
.vehicle_code2(schBaseTask.getVehicle_code())
|
||||
.interaction_json(requestParamJson)
|
||||
.priority(schBaseTask.getPriority())
|
||||
.ext_task_id(json.getString("task_id"))
|
||||
.task_code(json.getString("task_code"))
|
||||
.task_type(json.getString("acs_task_type"))
|
||||
.start_device_code(json.getString("point_code1"))
|
||||
.next_device_code(json.getString("point_code2"))
|
||||
.vehicle_code(json.getString("vehicle_code2"))
|
||||
.vehicle_code2(json.getString("vehicle_code"))
|
||||
.interaction_json(json.getJSONObject("request_param"))
|
||||
.priority(json.getString("priority"))
|
||||
.class_type(IOSEnum.ACS_TYPE.code("RGV输送任务"))
|
||||
.dtl_type(String.valueOf(dtl_type))
|
||||
.product_area(IOSEnum.PRODUCT_AREA.code("BLK"))
|
||||
.remark(schBaseTask.getRemark())
|
||||
.remark(json.getString("remark"))
|
||||
.build();
|
||||
if (schBaseTask.getVehicle_code2().contains("A")) {
|
||||
if (json.getString("vehicle_code2").contains("YNX")) {
|
||||
dto.setRoute_plan_code("two");
|
||||
} else {
|
||||
dto.setRoute_plan_code("normal");
|
||||
|
||||
@@ -254,9 +254,9 @@ public class MxOutTask extends AbstractAcsTask {
|
||||
BeanUtils.copyProperties(schBaseTaskVo, task);
|
||||
taskService.save(task);
|
||||
//测试屏蔽下发acs
|
||||
// if (isSend) {
|
||||
// this.immediateNotifyAcs(null);
|
||||
// }
|
||||
if (isSend) {
|
||||
this.immediateNotifyAcs(null);
|
||||
}
|
||||
return task.getTask_id();
|
||||
}
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ public class AutoMxZxTask {
|
||||
schBaseTask.setPoint_code2(bstIvtBoxstacks.get(0).getStack_code());
|
||||
taskService.updateById(schBaseTask);
|
||||
//测试屏蔽下发acs
|
||||
// this.immediateNotifyAcs(null);
|
||||
// this.immediateNotifyAcs(null);
|
||||
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -209,9 +209,9 @@ public class DjqTask extends AbstractAcsTask {
|
||||
taskService.save(task);
|
||||
//如果目标点位没有空位先创建不下发
|
||||
//测试屏蔽下发acs
|
||||
// if (isSend) {
|
||||
// this.immediateNotifyAcs(null);
|
||||
// }
|
||||
if (isSend) {
|
||||
this.immediateNotifyAcs(null);
|
||||
}
|
||||
return task.getTask_id();
|
||||
}
|
||||
|
||||
|
||||
@@ -253,9 +253,9 @@ public class ZxqTask extends AbstractAcsTask {
|
||||
|
||||
|
||||
//测试屏蔽下发acs
|
||||
// if (isSend) {
|
||||
// this.immediateNotifyAcs(null);
|
||||
// }
|
||||
if (isSend) {
|
||||
this.immediateNotifyAcs(null);
|
||||
}
|
||||
return task.getTask_id();
|
||||
}
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ public enum IOSEnum {
|
||||
SECT_TYPE(MapOf.of("主存区", "00","暂存区","01","虚拟区","09")),
|
||||
|
||||
//库区
|
||||
SECT_ID(MapOf.of("印尼主存区", "2026561243103498240")),
|
||||
SECT_ID(MapOf.of("印尼主存区", "2071537527294136320")),
|
||||
|
||||
//库存变动类型
|
||||
IVT_CHANGE(MapOf.of("加待入", "31","加库存","33","减待入","32","加冻结","11","减冻结","12","减库存","21")),
|
||||
@@ -100,20 +100,29 @@ public enum IOSEnum {
|
||||
// 出库 38 42 46
|
||||
|
||||
// 出库堆垛机点位
|
||||
OUT_POINT(MapOf.of("1","CK2038", "2","CK2038", "3","CK2042", "4","CK2042" ,"5","CK2046",
|
||||
"6","CK2046", "7","7", "8","8", "9","9", "10","10","1020","CK1020")),
|
||||
OUT_POINT(MapOf.of("1","CK1116", "2","CK1116", "3","CK1112", "4","CK1112" ,"5","CK1108",
|
||||
"6","CK1108", "7","CK1104", "8","CK1104", "9","9", "10","10")),
|
||||
// 出库堆垛机点位
|
||||
OUT_POINT2(MapOf.of("1","CK2037", "2","CK2037", "3","CK2041", "4","CK2041" ,"5","CK2045",
|
||||
"6","CK2045", "7","7", "8","8", "9","9", "10","10","1020","CK1020")),
|
||||
OUT_POINT2(MapOf.of("1","CK1116", "2","CK1116", "3","CK1112", "4","CK1112" ,"5","CK1108",
|
||||
"6","CK1108", "7","CK1104", "8","CK1104", "9","9", "10","10")),
|
||||
|
||||
// 载具类型对应1楼拆叠盘点位
|
||||
VEHICLE_TYPE_POINT(MapOf.of("1","RK1006", "2","RK1013")),
|
||||
|
||||
// 载具类型对应1楼入库扫码位
|
||||
VEHICLE_TYPE_SCAN_POINT(MapOf.of("1","RK1005", "2","RK1012")),
|
||||
|
||||
VEHICLE_TYPE_OUT_POINT(MapOf.of("1","CK1142", "2","CK1140")),
|
||||
|
||||
// 出库发货等待点
|
||||
OUT_FH_POINT(MapOf.of("1","B_FH01_0", "2","B_FH02_0", "3","B_FH03_0", "4","B_FH04_0" ,"5","B_FH05_0",
|
||||
"6","B_FH06_0")),
|
||||
|
||||
// 行架点位
|
||||
OUT_HANGER(MapOf.of("行架位1", "CK2013","行架位2", "CK2017")),
|
||||
OUT_HANGER(MapOf.of("行架位1", "CK1134","行架位2", "CK1138")),
|
||||
|
||||
// 点位
|
||||
POINT_CODE(MapOf.of("退货入库位", "THRKDJW1", "2020","CK2020", "2022","CK2022","木箱装箱开盒盖位","CK2024")),
|
||||
POINT_CODE(MapOf.of("退货入库位", "KMXRKW2", "1125","CK1125", "1124","CK1124","木箱装箱开盒盖位","CK2024")),
|
||||
|
||||
//acs申请任务
|
||||
ACSTOLMS_TYPE(MapOf.of("成品入库任务", "1"
|
||||
@@ -135,7 +144,7 @@ public enum IOSEnum {
|
||||
CHANGE_OUT(MapOf.of("换标出库口", "CK1020")),
|
||||
|
||||
// 下发acs任务类型(明细)
|
||||
ACS_TYPE(MapOf.of("子卷装箱行架任务", "12","装箱入库行架任务", "13",
|
||||
ACS_TYPE(MapOf.of("木箱入库行架任务", "12","装箱入库行架任务", "13",
|
||||
"子卷下线行架任务", "16","退货入库行架任务", "14","RGV输送任务", "15",
|
||||
"木箱堆叠行架任务", "17"
|
||||
)),
|
||||
|
||||
@@ -711,7 +711,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
||||
|
||||
if (CollUtil.isEmpty(taskList)) {
|
||||
//测试屏蔽下发acs
|
||||
// twoOutTask.immediateNotifyAcs(null);
|
||||
twoOutTask.immediateNotifyAcs(null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1676,11 +1676,11 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
||||
|
||||
String box_high = boxDao.getBox_high();
|
||||
if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) {
|
||||
height = "1,2,3";
|
||||
height = "1";
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2,3";
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
throw new BadRequestException("高度超高,无法入库");
|
||||
}
|
||||
moveParam.put("height", height);
|
||||
moveParam.put("vehicle_type", boxDao.getVehicle_type());
|
||||
@@ -1812,11 +1812,11 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
||||
|
||||
String box_high = boxDao.getBox_high();
|
||||
if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) {
|
||||
height = "1,2,3";
|
||||
height = "1";
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2,3";
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
throw new BadRequestException("高度超高,无法入库");
|
||||
}
|
||||
moveParam.put("height", height);
|
||||
moveParam.put("vehicle_type", boxDao.getVehicle_type());
|
||||
|
||||
@@ -354,23 +354,23 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
||||
attrParam.put("sect_id", jsonObject.getString("sect_id"));
|
||||
attrParam.put("material_id", disDao.getMaterial_id());
|
||||
attrParam.put("box_no", disDao.getBox_no());
|
||||
// BstIvtBoxinfo boxDao = getBstIvtBoxinfo(whereJson);
|
||||
// if (boxDao == null) {
|
||||
// throw new BadRequestException("未找到该木箱信息!");
|
||||
// }
|
||||
// jsonObject.put("box_no", boxDao.getBox_no());
|
||||
// jsonObject.put("vehicle_type", boxDao.getVehicle_type());
|
||||
// attrParam.put("vehicle_type", boxDao.getVehicle_type());
|
||||
BstIvtBoxinfo boxDao = getBstIvtBoxinfo(whereJson);
|
||||
if (boxDao == null) {
|
||||
throw new BadRequestException("未找到该木箱信息!");
|
||||
}
|
||||
jsonObject.put("box_no", boxDao.getBox_no());
|
||||
jsonObject.put("vehicle_type", boxDao.getVehicle_type());
|
||||
attrParam.put("vehicle_type", boxDao.getVehicle_type());
|
||||
//根据木箱高度,判断入库仓位的高度
|
||||
String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue();
|
||||
String heightLevel2 = iSysParamService.findByCode("height_level_2").getValue();
|
||||
String box_high = "3";
|
||||
String box_high = boxDao.getBox_high();
|
||||
if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) {
|
||||
height = "1,2,3";
|
||||
height = "1,2";
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2,3";
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
throw new BadRequestException("高度超高,无法入库");
|
||||
}
|
||||
attrParam.put("height", height);
|
||||
StIvtSectattr stIvtSectattr = stIvtSectattrMapper.selectOne(new QueryWrapper<StIvtSectattr>().eq("sect_id", jsonObject.getString("sect_id")));
|
||||
@@ -469,7 +469,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
||||
jsonSend.put("vehicle_code2", jsonObject.getString("vehicle_code"));
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("containerType", jsonObject.getString("vehicle_type"));
|
||||
param.put("heightLevel", height);
|
||||
param.put("heightLevel", height.split(",")[0]);
|
||||
jsonSend.put("request_param", param.toString());
|
||||
String task_id1 = this.setPoint(jsonSend);
|
||||
// 下发任务
|
||||
|
||||
@@ -163,7 +163,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
throw new BadRequestException("高度超高,无法入库");
|
||||
}
|
||||
JSONObject jsonParam = new JSONObject();
|
||||
jsonParam.put("stor_id", IOSEnum.STOR_ID.code("印尼仓库"));
|
||||
@@ -217,26 +217,19 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
if (ObjectUtil.isEmpty(point)) {
|
||||
throw new BadRequestException("未查询到点位【" + whereJson.getString("point_code") + "】!");
|
||||
}
|
||||
String box_no = whereJson.getString("box_no");
|
||||
String[] split = box_no.split(",");
|
||||
String boxType = "";
|
||||
int layer = whereJson.getIntValue("layer");
|
||||
if (layer != split.length) {
|
||||
throw new BadRequestException("扫描的木箱个数和选择的木箱层数不一致!");
|
||||
}
|
||||
Set<String> collect = Arrays.stream(split).collect(Collectors.toSet());
|
||||
if (collect.size() != split.length) {
|
||||
throw new BadRequestException("扫描的木箱条码不能相同");
|
||||
}
|
||||
if (split.length > 3) {
|
||||
throw new BadRequestException("堆叠木箱最大不能超过3层");
|
||||
}
|
||||
// 校验是否有相同木箱号
|
||||
List<String> strings = Arrays.asList(split);
|
||||
int size = (int) strings.stream()
|
||||
.distinct().count();
|
||||
|
||||
if (size != split.length) {
|
||||
String boxType = "";
|
||||
|
||||
String up_box_no = whereJson.getString("up_box_no");
|
||||
String down_box_no = whereJson.getString("down_box_no");
|
||||
|
||||
List<String> split = Arrays.asList(down_box_no,up_box_no);
|
||||
|
||||
if (StringUtils.isBlank(down_box_no)) {
|
||||
throw new BadRequestException("下条码不能为空");
|
||||
}
|
||||
|
||||
if (down_box_no.equals(up_box_no)) {
|
||||
throw new BadRequestException("木箱号有相同,请重新扫码!");
|
||||
}
|
||||
//查询仓库是否存在相同木箱
|
||||
@@ -247,8 +240,8 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < split.length; i++) {
|
||||
String boxNO = split[i];
|
||||
for (int i = 0; i < split.size(); i++) {
|
||||
String boxNO = split.get(i);
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("box_no", boxNO);
|
||||
//调用MES接口插入或更新木箱信息
|
||||
@@ -258,8 +251,8 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < split.length; i++) {
|
||||
String boxNo = split[i];
|
||||
for (int i = 0; i < split.size(); i++) {
|
||||
String boxNo = split.get(i);
|
||||
BstIvtBoxinfo boxinfo = iBstIvtBoxinfoService.getOne(
|
||||
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
||||
.eq(BstIvtBoxinfo::getBox_no, boxNo));
|
||||
@@ -278,7 +271,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
// 查询木箱信息
|
||||
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
|
||||
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
||||
.eq(BstIvtBoxinfo::getBox_no, split[0])
|
||||
.eq(BstIvtBoxinfo::getBox_no, split.get(0))
|
||||
);
|
||||
if (boxDao == null) {
|
||||
throw new BadRequestException("木箱不存在!");
|
||||
@@ -289,7 +282,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
|
||||
// 判断入库叠盘位的 托盘类型是否相同、是否叠满
|
||||
JSONObject device_jo = new JSONObject();
|
||||
device_jo.put("device_code", "RK1004");
|
||||
device_jo.put("device_code", IOSEnum.VEHICLE_TYPE_POINT.code(vehicle_type));
|
||||
device_jo.put("product_area", IOSEnum.PRODUCT_AREA.code("BLK"));
|
||||
|
||||
JSONArray device_ja = new JSONArray();
|
||||
@@ -301,19 +294,19 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
if (data.getIntValue("qty") == 0 && data.getIntValue("move") == 0) {
|
||||
//生成空托盘出库任务
|
||||
JSONObject apply_jo = new JSONObject();
|
||||
apply_jo.put("device_code", "RK1004");
|
||||
apply_jo.put("device_code", IOSEnum.VEHICLE_TYPE_POINT.code(vehicle_type));
|
||||
apply_jo.put("type", "3");
|
||||
apply_jo.put("container_type", vehicle_type);
|
||||
acsToWmsService.applyTwo(apply_jo);
|
||||
} else {
|
||||
if (!data.getString("container_type").equals(vehicle_type)) {
|
||||
if (data.getString("container_type").equals("0")) {
|
||||
throw new BadRequestException("当前电气反馈的托盘类型为0,请检查!");
|
||||
}
|
||||
// if (data.getString("container_type").equals("0")) {
|
||||
// throw new BadRequestException("当前电气反馈的托盘类型为0,请检查!");
|
||||
// }
|
||||
//给ACS下发拆叠盘位的空托盘入库信号,并进行空托盘出库
|
||||
JSONArray action_rows = new JSONArray();
|
||||
JSONObject action_jo = new JSONObject();
|
||||
action_jo.put("device_code", "RK1004");
|
||||
action_jo.put("device_code", IOSEnum.VEHICLE_TYPE_POINT.code(vehicle_type));
|
||||
action_jo.put("code", "to_command");
|
||||
action_jo.put("product_area", IOSEnum.PRODUCT_AREA.code("BLK"));
|
||||
action_jo.put("value", "4");
|
||||
@@ -322,7 +315,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
|
||||
//生成空托盘出库任务
|
||||
JSONObject apply_jo = new JSONObject();
|
||||
apply_jo.put("device_code", "RK1004");
|
||||
apply_jo.put("device_code", IOSEnum.VEHICLE_TYPE_POINT.code(vehicle_type));
|
||||
apply_jo.put("type", "3");
|
||||
apply_jo.put("container_type", vehicle_type);
|
||||
acsToWmsService.applyTwo(apply_jo);
|
||||
@@ -332,15 +325,17 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
JSONObject taskParam = new JSONObject();
|
||||
taskParam.put("task_type", "010713");
|
||||
taskParam.put("start_device_code", whereJson.getString("point_code"));
|
||||
taskParam.put("next_device_code", "RK1005");
|
||||
taskParam.put("next_device_code", IOSEnum.VEHICLE_TYPE_SCAN_POINT.code(vehicle_type));
|
||||
taskParam.put("vehicle_code", whereJson.getString("box_no"));
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("layer", whereJson.getString("layer"));
|
||||
param.put("layer", split.size());
|
||||
param.put("length", boxDao.getBox_length());
|
||||
param.put("width", boxDao.getBox_width());
|
||||
param.put("height", boxDao.getBox_high());
|
||||
param.put("containerType", boxDao.getVehicle_type());
|
||||
param.put("barcode", whereJson.getString("box_no"));
|
||||
//新增逻辑 需要确认
|
||||
param.put("type", "1");
|
||||
//根据木箱高度,判断入库仓位的高度
|
||||
String height = "";
|
||||
String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue();
|
||||
@@ -351,7 +346,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
throw new BadRequestException("高度超高,无法入库");
|
||||
}
|
||||
param.put("heightLevel", height);
|
||||
taskParam.put("request_param", param.toString());
|
||||
@@ -382,15 +377,18 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
JSONObject taskParam = new JSONObject();
|
||||
taskParam.put("task_type", "010713");
|
||||
taskParam.put("start_device_code", whereJson.getString("point_code"));
|
||||
taskParam.put("next_device_code", "CK2005");
|
||||
taskParam.put("next_device_code", IOSEnum.VEHICLE_TYPE_SCAN_POINT.code(boxDao.getVehicle_type()));
|
||||
taskParam.put("vehicle_code", whereJson.getString("box_no"));
|
||||
//taskParam.put("vehicle_code2", whereJson.getString("box_no"));
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("layer", whereJson.getString("layer"));
|
||||
param.put("layer", "1");
|
||||
// param.put("layer", whereJson.getString("layer"));
|
||||
param.put("length", boxDao.getBox_length());
|
||||
param.put("width", boxDao.getBox_width());
|
||||
param.put("height", boxDao.getBox_high());
|
||||
param.put("containerType", boxDao.getVehicle_type());
|
||||
//新增逻辑 需要确认
|
||||
param.put("type", "2");
|
||||
|
||||
param.put("barcode", whereJson.getString("box_no") + "-9");
|
||||
//根据木箱高度,判断入库仓位的高度
|
||||
@@ -403,7 +401,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
throw new BadRequestException("高度超高,无法入库");
|
||||
}
|
||||
param.put("heightLevel", height);
|
||||
taskParam.put("request_param", param.toString());
|
||||
@@ -506,15 +504,18 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
JSONObject taskParam = new JSONObject();
|
||||
taskParam.put("task_type", "010713");
|
||||
taskParam.put("start_device_code", whereJson.getString("point_code"));
|
||||
taskParam.put("next_device_code", IOSEnum.SPECIAL_POINTS.code("退货入库口"));
|
||||
taskParam.put("next_device_code", IOSEnum.VEHICLE_TYPE_SCAN_POINT.code("1"));
|
||||
taskParam.put("vehicle_code", whereJson.getString("box_no"));
|
||||
//taskParam.put("vehicle_code2", whereJson.getString("box_no"));
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("layer", whereJson.getString("layer"));
|
||||
param.put("layer", "1");
|
||||
param.put("length", boxDao.getBox_length());
|
||||
param.put("width", boxDao.getBox_width());
|
||||
param.put("height", boxDao.getBox_high());
|
||||
param.put("containerType", boxDao.getVehicle_type());
|
||||
//新增逻辑 需要确认
|
||||
param.put("type", "2");
|
||||
|
||||
String type = whereJson.getString("bill_type");
|
||||
if (StrUtil.isEmpty(type)) {
|
||||
throw new BadRequestException("入库类型不能为空!");
|
||||
@@ -534,7 +535,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
throw new BadRequestException("高度超高,无法入库");
|
||||
}
|
||||
param.put("heightLevel", height);
|
||||
taskParam.put("request_param", param.toString());
|
||||
|
||||
@@ -341,6 +341,8 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
jsonDiv.put("sect_id", IOSEnum.SECT_ID.code("印尼主存区"));
|
||||
jsonDiv.put("stor_id", IOSEnum.STOR_ID.code("印尼仓库"));
|
||||
jsonDiv.put("material_barcode", jsonObject.getString("material_barcode"));
|
||||
jsonDiv.put("in_buss", IOSEnum.IS_NOTANDYES.code("是"));
|
||||
jsonDiv.put("move_block_num", jsonObject.getString("move_block_num"));
|
||||
jsonDiv.put("vehicle_code", jsonObject.getString("vehicle_code"));
|
||||
jsonDiv.put("vehicle_type", jsonObject.getString("vehicleType"));
|
||||
iStIvtIostorinvService.divStruct(jsonDiv);
|
||||
|
||||
@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.b_lms.sch.point.dao.SchBasePoint;
|
||||
import org.nl.b_lms.sch.point.dao.mapper.SchBasePointMapper;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
@@ -68,6 +69,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
||||
@Override
|
||||
@Transactional
|
||||
public void inVehicle(JSONObject whereJson) {
|
||||
whereJson.put("type", "3");
|
||||
SchBasePoint schBasePoint = schBasePointMapper.selectOne(new QueryWrapper<SchBasePoint>().eq("point_code", whereJson.getString("device_code"))
|
||||
.eq("is_delete", IOSEnum.IS_NOTANDYES.code("否"))
|
||||
.eq("is_used", IOSEnum.IS_NOTANDYES.code("是")));
|
||||
@@ -81,7 +83,11 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
||||
jsonParam.put("stor_id", IOSEnum.STOR_ID.code("印尼仓库"));
|
||||
jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId());
|
||||
jsonParam.put("vehicle_type", whereJson.getString("vehicle_type"));
|
||||
|
||||
if("2".equals(whereJson.getString("vehicle_type"))) {
|
||||
jsonParam.put("move_block_num","3");
|
||||
} else {
|
||||
jsonParam.put("move_block_num","4");
|
||||
}
|
||||
JSONObject jsonAttr = getStruct(jsonParam);
|
||||
|
||||
if (ObjectUtil.isEmpty(jsonAttr)) {
|
||||
@@ -92,12 +98,23 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
||||
// 生成任务
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010705");
|
||||
jsonTaskParam.put("start_device_code", whereJson.getString("device_code"));
|
||||
|
||||
if(IOSEnum.VEHICLE_TYPE_OUT_POINT.code(whereJson.getString("vehicle_type")).equals(whereJson.getString("device_code"))) {
|
||||
jsonTaskParam.put("start_device_code", whereJson.getString("device_code"));
|
||||
} else {
|
||||
jsonTaskParam.put("start_device_code", IOSEnum.VEHICLE_TYPE_SCAN_POINT.code(whereJson.getString("vehicle_type")));
|
||||
}
|
||||
jsonTaskParam.put("next_device_code", jsonAttr.getString("struct_code"));
|
||||
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||
jsonTaskParam.put("containerType", whereJson.getString("vehicle_type"));
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("containerType", whereJson.getString("vehicle_type"));
|
||||
param.put("heightLevel", whereJson.getString("heightLevel"));
|
||||
if(StringUtils.isBlank(whereJson.getString("heightLevel"))
|
||||
&& !IOSEnum.VEHICLE_TYPE_OUT_POINT.code(whereJson.getString("vehicle_type")).equals(whereJson.getString("device_code"))){
|
||||
throw new BadRequestException("异常");
|
||||
}
|
||||
param.put("type", whereJson.getString("type"));
|
||||
//0表示为空托盘
|
||||
jsonTaskParam.put("request_param", param.toString());
|
||||
|
||||
@@ -105,7 +122,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
||||
taskBean.createTask(jsonTaskParam);
|
||||
|
||||
//测试屏蔽下发acs
|
||||
// taskBean.immediateNotifyAcs(null);
|
||||
taskBean.immediateNotifyAcs(null);
|
||||
|
||||
// 锁定终点
|
||||
StIvtStructattr stIvtStructattr = stIvtStructattrMapper.selectOne(new QueryWrapper<StIvtStructattr>().lambda().eq(StIvtStructattr::getStruct_code, jsonAttr.getString("struct_code")));
|
||||
|
||||
@@ -162,6 +162,7 @@ public class LashManageServiceImpl implements LashManageService {
|
||||
// 桁架任务终点
|
||||
String end_point;
|
||||
|
||||
// todo 检查一下这个堆叠的代码逻辑是否正常
|
||||
// 判断是否有相同订单号、木箱规格的木箱
|
||||
List<JSONObject> likeBoxList = pointDaoList.stream()
|
||||
.filter(row -> ObjectUtil.isNotEmpty(row.getString("box_length")) &&
|
||||
@@ -189,11 +190,11 @@ public class LashManageServiceImpl implements LashManageService {
|
||||
jsonPoint.put("vehicle_code", "");
|
||||
is_move = IOSEnum.IS_NOTANDYES.code("是");
|
||||
|
||||
// 判断是否是2020工位:如果是则需要判断2022工位上后续是否有堆叠的木箱,如果没有则强制离开
|
||||
if (jsonPoint.getString("point_code").equals(IOSEnum.POINT_CODE.code("2020"))) {
|
||||
//判断工位上后续是否有堆叠的木箱,如果没有则强制离开
|
||||
//判断是否是1124工位:如果是则需要判断1125工位上后续是否有堆叠的木箱,如果没有则强制离开
|
||||
if (jsonPoint.getString("point_code").equals(IOSEnum.POINT_CODE.code("1124"))) {
|
||||
checkMove();
|
||||
}
|
||||
|
||||
}
|
||||
end_point = jsonPoint.getString("point_code");
|
||||
schBasePointMapper.updateById(JSON.parseObject(jsonPoint.toString(), SchBasePoint.class));
|
||||
@@ -265,7 +266,7 @@ public class LashManageServiceImpl implements LashManageService {
|
||||
|
||||
twoLashTask.createTask(jsonTaskParam);
|
||||
//测试屏蔽下发acs
|
||||
// twoLashTask.immediateNotifyAcs(null);
|
||||
twoLashTask.immediateNotifyAcs(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -482,22 +483,22 @@ public class LashManageServiceImpl implements LashManageService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验2022捆扎位是否可以强制离开
|
||||
* 校验1125捆扎位是否可以强制离开
|
||||
*/
|
||||
private void checkMove() {
|
||||
// 判断2022工位是否有有货
|
||||
// 判断1125工位是否有有货
|
||||
SchBasePoint pointDao = schBasePointMapper.selectOne(
|
||||
new QueryWrapper<SchBasePoint>().lambda()
|
||||
.eq(SchBasePoint::getPoint_code, IOSEnum.POINT_CODE.code("2022"))
|
||||
.eq(SchBasePoint::getPoint_code, IOSEnum.POINT_CODE.code("1125"))
|
||||
);
|
||||
|
||||
if (ObjectUtil.isNotEmpty(pointDao.getVehicle_code()) && pointDao.getVehicle_qty().intValue() == 1) {
|
||||
// 判断是否还有去2022工位的行架任务
|
||||
// 判断是否还有去1125工位的行架任务
|
||||
List<SchBaseTask> taskList = ischBaseTaskService.list(
|
||||
new QueryWrapper<SchBaseTask>().lambda()
|
||||
.eq(SchBaseTask::getTask_type, TASKEnum.LASH_TYPE.code("捆扎桁架任务"))
|
||||
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
.eq(SchBaseTask::getPoint_code2, IOSEnum.POINT_CODE.code("2022"))
|
||||
.eq(SchBaseTask::getPoint_code2, IOSEnum.POINT_CODE.code("1125"))
|
||||
.ne(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||
);
|
||||
|
||||
@@ -506,7 +507,7 @@ public class LashManageServiceImpl implements LashManageService {
|
||||
WmsToAcsService wmsToAcsService = SpringContextHolder.getBean(WmsToAcsService.class);
|
||||
JSONArray action_rows = new JSONArray();
|
||||
JSONObject action_jo = new JSONObject();
|
||||
action_jo.put("device_code", IOSEnum.POINT_CODE.code("2022"));
|
||||
action_jo.put("device_code", IOSEnum.POINT_CODE.code("1125"));
|
||||
action_jo.put("code", "to_command");
|
||||
action_jo.put("product_area", "BLK");
|
||||
action_jo.put("value", "26");
|
||||
|
||||
@@ -474,11 +474,11 @@ public class OutBussManageServiceImpl implements OutBussManageService {
|
||||
|
||||
String box_high = boxDao.getBox_high();
|
||||
if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) {
|
||||
height = "1,2,3";
|
||||
height = "1";
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2,3";
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
throw new BadRequestException("高度超高,无法入库");
|
||||
}
|
||||
moveParam.put("height", height);
|
||||
moveParam.put("vehicle_type", boxDao.getVehicle_type());
|
||||
@@ -654,11 +654,11 @@ public class OutBussManageServiceImpl implements OutBussManageService {
|
||||
|
||||
String box_high = boxDao.getBox_high();
|
||||
if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) {
|
||||
height = "1,2,3";
|
||||
height = "1";
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2,3";
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
throw new BadRequestException("高度超高,无法入库");
|
||||
}
|
||||
moveParam.put("height", height);
|
||||
moveParam.put("vehicle_type", boxDao.getVehicle_type());
|
||||
@@ -788,11 +788,11 @@ public class OutBussManageServiceImpl implements OutBussManageService {
|
||||
|
||||
String box_high = boxDao.getBox_high();
|
||||
if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) {
|
||||
height = "1,2,3";
|
||||
height = "1";
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2,3";
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
throw new BadRequestException("高度超高,无法入库");
|
||||
}
|
||||
|
||||
moveParam.put("height", height);
|
||||
@@ -903,11 +903,11 @@ public class OutBussManageServiceImpl implements OutBussManageService {
|
||||
|
||||
String box_high = boxDao.getBox_high();
|
||||
if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) {
|
||||
height = "1,2,3";
|
||||
height = "1";
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2,3";
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
throw new BadRequestException("高度超高,无法入库");
|
||||
}
|
||||
|
||||
moveParam.put("height", height);
|
||||
|
||||
@@ -121,7 +121,7 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService {
|
||||
|
||||
|
||||
//测试屏蔽下发acs
|
||||
// taskBean.immediateNotifyAcs(null);
|
||||
taskBean.immediateNotifyAcs(null);
|
||||
|
||||
// 锁定起点
|
||||
|
||||
|
||||
@@ -353,6 +353,7 @@ public class TwoInBussManageServiceImpl implements TwoInBussManageService {
|
||||
StructattrQuerry structattrQuerry2 = new StructattrQuerry();
|
||||
structattrQuerry2.setBlock_num(structattrQuerry.getBlock_num());
|
||||
structattrQuerry2.setSect_id(structattrQuerry.getSect_id());
|
||||
structattrQuerry2.setHeight(structattrQuerry.getHeight());
|
||||
|
||||
// 查询此巷道的所有仓位
|
||||
List<StIvtStructattr> stIvtStructattrs = stIvtStructattrMapper.getallStruct(structattrQuerry2);
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
AND attr.stor_id = #{param.stor_id}
|
||||
AND attr.sect_id = #{param.sect_id}
|
||||
<if test="param.vehicle_type != '' and param.vehicle_type != null ">
|
||||
AND attr.storagevehicle_type != #{param.vehicle_type}
|
||||
AND attr.storagevehicle_type = #{param.vehicle_type}
|
||||
</if>
|
||||
<if test="param.not_in_block_num != '' and param.not_in_block_num != null ">
|
||||
AND attr.block_num != #{param.block_num}
|
||||
@@ -29,7 +29,7 @@
|
||||
</foreach>
|
||||
</if>
|
||||
AND attr.height in
|
||||
<foreach collection="param.height" open="(" close=")" separator="," index="height">
|
||||
<foreach collection="param.height" open="(" close=")" separator="," item="height">
|
||||
#{height}
|
||||
</foreach>
|
||||
group by attr.block_num
|
||||
@@ -151,11 +151,11 @@
|
||||
AND attr.sect_id = #{param.sect_id}
|
||||
AND attr.zdepth = '2'
|
||||
<if test="param.vehicle_type != '' and param.vehicle_type != null ">
|
||||
AND attr.storagevehicle_type != #{param.vehicle_type}
|
||||
AND attr.storagevehicle_type = #{param.vehicle_type}
|
||||
</if>
|
||||
|
||||
AND attr.height in
|
||||
<foreach collection="param.height" open="(" close=")" separator="," index="height">
|
||||
<foreach collection="param.height" open="(" close=")" separator="," item="height">
|
||||
#{height}
|
||||
</foreach>
|
||||
|
||||
@@ -211,10 +211,10 @@
|
||||
AND attr.stor_id = #{param.stor_id}
|
||||
AND attr.sect_id = #{param.sect_id}
|
||||
<if test="param.vehicle_type != '' and param.vehicle_type != null ">
|
||||
AND attr.storagevehicle_type != #{param.vehicle_type}
|
||||
AND attr.storagevehicle_type = #{param.vehicle_type}
|
||||
</if>
|
||||
AND attr.height in
|
||||
<foreach collection="param.height" open="(" close=")" separator="," index="height">
|
||||
<foreach collection="param.height" open="(" close=")" separator="," item="height">
|
||||
#{height}
|
||||
</foreach>
|
||||
<if test="param.block_num != '' || param.block_num != null ">
|
||||
@@ -247,11 +247,11 @@
|
||||
AND attr.stor_id = #{param.stor_id}
|
||||
AND attr.sect_id = #{param.sect_id}
|
||||
<if test="param.vehicle_type != '' and param.vehicle_type != null ">
|
||||
AND attr.storagevehicle_type != #{param.vehicle_type}
|
||||
AND attr.storagevehicle_type = #{param.vehicle_type}
|
||||
</if>
|
||||
|
||||
AND attr.height in
|
||||
<foreach collection="param.height" open="(" close=")" separator="," index="height">
|
||||
<foreach collection="param.height" open="(" close=")" separator="," item="height">
|
||||
#{height}
|
||||
</foreach>
|
||||
<if test="param.block_num != '' || param.block_num != null ">
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
package org.nl.common;
|
||||
|
||||
import cn.hutool.http.HttpStatus;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 表格分页数据对象
|
||||
*
|
||||
* @author Lion Li
|
||||
*/
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class PdaTableDataInfo<T> implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 总记录数
|
||||
*/
|
||||
private long totalElements;
|
||||
|
||||
/**
|
||||
* 列表数据
|
||||
*/
|
||||
private List<T> data;
|
||||
|
||||
/**
|
||||
* 消息状态码
|
||||
*/
|
||||
private int code;
|
||||
|
||||
/**
|
||||
* 消息内容
|
||||
*/
|
||||
private String msg;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*
|
||||
* @param list 列表数据
|
||||
* @param total 总记录数
|
||||
*/
|
||||
public PdaTableDataInfo(List<T> list, long total) {
|
||||
this.data = list;
|
||||
this.totalElements = total;
|
||||
}
|
||||
|
||||
public static <T> PdaTableDataInfo<T> pdaBuild(List<T> list) {
|
||||
PdaTableDataInfo<T> rspData = new PdaTableDataInfo<>();
|
||||
rspData.setCode(HttpStatus.HTTP_OK);
|
||||
rspData.setMsg("查询成功");
|
||||
rspData.setData(list);
|
||||
rspData.setTotalElements(list.size());
|
||||
return rspData;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -122,7 +122,8 @@ public class LogAspect {
|
||||
if (ex instanceof BadRequestException){
|
||||
throw ex;
|
||||
}else {
|
||||
throw new BadRequestException("系统繁忙,请联系管理员确认,稍后再试");
|
||||
throw ex;
|
||||
//throw new BadRequestException("系统繁忙,请联系管理员确认,稍后再试");
|
||||
}
|
||||
} finally {
|
||||
log.info("[--response--][请求接口:{} 执行结束][耗时:{}s]", url, (System.currentTimeMillis() - comming) / 1000);
|
||||
|
||||
@@ -2,6 +2,8 @@ package org.nl.system.controller.dict;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.common.PdaTableDataInfo;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.modules.logging.annotation.Log;
|
||||
@@ -87,6 +89,14 @@ public class SysDictController {
|
||||
return new ResponseEntity<>(TableDataInfo.build(dictService.queryDetailsPost(code)), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/dictDetail/pdaPost")
|
||||
public ResponseEntity<Object> queryDetailsPdaPost(@RequestBody JSONObject jsonData) {
|
||||
if(StringUtils.isNotBlank(jsonData.getString("code"))) {
|
||||
return new ResponseEntity<>(PdaTableDataInfo.pdaBuild(dictService.queryDetailsPdaPost(jsonData.getString("code"))), HttpStatus.OK);
|
||||
} else {
|
||||
return new ResponseEntity<>(PdaTableDataInfo.pdaBuild(null), HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping(value = "/dictDetail/map")
|
||||
public ResponseEntity<Object> getDictDetailMaps(@RequestParam String dictName) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.system.service.dict;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
@@ -103,5 +104,12 @@ public interface ISysDictService extends IService<Dict> {
|
||||
*/
|
||||
List<Dict> queryDetailsPost(String code);
|
||||
|
||||
/**
|
||||
* 根据code获取字典数据
|
||||
* @param code
|
||||
* @return
|
||||
*/
|
||||
List<JSONObject> queryDetailsPdaPost(String code);
|
||||
|
||||
List<SelectVo> getInvTypes();
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@ package org.nl.system.service.dict.impl;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -26,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -220,6 +223,25 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, Dict> impleme
|
||||
return sysDictMapper.selectList(lam);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<JSONObject> queryDetailsPdaPost(String code) {
|
||||
LambdaQueryWrapper<Dict> lam = new LambdaQueryWrapper<>();
|
||||
lam.eq(Dict::getCode, code)
|
||||
.isNotNull(Dict::getLabel)
|
||||
.ne(Dict::getLabel, "")
|
||||
.orderBy(true, true, Dict::getDict_sort);
|
||||
List<Dict> dictList = sysDictMapper.selectList(lam);
|
||||
return dictList.stream()
|
||||
.map(dict -> {
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("text", dict.getLabel());
|
||||
json.put("value", dict.getValue());
|
||||
// 如需其他字段可继续put
|
||||
return json;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SelectVo> getInvTypes() {
|
||||
return sysDictMapper.getInvTypes();
|
||||
|
||||
@@ -8,6 +8,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.sun.org.apache.regexp.internal.RE;
|
||||
import org.nl.b_lms.sch.tasks.slitter.util.MdmDescriptionParseUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -59,6 +60,7 @@ import org.nl.common.enums.SpecEnum;
|
||||
import org.nl.common.utils.CodeUtil;
|
||||
import org.nl.common.utils.MapOf;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.common.utils.RedisUtils;
|
||||
import org.nl.modules.wql.WQL;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
@@ -197,6 +199,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
@Autowired
|
||||
private BoxSSXTask boxSSXTask;
|
||||
|
||||
@Autowired
|
||||
private RedisUtils redisUtils;
|
||||
|
||||
|
||||
/**
|
||||
* task_id:任务标识
|
||||
@@ -1305,6 +1310,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
if (CollectionUtils.isEmpty(errorMsg)) {
|
||||
whereJson.put("bill_type", IOSEnum.IN_TYPE.code("生产入库"));
|
||||
whereJson.put("material_barcode",containers);
|
||||
if(whereJson.getString("vehicle_code").startsWith("YNX")) {
|
||||
whereJson.put("move_block_num", "3");
|
||||
} else if(whereJson.getString("vehicle_code").startsWith("YNY")) {
|
||||
whereJson.put("move_block_num", "4");
|
||||
}
|
||||
inBussManageService.inTask(whereJson);
|
||||
PdmProductSpecServiceImpl.doRecord(SpecEnum.RK, null, Boolean.TRUE, null, containers);
|
||||
} else {
|
||||
@@ -1322,9 +1332,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
jsonTaskParam.put("vehicle_code", jsonObject.getString("box_no"));
|
||||
jsonTaskParam.put("vehicle_code2", whereJson.getString("vehicle_code"));
|
||||
JSONObject request_param = new JSONObject();
|
||||
if (whereJson.getString("vehicle_code").startsWith("A")) {
|
||||
if (whereJson.getString("vehicle_code").startsWith("YNX")) {
|
||||
request_param.put("containerType", "2");
|
||||
} else if (whereJson.getString("vehicle_code").startsWith("B")) {
|
||||
} else if (whereJson.getString("vehicle_code").startsWith("YNY")) {
|
||||
request_param.put("containerType", "1");
|
||||
} else {
|
||||
throw new BadRequestException("托盘号有误,无法找到对应的托盘类型!");
|
||||
@@ -1343,7 +1353,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
} else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("空盘入库"))) {
|
||||
// 2-空盘入库
|
||||
whereJson.put("vehicle_type", whereJson.getString("container_type"));
|
||||
whereJson.put("heightLevel", redisUtils.get(whereJson.getString("vehicle_code")+"InVehicleInHeightLevel"));
|
||||
inVehicleManageService.inVehicle(whereJson);
|
||||
redisUtils.del(whereJson.getString("vehicle_code")+"InVehicleInHeightLevel");
|
||||
} else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("空盘出库"))) {
|
||||
// 3-空盘出库
|
||||
if (ObjectUtil.isEmpty(whereJson.getString("container_type"))) {
|
||||
@@ -1430,6 +1442,12 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
mdPdStoragevehicleext.setUpdate_time(DateUtil.now());
|
||||
mdPdStoragevehicleextMapper.updateById(mdPdStoragevehicleext);
|
||||
}
|
||||
//测试,后面改成
|
||||
if(whereJson.getString("vehicle_code").startsWith("YNX")) {
|
||||
whereJson.put("move_block_num", "3");
|
||||
} else if(whereJson.getString("vehicle_code").startsWith("YNY")) {
|
||||
whereJson.put("move_block_num", "4");
|
||||
}
|
||||
whereJson.put("material_barcode", material_barcodes);
|
||||
inBussManageService.inTask(whereJson);
|
||||
|
||||
@@ -1452,6 +1470,26 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
jsonParam.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
|
||||
boxSSXTask.createTask(jsonParam);
|
||||
|
||||
}
|
||||
else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("退货异常申请行架对接位至NG位"))) {
|
||||
//校验
|
||||
List<PdmBiSubpackagerelation> pdmBiSubpackagerelations = pdmBiSubpackagerelationMapper.selectList(new QueryWrapper<PdmBiSubpackagerelation>().eq("package_box_sn", whereJson.getString("material_barcode")).eq("status", "0"));
|
||||
if (ObjectUtil.isEmpty(pdmBiSubpackagerelations)){
|
||||
throw new BadRequestException("未查询到子卷包装信息!");
|
||||
}
|
||||
MdPdStorageVehicleInfo mdPdStorageVehicleInfo = mdStorageVehicleInfoMapper.selectOne(new QueryWrapper<MdPdStorageVehicleInfo>().eq("storagevehicle_code", whereJson.getString("vehicle_code")));
|
||||
if (ObjectUtil.isEmpty(mdPdStorageVehicleInfo)) {
|
||||
throw new BadRequestException("载具不存在!");
|
||||
}
|
||||
|
||||
JSONObject jsonParam = new JSONObject();
|
||||
jsonParam.put("start_device_code",whereJson.getString("device_code"));
|
||||
jsonParam.put("next_device_code",IOSEnum.POINT_CODE.code("木箱装箱开盒盖位"));
|
||||
jsonParam.put("vehicle_code2",mdPdStorageVehicleInfo.getStoragevehicle_code());
|
||||
jsonParam.put("vehicle_code",whereJson.getString("material_barcode"));
|
||||
jsonParam.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
|
||||
boxSSXTask.createTask(jsonParam);
|
||||
|
||||
}
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "下发成功!");
|
||||
@@ -1896,7 +1934,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
throw new BadRequestException("高度超高,无法入库");
|
||||
}
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("boxLength", boxNo.getBox_length());
|
||||
@@ -1971,7 +2009,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
throw new BadRequestException("高度超高,无法入库");
|
||||
}
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("boxLength", boxDao.getBox_length());
|
||||
|
||||
@@ -54,7 +54,7 @@ public class LmsToSapServiceImpl implements LmsToSapService {
|
||||
String token = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_TOKEN").getValue();
|
||||
String sap_client = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_CLIENT").getValue();
|
||||
String api = "";
|
||||
url = url + "/sap/center/lms/004";
|
||||
url = url + "/sap/center/YNLMS/004";
|
||||
try {
|
||||
String resultMsg = HttpRequest.post(url).header("TOKEN", token)
|
||||
//.header("sap-client", sap_client)
|
||||
@@ -71,13 +71,13 @@ public class LmsToSapServiceImpl implements LmsToSapService {
|
||||
|
||||
} catch (Exception e) {
|
||||
// 记录失败日志
|
||||
OutboundApiLogger.logFail("sap", "/sap/center/lms/004", "LMS回传SAP交货单",
|
||||
OutboundApiLogger.logFail("sap", "/sap/center/YNLMS/004", "LMS回传SAP交货单",
|
||||
url, "POST", JSONUtil.toJsonStr(jo), e.getMessage(),
|
||||
System.currentTimeMillis() - startTime);
|
||||
throw new BadRequestException("SAP提示错误:" + e.getMessage());
|
||||
}
|
||||
// 记录成功日志
|
||||
OutboundApiLogger.logSuccess("sap", "/sap/center/lms/004", "LMS回传SAP交货单",
|
||||
OutboundApiLogger.logSuccess("sap", "/sap/center/YNLMS/004", "LMS回传SAP交货单",
|
||||
url, "POST", JSONUtil.toJsonStr(jo), result.toString(), 200,
|
||||
System.currentTimeMillis() - startTime);
|
||||
return result;
|
||||
@@ -123,7 +123,7 @@ public class LmsToSapServiceImpl implements LmsToSapService {
|
||||
String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_URL").getValue();
|
||||
String token = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_TOKEN").getValue();
|
||||
String sap_client = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_CLIENT").getValue();
|
||||
String api = "/sap/center/lms/005";
|
||||
String api = "/sap/center/YNLMS/005";
|
||||
url = url + api;
|
||||
try {
|
||||
String resultMsg = HttpRequest.post(url).header("TOKEN", token)
|
||||
@@ -140,12 +140,12 @@ public class LmsToSapServiceImpl implements LmsToSapService {
|
||||
|
||||
} catch (Exception e) {
|
||||
// 记录失败日志
|
||||
OutboundApiLogger.logFail("sap", "/sap/center/lms/005", "LMS移库接口回传",
|
||||
OutboundApiLogger.logFail("sap", "/sap/center/YNLMS/005", "LMS移库接口回传",
|
||||
url, "POST", JSONUtil.toJsonStr(jo), e.getMessage(),
|
||||
System.currentTimeMillis() - startTime);
|
||||
throw new BadRequestException("SAP提示错误:" + e.getMessage());
|
||||
}
|
||||
OutboundApiLogger.logSuccess("sap", "/sap/center/lms/005", "LMS移库接口回传",
|
||||
OutboundApiLogger.logSuccess("sap", "/sap/center/YNLMS/005", "LMS移库接口回传",
|
||||
url, "POST", JSONUtil.toJsonStr(jo), result.toString(), 200,
|
||||
System.currentTimeMillis() - startTime);
|
||||
return result;
|
||||
@@ -171,7 +171,7 @@ public class LmsToSapServiceImpl implements LmsToSapService {
|
||||
String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_URL").getValue();
|
||||
String token = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_TOKEN").getValue();
|
||||
String sap_client = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_CLIENT").getValue();
|
||||
String api = "/sap/center/lms/007";
|
||||
String api = "/sap/center/YNLMS/007";
|
||||
url = url + api;
|
||||
try {
|
||||
String resultMsg = HttpRequest.post(url).header("TOKEN", token)
|
||||
@@ -188,13 +188,13 @@ public class LmsToSapServiceImpl implements LmsToSapService {
|
||||
|
||||
} catch (Exception e) {
|
||||
// 记录失败日志
|
||||
OutboundApiLogger.logFail("sap", "/sap/center/lms/007", "LMS调拨出库接口回传",
|
||||
OutboundApiLogger.logFail("sap", "/sap/center/YNLMS/007", "LMS调拨出库接口回传",
|
||||
url, "POST", JSONUtil.toJsonStr(jo), e.getMessage(),
|
||||
System.currentTimeMillis() - startTime);
|
||||
throw new BadRequestException("SAP提示错误:" + e.getMessage());
|
||||
}
|
||||
// 记录成功日志
|
||||
OutboundApiLogger.logSuccess("sap", "/sap/center/lms/007", "LMS调拨出库接口回传",
|
||||
OutboundApiLogger.logSuccess("sap", "/sap/center/YNLMS/007", "LMS调拨出库接口回传",
|
||||
url, "POST", JSONUtil.toJsonStr(jo), result.toString(), 200,
|
||||
System.currentTimeMillis() - startTime);
|
||||
return result;
|
||||
@@ -220,7 +220,7 @@ public class LmsToSapServiceImpl implements LmsToSapService {
|
||||
String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_URL").getValue();
|
||||
String token = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_TOKEN").getValue();
|
||||
String sap_client = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_CLIENT").getValue();
|
||||
String api = "/sap/center/lms/001";
|
||||
String api = "/sap/center/YNLMS/001";
|
||||
url = url + api;
|
||||
try {
|
||||
String resultMsg = HttpRequest.post(url).header("TOKEN", token)
|
||||
@@ -237,13 +237,13 @@ public class LmsToSapServiceImpl implements LmsToSapService {
|
||||
|
||||
} catch (Exception e) {
|
||||
// 记录失败日志
|
||||
OutboundApiLogger.logFail("sap", "/sap/center/lms/001", "LMS成品报废明细回传",
|
||||
OutboundApiLogger.logFail("sap", "/sap/center/YNLMS/001", "LMS成品报废明细回传",
|
||||
url, "POST", JSONUtil.toJsonStr(jo), e.getMessage(),
|
||||
System.currentTimeMillis() - startTime);
|
||||
throw new BadRequestException("SAP提示错误:" + e.getMessage());
|
||||
}
|
||||
// 记录成功日志
|
||||
OutboundApiLogger.logSuccess("sap", "/sap/center/lms/001", "LMS成品报废明细回传",
|
||||
OutboundApiLogger.logSuccess("sap", "/sap/center/YNLMS/001", "LMS成品报废明细回传",
|
||||
url, "POST", JSONUtil.toJsonStr(jo), result.toString(), 200,
|
||||
System.currentTimeMillis() - startTime);
|
||||
return result;
|
||||
|
||||
@@ -26,7 +26,7 @@ public enum RegionTypeEnum {
|
||||
TWO_KZ01("23", "二期捆扎区", "1754774130626007040"),
|
||||
TWO_FH01("24", "二期发货区", "1759453285649092608"),
|
||||
TWO_OUT01("25", "二期出库区", "1760141408548818944"),
|
||||
TWO_BZC01("26", "二期主存区", "1748219897940414464"),
|
||||
TWO_BZC01("26", "主存区", "2071537527294136320"),
|
||||
B1_HKZC("27", "B1烘烤暂存区", "1809497203715215360"),
|
||||
B2_HKZC("28", "B2烘烤暂存区", "1766012860535803904");
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ public class HandMoveStorAcsTask extends AbstractAcsTask {
|
||||
if (json.getString("task_type").equals("010709")) {
|
||||
dto.setVehicle_code(json.getString("vehicle_code2"));
|
||||
|
||||
if (json.getString("vehicle_code2").contains("A")) {
|
||||
if (json.getString("vehicle_code2").contains("YNX")) {
|
||||
dto.setRoute_plan_code("two");
|
||||
} else {
|
||||
dto.setRoute_plan_code("normal");
|
||||
|
||||
@@ -20,10 +20,10 @@ public class TaskUtil {
|
||||
* 一楼立库获取托盘路由方案two大托盘,normal小托盘
|
||||
*/
|
||||
public static String getRoutePlanCode(String location) {
|
||||
if (location.contains("L1-") || location.contains("L2-") || location.contains("L3-") || location.contains("L4-")) {
|
||||
return "two";
|
||||
} else {
|
||||
if (location.contains("L12-") || location.contains("L13-") || location.contains("L14-") || location.contains("L15-")) {
|
||||
return "normal";
|
||||
} else {
|
||||
return "two";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -291,6 +291,9 @@ export default {
|
||||
parent_class_code: 'vehicle_type'
|
||||
}
|
||||
crudClassstandard.getClassType(param).then(res => {
|
||||
console.log(res)
|
||||
console.log(res)
|
||||
console.log(res)
|
||||
const data = res.content
|
||||
this.buildTree(data)
|
||||
this.classes1 = data
|
||||
|
||||
@@ -407,11 +407,8 @@ export default {
|
||||
this.sects = res.content
|
||||
})
|
||||
|
||||
var area_type = '1585167595403874304'
|
||||
var area_type = '1791031105286180864'
|
||||
|
||||
if (this.storId.toString() === '1582991156504039455') {
|
||||
area_type = '1791031105286180864'
|
||||
}
|
||||
crudPoint.getPoint({ 'area_type': area_type }).then(res => {
|
||||
this.pointList = res
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user