Merge branch 'b_lms' of http://121.40.234.130:8899/root/lanzhouhailiang_one into b_lms
# Conflicts: # lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package org.nl.b_lms.bst.ivt.shafttubeivt.service.dao.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.nl.b_lms.bst.ivt.shafttubeivt.service.dao.BstIvtShafttubeivt;
|
||||
|
||||
import java.util.List;
|
||||
@@ -29,5 +30,5 @@ public interface BstIvtShafttubeivtMapper extends BaseMapper<BstIvtShafttubeivt>
|
||||
* @param startPoint 点位信息(包含:尺寸、类型、位置)
|
||||
* @return /
|
||||
*/
|
||||
List<BstIvtShafttubeivt> getNotTaskShaftCacheEmpty(BstIvtShafttubeivt startPoint);
|
||||
List<BstIvtShafttubeivt> getNotTaskShaftCacheEmpty(@Param("startPoint") BstIvtShafttubeivt startPoint);
|
||||
}
|
||||
|
||||
@@ -40,9 +40,11 @@
|
||||
FROM `bst_ivt_shafttubeivt` b
|
||||
WHERE b.have_qzz = '0'
|
||||
AND b.point_type = '6'
|
||||
AND b.qzz_size = #{qzz_size}
|
||||
AND b.qzz_generation = #{qzz_generation}
|
||||
AND b.point_location = #{point_location}
|
||||
AND b.qzz_size = #{startPoint.qzz_size}
|
||||
<if test="startPoint.qzz_size != 6">
|
||||
AND b.qzz_generation = #{startPoint.qzz_generation}
|
||||
</if>
|
||||
AND b.point_location = #{startPoint.point_location}
|
||||
AND 0 = (SELECT COUNT(*) FROM sch_base_task t WHERE t.task_status <![CDATA[ < ]]> '07' AND t.point_code1 = b.point_code)
|
||||
ORDER BY b.sort_seq ASC
|
||||
</select>
|
||||
|
||||
@@ -46,4 +46,11 @@ public class VehicleTwoController {
|
||||
public ResponseEntity<Object> returnIn(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(vehicleTwoService.returnIn(whereJson), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/reback")
|
||||
@Log("返检、改切入库")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> reback(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(vehicleTwoService.reback(whereJson), HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,4 +41,15 @@ public interface VehicleTwoService {
|
||||
* @return :JSONObject:返回前端参数~
|
||||
*/
|
||||
JSONObject returnIn(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param whereJson {
|
||||
* box_no: 木箱号
|
||||
* vehicle_code: 载具号
|
||||
* point_code: 点位
|
||||
* }
|
||||
* @return :JSONObject:返回前端参数~
|
||||
*/
|
||||
JSONObject reback(JSONObject whereJson);
|
||||
}
|
||||
|
||||
@@ -11,8 +11,10 @@ import org.nl.b_lms.sch.point.service.IschBasePointService;
|
||||
import org.nl.b_lms.sch.tasks.TwoInEmpExcepTask;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBoxManageService;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBussManageService;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InVehicleManageService;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -46,6 +48,9 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
@Autowired
|
||||
private IschBasePointService ischBasePointService;
|
||||
|
||||
@Autowired
|
||||
private InBussManageService inBussManageService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONObject vehicleIn(JSONObject whereJson) {
|
||||
@@ -77,7 +82,7 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
JSONObject data = device_data.getJSONArray("data").getJSONObject(0);
|
||||
|
||||
// 判断是否有货 且托盘类型相同、数量小于5
|
||||
if (vehicle_type.equals(data.getString("container_type")) && data.getIntValue("qty") < 5 || data.getIntValue("qty") == 0){
|
||||
if (vehicle_type.equals(data.getString("container_type")) && data.getIntValue("qty") < 5 || data.getIntValue("qty") == 0) {
|
||||
// 生成入库叠盘机输送任务
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010715");
|
||||
@@ -87,6 +92,8 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("containerType", whereJson.getString("vehicle_type"));
|
||||
//0表示为空托盘
|
||||
param.put("heightLevel", "0");
|
||||
jsonTaskParam.put("request_param", param.toString());
|
||||
|
||||
TwoInEmpExcepTask taskBean = new TwoInEmpExcepTask();
|
||||
@@ -119,19 +126,20 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
(data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code("是"))
|
||||
&& data2.getIntValue("qty") < 5)
|
||||
) {*/
|
||||
// 生层到出库口叠盘机任务
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010714");
|
||||
jsonTaskParam.put("start_device_code", point_code);
|
||||
jsonTaskParam.put("next_device_code", next_device_code);
|
||||
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||
jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type"));
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("containerType", whereJson.getString("vehicle_type"));
|
||||
jsonTaskParam.put("request_param", param.toString());
|
||||
TwoInEmpExcepTask taskBean = new TwoInEmpExcepTask();
|
||||
taskBean.createTask(jsonTaskParam);
|
||||
taskBean.immediateNotifyAcs(null);
|
||||
// 生层到出库口叠盘机任务
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010714");
|
||||
jsonTaskParam.put("start_device_code", point_code);
|
||||
jsonTaskParam.put("next_device_code", next_device_code);
|
||||
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||
jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type"));
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("containerType", whereJson.getString("vehicle_type"));
|
||||
param.put("heightLevel", "0");
|
||||
jsonTaskParam.put("request_param", param.toString());
|
||||
TwoInEmpExcepTask taskBean = new TwoInEmpExcepTask();
|
||||
taskBean.createTask(jsonTaskParam);
|
||||
taskBean.immediateNotifyAcs(null);
|
||||
/*} else {
|
||||
result.put("message", "入库失败! 出库叠盘位已叠满!" + next_device_code);
|
||||
return result;
|
||||
@@ -158,4 +166,37 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject reback(JSONObject whereJson) {
|
||||
String bill_type = whereJson.getString("bill_type");
|
||||
whereJson.put("material_barcode",whereJson.getString("box_no"));
|
||||
whereJson.put("device_code",whereJson.getString("point_code"));
|
||||
//1-返检入库;2-改切入库
|
||||
if (bill_type.equals("1")){
|
||||
whereJson.put("bill_type", IOSEnum.IN_TYPE.code("返检入库"));
|
||||
}else if (bill_type.equals("2")){
|
||||
whereJson.put("bill_type", IOSEnum.IN_TYPE.code("改切入库"));
|
||||
}
|
||||
whereJson.put("box_no", whereJson.getString("box_no"));
|
||||
JSONArray resultJSONArray = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + whereJson.getString("material_barcode") + "' AND status = '0'").getResultJSONArray(0);
|
||||
if (ObjectUtil.isEmpty(resultJSONArray)) {
|
||||
throw new BadRequestException("未查询到子卷包装信息!");
|
||||
}
|
||||
String material_barcode = "";
|
||||
for (int i = 0; i < resultJSONArray.size(); i++) {
|
||||
JSONObject resultObj = resultJSONArray.getJSONObject(i);
|
||||
if (i==0){
|
||||
material_barcode = resultObj.getString("container_name");
|
||||
}else {
|
||||
material_barcode += "," + resultObj.getString("container_name");
|
||||
}
|
||||
}
|
||||
whereJson.put("material_barcode", material_barcode);
|
||||
inBussManageService.inTask(whereJson);
|
||||
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("message", "入库成功!");
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -155,6 +155,10 @@ public class PdmBiSlittingproductionplan implements Serializable {
|
||||
|
||||
/** 子卷等级*/
|
||||
private String level;
|
||||
|
||||
/** 子卷重量 */
|
||||
private String weight;
|
||||
|
||||
/** 分切重量 */
|
||||
private String paper_weight;
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ public class TwoExcepionalMoveTask extends AbstractAcsTask {
|
||||
json.put("create_id", SecurityUtils.getCurrentUserId());
|
||||
json.put("create_name", SecurityUtils.getCurrentUsername());
|
||||
json.put("create_time", DateUtil.now());
|
||||
json.put("priority", "1");
|
||||
json.put("priority", "3");
|
||||
json.put("acs_task_type", "7");
|
||||
|
||||
WQLObject.getWQLObject("SCH_BASE_Task").insert(json);
|
||||
|
||||
@@ -76,7 +76,6 @@ public class TwoInBoxTrussTask extends AbstractAcsTask {
|
||||
|
||||
map.put("task_status", TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
|
||||
// 完成
|
||||
if (status.equals(TaskStatusEnum.FINISHED.getCode())) {
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ public class TwoInEmpTask extends AbstractAcsTask {
|
||||
.task_type(json.getString("acs_task_type"))
|
||||
.start_device_code(json.getString("point_code1"))
|
||||
.next_device_code(json.getString("point_code2"))
|
||||
.interaction_json(json.getJSONObject("request_param"))
|
||||
.vehicle_code(json.getString("vehicle_code"))
|
||||
.priority(json.getString("priority"))
|
||||
.class_type(json.getString("task_type"))
|
||||
@@ -165,6 +166,7 @@ public class TwoInEmpTask extends AbstractAcsTask {
|
||||
json.put("point_code1", form.getString("start_device_code"));
|
||||
json.put("point_code2", form.getString("next_device_code"));
|
||||
json.put("handle_class", this.getClass().getName());
|
||||
json.put("request_param",form.getString("request_param"));
|
||||
json.put("create_id", SecurityUtils.getCurrentUserId());
|
||||
json.put("create_name", SecurityUtils.getCurrentUsername());
|
||||
json.put("create_time", DateUtil.now());
|
||||
|
||||
@@ -87,6 +87,7 @@ public class TwoLashTask extends AbstractAcsTask {
|
||||
interaction_json.put("height",dao.get(0).getBox_high());
|
||||
interaction_json.put("template","2");
|
||||
interaction_json.put("bindingTimes","1");
|
||||
interaction_json.put("isBinding", IOSEnum.IS_SEND.code("是"));
|
||||
|
||||
char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1);
|
||||
AcsTaskDto dto = AcsTaskDto.builder()
|
||||
|
||||
@@ -91,6 +91,12 @@ public class TwoOutBoxTask extends AbstractAcsTask {
|
||||
jsonAttr.put("lock_type",IOSEnum.LOCK_TYPE.code("未锁定"));
|
||||
jsonAttr.put("storagevehicle_code","");
|
||||
attrTab.update(jsonAttr);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// 取消
|
||||
|
||||
@@ -167,7 +167,7 @@ public class DjqTask extends AbstractAcsTask {
|
||||
.is_send(isSend ? "1" : "0")
|
||||
.acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type"))
|
||||
.task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status"))
|
||||
//.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.build();
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
BeanUtils.copyProperties(schBaseTaskVo, task);
|
||||
|
||||
@@ -159,7 +159,7 @@ public class GzqTask extends AbstractAcsTask {
|
||||
.is_send(isSend ? "1" : "0")
|
||||
.acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type"))
|
||||
.task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status"))
|
||||
//.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.build();
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
BeanUtils.copyProperties(schBaseTaskVo, task);
|
||||
|
||||
@@ -176,7 +176,7 @@ public class KzjhcwTask extends AbstractAcsTask {
|
||||
.is_send(isSend ? "1" : "0")
|
||||
.acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type"))
|
||||
.task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status"))
|
||||
//.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.build();
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
BeanUtils.copyProperties(schBaseTaskVo, task);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
package org.nl.b_lms.sch.tasks.first_floor_area;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.BooleanUtil;
|
||||
@@ -28,6 +29,7 @@ import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -72,7 +74,6 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
private SsxDjwTask ssxDjwTask;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<AcsTaskDto> addTask() {
|
||||
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
|
||||
@@ -106,7 +107,7 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq( SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("输送线点位 -> 满轴缓存位更新接口任务号为空!");
|
||||
}
|
||||
@@ -133,100 +134,102 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("找不到子卷信息!");
|
||||
}
|
||||
//子卷等级
|
||||
String level = containerInfo.getLevel();
|
||||
if (Arrays.stream(ContainerLevelEnum.values()).noneMatch(enumItem -> enumItem.getCode().equals(level))) {
|
||||
throw new BadRequestException("非法的子卷等级!");
|
||||
}
|
||||
String level = containerInfo.getLevel() == null ? "1" : containerInfo.getLevel();
|
||||
// if (Arrays.stream(ContainerLevelEnum.values()).noneMatch(enumItem -> enumItem.getCode().equals(level))) {
|
||||
// throw new BadRequestException("非法的子卷等级!");
|
||||
// }
|
||||
//查询待检区和管制区库位情况
|
||||
List<BstIvtPackageinfoivt> bstIvtPackageinfoivtList = packageinfoivtService
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||
.orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
||||
JSONObject toDjqTask = new JSONObject();
|
||||
//获取子卷号
|
||||
toDjqTask.put("vehicle_code", containerInfo.getContainer_name());
|
||||
// 判断子卷等级属于待检区还是管制区,创建满轴缓存位到待检区或管制区的agv任务
|
||||
if (Stream.of(ContainerLevelEnum.BEST, ContainerLevelEnum.WELL, ContainerLevelEnum.COMMON).anyMatch(enumItem -> enumItem.getCode().equals(level))) {
|
||||
List<BstIvtPackageinfoivt> djqPointList = bstIvtPackageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("待检区").equals(r.getPoint_status())
|
||||
&& PackageInfoIvtEnum.IVT_STATUS.code("空").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(djqPointList)) {
|
||||
throw new BadRequestException("待检区暂无空余库位!");
|
||||
}
|
||||
toDjqTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"));
|
||||
toDjqTask.put("point_code1", schBaseTask.getPoint_code2());
|
||||
toDjqTask.put("point_code2", djqPointList.get(0).getPoint_code());
|
||||
djqTask.createTask(toDjqTask);
|
||||
} else if (Stream.of(ContainerLevelEnum.REWORK, ContainerLevelEnum.CONTROL).anyMatch(enumItem -> enumItem.getCode().equals(level))) {
|
||||
List<BstIvtPackageinfoivt> gkqPointList = bstIvtPackageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("管制区").equals(r.getPoint_status())
|
||||
&& PackageInfoIvtEnum.IVT_STATUS.code("空").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(gkqPointList)) {
|
||||
throw new BadRequestException("管控区暂无空余库位!");
|
||||
}
|
||||
toDjqTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->管制区"));
|
||||
toDjqTask.put("point_code1", schBaseTask.getPoint_code2());
|
||||
toDjqTask.put("point_code2", gkqPointList.get(0).getPoint_code());
|
||||
gzqTask.createTask(toDjqTask);
|
||||
}
|
||||
// JSONObject toDjqTask = new JSONObject();
|
||||
// //获取子卷号
|
||||
// toDjqTask.put("vehicle_code", containerInfo.getContainer_name());
|
||||
// // 判断子卷等级属于待检区还是管制区,创建满轴缓存位到待检区或管制区的agv任务
|
||||
// if (Stream.of(ContainerLevelEnum.BEST, ContainerLevelEnum.WELL, ContainerLevelEnum.COMMON).anyMatch(enumItem -> enumItem.getCode().equals(level))) {
|
||||
// List<BstIvtPackageinfoivt> djqPointList = bstIvtPackageinfoivtList.stream()
|
||||
// .filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("待检区").equals(r.getPoint_status())
|
||||
// && PackageInfoIvtEnum.IVT_STATUS.code("空").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
// if (CollectionUtils.isEmpty(djqPointList)) {
|
||||
// throw new BadRequestException("待检区暂无空余库位!");
|
||||
// }
|
||||
// toDjqTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"));
|
||||
// toDjqTask.put("point_code1", schBaseTask.getPoint_code2());
|
||||
// toDjqTask.put("point_code2", djqPointList.get(0).getPoint_code());
|
||||
// djqTask.createTask(toDjqTask);
|
||||
// } else if (Stream.of(ContainerLevelEnum.REWORK, ContainerLevelEnum.CONTROL).anyMatch(enumItem -> enumItem.getCode().equals(level))) {
|
||||
// List<BstIvtPackageinfoivt> gkqPointList = bstIvtPackageinfoivtList.stream()
|
||||
// .filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("管制区").equals(r.getPoint_status())
|
||||
// && PackageInfoIvtEnum.IVT_STATUS.code("空").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
// if (CollectionUtils.isEmpty(gkqPointList)) {
|
||||
// throw new BadRequestException("管控区暂无空余库位!");
|
||||
// }
|
||||
// toDjqTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->管制区"));
|
||||
// toDjqTask.put("point_code1", schBaseTask.getPoint_code2());
|
||||
// toDjqTask.put("point_code2", gkqPointList.get(0).getPoint_code());
|
||||
// gzqTask.createTask(toDjqTask);
|
||||
// }
|
||||
//4.创建空载具到输送线任务
|
||||
List<BstIvtPackageinfoivt> kzjPointList = bstIvtPackageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位").equals(r.getPoint_status())
|
||||
&& PackageInfoIvtEnum.IVT_STATUS.code("空载具").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
JSONObject toSsxTask = new JSONObject();
|
||||
toSsxTask.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
||||
toSsxTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
|
||||
toSsxTask.put("vehicle_code", containerInfo.getContainer_name());
|
||||
//判断空载具缓存位是否有空载具库存,有就叫agv去任一一个位置搬空载具
|
||||
if (CollectionUtils.isNotEmpty(kzjPointList)) {
|
||||
//直接创建搬运空载具任务
|
||||
toSsxTask.put("point_code1", kzjPointList.get(0).getPoint_code());
|
||||
//终点为输送线点位
|
||||
toSsxTask.put("point_code2", schBaseTask.getPoint_code1());
|
||||
ssxDjwTask.createTask(toSsxTask);
|
||||
} else {
|
||||
//空载具缓存位没有可用的库存:判断是否有正在搬运空载具过来的任务,有的话不创建
|
||||
//没有的话创建搬运空载具任务, 当任务完成的时候,补发桁架任务。
|
||||
List<BstIvtPackageinfoivt> packageinfoivtList = packageinfoivtService.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")));
|
||||
//todo 查找正在搬运到待检区的任务,假设只有一个
|
||||
List<SchBaseTask> taskList = taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
//执行中
|
||||
.eq(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode())
|
||||
.and(
|
||||
r -> r.in(SchBaseTask::getPoint_code2, packageinfoivtList)
|
||||
));
|
||||
//没有正在搬运空载具过来的任务,创建搬运空载具任务
|
||||
if (CollectionUtils.isEmpty(taskList)) {
|
||||
//查询待检区或管制区有空载具的
|
||||
List<BstIvtPackageinfoivt> djqOrGzqPointList = packageinfoivtService
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.in(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.POINT_STATUS.code("管制区"))
|
||||
.eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具")).orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
||||
List<BstIvtPackageinfoivt> djqPointList = djqOrGzqPointList.stream().filter(r -> r.getPoint_status().equals(PackageInfoIvtEnum.POINT_STATUS.code("待检区"))).collect(Collectors.toList());
|
||||
//待检区库位有空载具
|
||||
if (CollectionUtils.isNotEmpty(djqPointList)) {
|
||||
List<BstIvtPackageinfoivt> kzjPoint = packageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.IVT_STATUS.code("空载具").equals(r.getIvt_status()))
|
||||
.sorted(Comparator.comparing(BstIvtPackageinfoivt::getSort_seq))
|
||||
.collect(Collectors.toList());
|
||||
//创建搬运空载具任务
|
||||
JSONObject toKzjhcwTask = new JSONObject();
|
||||
// if (schBaseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))) {
|
||||
List<BstIvtPackageinfoivt> kzjPointList = bstIvtPackageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位").equals(r.getPoint_status())
|
||||
&& PackageInfoIvtEnum.IVT_STATUS.code("空载具").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
JSONObject toSsxTask = new JSONObject();
|
||||
toSsxTask.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
||||
toSsxTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
|
||||
toSsxTask.put("vehicle_code", containerInfo.getContainer_name());
|
||||
//判断空载具缓存位是否有空载具库存,有就叫桁架去任一一个位置搬空载具
|
||||
if (CollectionUtils.isNotEmpty(kzjPointList)) {
|
||||
//直接创建搬运空载具任务
|
||||
toSsxTask.put("point_code1", kzjPointList.get(0).getPoint_code());
|
||||
//终点为输送线点位
|
||||
toSsxTask.put("point_code2", schBaseTask.getPoint_code1());
|
||||
ssxDjwTask.createTask(toSsxTask);
|
||||
} else {
|
||||
//空载具缓存位没有可用的库存:判断是否有正在搬运空载具过来的任务,有的话不创建
|
||||
//没有的话创建搬运空载具任务, 当任务完成的时候,补发桁架任务。
|
||||
List<BstIvtPackageinfoivt> packageinfoivtList = packageinfoivtService.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")));
|
||||
//todo 查找正在搬运到待检区的任务,假设只有一个
|
||||
List<SchBaseTask> taskList = taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
//执行中
|
||||
.eq(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode())
|
||||
.and(
|
||||
r -> r.in(SchBaseTask::getPoint_code2, packageinfoivtList)
|
||||
));
|
||||
//没有正在搬运空载具过来的任务,创建搬运空载具任务
|
||||
if (CollectionUtils.isEmpty(taskList)) {
|
||||
//查询待检区或管制区有空载具的
|
||||
List<BstIvtPackageinfoivt> djqOrGzqPointList = packageinfoivtService
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.in(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.POINT_STATUS.code("管制区"))
|
||||
.eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具")).orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
||||
List<BstIvtPackageinfoivt> djqPointList = djqOrGzqPointList.stream().filter(r -> r.getPoint_status().equals(PackageInfoIvtEnum.POINT_STATUS.code("待检区"))).collect(Collectors.toList());
|
||||
//待检区库位有空载具
|
||||
if (CollectionUtils.isNotEmpty(djqPointList)) {
|
||||
//优先去待检区取空载具
|
||||
toKzjhcwTask.put("point_code1", djqPointList.get(0).getPoint_code());
|
||||
} else {
|
||||
List<BstIvtPackageinfoivt> kzjPoint = packageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.IVT_STATUS.code("空载具").equals(r.getIvt_status()))
|
||||
.sorted(Comparator.comparing(BstIvtPackageinfoivt::getSort_seq))
|
||||
.collect(Collectors.toList());
|
||||
//创建搬运空载具任务
|
||||
JSONObject toKzjhcwTask = new JSONObject();
|
||||
if (CollectionUtils.isNotEmpty(djqPointList)) {
|
||||
//优先去待检区取空载具
|
||||
toKzjhcwTask.put("point_code1", djqPointList.get(0).getPoint_code());
|
||||
} else {
|
||||
|
||||
toKzjhcwTask.put("point_code1", djqOrGzqPointList.get(0).getPoint_code());
|
||||
toKzjhcwTask.put("point_code1", djqOrGzqPointList.get(0).getPoint_code());
|
||||
}
|
||||
toKzjhcwTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("取空(待检区->空载具缓存位)"));
|
||||
//送到到任意空载具缓存位
|
||||
toKzjhcwTask.put("point_code2", kzjPoint.get(0).getPoint_code());
|
||||
toKzjhcwTask.put("vehicle_code", containerInfo.getContainer_name());
|
||||
kzjhcwTask.createTask(toKzjhcwTask);
|
||||
}
|
||||
toKzjhcwTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("取空(待检区->空载具缓存位)"));
|
||||
//送到到任意空载具缓存位
|
||||
toKzjhcwTask.put("point_code2", kzjPoint.get(0).getPoint_code());
|
||||
toKzjhcwTask.put("vehicle_code", containerInfo.getContainer_name());
|
||||
kzjhcwTask.createTask(toKzjhcwTask);
|
||||
}
|
||||
}
|
||||
//}
|
||||
}
|
||||
}
|
||||
// 取消
|
||||
@@ -280,7 +283,7 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
.is_send(isSend ? "1" : "0")
|
||||
.acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type"))
|
||||
.task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status"))
|
||||
//.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.build();
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
BeanUtils.copyProperties(schBaseTaskVo, task);
|
||||
|
||||
@@ -170,7 +170,7 @@ public class SsxDjwTask extends AbstractAcsTask {
|
||||
.is_send(isSend ? "1" : "0")
|
||||
.acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type"))
|
||||
.task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status"))
|
||||
//.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.build();
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
BeanUtils.copyProperties(schBaseTaskVo, task);
|
||||
|
||||
@@ -32,6 +32,7 @@ import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -49,7 +50,6 @@ import java.util.stream.Collectors;
|
||||
public class ZxDjwTask extends AbstractAcsTask {
|
||||
|
||||
|
||||
|
||||
@Resource
|
||||
private DjqTask djqTask;
|
||||
@Resource
|
||||
@@ -202,7 +202,7 @@ public class ZxDjwTask extends AbstractAcsTask {
|
||||
.is_send(isSend ? "1" : "0")
|
||||
.acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type"))
|
||||
.task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status"))
|
||||
//.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.build();
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
BeanUtils.copyProperties(schBaseTaskVo, task);
|
||||
|
||||
@@ -95,56 +95,9 @@ public class TrussCallAirShaftTask extends AbstractAcsTask {
|
||||
// 更改任务状态为完成
|
||||
task.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
String startPoint = task.getPoint_code1();
|
||||
String endPoint = task.getPoint_code2();
|
||||
BstIvtCutpointivt startPointObj = bcutpointivtService.getOne(new LambdaQueryWrapper<BstIvtCutpointivt>()
|
||||
.eq(BstIvtCutpointivt::getTruss_point_code1, startPoint).or()
|
||||
.eq(BstIvtCutpointivt::getTruss_point_code2, startPoint));
|
||||
BstIvtShafttubeivt endPointObj = shafttubeivtService.getOne(new LambdaQueryWrapper<BstIvtShafttubeivt>()
|
||||
.eq(BstIvtShafttubeivt::getPoint_code, endPoint));
|
||||
String requestParam = task.getRequest_param();
|
||||
JSONObject extGroupData = JSONObject.parseObject(requestParam);
|
||||
// 需要套轴就要把纸管信息进行维护
|
||||
if ("1".equals(extGroupData.getString("is_bushing"))) {
|
||||
// 获取分切计划(最多两个)需要获取子卷的纸管设置到点位上 获取分切计划dto中对应的需要套轴的分切计划 最多两个计划
|
||||
String needPlan = extGroupData.getString("needPlan");
|
||||
SlitterPlanDistinctDto planDistinctDto = JSONObject.parseObject(needPlan, SlitterPlanDistinctDto.class);
|
||||
List<PdmBiSlittingproductionplan> needPlans = slittingproductionplanService.list(new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
|
||||
.eq(PdmBiSlittingproductionplan::getResource_name, planDistinctDto.getResource_name())
|
||||
.eq(PdmBiSlittingproductionplan::getParent_container_name, planDistinctDto.getParent_container_name())
|
||||
.eq(PdmBiSlittingproductionplan::getUp_or_down, planDistinctDto.getUp_or_down())
|
||||
.eq(PdmBiSlittingproductionplan::getSplit_group, planDistinctDto.getSplit_group())
|
||||
.eq(PdmBiSlittingproductionplan::getIs_paper_ok, "2"));
|
||||
if (needPlans.size() == 0) {
|
||||
throw new BadRequestException("找不到气涨轴编码【" + task.getVehicle_code() + "】对应的气涨轴");
|
||||
}
|
||||
for (PdmBiSlittingproductionplan plan : needPlans) {
|
||||
if (SlitterConstant.SLITTER_SUB_VOLUME_LEFT.equals(plan.getLeft_or_right())) {
|
||||
// 左卷
|
||||
if (SlitterConstant.SLITTER_TYPE_PAPER.equals(plan.getPaper_tube_or_FRP())) {
|
||||
endPointObj.setTube_code1(plan.getPaper_tube_material());
|
||||
endPointObj.setTube_name1(plan.getPaper_tube_model());
|
||||
} else {
|
||||
endPointObj.setTube_code1(plan.getFRP_material());
|
||||
endPointObj.setTube_name1(plan.getFRP_model());
|
||||
}
|
||||
endPointObj.setContainer_name1(plan.getContainer_name());
|
||||
} else {
|
||||
// 右卷
|
||||
if (SlitterConstant.SLITTER_TYPE_PAPER.equals(plan.getPaper_tube_or_FRP())) {
|
||||
endPointObj.setTube_code2(plan.getPaper_tube_material());
|
||||
endPointObj.setTube_name2(plan.getPaper_tube_model());
|
||||
} else {
|
||||
endPointObj.setTube_code2(plan.getFRP_material());
|
||||
endPointObj.setTube_name2(plan.getFRP_model());
|
||||
}
|
||||
endPointObj.setContainer_name2(plan.getContainer_name());
|
||||
}
|
||||
}
|
||||
}
|
||||
endPointObj.setHave_qzz("1");
|
||||
endPointObj.setQzz_size(extGroupData.getString("qzz_size"));
|
||||
TaskUtils.updateOptMessageByBShaftPoint(endPointObj);
|
||||
shafttubeivtService.updateById(endPointObj);
|
||||
// 起点清空
|
||||
if (startPoint.equals(startPointObj.getTruss_point_code1())) {
|
||||
startPointObj.setQzz_no1("");
|
||||
@@ -156,7 +109,6 @@ public class TrussCallAirShaftTask extends AbstractAcsTask {
|
||||
}
|
||||
TaskUtils.updateOptMessageByBCutPoint(startPointObj);
|
||||
bcutpointivtService.updateById(startPointObj);
|
||||
|
||||
}
|
||||
// 取消
|
||||
if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||
|
||||
@@ -149,6 +149,8 @@ public class AutoCallAirShaftTask {
|
||||
if (oldQzzNo == null) {
|
||||
throw new BadRequestException("当前气胀轴的编码为空!");
|
||||
}
|
||||
// 保存所需要的分切计划数据到点位上(套轴对接位)更新分切计划
|
||||
saveCutPlanMessage(empty, needPlans, qzzSize);
|
||||
// 最多两条
|
||||
List<PdmBiSlittingproductionplan> oldPlans = slittingproductionplanService.getByQzzNo(oldQzzNo);
|
||||
SlitterTaskUtil.putCurrentPaperSpec(param, oldPlans);
|
||||
@@ -225,9 +227,7 @@ public class AutoCallAirShaftTask {
|
||||
private void saveCutPlanMessage(BstIvtShafttubeivt empty, List<PdmBiSlittingproductionplan> needPlans, String qzzSize) {
|
||||
empty.setHave_qzz(SlitterConstant.SLITTER_YES);
|
||||
empty.setQzz_size(qzzSize);
|
||||
empty.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
empty.setUpdate_optname(SecurityUtils.getCurrentUsername());
|
||||
empty.setUpdate_time(DateUtil.now());
|
||||
TaskUtils.updateOptMessageByBShaftPoint(empty);
|
||||
for (PdmBiSlittingproductionplan plan : needPlans) {
|
||||
if (SlitterConstant.SLITTER_SUB_VOLUME_LEFT.equals(plan.getLeft_or_right())) {
|
||||
// 左卷
|
||||
@@ -242,11 +242,11 @@ public class AutoCallAirShaftTask {
|
||||
} else {
|
||||
// 右卷
|
||||
if (SlitterConstant.SLITTER_TYPE_PAPER.equals(plan.getPaper_tube_or_FRP())) {
|
||||
empty.setTube_code1(plan.getPaper_tube_material());
|
||||
empty.setTube_name1(plan.getPaper_tube_model());
|
||||
empty.setTube_code2(plan.getPaper_tube_material());
|
||||
empty.setTube_name2(plan.getPaper_tube_model());
|
||||
} else {
|
||||
empty.setTube_code1(plan.getFRP_material());
|
||||
empty.setTube_name1(plan.getFRP_model());
|
||||
empty.setTube_code2(plan.getFRP_material());
|
||||
empty.setTube_name2(plan.getFRP_model());
|
||||
}
|
||||
empty.setContainer_name2(plan.getContainer_name());
|
||||
}
|
||||
|
||||
@@ -173,10 +173,11 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONObject acsFinishLoadShaft(JSONObject param) {
|
||||
log.info("ACS申请套管完成参数: {}", param);
|
||||
JSONObject res = new JSONObject();
|
||||
// 穿拔轴位
|
||||
String deviceCode = param.getString("device_code");
|
||||
// todo: 纸管
|
||||
// 纸管
|
||||
String weight1 = param.getString("weight1");
|
||||
String material1 = param.getString("material1");
|
||||
String weight2 = param.getString("weight2");
|
||||
@@ -205,6 +206,18 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
log.error("找不到[{}]对应的分切计划!", collect);
|
||||
throw new BadRequestException("找不到[" + collect + "]对应的分切计划!");
|
||||
}
|
||||
// 分切计划设置纸卷重量
|
||||
for (PdmBiSlittingproductionplan plan : plans) {
|
||||
if (ObjectUtil.isNotEmpty(material1) && material1.equals(plan.getContainer_name())) {
|
||||
plan.setPaper_weight(weight1);
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(material2) && material2.equals(plan.getContainer_name())) {
|
||||
plan.setPaper_weight(weight2);
|
||||
}
|
||||
TaskUtils.updateOptMessageBySlitterPlan(plan);
|
||||
}
|
||||
slittingproductionplanService.updateBatchById(plans);
|
||||
|
||||
// 当前套轴的分切计划
|
||||
PdmBiSlittingproductionplan demoPlan = plans.get(0);
|
||||
// 查找是否有同组的气胀轴位置
|
||||
@@ -555,6 +568,7 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
public JSONObject acsSendSubVolume(JSONObject param) {
|
||||
JSONObject res = new JSONObject();
|
||||
String deviceCode = param.getString("device_code");
|
||||
BstIvtShafttubeivt device = shafttubeivtService.getByPointCode(deviceCode, false);
|
||||
// 气涨轴编码
|
||||
String qzzNo = param.getString("qzz_no");
|
||||
String direction = param.getString("direction");
|
||||
@@ -572,12 +586,17 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
log.error("设备{}, 找不到气胀轴编码{}对应的分切计划!参数:{}", deviceCode, qzzNo, param);
|
||||
throw new BadRequestException("找不到气胀轴编码{ " + qzzNo + " }的分切计划!");
|
||||
}
|
||||
// 查找终点 todo: 如何确认是废箔还是成品
|
||||
// todo: 暂时写死去成品称重
|
||||
// BstIvtShafttubeivt one = shafttubeivtService.getOne(new LambdaQueryWrapper<BstIvtShafttubeivt>()
|
||||
// .eq(BstIvtShafttubeivt::getPoint_type, "4").eq(BstIvtShafttubeivt::getPoint_location, "0"));
|
||||
if (ObjectUtil.isEmpty(plan.getLevel())) {
|
||||
throw new BadRequestException("子卷[" + plan.getContainer_name() + "]对应的级别不能为空");
|
||||
}
|
||||
String point_type = "5".equals(plan.getLevel()) ? "5" : "4";
|
||||
// 查找终点 确认是废箔还是成品: 根据分切计划的子卷等级来区分,5为报废
|
||||
BstIvtShafttubeivt one = shafttubeivtService.getOne(new LambdaQueryWrapper<BstIvtShafttubeivt>()
|
||||
.eq(BstIvtShafttubeivt::getPoint_type, point_type)
|
||||
.eq(BstIvtShafttubeivt::getPoint_location, device.getPoint_location())
|
||||
.eq(BstIvtShafttubeivt::getIs_used, SlitterConstant.SLITTER_YES));
|
||||
JSONObject taskParam = new JSONObject();
|
||||
taskParam.put("point_code2", "B_CZW01");
|
||||
taskParam.put("point_code2", one.getPoint_code());
|
||||
taskParam.put("material_code", plan.getContainer_name());
|
||||
res.put("code", HttpStatus.HTTP_OK);
|
||||
res.put("message", "请求成功!");
|
||||
|
||||
@@ -1284,7 +1284,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
||||
.eq(BstIvtBoxinfo::getBox_no, json.getString("storagevehicle_code"))
|
||||
);
|
||||
request_param.put("containerType", boxDao.getVehicle_type());
|
||||
request_param.put("request_param", request_param);
|
||||
jsonTaskParam.put("request_param", request_param);
|
||||
jsonTaskParam.put("table_fk", disDaoList.get(0).getIostorinv_id().toString());
|
||||
|
||||
if (json.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("浅")) ||
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService;
|
||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.mapper.PdmBiSlittingproductionplanMapper;
|
||||
import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation;
|
||||
@@ -285,6 +286,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
||||
JSONObject jsonAttr;
|
||||
// 是否自动分配货位
|
||||
Boolean checked = jsonObject.getBoolean("checked");
|
||||
String height = "";
|
||||
if (ObjectUtil.isNotEmpty(checked) && checked) {
|
||||
// 自动分配: 根据仓库、库区匹配一个合适的仓位
|
||||
JSONObject attrParam = new JSONObject();
|
||||
@@ -300,7 +302,6 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
||||
jsonObject.put("vehicle_type",boxDao.getVehicle_type());
|
||||
attrParam.put("vehicle_type", boxDao.getVehicle_type());
|
||||
//根据木箱高度,判断入库仓位的高度
|
||||
String height = "";
|
||||
String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue();
|
||||
String heightLevel2 = iSysParamService.findByCode("height_level_2").getValue();
|
||||
String box_high = boxDao.getBox_high();
|
||||
@@ -395,6 +396,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);
|
||||
jsonSend.put("request_param", param.toString());
|
||||
String task_id1 = this.setPoint(jsonSend);
|
||||
// 下发任务
|
||||
@@ -405,15 +407,27 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
||||
}
|
||||
|
||||
private BstIvtBoxinfo getBstIvtBoxinfo(Map whereJson) {
|
||||
//查询木箱码
|
||||
//查询木箱信息
|
||||
String containerName;
|
||||
if (whereJson.get("tableMater") != null) {
|
||||
JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(whereJson.get("tableMater")));
|
||||
containerName = jsonArray.getJSONObject(0).getString("pcsn");
|
||||
} else {
|
||||
containerName = whereJson.get("material_barcode").toString().split(",")[0];
|
||||
}
|
||||
if (StringUtils.isBlank(containerName)) {
|
||||
throw new BadRequestException("子卷号不能为空");
|
||||
}
|
||||
PdmBiSubpackagerelation pdmBiSubpackagerelation = ipdmBiSubpackagerelationService.getOne(new LambdaQueryWrapper<PdmBiSubpackagerelation>()
|
||||
.eq(PdmBiSubpackagerelation::getContainer_name, whereJson.get("material_barcode")));
|
||||
.eq(PdmBiSubpackagerelation::getContainer_name, containerName));
|
||||
if (pdmBiSubpackagerelation == null) {
|
||||
throw new BadRequestException("子卷包装关系不存在");
|
||||
}
|
||||
// 查询木箱信息
|
||||
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
|
||||
return iBstIvtBoxinfoService.getOne(
|
||||
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
||||
.eq(BstIvtBoxinfo::getBox_no, pdmBiSubpackagerelation.getPackage_box_sn())
|
||||
);
|
||||
return boxDao;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -511,7 +525,8 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
||||
jsonTaskParam.put("task_type", "010703");
|
||||
jsonTaskParam.put("start_device_code", pointDto.getPoint_code());
|
||||
jsonTaskParam.put("next_device_code", jsonDis.getString("struct_code"));
|
||||
jsonTaskParam.put("vehicle_code", whereJson.get("vehicle_code"));
|
||||
//jsonTaskParam.put("vehicle_code", whereJson.get("vehicle_code"));
|
||||
jsonTaskParam.put("vehicle_code", "A00010");
|
||||
jsonTaskParam.put("vehicle_code2", whereJson.get("vehicle_code2"));
|
||||
jsonTaskParam.put("inv_type", mstDao.getBill_type());
|
||||
jsonTaskParam.put("inv_id", mstDao.getIostorinv_id());
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -162,7 +163,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
// 载具表
|
||||
WQLObject vehicleTab = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
|
||||
// 载具扩展属性表
|
||||
// WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||
WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||
/*
|
||||
* 查询mes木箱信息,插入木箱信息表
|
||||
*/
|
||||
@@ -176,28 +177,56 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
* 插入木箱对应载具表
|
||||
*/
|
||||
|
||||
String box_no = whereJson.getString("box_no");
|
||||
String[] split = box_no.split(",");
|
||||
String boxType = "";
|
||||
for (int i = 0; i < split.length; i++) {
|
||||
String boxNo = split[i];
|
||||
BstIvtBoxinfo boxinfo = iBstIvtBoxinfoService.getOne(
|
||||
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
||||
.eq(BstIvtBoxinfo::getBox_no, boxNo));
|
||||
if (StrUtil.isEmpty(boxType)) {
|
||||
boxType = boxinfo.getMaterial_code();
|
||||
} else {
|
||||
if (!boxType.equals(boxinfo.getMaterial_code())) {
|
||||
throw new BadRequestException("请扫码相同规格的木箱进行堆叠入库!");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//查询对应的木箱信息
|
||||
// 查询木箱信息
|
||||
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
|
||||
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
||||
.eq(BstIvtBoxinfo::getBox_no, whereJson.getString("box_no"))
|
||||
.eq(BstIvtBoxinfo::getBox_no, split[0])
|
||||
);
|
||||
if (boxDao == null) {
|
||||
throw new BadRequestException("木箱不存在!");
|
||||
}
|
||||
JSONObject jsonVehicle = vehicleTab.query("storagevehicle_code = '" + whereJson.getString("vehicle_code") + "'")
|
||||
.uniqueResult(0);
|
||||
// if (ObjectUtil.isEmpty(jsonVehicle)) {
|
||||
// throw new BadRequestException("载具不存在!");
|
||||
// }
|
||||
// JSONObject jsonVeExt = new JSONObject();
|
||||
// jsonVeExt.put("storagevehicleext_id", IdUtil.getLongId());
|
||||
// jsonVeExt.put("storagevehicle_id", jsonVehicle.getLongValue("storagevehicle_id"));
|
||||
// jsonVeExt.put("storagevehicle_code", jsonVehicle.getString("storagevehicle_code"));
|
||||
// jsonVeExt.put("storagevehicle_type", jsonVehicle.getString("storagevehicle_type"));
|
||||
// jsonVeExt.put("pcsn", whereJson.getString("box_no"));
|
||||
// jsonVeExt.put("device_uuid", IdUtil.getLongId());
|
||||
// veExtTab.insert(jsonVeExt);
|
||||
if (ObjectUtil.isEmpty(jsonVehicle)) {
|
||||
throw new BadRequestException("载具不存在!");
|
||||
}
|
||||
JSONObject ext_jo = veExtTab.query("storagevehicle_code = '"+jsonVehicle.getString("storagevehicle_code")+"'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(ext_jo)) {
|
||||
JSONObject jsonVeExt = new JSONObject();
|
||||
jsonVeExt.put("storagevehicleext_id", IdUtil.getLongId());
|
||||
jsonVeExt.put("storagevehicle_id", jsonVehicle.getLongValue("storagevehicle_id"));
|
||||
jsonVeExt.put("storagevehicle_code", jsonVehicle.getString("storagevehicle_code"));
|
||||
jsonVeExt.put("storagevehicle_type", jsonVehicle.getString("storagevehicle_type"));
|
||||
jsonVeExt.put("pcsn", whereJson.getString("box_no"));
|
||||
jsonVeExt.put("device_uuid", IdUtil.getLongId());
|
||||
jsonVeExt.put("update_time", DateUtil.now());
|
||||
veExtTab.insert(jsonVeExt);
|
||||
}else {
|
||||
ext_jo.put("pcsn", whereJson.getString("box_no"));
|
||||
ext_jo.put("device_uuid", IdUtil.getLongId());
|
||||
ext_jo.put("update_time", DateUtil.now());
|
||||
veExtTab.update(ext_jo);
|
||||
}
|
||||
|
||||
// 下发桁架任务
|
||||
|
||||
//查询当前入库拆叠盘位的托盘类型是否一致如果一致
|
||||
@@ -254,6 +283,19 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
param.put("height", boxDao.getBox_high());
|
||||
param.put("containerType", boxDao.getVehicle_type());
|
||||
param.put("barcode", whereJson.getString("box_no"));
|
||||
//根据木箱高度,判断入库仓位的高度
|
||||
String height = "";
|
||||
String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue();
|
||||
String heightLevel2 = iSysParamService.findByCode("height_level_2").getValue();
|
||||
String box_high = boxDao.getBox_high();
|
||||
if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) {
|
||||
height = "1";
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
}
|
||||
param.put("heightLevel", height);
|
||||
taskParam.put("request_param", param.toString());
|
||||
TwoInBoxTrussTask taskBean = new TwoInBoxTrussTask();
|
||||
taskBean.createTask(taskParam);
|
||||
@@ -265,7 +307,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
// 载具表
|
||||
WQLObject vehicleTab = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
|
||||
// 载具扩展属性表
|
||||
// WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||
WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||
/*
|
||||
* 查询mes木箱信息,插入木箱信息表
|
||||
*/
|
||||
@@ -288,19 +330,30 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
if (boxDao == null) {
|
||||
throw new BadRequestException("木箱不存在!");
|
||||
}
|
||||
|
||||
JSONObject jsonVehicle = vehicleTab.query("storagevehicle_code = '" + whereJson.getString("vehicle_code") + "'")
|
||||
.uniqueResult(0);
|
||||
// if (ObjectUtil.isEmpty(jsonVehicle)) {
|
||||
// throw new BadRequestException("载具不存在!");
|
||||
// }
|
||||
// JSONObject jsonVeExt = new JSONObject();
|
||||
// jsonVeExt.put("storagevehicleext_id", IdUtil.getLongId());
|
||||
// jsonVeExt.put("storagevehicle_id", jsonVehicle.getLongValue("storagevehicle_id"));
|
||||
// jsonVeExt.put("storagevehicle_code", jsonVehicle.getString("storagevehicle_code"));
|
||||
// jsonVeExt.put("storagevehicle_type", jsonVehicle.getString("storagevehicle_type"));
|
||||
// jsonVeExt.put("pcsn", whereJson.getString("box_no"));
|
||||
// jsonVeExt.put("device_uuid", IdUtil.getLongId());
|
||||
// veExtTab.insert(jsonVeExt);
|
||||
if (ObjectUtil.isEmpty(jsonVehicle)) {
|
||||
throw new BadRequestException("载具不存在!");
|
||||
}
|
||||
JSONObject ext_jo = veExtTab.query("storagevehicle_code = '"+jsonVehicle.getString("storagevehicle_code")+"'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(ext_jo)) {
|
||||
JSONObject jsonVeExt = new JSONObject();
|
||||
jsonVeExt.put("storagevehicleext_id", IdUtil.getLongId());
|
||||
jsonVeExt.put("storagevehicle_id", jsonVehicle.getLongValue("storagevehicle_id"));
|
||||
jsonVeExt.put("storagevehicle_code", jsonVehicle.getString("storagevehicle_code"));
|
||||
jsonVeExt.put("storagevehicle_type", jsonVehicle.getString("storagevehicle_type"));
|
||||
jsonVeExt.put("pcsn", whereJson.getString("box_no"));
|
||||
jsonVeExt.put("device_uuid", IdUtil.getLongId());
|
||||
jsonVeExt.put("update_time", DateUtil.now());
|
||||
veExtTab.insert(jsonVeExt);
|
||||
}else {
|
||||
ext_jo.put("pcsn", whereJson.getString("box_no"));
|
||||
ext_jo.put("device_uuid", IdUtil.getLongId());
|
||||
ext_jo.put("update_time", DateUtil.now());
|
||||
veExtTab.update(ext_jo);
|
||||
}
|
||||
|
||||
// 下发桁架任务
|
||||
JSONObject taskParam = new JSONObject();
|
||||
taskParam.put("task_type", "010713");
|
||||
@@ -315,6 +368,20 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
param.put("height", boxDao.getBox_high());
|
||||
param.put("containerType", boxDao.getVehicle_type());
|
||||
param.put("barcode", whereJson.getString("box_no"));
|
||||
|
||||
//根据木箱高度,判断入库仓位的高度
|
||||
String height = "";
|
||||
String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue();
|
||||
String heightLevel2 = iSysParamService.findByCode("height_level_2").getValue();
|
||||
String box_high = boxDao.getBox_high();
|
||||
if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) {
|
||||
height = "1";
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
}
|
||||
param.put("heightLevel", height);
|
||||
taskParam.put("request_param", param.toString());
|
||||
TwoInBoxTrussTask taskBean = new TwoInBoxTrussTask();
|
||||
taskBean.createTask(taskParam);
|
||||
@@ -323,7 +390,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public String taskExceptional(JSONObject jsonObject) {
|
||||
public JSONObject taskExceptional(JSONObject jsonObject) {
|
||||
// 仓位表
|
||||
WQLObject attrTab = WQLObject.getWQLObject("ST_IVT_StructAttr");
|
||||
|
||||
@@ -365,7 +432,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
taskDao.setPoint_code2(jsonAttrNow.getString("struct_code"));
|
||||
ischBaseTaskService.updateById(taskDao);
|
||||
|
||||
return jsonAttrNow.getString("struct_code");
|
||||
return jsonAttrNow;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -7,8 +7,11 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import org.checkerframework.checker.units.qual.A;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService;
|
||||
import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvService;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvdisService;
|
||||
@@ -57,6 +60,9 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
@Autowired
|
||||
private IschBaseTaskService ischBaseTaskService;
|
||||
|
||||
@Autowired
|
||||
private IBstIvtBoxinfoService iBstIvtBoxinfoService;
|
||||
|
||||
/**
|
||||
* 不需要查询的排集合
|
||||
*/
|
||||
@@ -81,7 +87,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
String operate = json.getString("operate");
|
||||
if (operate.equals(IOSEnum.IO_TYPE.code("入库"))) {
|
||||
|
||||
attrTab.update(json, "struct_code IN ('"+ String.join("','", param) +"')");
|
||||
attrTab.update(json, "struct_code IN ('" + String.join("','", param) + "')");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,10 +120,10 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
*/
|
||||
JSONArray attrArry = attrTab.query("IFNULL(storagevehicle_code,'') = '' " +
|
||||
"AND is_used = '" + IOSEnum.IS_NOTANDYES.code("是") + "' AND is_delete = '" + IOSEnum.IS_NOTANDYES.code("否") + "' " +
|
||||
"AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '"+jsonObject.getString("stor_id")+"' " +
|
||||
"AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '" + jsonObject.getString("stor_id") + "' " +
|
||||
"AND storagevehicle_type = '" + jsonObject.getString("vehicle_type") + "'" +
|
||||
"AND height = '" + jsonObject.getString("height") + "'" +
|
||||
"AND sect_id = '"+jsonObject.getString("sect_id")+"'").getResultJSONArray(0);
|
||||
"AND sect_id = '" + jsonObject.getString("sect_id") + "'").getResultJSONArray(0);
|
||||
|
||||
if (ObjectUtil.isEmpty(attrArry)) {
|
||||
notInRowList.clear();
|
||||
@@ -140,13 +146,13 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
/*
|
||||
* 确定哪排:查看每排相同木箱规格等 的数量,找到数量最小的那排
|
||||
*/
|
||||
jsonSub.put("block_num",block_num);
|
||||
jsonSub.put("block_num", block_num);
|
||||
String row_num = getMinRow(jsonSub);
|
||||
|
||||
/*
|
||||
* 确定伸位,找仓位
|
||||
*/
|
||||
jsonSub.put("row_num",row_num);
|
||||
jsonSub.put("row_num", row_num);
|
||||
JSONObject jsonAttr = queryStruct(jsonSub);
|
||||
|
||||
// 为空则新找巷道
|
||||
@@ -173,7 +179,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
json.put("box_high", jsonSub.getString("box_high"));
|
||||
|
||||
String row_num_2 = getMinRow(json);
|
||||
json.put("row_num",row_num_2);
|
||||
json.put("row_num", row_num_2);
|
||||
JSONObject jsonAttr_2 = queryStruct(json);
|
||||
|
||||
if (ObjectUtil.isNotEmpty(jsonAttr_2)) {
|
||||
@@ -208,6 +214,12 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
throw new BadRequestException("设备号不能为空!");
|
||||
}
|
||||
|
||||
// 查询木箱信息
|
||||
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
|
||||
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
||||
.eq(BstIvtBoxinfo::getBox_no, jsonObject.getString("box_no"))
|
||||
);
|
||||
|
||||
List<String> pcsnList = Arrays.asList(material_barcode.split(","));
|
||||
|
||||
// 查询子卷包装关系
|
||||
@@ -252,7 +264,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
jsonDtl.put("is_active", IOSEnum.IS_SEND.code("是"));
|
||||
tableData.add(jsonDtl);
|
||||
}
|
||||
mst.put("tableData",tableData);
|
||||
mst.put("tableData", tableData);
|
||||
|
||||
// 判断是否已经生成过入库单
|
||||
String package_box_sn = (String) tableData.get(0).get("package_box_sn");
|
||||
@@ -277,26 +289,27 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
).get(0);
|
||||
|
||||
List<LinkedHashMap> disList = iStIvtIostorinvdisService.list(
|
||||
new QueryWrapper<StIvtIostorinvdis>().lambda()
|
||||
.eq(StIvtIostorinvdis::getIostorinv_id, iostorinv_id)
|
||||
).stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row), LinkedHashMap.class))
|
||||
new QueryWrapper<StIvtIostorinvdis>().lambda()
|
||||
.eq(StIvtIostorinvdis::getIostorinv_id, iostorinv_id)
|
||||
).stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row), LinkedHashMap.class))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
jsonDiv.put("dtl_row",JSONObject.parseObject(JSON.toJSONString(dtlDao)));
|
||||
jsonDiv.put("dtl_row", JSONObject.parseObject(JSON.toJSONString(dtlDao)));
|
||||
jsonDiv.put("tableMater", disList);
|
||||
jsonDiv.put("checked", true);
|
||||
jsonDiv.put("is_send", IOSEnum.IS_SEND.code("是"));
|
||||
jsonDiv.put("point_code", jsonObject.getString("device_code"));
|
||||
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("vehicle_code",jsonObject.getString("vehicle_code"));
|
||||
jsonDiv.put("material_barcode", jsonObject.getString("material_barcode"));
|
||||
jsonDiv.put("vehicle_code", jsonObject.getString("vehicle_code"));
|
||||
jsonDiv.put("vehicle_type", boxDao.getVehicle_type());
|
||||
iStIvtIostorinvService.divStruct(jsonDiv);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public String taskExceptional(JSONObject jsonObject) {
|
||||
public JSONObject taskExceptional(JSONObject jsonObject) {
|
||||
/*
|
||||
* 1.锁定原货位
|
||||
* 2.重新找新货位
|
||||
@@ -313,9 +326,9 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
// 查找对应单据
|
||||
List<LinkedHashMap> disDaoList = iStIvtIostorinvdisService.list(
|
||||
new QueryWrapper<StIvtIostorinvdis>().lambda()
|
||||
.eq(StIvtIostorinvdis::getTask_id, taskDao.getTask_id())
|
||||
).stream()
|
||||
new QueryWrapper<StIvtIostorinvdis>().lambda()
|
||||
.eq(StIvtIostorinvdis::getTask_id, taskDao.getTask_id())
|
||||
).stream()
|
||||
.map(row -> JSONObject.parseObject(JSON.toJSONString(row), LinkedHashMap.class))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
@@ -334,9 +347,9 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
// 重新分配过的明细
|
||||
List<LinkedHashMap> disList = iStIvtIostorinvdisService.list(
|
||||
new QueryWrapper<StIvtIostorinvdis>().lambda()
|
||||
.eq(StIvtIostorinvdis::getIostorinv_id, iostorinv_id)
|
||||
).stream()
|
||||
new QueryWrapper<StIvtIostorinvdis>().lambda()
|
||||
.eq(StIvtIostorinvdis::getIostorinv_id, iostorinv_id)
|
||||
).stream()
|
||||
.map(row -> JSONObject.parseObject(JSON.toJSONString(row), LinkedHashMap.class))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
@@ -346,7 +359,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
).get(0);
|
||||
|
||||
JSONObject jsonDiv = new JSONObject();
|
||||
jsonDiv.put("dtl_row",JSONObject.parseObject(JSON.toJSONString(dtlDao)));
|
||||
jsonDiv.put("dtl_row", JSONObject.parseObject(JSON.toJSONString(dtlDao)));
|
||||
jsonDiv.put("tableMater", disList);
|
||||
jsonDiv.put("checked", true);
|
||||
jsonDiv.put("is_send", IOSEnum.IS_SEND.code("否"));
|
||||
@@ -358,8 +371,8 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
// 3.更新明细任务标识
|
||||
iStIvtIostorinvdisService.update(
|
||||
new UpdateWrapper<StIvtIostorinvdis>().lambda()
|
||||
.eq(StIvtIostorinvdis::getIostorinv_id, iostorinv_id)
|
||||
.set(StIvtIostorinvdis::getTask_id, taskDao.getTask_id())
|
||||
.eq(StIvtIostorinvdis::getIostorinv_id, iostorinv_id)
|
||||
.set(StIvtIostorinvdis::getTask_id, taskDao.getTask_id())
|
||||
);
|
||||
|
||||
// 4.更新任务终点
|
||||
@@ -371,17 +384,18 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
taskDao.setPoint_code2(disListNow.get(0).getStruct_code());
|
||||
ischBaseTaskService.updateById(taskDao);
|
||||
|
||||
return disListNow.get(0).getStruct_code();
|
||||
return JSONObject.parseObject(JSON.toJSONString(disListNow.get(0)));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取最小巷道
|
||||
*
|
||||
* @param jsonSub {
|
||||
* jsonSub:木箱信息
|
||||
* sect_id:库区
|
||||
* stor_id:仓库
|
||||
* material_id:物料
|
||||
* }
|
||||
* }
|
||||
* @return String : 巷道
|
||||
*/
|
||||
private String getMinBlock(JSONObject jsonSub) {
|
||||
@@ -399,7 +413,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
.collect(Collectors.joining("','"));
|
||||
|
||||
jsonSub.put("flag", "2");
|
||||
jsonSub.put("block_in", "('"+block_in+"')");
|
||||
jsonSub.put("block_in", "('" + block_in + "')");
|
||||
|
||||
List<JSONObject> boxAllList = WQL.getWO("BST_INRULE").addParamMap(jsonSub)
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
@@ -425,7 +439,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
}
|
||||
|
||||
// 区分木箱规格:最小木箱的巷道
|
||||
JSONObject jsonBlockLikeMin = sumBlockMinNum(blockList,boxAllLikeList);
|
||||
JSONObject jsonBlockLikeMin = sumBlockMinNum(blockList, boxAllLikeList);
|
||||
|
||||
/*
|
||||
* 比较两个巷道的总木箱数,取最小的
|
||||
@@ -441,7 +455,8 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
/**
|
||||
* 计算最小巷道木箱数
|
||||
* @param blockList : 所有巷道
|
||||
*
|
||||
* @param blockList : 所有巷道
|
||||
* @param boxAllList: 所有木箱
|
||||
* @return JSONObject:最小木箱数的巷道 JSONObject{block_num,box_num}
|
||||
*/
|
||||
@@ -471,6 +486,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
/**
|
||||
* 获取最小排
|
||||
*
|
||||
* @param jsonSub {
|
||||
* jsonSub:木箱信息
|
||||
* sect_id:库区
|
||||
@@ -478,7 +494,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
* material_id:物料
|
||||
* block_num: 巷道
|
||||
* not_row_in: 排(用于递归查询)
|
||||
* }
|
||||
* }
|
||||
* @return String : 排
|
||||
*/
|
||||
private String getMinRow(JSONObject jsonSub) {
|
||||
@@ -497,7 +513,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
.collect(Collectors.joining("','"));
|
||||
|
||||
jsonSub.put("flag", "2");
|
||||
jsonSub.put("row_in", "('"+row_in+"')");
|
||||
jsonSub.put("row_in", "('" + row_in + "')");
|
||||
|
||||
List<JSONObject> boxAllList = WQL.getWO("BST_INRULE").addParamMap(jsonSub)
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
@@ -542,7 +558,8 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
/**
|
||||
* 计算最小木箱的排
|
||||
* @param rowList : 所有排
|
||||
*
|
||||
* @param rowList : 所有排
|
||||
* @param boxAllList: 所有木箱
|
||||
* @return JSONObject:最小木箱数的排 JSONObject{row_num,box_num}
|
||||
*/
|
||||
@@ -572,6 +589,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
/**
|
||||
* 获取仓位
|
||||
*
|
||||
* @param jsonSub {
|
||||
* jsonSub:木箱信息
|
||||
* sect_id:库区
|
||||
@@ -579,7 +597,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
* material_id:物料
|
||||
* block_num: 巷道
|
||||
* row_num :排
|
||||
* }
|
||||
* }
|
||||
* @return JSONObject : 仓位
|
||||
*/
|
||||
private JSONObject queryStruct(JSONObject jsonSub) {
|
||||
@@ -595,7 +613,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
// 新的一排
|
||||
String row_num_new = this.getMinRow(jsonSub);
|
||||
jsonSub.put("row_num",row_num_new);
|
||||
jsonSub.put("row_num", row_num_new);
|
||||
|
||||
jsonAttr = this.getStruct(jsonSub);
|
||||
}
|
||||
@@ -605,6 +623,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
/**
|
||||
* 获取一个货位公共方法
|
||||
*
|
||||
* @param jsonSub {
|
||||
* jsonSub:木箱信息
|
||||
* sect_id:库区
|
||||
@@ -612,7 +631,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
* material_id:物料
|
||||
* block_num: 巷道
|
||||
* row_num :排
|
||||
* }
|
||||
* }
|
||||
* @return JSONObject : 仓位
|
||||
*/
|
||||
private JSONObject getStruct(JSONObject jsonSub) {
|
||||
|
||||
@@ -89,6 +89,10 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
||||
jsonTaskParam.put("next_device_code", jsonAttr.getString("struct_code"));
|
||||
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||
jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type"));
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("containerType", whereJson.getString("vehicle_type"));
|
||||
//0表示为空托盘
|
||||
jsonTaskParam.put("request_param", param.toString());
|
||||
|
||||
TwoInEmpTask taskBean = new TwoInEmpTask();
|
||||
taskBean.createTask(jsonTaskParam);
|
||||
@@ -106,7 +110,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public String taskExceptional(JSONObject jsonObject) {
|
||||
public JSONObject taskExceptional(JSONObject jsonObject) {
|
||||
// 仓位表
|
||||
WQLObject attrTab = WQLObject.getWQLObject("ST_IVT_StructAttr");
|
||||
|
||||
@@ -141,7 +145,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
||||
taskDao.setPoint_code2(jsonAttrNow.getString("struct_code"));
|
||||
ischBaseTaskService.updateById(taskDao);
|
||||
|
||||
return jsonAttrNow.getString("struct_code");
|
||||
return jsonAttrNow;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -208,16 +208,16 @@ public class LashManageServiceImpl implements LashManageService {
|
||||
result.put("length", boxDao.getBox_length());
|
||||
result.put("width", boxDao.getBox_width());
|
||||
result.put("height", boxDao.getBox_high());
|
||||
result.put("case", boxDao.getMaterial_code());
|
||||
result.put("isBinding", IOSEnum.IS_SEND.code("是"));
|
||||
result.put("isLabeling", IOSEnum.IS_SEND.code("否"));
|
||||
|
||||
result.put("labelingTemplate", boxDao.getLash_num());
|
||||
result.put("bindingTemplate", "1");
|
||||
|
||||
result.put("bindingTemplate", boxDao.getLash_num());
|
||||
result.put("printDevice", "1");
|
||||
|
||||
result.put("printQty", "1");
|
||||
result.put("bundleTimes", "2");
|
||||
result.put("bundleTimes", "1");
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public String taskExceptional(JSONObject jsonObject) {
|
||||
public JSONObject taskExceptional(JSONObject jsonObject) {
|
||||
// 仓位表
|
||||
WQLObject attrTab = WQLObject.getWQLObject("ST_IVT_StructAttr");
|
||||
|
||||
@@ -160,7 +160,7 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
|
||||
taskDao.setVehicle_code(jsonAttrNow.getString("storagevehicle_code"));
|
||||
ischBaseTaskService.updateById(taskDao);
|
||||
|
||||
return jsonAttrNow.getString("struct_code");
|
||||
return jsonAttrNow;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -113,7 +113,7 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public String taskExceptional(JSONObject jsonObject) {
|
||||
public JSONObject taskExceptional(JSONObject jsonObject) {
|
||||
// 仓位表
|
||||
WQLObject attrTab = WQLObject.getWQLObject("ST_IVT_StructAttr");
|
||||
|
||||
@@ -150,7 +150,7 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService {
|
||||
taskDao.setVehicle_code(jsonAttrNow.getString("storagevehicle_code"));
|
||||
ischBaseTaskService.updateById(taskDao);
|
||||
|
||||
return jsonAttrNow.getString("struct_code");
|
||||
return jsonAttrNow;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -70,14 +70,8 @@ public class SendOutManageServiceImpl implements SendOutManageService {
|
||||
.eq(SchBasePoint::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
);
|
||||
|
||||
// 根据载具号找到对应的木箱号
|
||||
JSONObject jsonExt = extTab.query("storagevehicle_code = '" + whereJson.getString("vehicle_code") + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonExt)) {
|
||||
throw new BadRequestException("此载具上没有木箱,请检查!"+whereJson.getString("vehicle_code"));
|
||||
}
|
||||
|
||||
// 1.查询此木箱号的子卷包装关系
|
||||
JSONObject jsonSub = subTab.query("package_box_sn = '" + jsonExt.getString("pcsn") + "'").uniqueResult(0);
|
||||
JSONObject jsonSub = subTab.query("package_box_sn = '" + whereJson.getString("vehicle_code") + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonSub)) {
|
||||
throw new BadRequestException("未查询到该木箱对应的包装关系!");
|
||||
}
|
||||
@@ -215,6 +209,6 @@ public class SendOutManageServiceImpl implements SendOutManageService {
|
||||
);
|
||||
|
||||
// 删除载具对应木箱记录
|
||||
extTab.delete(jsonExt);
|
||||
//extTab.delete(jsonExt);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ public interface InBoxManageService {
|
||||
* }
|
||||
* @return point_code: 货位编码
|
||||
*/
|
||||
String taskExceptional(JSONObject jsonObject);
|
||||
JSONObject taskExceptional(JSONObject jsonObject);
|
||||
|
||||
void returnIn(JSONObject whereJson);
|
||||
|
||||
|
||||
@@ -60,6 +60,6 @@ public interface InBussManageService {
|
||||
* }
|
||||
* @return point_code: 货位编码
|
||||
*/
|
||||
String taskExceptional(JSONObject jsonObject);
|
||||
JSONObject taskExceptional(JSONObject jsonObject);
|
||||
|
||||
}
|
||||
|
||||
@@ -29,6 +29,6 @@ public interface InVehicleManageService {
|
||||
* }
|
||||
* @return point_code: 货位编码
|
||||
*/
|
||||
String taskExceptional(JSONObject jsonObject);
|
||||
JSONObject taskExceptional(JSONObject jsonObject);
|
||||
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public interface OutBoxManageService {
|
||||
* }
|
||||
* @return point_code: 货位编码
|
||||
*/
|
||||
String taskExceptional(JSONObject jsonObject);
|
||||
JSONObject taskExceptional(JSONObject jsonObject);
|
||||
|
||||
/**
|
||||
* 任务异常处理(2.浅货位有货-取货时)
|
||||
|
||||
@@ -28,7 +28,7 @@ public interface OutVehicleManageService {
|
||||
* }
|
||||
* @return point_code: 货位编码
|
||||
*/
|
||||
String taskExceptional(JSONObject jsonObject);
|
||||
JSONObject taskExceptional(JSONObject jsonObject);
|
||||
|
||||
/**
|
||||
* 任务异常处理(2.浅货位有货-取货时)
|
||||
|
||||
@@ -22,7 +22,7 @@ public enum PackageInfoIvtEnum {
|
||||
|
||||
//任务类型
|
||||
TASK_TYPE(MapOf.of("输送线->满轴缓存位", "010701", "满轴缓存位->待检区", "010702", "满轴缓存位->管制区", "010703", "放空(空载具缓存位->输送线)",
|
||||
"010704", "取空(待检区->空载具缓存位)", "010705", "待检区->管制区", "010706","管制区->待检区", "010707","待检区->装箱区", "010708", "装箱区->装箱对接位", "010709","放空(装箱区->待检区)", "010710")),
|
||||
"010704", "取空(待检区->空载具缓存位)", "010705", "待检区->管制区", "010706","管制区->待检区", "010707","待检区->装箱区", "010708", "装箱区->装箱对接位", "010709","放空(装箱区->待检区)", "010710","输送线四个点任务", "010711")),
|
||||
|
||||
//ACS任务类型
|
||||
ACS_TASK_TYPE(MapOf.of("agv任务", "1", "桁架任务", "6")),
|
||||
|
||||
@@ -48,8 +48,8 @@ public class StoragevehicleinfoController {
|
||||
@Log("修改载具")
|
||||
|
||||
//@PreAuthorize("@el.check('mdPbStoragevehicleinfo:edit')")
|
||||
public ResponseEntity<Object> update(@Validated @RequestBody StoragevehicleinfoDto dto) {
|
||||
storagevehicleinfoService.update(dto);
|
||||
public ResponseEntity<Object> update(@RequestBody JSONObject map) {
|
||||
storagevehicleinfoService.update(map);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ public interface StoragevehicleinfoService {
|
||||
*
|
||||
* @param dto /
|
||||
*/
|
||||
void update(StoragevehicleinfoDto dto);
|
||||
void update(JSONObject dto);
|
||||
|
||||
/**
|
||||
* 多选删除
|
||||
|
||||
@@ -160,24 +160,47 @@ public class StoragevehicleinfoServiceImpl implements StoragevehicleinfoService
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(StoragevehicleinfoDto dto) {
|
||||
public void update(JSONObject dto) {
|
||||
WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
|
||||
JSONObject jsonObject = wo.query("storagevehicle_code = '" + dto.getStoragevehicle_code() + "' and is_delete = '0'").uniqueResult(0);
|
||||
WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||
JSONObject jsonObject = wo.query("storagevehicle_code = '" + dto.getString("storagevehicle_code") + "' and is_delete = '0' AND storagevehicle_id != '" + dto.getString("storagevehicle_id") + "'").uniqueResult(0);
|
||||
if (!ObjectUtil.isEmpty(jsonObject)) {
|
||||
throw new BadRequestException("此载具已存在");
|
||||
}
|
||||
StoragevehicleinfoDto entity = this.findById(dto.getStoragevehicle_id());
|
||||
if (entity == null) {
|
||||
throw new BadRequestException("被删除或无权限,操作失败!");
|
||||
}
|
||||
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
|
||||
String now = DateUtil.now();
|
||||
dto.setUpdate_time(now);
|
||||
dto.setUpdate_optid(currentUserId);
|
||||
dto.setUpdate_optname(nickName);
|
||||
String qty = dto.getString("qty");
|
||||
String pcsn = dto.getString("pcsn");
|
||||
if (StrUtil.isNotEmpty(qty) || StrUtil.isNotEmpty(pcsn)) {
|
||||
JSONObject ext_jo = veExtTab.query("storagevehicle_code = '"+dto.getString("storagevehicle_code")+"'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(ext_jo)) {
|
||||
//新增一条记录
|
||||
JSONObject jsonVeExt = new JSONObject();
|
||||
jsonVeExt.put("storagevehicleext_id", org.nl.common.utils.IdUtil.getLongId());
|
||||
jsonVeExt.put("storagevehicle_id", dto.getLongValue("storagevehicle_id"));
|
||||
jsonVeExt.put("storagevehicle_code", dto.getString("storagevehicle_code"));
|
||||
jsonVeExt.put("storagevehicle_type", dto.getString("storagevehicle_type"));
|
||||
if (StrUtil.isNotEmpty(pcsn)) {
|
||||
jsonVeExt.put("pcsn", pcsn);
|
||||
}
|
||||
if (StrUtil.isNotEmpty(qty)) {
|
||||
jsonVeExt.put("qty", qty);
|
||||
}
|
||||
jsonVeExt.put("device_uuid", org.nl.common.utils.IdUtil.getLongId());
|
||||
jsonVeExt.put("update_time", DateUtil.now());
|
||||
veExtTab.insert(jsonVeExt);
|
||||
} else {
|
||||
if (StrUtil.isNotEmpty(pcsn)) {
|
||||
ext_jo.put("pcsn", pcsn);
|
||||
}
|
||||
if (StrUtil.isNotEmpty(qty)) {
|
||||
ext_jo.put("qty", qty);
|
||||
}
|
||||
veExtTab.update(ext_jo);
|
||||
}
|
||||
}
|
||||
|
||||
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
|
||||
wo.update(json);
|
||||
|
||||
@@ -45,6 +45,9 @@
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
s.*,
|
||||
ext.pcsn,
|
||||
ext.qty,
|
||||
ext.update_time AS change_time,
|
||||
mater.material_code,
|
||||
mater.material_name,
|
||||
point.point_code,
|
||||
@@ -56,6 +59,7 @@
|
||||
LEFT JOIN ST_IVT_StructIvt ivt ON point.source_id = ivt.struct_id
|
||||
LEFT JOIN md_me_materialbase mater ON mater.material_id = ivt.material_id
|
||||
LEFT JOIN md_pb_classstandard class ON class.class_code = s.storagevehicle_type
|
||||
LEFT JOIN md_pb_storagevehicleext ext ON ext.storagevehicle_code = s.storagevehicle_code
|
||||
WHERE
|
||||
s.is_delete = '0'
|
||||
ENDOPTION
|
||||
|
||||
Binary file not shown.
@@ -204,4 +204,11 @@ public class AcsToWmsController {
|
||||
public ResponseEntity<Object> applicationForLabeling(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(acsToWmsService.applicationForLabeling(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/getBoxInfo")
|
||||
@Log(value = "二期获取木箱高度", isInterfaceLog = true, interfaceLogType = InterfaceLogType.ACS_TO_LMS)
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> getBoxInfo(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(acsToWmsService.getBoxInfo(param), HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -195,4 +195,11 @@ public interface AcsToWmsService {
|
||||
* @return /
|
||||
*/
|
||||
JSONObject applicationForLabeling(JSONObject param);
|
||||
|
||||
/**
|
||||
* 二期输送机申请贴标
|
||||
* @param param /
|
||||
* @return /
|
||||
*/
|
||||
JSONObject getBoxInfo(JSONObject param);
|
||||
}
|
||||
|
||||
@@ -27,6 +27,8 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.sch.tasks.TwoBoxExcepTask;
|
||||
import org.nl.b_lms.sch.tasks.first_floor_area.MzhcwTask;
|
||||
import org.nl.b_lms.sch.tasks.slitter.service.SlitterService;
|
||||
import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService;
|
||||
import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.TASKEnum;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.*;
|
||||
@@ -38,6 +40,7 @@ import org.nl.modules.wql.WQL;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.nl.system.service.notice.ISysNoticeService;
|
||||
import org.nl.system.service.param.ISysParamService;
|
||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||
import org.nl.wms.ext.acs.service.AcsToWmsService;
|
||||
import org.nl.wms.pda.mps.service.CasingService;
|
||||
@@ -65,6 +68,7 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@Service
|
||||
@@ -124,6 +128,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
*/
|
||||
private final OutBoxManageService outBoxManageService;
|
||||
|
||||
private final IBstIvtBoxinfoService iBstIvtBoxinfoService;
|
||||
|
||||
@Resource
|
||||
private IschBaseTaskService taskService;
|
||||
|
||||
@@ -133,6 +139,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
@Resource
|
||||
private MzhcwTask mzhcwTask;
|
||||
|
||||
@Autowired
|
||||
private ISysParamService iSysParamService;
|
||||
|
||||
private final SlitterService slitterService;
|
||||
|
||||
private final IPdmBiSlittingproductionplanService slittingproductionplanService;
|
||||
@@ -1738,25 +1747,35 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
JSONObject result = new JSONObject();
|
||||
if (StringUtils.isBlank(whereJson.getString("device_code")) || StringUtils.isBlank(whereJson.getString("material_barcode"))) {
|
||||
throw new BadRequestException("接口sendProductToFirstFloor,任务号或子卷号参数为空!");
|
||||
|
||||
}
|
||||
//1.查询满轴缓存位是否有空位
|
||||
List<BstIvtPackageinfoivt> bstIvtPackageinfoivtList = packageinfoivtService
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位"))
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||
.eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空")).orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>().eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||
.orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
||||
List<BstIvtPackageinfoivt> mzPointList = bstIvtPackageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位").equals(r.getPoint_status())
|
||||
&& PackageInfoIvtEnum.IVT_STATUS.code("空").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
|
||||
jo.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
||||
//todo 获取子卷号,子卷号就是载具号?
|
||||
jo.put("vehicle_code", whereJson.getString("material_barcode"));
|
||||
//2.创建输送线->满轴位桁架任务,
|
||||
String point_code1 = whereJson.getString("device_code");
|
||||
jo.put("point_code1", point_code1);
|
||||
if (CollectionUtils.isNotEmpty(bstIvtPackageinfoivtList)) {
|
||||
if (CollectionUtils.isNotEmpty(mzPointList)) {
|
||||
//任意一个满轴缓存位为终点
|
||||
jo.put("point_code2", bstIvtPackageinfoivtList.get(0).getPoint_code());
|
||||
jo.put("point_code2", mzPointList.get(0).getPoint_code());
|
||||
List<BstIvtPackageinfoivt> kzjPointList = bstIvtPackageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位").equals(r.getPoint_status())
|
||||
&& PackageInfoIvtEnum.IVT_STATUS.code("空载具").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
//空载具缓存位有空载具
|
||||
if (CollectionUtils.isNotEmpty(kzjPointList)) {
|
||||
jo.put("point_code3", kzjPointList.get(0).getPoint_code());
|
||||
//终点为输送线点位
|
||||
jo.put("point_code4", whereJson.getString("device_code"));
|
||||
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"));
|
||||
} else {
|
||||
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
|
||||
}
|
||||
jo.put("is_send", true);
|
||||
mzhcwTask.createTask(jo);
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
@@ -1868,16 +1887,16 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
// 6-退货入库
|
||||
whereJson.put("bill_type", IOSEnum.IN_TYPE.code("退货入库"));
|
||||
whereJson.put("box_no", whereJson.getString("material_barcode"));
|
||||
JSONArray resultJSONArray = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + whereJson.getString("material_barcode") + "' AND status = '0'").getResultJSONArray(0);
|
||||
JSONArray resultJSONArray = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + whereJson.getString("material_barcode") + "' AND status in ('0','1')").getResultJSONArray(0);
|
||||
if (ObjectUtil.isEmpty(resultJSONArray)) {
|
||||
throw new BadRequestException("未查询到子卷包装信息!");
|
||||
}
|
||||
String material_barcode = "";
|
||||
for (int i = 0; i < resultJSONArray.size(); i++) {
|
||||
JSONObject resultObj = resultJSONArray.getJSONObject(i);
|
||||
if (i==0){
|
||||
if (i == 0) {
|
||||
material_barcode = resultObj.getString("container_name");
|
||||
}else {
|
||||
} else {
|
||||
material_barcode += "," + resultObj.getString("container_name");
|
||||
}
|
||||
}
|
||||
@@ -2000,7 +2019,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
.eq(SchBaseTask::getTask_code, whereJson.getString("task_code"))
|
||||
);
|
||||
|
||||
String point_code = "";
|
||||
JSONObject point_code = new JSONObject();
|
||||
// 判断任务类型
|
||||
if (taskDao.getTask_type().equals(TASKEnum.BOX_TYPE.code("木箱入库"))) {
|
||||
// 木箱入库:满入、浅货位有货-放货时
|
||||
@@ -2043,7 +2062,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "下发成功!");
|
||||
result.put("point_code", point_code);
|
||||
result.put("point_code", point_code.getString("struct_code"));
|
||||
result.put("vehicle_code", point_code.getString("struct_code"));
|
||||
log.info("deviceApplyExceptional返回参数:---------------------------------------------" + result.toString());
|
||||
return result;
|
||||
}
|
||||
@@ -2157,4 +2177,40 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
return param;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject getBoxInfo(JSONObject param) {
|
||||
String device_code = param.getString("device_code");
|
||||
String material_barcode = param.getString("material_barcode");
|
||||
String vehicle_code = param.getString("vehicle_code");
|
||||
if (device_code.equals("RK1018")) {
|
||||
JSONObject vehicle_info = WQLObject.getWQLObject("md_pb_storagevehicleext").query("storagevehicle_code = '" + vehicle_code + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(vehicle_info)) {
|
||||
throw new BadRequestException("未查询到载具号【" + vehicle_code + "】对应的载具信息!");
|
||||
}
|
||||
material_barcode = vehicle_info.getString("pcsn");
|
||||
}
|
||||
|
||||
// 查询木箱信息
|
||||
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
|
||||
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
||||
.eq(BstIvtBoxinfo::getBox_no, material_barcode)
|
||||
);
|
||||
|
||||
//根据木箱高度,判断入库仓位的高度
|
||||
String height = "";
|
||||
String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue();
|
||||
String heightLevel2 = iSysParamService.findByCode("height_level_2").getValue();
|
||||
String box_high = boxDao.getBox_high();
|
||||
if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) {
|
||||
height = "1";
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
}
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("heightLevel", height);
|
||||
jsonObject.put("status", HttpStatus.OK.value());
|
||||
return jsonObject;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ public class MesToLmsController {
|
||||
return new ResponseEntity<>(mesToLmsService.sendProcessInfo(jo), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/processFoilStart")
|
||||
@PostMapping("/momRollTRStartMock")
|
||||
@Log("表处工单推送")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> processFoilStart(@RequestBody JSONObject jo) {
|
||||
@@ -128,5 +128,59 @@ public class MesToLmsController {
|
||||
return new ResponseEntity<>(mesToLmsService.sendTargetHouse(jo), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/momSendSplitMfgOrderBOM")
|
||||
@Log("MES传递LMS订单BOM")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> momSendSplitMfgOrderBOM(@RequestBody JSONObject jo) {
|
||||
return new ResponseEntity<>(mesToLmsService.momSendSplitMfgOrderBOM(jo), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/getRollInfo")
|
||||
@Log("MES传递LMS获取子卷重量信息")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> getRollInfo(@RequestBody JSONObject jo) {
|
||||
return new ResponseEntity<>(mesToLmsService.getRollInfo(jo), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/sendLevelInfo")
|
||||
@Log("MES传递LMS定级数据")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> sendLevelInfo(@RequestBody JSONObject jo) {
|
||||
return new ResponseEntity<>(mesToLmsService.sendLevelInfo(jo), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/containerNeedDown")
|
||||
@Log("子卷拼接完成是否下轴")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> containerNeedDown(@RequestBody JSONObject jo) {
|
||||
return new ResponseEntity<>(mesToLmsService.containerNeedDown(jo), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/sendSubInfo")
|
||||
@Log("子卷下料信息MES传递给LMS")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> sendSubInfo(@RequestBody JSONObject jo) {
|
||||
return new ResponseEntity<>(mesToLmsService.sendSubInfo(jo), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/changeSect")
|
||||
@Log("MES传递给LMS入线边库或者入成品库、撤销入线边库、人工改变入线边还是包装")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> changeSect(@RequestBody JSONObject jo) {
|
||||
return new ResponseEntity<>(mesToLmsService.changeSect(jo), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/getWasteFoilWeight")
|
||||
@Log("分切子卷获取LMS,AGV废箔称重重量")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> getWasteFoilWeight(@RequestBody JSONObject jo) {
|
||||
return new ResponseEntity<>(mesToLmsService.getWasteFoilWeight(jo), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/WasteFoilSuccess")
|
||||
@Log("分切子卷获取LMS,AGV废箔称重重量")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> WasteFoilSuccess(@RequestBody JSONObject jo) {
|
||||
return new ResponseEntity<>(mesToLmsService.WasteFoilSuccess(jo), HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,6 +70,22 @@ public interface MesToLmsService {
|
||||
*/
|
||||
JSONObject sendTargetHouse(JSONObject param);
|
||||
|
||||
JSONObject momSendSplitMfgOrderBOM(JSONObject param);
|
||||
|
||||
JSONObject getRollInfo(JSONObject param);
|
||||
|
||||
JSONObject sendLevelInfo(JSONObject param);
|
||||
|
||||
JSONObject containerNeedDown(JSONObject param);
|
||||
|
||||
JSONObject sendSubInfo(JSONObject param);
|
||||
|
||||
JSONObject changeSect(JSONObject param);
|
||||
|
||||
JSONObject getWasteFoilWeight(JSONObject param);
|
||||
|
||||
JSONObject WasteFoilSuccess(JSONObject param);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -7,11 +7,14 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService;
|
||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
|
||||
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
||||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||
import org.nl.b_lms.sch.tasks.ProcessTask;
|
||||
@@ -33,6 +36,7 @@ import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
import org.nl.wms.sch.tasks.CoolCutTask;
|
||||
import org.nl.wms.st.inbill.service.CheckOutBillService;
|
||||
import org.nl.wms.st.instor.service.impl.ProductScrapServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -53,6 +57,9 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
|
||||
private final InService inService;
|
||||
|
||||
@Autowired
|
||||
private IPdmBiSlittingproductionplanService slittingproductionplanService;
|
||||
|
||||
@Resource
|
||||
private DjqTask djqTask;
|
||||
@Resource
|
||||
@@ -183,15 +190,26 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
JSONArray arr = new JSONArray();
|
||||
String ContainerName = param.getString("ContainerName");
|
||||
String ResourceName = param.getString("ResourceName");
|
||||
String Type = param.getString("Type");
|
||||
JSONObject raw_jo = new JSONObject();
|
||||
if (Type.equals("TR")) {
|
||||
raw_jo = WQLObject.getWQLObject("PDM_BI_SurProcessOrder").query("container_name ='" + ContainerName + "' AND resource_name = '" + ResourceName + "'").uniqueResult(0);
|
||||
} else {
|
||||
raw_jo = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder").query("container_name ='" + ContainerName + "' AND resource_name = '" + ResourceName + "'").uniqueResult(0);
|
||||
}
|
||||
//查询该母卷号、设备号对应的生箔工单
|
||||
JSONObject raw_jo = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder").query("container_name ='" + ContainerName + "' AND resource_name = '" + ResourceName + "'").uniqueResult(0);
|
||||
|
||||
if (ObjectUtil.isEmpty(raw_jo)) {
|
||||
throw new BadRequestException("未查询到对应的生箔工单!");
|
||||
throw new BadRequestException("未查询到对应的工单!");
|
||||
}
|
||||
|
||||
//查询对应的设备是否启用
|
||||
JSONObject jsonPoint = WQLObject.getWQLObject("ST_IVT_SbPointIvt").query("ext_code ='" + ResourceName + "'").uniqueResult(0);
|
||||
JSONObject jsonPoint = new JSONObject();
|
||||
if (Type.equals("TR")) {
|
||||
jsonPoint = WQLObject.getWQLObject("ST_IVT_StPointIvt").query("ext_code ='" + ResourceName + "'").uniqueResult(0);
|
||||
} else {
|
||||
jsonPoint = WQLObject.getWQLObject("ST_IVT_SbPointIvt").query("ext_code ='" + ResourceName + "'").uniqueResult(0);
|
||||
}
|
||||
if (ObjectUtil.isEmpty(jsonPoint)) {
|
||||
jsonPoint = new JSONObject();
|
||||
}
|
||||
@@ -398,7 +416,8 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
} else {
|
||||
log.info("当前AGV启用参数为否");
|
||||
//判断当前位置是否在冷却区如果不在则提醒人工报错
|
||||
JSONObject container_jo = coolIvtTab.query("container_name = '" + containerName + "' and full_point_status = '02' and cool_ivt_status <> '04' AND point_type = '1'").uniqueResult(0); if (ObjectUtil.isEmpty(container_jo)) {
|
||||
JSONObject container_jo = coolIvtTab.query("container_name = '" + containerName + "' and full_point_status = '02' and cool_ivt_status <> '04' AND point_type = '1'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(container_jo)) {
|
||||
throw new BadRequestException("该母卷已经被烘烤或现在还未绑定在冷却区上,且AGV未启用!请使用人工烘烤功能【出箱】将母卷绑定到冷却区!");
|
||||
}
|
||||
container_jo.put("cool_ivt_status", "04");
|
||||
@@ -1503,11 +1522,14 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
String up_scroll = device_jo.getString("up_scroll");
|
||||
//查询母卷所在点位
|
||||
JSONObject jsonCoolIvt = coolIvtTab.query("container_name = '" + containerName + "' and full_point_status = '02' and cool_ivt_status <> '04'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonCoolIvt)) {
|
||||
throw new BadRequestException("未查询到母卷【" + containerName + "】所在的半成品暂存点!");
|
||||
}
|
||||
JSONObject form = new JSONObject();
|
||||
if (StrUtil.isEmpty(up_scroll)) {
|
||||
//取满放满
|
||||
form.put("point_code1", jsonCoolIvt.getString("full_point_code"));
|
||||
form.put("point_code2", device_jo.getString("up_point_code")+"_M");
|
||||
form.put("point_code2", device_jo.getString("up_point_code") + "_M");
|
||||
form.put("task_type", "010702");
|
||||
form.put("material_code", containerName);
|
||||
form.put("vehicle_code", jsonCoolIvt.getString("full_vehicle_code"));
|
||||
@@ -1515,8 +1537,8 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
} else {
|
||||
//取满取空放满放空
|
||||
form.put("point_code1", jsonCoolIvt.getString("full_point_code"));
|
||||
form.put("point_code2", device_jo.getString("up_point_code")+"_M");
|
||||
form.put("point_code3", device_jo.getString("up_point_code")+"_K");
|
||||
form.put("point_code2", device_jo.getString("up_point_code") + "_M");
|
||||
form.put("point_code3", device_jo.getString("up_point_code") + "_K");
|
||||
//判断对应空轴点位是否为空,为空用当前点位,不为空查询其他点位
|
||||
if (jsonCoolIvt.getString("empty_point_status").equals("01")) {
|
||||
form.put("point_code4", jsonCoolIvt.getString("empty_point_code"));
|
||||
@@ -1542,7 +1564,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
map.put("flag", "1");
|
||||
map.put("product_area", device_jo.getString("product_area"));
|
||||
JSONObject jsonIvt = WQL.getWO("PDA_RAWFOIL_01").addParamMap(map).process().uniqueResult(0);
|
||||
form.put("point_code1", device_jo.getString("up_point_code")+"_M");
|
||||
form.put("point_code1", device_jo.getString("up_point_code") + "_M");
|
||||
//寻找可用的冷却区满轴点位
|
||||
form.put("point_code2", jsonIvt.getString("full_point_code"));
|
||||
form.put("task_type", "010704");
|
||||
@@ -1710,5 +1732,104 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
return resultParam;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject momSendSplitMfgOrderBOM(JSONObject param) {
|
||||
log.info("momSendSplitMfgOrderBOM输入参数为:-------------------" + param.toString());
|
||||
|
||||
JSONObject resultParam = new JSONObject();
|
||||
resultParam.put("RTYPE", "S");
|
||||
resultParam.put("Code", "0");
|
||||
resultParam.put("RTMSG", "操作成功!");
|
||||
|
||||
return resultParam;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject getRollInfo(JSONObject param) {
|
||||
String ContainerName = param.getString("ContainerName");
|
||||
PdmBiSlittingproductionplan one = slittingproductionplanService.getOne(new LambdaQueryWrapper<PdmBiSlittingproductionplan>().eq(PdmBiSlittingproductionplan::getContainer_name, ContainerName));
|
||||
if (ObjectUtil.isEmpty(one)){
|
||||
throw new BadRequestException("未查询到子卷号为["+ContainerName+"]的分切计划!");
|
||||
}
|
||||
JSONObject resultParam = new JSONObject();
|
||||
resultParam.put("ContainerName",ContainerName);
|
||||
resultParam.put("ResourceName","");
|
||||
resultParam.put("Weight",one.getWeight());
|
||||
resultParam.put("WeighDate",DateUtil.now());
|
||||
resultParam.put("Type",one.getPaper_tube_or_FRP());
|
||||
resultParam.put("CarrierWeight",one.getPaper_weight());
|
||||
return resultParam;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject sendLevelInfo(JSONObject param) {
|
||||
log.info("sendLevelInfo输入参数为:-------------------" + param.toString());
|
||||
|
||||
JSONObject resultParam = new JSONObject();
|
||||
resultParam.put("RTYPE", "S");
|
||||
resultParam.put("Code", "0");
|
||||
resultParam.put("RTMSG", "操作成功!");
|
||||
|
||||
return resultParam;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject containerNeedDown(JSONObject param) {
|
||||
log.info("containerNeedDown输入参数为:-------------------" + param.toString());
|
||||
|
||||
JSONObject resultParam = new JSONObject();
|
||||
resultParam.put("RTYPE", "S");
|
||||
resultParam.put("Code", "0");
|
||||
resultParam.put("RTMSG", "操作成功!");
|
||||
|
||||
return resultParam;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject sendSubInfo(JSONObject param) {
|
||||
log.info("sendSubInfo输入参数为:-------------------" + param.toString());
|
||||
|
||||
JSONObject resultParam = new JSONObject();
|
||||
resultParam.put("RTYPE", "S");
|
||||
resultParam.put("Code", "0");
|
||||
resultParam.put("RTMSG", "操作成功!");
|
||||
|
||||
return resultParam;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject changeSect(JSONObject param) {
|
||||
log.info("changeSect输入参数为:-------------------" + param.toString());
|
||||
|
||||
JSONObject resultParam = new JSONObject();
|
||||
resultParam.put("RTYPE", "S");
|
||||
resultParam.put("Code", "0");
|
||||
resultParam.put("RTMSG", "操作成功!");
|
||||
|
||||
return resultParam;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject getWasteFoilWeight(JSONObject param) {
|
||||
log.info("getWasteFoilWeight输入参数为:-------------------" + param.toString());
|
||||
|
||||
JSONObject resultParam = new JSONObject();
|
||||
resultParam.put("RTYPE", "S");
|
||||
resultParam.put("Code", "0");
|
||||
resultParam.put("RTMSG", "操作成功!");
|
||||
|
||||
return resultParam;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject WasteFoilSuccess(JSONObject param) {
|
||||
log.info("WasteFoilSuccess输入参数为:-------------------" + param.toString());
|
||||
|
||||
JSONObject resultParam = new JSONObject();
|
||||
resultParam.put("RTYPE", "S");
|
||||
resultParam.put("Code", "0");
|
||||
resultParam.put("RTMSG", "操作成功!");
|
||||
|
||||
return resultParam;
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -50,7 +50,7 @@ public class AcsUtil {
|
||||
throw new BadRequestException("未查询到区域对应的acs地址!");
|
||||
}
|
||||
//String url =acs_url + api;
|
||||
String url ="10.1.3.96:8011/"+ api;
|
||||
String url =acs_url+ api;
|
||||
try {
|
||||
JSONArray rows = new JSONArray();
|
||||
rows.add(jo);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
server:
|
||||
port: 8010
|
||||
port: 9999
|
||||
#配置数据源
|
||||
spring:
|
||||
datasource:
|
||||
@@ -7,10 +7,9 @@ spring:
|
||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:10.1.3.91}:${DB_PORT:3306}/${DB_NAME:lms_test2}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lzhl_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
# username: ${DB_USER:root}
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lzhl_two_test}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
username: ${DB_USER:root}
|
||||
password: ${DB_PWD:root}
|
||||
password: ${DB_PWD:12356}
|
||||
# 初始连接数
|
||||
initial-size: 5
|
||||
# 最小连接数
|
||||
@@ -161,9 +160,6 @@ sa-token:
|
||||
jwt-secret-key: opsjajisdnnca0sdkksdfaaasdfwwq
|
||||
# token 前缀
|
||||
token-prefix: Bearer
|
||||
cookie:
|
||||
# 配置 Cookie 作用域:根据二级域名实现sso登入如lms.sso.com;acs.sso.com
|
||||
domain:
|
||||
|
||||
loki:
|
||||
url: http://localhost:3100/loki/api/v1
|
||||
|
||||
Reference in New Issue
Block a user