add:增加木箱回库,装箱区至管制功能;
opt:木箱移库优先级设置及下发延迟; add:增加页面调用MES接口功能
This commit is contained in:
@@ -179,6 +179,18 @@ public class PdmBiSubpackagerelationController {
|
|||||||
return new ResponseEntity<>(TableDataInfo.build(),HttpStatus.OK);
|
return new ResponseEntity<>(TableDataInfo.build(),HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/boxReturn")
|
||||||
|
@SaIgnore
|
||||||
|
@Log("装箱位木箱回库")
|
||||||
|
//@SaCheckPermission("@el.check(updateEntityList)")
|
||||||
|
public ResponseEntity<Object> boxReturn(@RequestBody JSONObject whereJson) {
|
||||||
|
RedissonUtils.lock(c->{
|
||||||
|
pdmBiSubpackagerelationService.boxReturn(whereJson);
|
||||||
|
},"zjInBound",0,this,"装箱送回在操作,稍后再试");
|
||||||
|
return new ResponseEntity<>(TableDataInfo.build(),HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@PostMapping("/transferBoxPackageToMes")
|
@PostMapping("/transferBoxPackageToMes")
|
||||||
@Log("传输子卷包装关系至LMS")
|
@Log("传输子卷包装关系至LMS")
|
||||||
|
|||||||
@@ -98,7 +98,7 @@
|
|||||||
FROM `pdm_bi_subpackagerelation` a
|
FROM `pdm_bi_subpackagerelation` a
|
||||||
LEFT JOIN bst_ivt_packageinfoivt b ON a.container_name = b.container_name
|
LEFT JOIN bst_ivt_packageinfoivt b ON a.container_name = b.container_name
|
||||||
LEFT JOIN pdm_bi_slittingproductionplan c ON a.container_name = c.container_name
|
LEFT JOIN pdm_bi_slittingproductionplan c ON a.container_name = c.container_name
|
||||||
WHERE b.point_status = '3'
|
WHERE b.point_status in ('3','6')
|
||||||
AND b.ivt_status = '3'
|
AND b.ivt_status = '3'
|
||||||
AND b.is_used = '1'
|
AND b.is_used = '1'
|
||||||
AND c.is_delete = '0'
|
AND c.is_delete = '0'
|
||||||
|
|||||||
@@ -71,6 +71,11 @@ public interface IpdmBiSubpackagerelationService extends IService<PdmBiSubpackag
|
|||||||
*/
|
*/
|
||||||
void zjInBoundConfirm(JSONObject whereJson);
|
void zjInBoundConfirm(JSONObject whereJson);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 木箱回库
|
||||||
|
* @param whereJson
|
||||||
|
*/
|
||||||
|
void boxReturn(JSONObject whereJson);
|
||||||
/**
|
/**
|
||||||
* 子卷装箱
|
* 子卷装箱
|
||||||
* @param whereJson
|
* @param whereJson
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ import org.nl.system.service.param.ISysParamService;
|
|||||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||||
import org.nl.wms.ext.mes.service.impl.LmsToMesServiceImpl;
|
import org.nl.wms.ext.mes.service.impl.LmsToMesServiceImpl;
|
||||||
import org.nl.wms.pda.mps.eum.RegionTypeEnum;
|
import org.nl.wms.pda.mps.eum.RegionTypeEnum;
|
||||||
|
import org.nl.wms.sch.AcsUtil;
|
||||||
import org.nl.wms.sch.manage.TaskStatusEnum;
|
import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||||
import org.redisson.api.RLock;
|
import org.redisson.api.RLock;
|
||||||
import org.redisson.api.RedissonClient;
|
import org.redisson.api.RedissonClient;
|
||||||
@@ -382,15 +383,6 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
|||||||
throw new BadRequestException("当前木箱"+subList.get(0).getQuanlity_in_box()+"要装箱的子卷"+split.length+"未装完");
|
throw new BadRequestException("当前木箱"+subList.get(0).getQuanlity_in_box()+"要装箱的子卷"+split.length+"未装完");
|
||||||
}
|
}
|
||||||
String boxSn = subList.get(0).getPackage_box_sn();
|
String boxSn = subList.get(0).getPackage_box_sn();
|
||||||
//子卷到装箱区
|
|
||||||
agvTransfer(containers, deviceCode, boxSn);
|
|
||||||
|
|
||||||
// 查询木箱对应的托盘号
|
|
||||||
JSONObject jsonVeExt = WQLObject.getWQLObject("md_pb_storagevehicleext").query("pcsn = '" + boxSn + "'")
|
|
||||||
.uniqueResult(0);
|
|
||||||
if (ObjectUtil.isEmpty(jsonVeExt)) {
|
|
||||||
throw new BadRequestException("此木箱没有绑定托盘号!"+boxSn);
|
|
||||||
}
|
|
||||||
//查询木箱所在货位
|
//查询木箱所在货位
|
||||||
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr");
|
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr");
|
||||||
JSONArray boxAttrs = attrTab.query("storagevehicle_code = '" + boxSn + "' and sect_id = '1748219897940414464'").getResultJSONArray(0);
|
JSONArray boxAttrs = attrTab.query("storagevehicle_code = '" + boxSn + "' and sect_id = '1748219897940414464'").getResultJSONArray(0);
|
||||||
@@ -398,15 +390,27 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
|||||||
throw new BadRequestException("当前木箱"+boxSn+"库存信息查询不到,请确认");
|
throw new BadRequestException("当前木箱"+boxSn+"库存信息查询不到,请确认");
|
||||||
}
|
}
|
||||||
JSONObject boxAttr = boxAttrs.getJSONObject(0);
|
JSONObject boxAttr = boxAttrs.getJSONObject(0);
|
||||||
|
List<SchBaseTask> hasTask = taskService.list(new QueryWrapper<SchBaseTask>()
|
||||||
int hasTask = taskService.count(new QueryWrapper<SchBaseTask>()
|
.select("point_code2")
|
||||||
.eq("is_delete", "0")
|
.eq("is_delete", "0")
|
||||||
.eq("point_code1", boxAttr.getString("struct_code"))
|
.eq("point_code1", boxAttr.getString("struct_code"))
|
||||||
.lt("task_status", TaskStatusEnum.FINISHED.getCode()));
|
.lt("task_status", TaskStatusEnum.FINISHED.getCode()));
|
||||||
if (hasTask>0){
|
if (!CollectionUtils.isEmpty(hasTask)){
|
||||||
|
boolean zxq = hasTask.stream().map(a -> a.getPoint_code2()).filter(a -> a.contains("ZXQ")).findAny().isPresent();
|
||||||
|
if (zxq){
|
||||||
|
throw new BadRequestException("当前子卷正在执行装箱入库操作");
|
||||||
|
}else{
|
||||||
throw new BadRequestException("当前空木箱"+boxSn+"存在正在执行的任务,稍后再操作");
|
throw new BadRequestException("当前空木箱"+boxSn+"存在正在执行的任务,稍后再操作");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
// 查询木箱对应的托盘号
|
||||||
|
JSONObject jsonVeExt = WQLObject.getWQLObject("md_pb_storagevehicleext").query("pcsn = '" + boxSn + "'")
|
||||||
|
.uniqueResult(0);
|
||||||
|
if (ObjectUtil.isEmpty(jsonVeExt)) {
|
||||||
|
throw new BadRequestException("此木箱没有绑定托盘号!"+boxSn);
|
||||||
|
}
|
||||||
|
//子卷到装箱区
|
||||||
|
agvTransfer(containers, deviceCode, boxSn);
|
||||||
String task_group_id = null;
|
String task_group_id = null;
|
||||||
if (boxAttr.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("深"))) {
|
if (boxAttr.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("深"))) {
|
||||||
JSONObject 浅Attr = attrTab
|
JSONObject 浅Attr = attrTab
|
||||||
@@ -721,16 +725,16 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
|||||||
//待检区点位
|
//待检区点位
|
||||||
List<BstIvtPackageinfoivt> djqPointList = packageinfoivtService
|
List<BstIvtPackageinfoivt> djqPointList = packageinfoivtService
|
||||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||||
.eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("待检区"))
|
|
||||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||||
.eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("合格品"))
|
.in(BstIvtPackageinfoivt::getContainer_name,containerNameList));
|
||||||
.orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
if (CollectionUtils.isEmpty(djqPointList)){
|
||||||
List<BstIvtPackageinfoivt> djqPoints = djqPointList.stream()
|
throw new BadRequestException(containerNameList+"子卷信息不存在");
|
||||||
.filter(r -> containerNameList.contains(r.getContainer_name()))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
if (CollectionUtils.isEmpty(djqPoints) || djqPoints.size()!=containerNameList.size()){
|
|
||||||
throw new BadRequestException(containerNameList+"该子卷未设置成合格品");
|
|
||||||
}
|
}
|
||||||
|
boolean hasNo = djqPointList.stream().anyMatch(a -> !a.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("合格品")));
|
||||||
|
if (hasNo){
|
||||||
|
throw new BadRequestException(containerNameList+"子卷未质检合格");
|
||||||
|
}
|
||||||
|
List<BstIvtPackageinfoivt> djqPoints = djqPointList.stream().filter(a -> a.getPoint_status().equals(PackageInfoIvtEnum.POINT_STATUS.code("待检区"))).collect(Collectors.toList());
|
||||||
//任务组id
|
//任务组id
|
||||||
String groupId = deviceCode.substring(deviceCode.indexOf("_") + 1, deviceCode.indexOf("_", deviceCode.indexOf("_") + 1));
|
String groupId = deviceCode.substring(deviceCode.indexOf("_") + 1, deviceCode.indexOf("_", deviceCode.indexOf("_") + 1));
|
||||||
String now = DateUtil.now();
|
String now = DateUtil.now();
|
||||||
@@ -790,5 +794,42 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
|||||||
public List<JSONObject> getStructInfoBySZLS() {
|
public List<JSONObject> getStructInfoBySZLS() {
|
||||||
return this.baseMapper.getStructInfoBySZLS();
|
return this.baseMapper.getStructInfoBySZLS();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void boxReturn(JSONObject whereJson) {
|
||||||
|
String deviceCode = whereJson.getString("device_code");
|
||||||
|
String box = whereJson.getString("box");
|
||||||
|
if (StringUtils.isEmpty(deviceCode)||StringUtils.isEmpty(box)){
|
||||||
|
throw new BadRequestException("参数不全");
|
||||||
|
}
|
||||||
|
PdmBiSubpackagerelation one = this.getOne(new QueryWrapper<PdmBiSubpackagerelation>()
|
||||||
|
.eq("container_name", whereJson.getString("container_name")));
|
||||||
|
if (one!=null){
|
||||||
|
throw new BadRequestException("包装关系存在,请先在MES和LMS解绑包装关系");
|
||||||
|
}
|
||||||
|
BstIvtBoxinfo bstIvtBoxinfo = bstIvtBoxinfoMapper.selectOne(new LambdaQueryWrapper<BstIvtBoxinfo>()
|
||||||
|
.eq(BstIvtBoxinfo::getBox_no, box));
|
||||||
|
if (bstIvtBoxinfo == null) {
|
||||||
|
throw new BadRequestException("请检查木箱信息不存在");
|
||||||
|
}
|
||||||
|
JSONObject acsParam = new JSONObject();
|
||||||
|
String height = "1";
|
||||||
|
String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue();
|
||||||
|
String heightLevel2 = iSysParamService.findByCode("height_level_2").getValue();
|
||||||
|
String box_high = bstIvtBoxinfo.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";
|
||||||
|
}
|
||||||
|
acsParam.put("device_code",deviceCode);
|
||||||
|
acsParam.put("sub_volume","BR"+box);
|
||||||
|
acsParam.put("height_level",height);
|
||||||
|
acsParam.put("product_area","BLK");
|
||||||
|
AcsUtil.notifyAcsObject("api/wms/returnBox", acsParam);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1017,7 +1017,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
PdmBiSubpackagerelation one = subpackagerelationService.getOne(new QueryWrapper<PdmBiSubpackagerelation>()
|
PdmBiSubpackagerelation one = subpackagerelationService.getOne(new QueryWrapper<PdmBiSubpackagerelation>()
|
||||||
.eq("container_name", whereJson.getString("container_name")));
|
.eq("container_name", whereJson.getString("container_name")));
|
||||||
if (one!=null){
|
if (one!=null){
|
||||||
throw new BadRequestException("包装关系存在,请先解绑包装关系");
|
throw new BadRequestException("包装关系存在,请先解绑MES及LMS包装关系");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dtoList = bstIvtPackageinfoivtMapper.selectList(new LambdaQueryWrapper<BstIvtPackageinfoivt>().eq(BstIvtPackageinfoivt::getContainer_name, whereJson.getString("container_name")));
|
dtoList = bstIvtPackageinfoivtMapper.selectList(new LambdaQueryWrapper<BstIvtPackageinfoivt>().eq(BstIvtPackageinfoivt::getContainer_name, whereJson.getString("container_name")));
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ public class TwoMoveBoxTask extends AbstractAcsTask {
|
|||||||
json.put("create_id", SecurityUtils.getCurrentUserId());
|
json.put("create_id", SecurityUtils.getCurrentUserId());
|
||||||
json.put("create_name", SecurityUtils.getCurrentUsername());
|
json.put("create_name", SecurityUtils.getCurrentUsername());
|
||||||
json.put("create_time", DateUtil.now());
|
json.put("create_time", DateUtil.now());
|
||||||
json.put("priority", "1");
|
json.put("priority", "0");
|
||||||
json.put("acs_task_type", "7");
|
json.put("acs_task_type", "7");
|
||||||
|
|
||||||
WQLObject.getWQLObject("SCH_BASE_Task").insert(json);
|
WQLObject.getWQLObject("SCH_BASE_Task").insert(json);
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import org.redisson.api.RLock;
|
|||||||
import org.redisson.api.RedissonClient;
|
import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -71,9 +72,13 @@ public class AutoSendDjqToGzq extends Prun{
|
|||||||
if (tryLock) {
|
if (tryLock) {
|
||||||
//待检区有管制品且过滤未完成任务
|
//待检区有管制品且过滤未完成任务
|
||||||
List<BstIvtPackageinfoivt> djqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.IVT_STATUS.code("管制品"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), PackageInfoIvtEnum.TASK_TYPE.code("待检区->管制区"));
|
List<BstIvtPackageinfoivt> djqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.IVT_STATUS.code("管制品"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), PackageInfoIvtEnum.TASK_TYPE.code("待检区->管制区"));
|
||||||
if (ObjectUtils.isEmpty(djqPackageinfoivtList)) {
|
List<BstIvtPackageinfoivt> djqPackageinfoivtList2 = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("装箱区"), PackageInfoIvtEnum.IVT_STATUS.code("管制品"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), PackageInfoIvtEnum.TASK_TYPE.code("待检区->管制区"));
|
||||||
|
if (CollectionUtils.isEmpty(djqPackageinfoivtList)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (!CollectionUtils.isEmpty(djqPackageinfoivtList2)){
|
||||||
|
djqPackageinfoivtList.addAll(djqPackageinfoivtList2);
|
||||||
|
}
|
||||||
//管制区有空位且过滤未完成任务
|
//管制区有空位且过滤未完成任务
|
||||||
List<BstIvtPackageinfoivt> gzqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("管制区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), PackageInfoIvtEnum.TASK_TYPE.code("待检区->管制区"));
|
List<BstIvtPackageinfoivt> gzqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("管制区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), PackageInfoIvtEnum.TASK_TYPE.code("待检区->管制区"));
|
||||||
//todo 新增NG卷放置临时管制区135136,只取空不补空
|
//todo 新增NG卷放置临时管制区135136,只取空不补空
|
||||||
|
|||||||
@@ -720,7 +720,9 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
|
|||||||
TwoMoveBoxTask taskBan = new TwoMoveBoxTask();
|
TwoMoveBoxTask taskBan = new TwoMoveBoxTask();
|
||||||
taskBan.createTask(jsonTaskParam);
|
taskBan.createTask(jsonTaskParam);
|
||||||
taskBan.immediateNotifyAcs(null);
|
taskBan.immediateNotifyAcs(null);
|
||||||
|
try {
|
||||||
|
Thread.sleep(500);
|
||||||
|
}catch (Exception ex){}
|
||||||
return jsonTaskParam.getString("task_group_id");
|
return jsonTaskParam.getString("task_group_id");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2046,6 +2046,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
if (ObjectUtil.isEmpty(whereJson.getString("material_barcode"))) {
|
if (ObjectUtil.isEmpty(whereJson.getString("material_barcode"))) {
|
||||||
throw new BadRequestException("子卷号不能为空!");
|
throw new BadRequestException("子卷号不能为空!");
|
||||||
}
|
}
|
||||||
|
// 5-木箱入库.木箱回库
|
||||||
|
String materialBarcode = whereJson.getString("material_barcode");
|
||||||
|
if (materialBarcode.contains("BRMX")){
|
||||||
|
String brBox = Arrays.asList(materialBarcode.split(",")).get(0);
|
||||||
|
whereJson.put("box_no", brBox.replace("BR", ""));
|
||||||
|
inBoxManageService.inBox(whereJson);
|
||||||
|
}else {
|
||||||
if (whereJson.getIntValue("weight") <= 0) {
|
if (whereJson.getIntValue("weight") <= 0) {
|
||||||
throw new BadRequestException("上报的重量不能为0!");
|
throw new BadRequestException("上报的重量不能为0!");
|
||||||
}
|
}
|
||||||
@@ -2057,7 +2064,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
Integer box_weight = jsonObject.getIntValue("box_weight");
|
Integer box_weight = jsonObject.getIntValue("box_weight");
|
||||||
Integer current_weight = jsonObject.getIntValue("current_weight");
|
Integer current_weight = jsonObject.getIntValue("current_weight");
|
||||||
List<String> containers = jsonObject.getObject("containers", List.class);
|
List<String> containers = jsonObject.getObject("containers", List.class);
|
||||||
|
|
||||||
int count = taskService.count(new QueryWrapper<SchBaseTask>()
|
int count = taskService.count(new QueryWrapper<SchBaseTask>()
|
||||||
.eq("point_code1", whereJson.getString("device_code"))
|
.eq("point_code1", whereJson.getString("device_code"))
|
||||||
.eq("vehicle_code2", whereJson.getString("vehicle_code"))
|
.eq("vehicle_code2", whereJson.getString("vehicle_code"))
|
||||||
@@ -2123,6 +2129,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
bean.immediateNotifyAcs(null);
|
bean.immediateNotifyAcs(null);
|
||||||
PdmProductSpecServiceImpl.doRecord(SpecEnum.TYCK,null,Boolean.FALSE,errorMsg.toString(),containers);
|
PdmProductSpecServiceImpl.doRecord(SpecEnum.TYCK,null,Boolean.FALSE,errorMsg.toString(),containers);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("空盘入库"))) {
|
} else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("空盘入库"))) {
|
||||||
// 2-空盘入库
|
// 2-空盘入库
|
||||||
@@ -2545,11 +2552,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
return param;
|
return param;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
String material_barcode = "123123-1";
|
|
||||||
String split = material_barcode.split("-")[0];
|
|
||||||
System.out.println(split);
|
|
||||||
}
|
|
||||||
@Override
|
@Override
|
||||||
public JSONObject getBoxInfo(JSONObject param) {
|
public JSONObject getBoxInfo(JSONObject param) {
|
||||||
String material_barcode = param.getString("material_barcode");
|
String material_barcode = param.getString("material_barcode");
|
||||||
|
|||||||
@@ -963,26 +963,25 @@ public class LmsToMesServiceImpl implements LmsToMesService {
|
|||||||
result = JSONObject.parseObject(resultMsg);
|
result = JSONObject.parseObject(resultMsg);
|
||||||
IpdmBiSubpackagerelationService subpackagerelationService = SpringContextHolder.getBean(IpdmBiSubpackagerelationService.class);
|
IpdmBiSubpackagerelationService subpackagerelationService = SpringContextHolder.getBean(IpdmBiSubpackagerelationService.class);
|
||||||
JSONArray array = result.getJSONArray("RTDAT");
|
JSONArray array = result.getJSONArray("RTDAT");
|
||||||
|
for (int i = 0; i < rows.size(); i++) {
|
||||||
|
JSONObject item = rows.getJSONObject(i);
|
||||||
|
String containerName = item.getString("ContainerName");
|
||||||
|
list.add(containerName);
|
||||||
|
}
|
||||||
if (ObjectUtil.isNotEmpty(array)) {
|
if (ObjectUtil.isNotEmpty(array)) {
|
||||||
for (int i = 0; i < array.size(); i++) {
|
for (int i = 0; i < array.size(); i++) {
|
||||||
JSONObject row = array.getJSONObject(i);
|
JSONObject row = array.getJSONObject(i);
|
||||||
String ContainerName = row.getString("ContainerName");
|
String ContainerName = row.getString("ContainerName");
|
||||||
list.add(ContainerName);
|
|
||||||
String AttributeValue = row.getString("AttributeValue");
|
String AttributeValue = row.getString("AttributeValue");
|
||||||
subpackagerelationService.update(new LambdaUpdateWrapper<PdmBiSubpackagerelation>().set(PdmBiSubpackagerelation::getNet_weight, AttributeValue).eq(PdmBiSubpackagerelation::getContainer_name, ContainerName));
|
subpackagerelationService.update(new LambdaUpdateWrapper<PdmBiSubpackagerelation>().set(PdmBiSubpackagerelation::getNet_weight, AttributeValue).eq(PdmBiSubpackagerelation::getContainer_name, ContainerName));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
log.info("momBoxPackageSubmit接口输出参数为:-------------------" + result.toString());
|
log.info("momBoxPackageSubmit接口输出参数为:-------------------" + result.toString());
|
||||||
|
|
||||||
|
|
||||||
String RTYPE = result.getString("RTYPE");
|
String RTYPE = result.getString("RTYPE");
|
||||||
if ("E".equals(RTYPE)) {
|
if ("E".equals(RTYPE)) {
|
||||||
PdmProductSpecServiceImpl.doRecord(SpecEnum.BZ_MES,param,Boolean.FALSE,result.getString("RTMSG"),list);
|
|
||||||
throw new BadRequestException(result.getString("RTMSG"));
|
throw new BadRequestException(result.getString("RTMSG"));
|
||||||
}
|
}
|
||||||
PdmProductSpecServiceImpl.doRecord(SpecEnum.BZ_MES,param,Boolean.TRUE,null,list);
|
PdmProductSpecServiceImpl.doRecord(SpecEnum.BZ_MES,param,Boolean.TRUE,null,list);
|
||||||
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
PdmProductSpecServiceImpl.doRecord(SpecEnum.BZ_MES,param,Boolean.FALSE,e.getMessage(),list);
|
PdmProductSpecServiceImpl.doRecord(SpecEnum.BZ_MES,param,Boolean.FALSE,e.getMessage(),list);
|
||||||
throw new BadRequestException("MES提示错误:" + e.getMessage());
|
throw new BadRequestException("MES提示错误:" + e.getMessage());
|
||||||
|
|||||||
@@ -156,4 +156,37 @@ public class AcsUtil {
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
public static JSONObject notifyAcsObject(String api, JSONObject param) {
|
||||||
|
//判断是否连接ACS系统
|
||||||
|
String isConnect = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_connect_acs").getValue();
|
||||||
|
JSONObject result = new JSONObject();
|
||||||
|
if (StrUtil.equals("0", isConnect)) {
|
||||||
|
result.put("status", HttpStatus.OK.value());
|
||||||
|
result.put("message", "下发成功,但未连接ACS!");
|
||||||
|
result.put("data", new JSONObject());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
String product_area = param.getString("product_area");
|
||||||
|
String acs_url = URLEnum.find(product_area);
|
||||||
|
if (StrUtil.isEmpty(acs_url)) {
|
||||||
|
log.info(product_area);
|
||||||
|
throw new BadRequestException("未查询到区域对应的acs地址!");
|
||||||
|
}
|
||||||
|
String url = acs_url + api;
|
||||||
|
try {
|
||||||
|
String resultMsg = HttpRequest.post(url)
|
||||||
|
.body(JSONObject.toJSONString(param))
|
||||||
|
.execute().body();
|
||||||
|
result = JSONObject.parseObject(resultMsg);
|
||||||
|
log.info("ACS相应参数----------------------------------------+" + api + ",---" + result.toString());
|
||||||
|
} catch (Exception e) {
|
||||||
|
result.put("status", HttpStatus.BAD_REQUEST);
|
||||||
|
result.put("message", "网络不通,操作失败!");
|
||||||
|
result.put("data", new JSONObject());
|
||||||
|
}
|
||||||
|
if (!StrUtil.equals(result.getString("status"), "200")) {
|
||||||
|
throw new BadRequestException(result.getString("message"));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -798,14 +798,14 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
async syncMes(row) {
|
async syncMes(row) {
|
||||||
const url = 'http://10.1.3.16:8081/'+row.url
|
const url = 'http://10.1.3.36:8081/'+row.url
|
||||||
const response = await fetch(url, {
|
const response = await fetch(url, {
|
||||||
method: 'POST', // *GET, POST, PUT, DELETE, etc.
|
method: 'POST', // *GET, POST, PUT, DELETE, etc.
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
// 'Content-Type': 'application/x-www-form-urlencoded',
|
// 'Content-Type': 'application/x-www-form-urlencoded',
|
||||||
},
|
},
|
||||||
body: JSON.stringify(row.param) // body 数据类型必须与“Content-Type”头匹配
|
body: row.param // body 数据类型必须与“Content-Type”头匹配
|
||||||
});
|
});
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
window.alert(JSON.stringify(data))
|
window.alert(JSON.stringify(data))
|
||||||
|
|||||||
Reference in New Issue
Block a user