10 changed files with 113 additions and 345 deletions
@ -1,325 +0,0 @@ |
|||
package org.nl.init; |
|||
|
|||
import com.alibaba.fastjson.JSONArray; |
|||
import com.alibaba.fastjson.JSONObject; |
|||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.apache.commons.collections4.CollectionUtils; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.junit.jupiter.api.DisplayName; |
|||
import org.junit.jupiter.api.Test; |
|||
import org.junit.jupiter.api.extension.ExtendWith; |
|||
import org.nl.b_lms.bst.ivt.shafttubeivt.service.dao.BstIvtShafttubeivt; |
|||
import org.nl.b_lms.bst.ivt.shafttubeivt.service.dao.mapper.BstIvtShafttubeivtMapper; |
|||
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.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; |
|||
import org.nl.b_lms.pdm.subpackagerelation.dao.mapper.PdmBiSubpackagerelationMapper; |
|||
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; |
|||
import org.nl.b_lms.sch.point.dao.mapper.SchBasePointMapper; |
|||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; |
|||
import org.nl.b_lms.sch.tasks.first_floor_area.*; |
|||
import org.nl.b_lms.sch.tasks.slitter.service.impl.SlitterServiceImpl; |
|||
import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil; |
|||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.OutBoxManageService; |
|||
import org.nl.common.enums.ContainerLevelEnum; |
|||
import org.nl.common.enums.PackageInfoIvtEnum; |
|||
import org.nl.modules.common.exception.BadRequestException; |
|||
import org.nl.system.service.param.ISysParamService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.boot.test.context.SpringBootTest; |
|||
import org.springframework.test.context.junit.jupiter.SpringExtension; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.util.Arrays; |
|||
import java.util.List; |
|||
import java.util.stream.Collectors; |
|||
import java.util.stream.Stream; |
|||
|
|||
@Slf4j |
|||
@ExtendWith(SpringExtension.class) |
|||
@DisplayName("event test") |
|||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) |
|||
public class EventTest { |
|||
|
|||
@Resource |
|||
private ZxqTask zxqTask; |
|||
@Resource |
|||
private ZxDjwTask zxDjwTask; |
|||
|
|||
@Resource |
|||
private ISysParamService iSysParamService; |
|||
|
|||
@Resource |
|||
private DjqTask djqTask; |
|||
@Resource |
|||
private GzqTask gzqTask; |
|||
|
|||
@Resource |
|||
private DjqToKzjhcwTask djqToKzjhcwTask; |
|||
|
|||
@Resource |
|||
private OutBoxManageService outBoxManageService; |
|||
|
|||
@Resource |
|||
private IbstIvtPackageinfoivtService packageinfoivtService; |
|||
|
|||
@Resource |
|||
private PdmBiSubpackagerelationMapper pdmBiSubpackagerelationMapper; |
|||
@Autowired |
|||
private BstIvtShafttubeivtMapper bstIvtShafttubeivtMapper; |
|||
@Autowired |
|||
private SchBasePointMapper schBasePointMapper; |
|||
@Autowired |
|||
private IPdmBiSlittingproductionplanService slittingproductionplanService; |
|||
@Test |
|||
public void sss() { |
|||
System.out.println(schBasePointMapper.queryKZPoint()); |
|||
} |
|||
|
|||
@Test |
|||
public void getWeight() { |
|||
List<PdmBiSlittingproductionplan> plans = slittingproductionplanService.getByQzzNos(Arrays.asList("B203-4")); |
|||
String weights = ""; |
|||
SlitterTaskUtil.setPaperWeightStr(weights, plans); |
|||
slittingproductionplanService.updateBatchById(plans); |
|||
System.out.println(weights); |
|||
} |
|||
|
|||
@Test |
|||
public void testValidate() { |
|||
// 示例数据
|
|||
JSONArray jsonArray = JSONArray.parseArray( |
|||
"[{\"container_name\":\"A\", \"site\":\"1\"},{\"container_name\":\"B\", \"site\":\"2\"}]" |
|||
); |
|||
|
|||
PdmBiSlittingproductionplan p1 = new PdmBiSlittingproductionplan(); |
|||
PdmBiSlittingproductionplan p2 = new PdmBiSlittingproductionplan(); |
|||
p1.setContainer_name("A"); |
|||
p1.setUp_or_down("1"); |
|||
p2.setContainer_name("B"); |
|||
p2.setUp_or_down("2"); |
|||
List<PdmBiSlittingproductionplan> plans = Arrays.asList(p1, p2); |
|||
|
|||
// 执行校验
|
|||
SlitterTaskUtil.validateConsistency(jsonArray, plans); |
|||
} |
|||
|
|||
|
|||
@Test |
|||
public void sl() { |
|||
List<BstIvtShafttubeivt> notTaskShaftCache = bstIvtShafttubeivtMapper.getNotTaskShaftCache("3", "4", "0"); |
|||
System.out.println(notTaskShaftCache); |
|||
} |
|||
|
|||
/** |
|||
* 装箱区->空载具缓存位补空 |
|||
*/ |
|||
@Test |
|||
public void zxToKzjHcw() { |
|||
//djqToKzjhcwTask.toKzjHcw("");
|
|||
} |
|||
|
|||
/** |
|||
* 满轴->待检 |
|||
*/ |
|||
@Test |
|||
public void mzToDj() { |
|||
//子卷成色等级
|
|||
String level = "1"; |
|||
//子卷号
|
|||
String containerName = "1"; |
|||
//起点
|
|||
String pointCode1 = "2"; |
|||
//查询库位信息
|
|||
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", containerName); |
|||
// 判断子卷等级属于待检区还是管制区,创建满轴缓存位到待检区或管制区的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", pointCode1); |
|||
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", pointCode1); |
|||
toDjqTask.put("point_code2", gkqPointList.get(0).getPoint_code()); |
|||
gzqTask.createTask(toDjqTask); |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 待检->装箱 |
|||
*/ |
|||
@Test |
|||
public void djToZx() { |
|||
//子卷号
|
|||
String containerName = ""; |
|||
//起点
|
|||
String pointCode1 = ""; |
|||
//木箱
|
|||
String boxSn = ""; |
|||
//装箱区点位
|
|||
List<BstIvtPackageinfoivt> zxqPointList = 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("空")) |
|||
//装箱区1
|
|||
.eq(BstIvtPackageinfoivt::getBlock, "1") |
|||
.orderByAsc(BstIvtPackageinfoivt::getSort_seq)); |
|||
JSONObject jo = new JSONObject(); |
|||
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("待检区->装箱区")); |
|||
jo.put("vehicle_code", containerName); |
|||
jo.put("point_code1", pointCode1); |
|||
//木箱号
|
|||
jo.put("vehicle_code2", boxSn); |
|||
//装箱区没满,则确定起点与终点,如果满了则只确定起点
|
|||
if (CollectionUtils.isNotEmpty(zxqPointList)) { |
|||
jo.put("point_code2", zxqPointList.get(0).getPoint_code()); |
|||
} |
|||
zxqTask.createTask(jo); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 空木箱出库 |
|||
*/ |
|||
@Test |
|||
public void outBox() { |
|||
JSONObject boxInfo = new JSONObject(); |
|||
boxInfo.put("device_code", "ZXQ_1_1"); |
|||
boxInfo.put("material_code", "MX61102"); |
|||
String workorderId = "1597797877554483218"; |
|||
//子卷个数
|
|||
boxInfo.put("num", "1"); |
|||
String boxSn = outBoxManageService.outBox(boxInfo); |
|||
if (StringUtils.isBlank(boxSn)) { |
|||
throw new BadRequestException("库位 -> 装箱对接位,木箱码不能为空!"); |
|||
} |
|||
//更新子卷包装关系更新木箱号
|
|||
UpdateWrapper<PdmBiSubpackagerelation> updateWrapper1 = new UpdateWrapper<>(); |
|||
updateWrapper1.set("package_box_sn", boxSn); |
|||
updateWrapper1.eq("workorder_id", workorderId); |
|||
pdmBiSubpackagerelationMapper.update(null, updateWrapper1); |
|||
} |
|||
|
|||
/** |
|||
* 装箱区->装箱对接位桁架任务 |
|||
*/ |
|||
@Test |
|||
public void transferToPacking() { |
|||
JSONObject jo = new JSONObject(); |
|||
//子卷号
|
|||
String containerName = "A1642211060505E2"; |
|||
//获取纸管长度
|
|||
String frpDescription = "1300"; |
|||
//获取木箱高度等级
|
|||
String height = "730"; |
|||
//起点
|
|||
String point_code1 = "ZXQ_1_9"; |
|||
//终点
|
|||
String point_code2 = "ZXQ_1_1"; |
|||
//托盘类型 1小托盘 2大托盘
|
|||
String containerType = "2"; |
|||
//木箱高度等级
|
|||
String heightLevel = ""; |
|||
String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue(); |
|||
String heightLevel2 = iSysParamService.findByCode("height_level_2").getValue(); |
|||
if (Integer.parseInt(height) <= Integer.parseInt(heightLevel1)) { |
|||
heightLevel = "1"; |
|||
} else if (Integer.parseInt(height) > Integer.parseInt(heightLevel1) && Integer.parseInt(height) <= Integer.parseInt(heightLevel2)) { |
|||
heightLevel = "2"; |
|||
} else { |
|||
heightLevel = "3"; |
|||
} |
|||
jo.put("point_code1", point_code1); |
|||
jo.put("point_code2", point_code2); |
|||
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("装箱区->装箱对接位")); |
|||
jo.put("vehicle_code", containerName); |
|||
jo.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务")); |
|||
jo.put("is_send", "1"); |
|||
JSONObject param = new JSONObject(); |
|||
//木箱最大数量
|
|||
param.put("maxNo", "1"); |
|||
//木箱放入子卷数量
|
|||
param.put("boxNo", "1"); |
|||
//是否最后子卷
|
|||
param.put("lastOne", "1"); |
|||
//子卷号
|
|||
param.put("barcode", containerName); |
|||
//子卷长度
|
|||
param.put("len", frpDescription); |
|||
//木箱高度等级
|
|||
param.put("heightLevel", heightLevel); |
|||
//托盘类型 1小托盘 2大托盘
|
|||
param.put("containerType", containerType); |
|||
jo.put("request_param", param.toString()); |
|||
zxDjwTask.createTask(jo); |
|||
} |
|||
|
|||
/** |
|||
* 装箱区->装箱对接位桁架任务2 |
|||
*/ |
|||
@Test |
|||
public void transferToPacking1() { |
|||
//下发装箱区->装箱对接位桁架任务
|
|||
JSONObject jo = new JSONObject(); |
|||
//子卷号
|
|||
String containerName = ""; |
|||
//获取纸管长度
|
|||
String frpDescription = ""; |
|||
//起点
|
|||
String point_code1 = "ZXQ_1_8"; |
|||
//终点
|
|||
String point_code2 = "ZXQ_1_1"; |
|||
jo.put("point_code1", point_code1); |
|||
jo.put("point_code2", point_code2); |
|||
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("装箱区->装箱对接位")); |
|||
jo.put("vehicle_code", containerName); |
|||
jo.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务")); |
|||
jo.put("is_send", "1"); |
|||
JSONObject param = new JSONObject(); |
|||
//木箱最大数量
|
|||
param.put("maxNo", "1"); |
|||
//木箱放入子卷数量
|
|||
param.put("boxNo", "1"); |
|||
//是否最后子卷
|
|||
param.put("lastOne", "1"); |
|||
//子卷号
|
|||
param.put("barcode", containerName); |
|||
//子卷长度
|
|||
param.put("len", frpDescription); |
|||
//托盘类型 1小托盘 2大托盘
|
|||
param.put("containerType", "1"); |
|||
jo.put("request_param", param.toString()); |
|||
zxDjwTask.createTask(jo); |
|||
} |
|||
|
|||
public static void main(String[] args) { |
|||
String name = "纸制筒管|纸管|6英寸|12|650"; |
|||
if (name.contains("3英寸") || name.contains("3.12英寸")) { |
|||
System.out.println("4"); |
|||
} else { |
|||
System.out.println("5"); |
|||
} |
|||
} |
|||
} |
Loading…
Reference in new issue