opt:优化结构
This commit is contained in:
@@ -65,7 +65,7 @@
|
||||
<version>0.0.1</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>
|
||||
${project.basedir}/libs/language-all.jar
|
||||
${project.basedir}/libs/language-all-0.0.1.jar
|
||||
</systemPath>
|
||||
<!-- 移除 system 范围,使用默认的 compile 范围 -->
|
||||
</dependency>
|
||||
|
||||
@@ -67,23 +67,25 @@ public class VehicleTwoController {
|
||||
|
||||
|
||||
@PostMapping("/updatePackageInfo")
|
||||
@Log("一楼待检区-管制区子卷质检")
|
||||
@Log("待检区-子卷质检")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> updatePackageInfo(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(bstIvtPackageInfoIvtService.update(whereJson), HttpStatus.OK);
|
||||
bstIvtPackageInfoIvtService.updateQC(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/updatePackageInfo2")
|
||||
@Log("一楼待检区-管制点管理")
|
||||
@Log("待检区-地面点管理")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> updatePackageInfo2(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(bstIvtPackageInfoIvtService.update2(whereJson), HttpStatus.OK);
|
||||
bstIvtPackageInfoIvtService.allReginPoint(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/toEndSub")
|
||||
@Log("二期子卷包装解绑")
|
||||
@Log("子卷包装解绑")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> toEndSub(@RequestBody JSONObject whereJson) {
|
||||
Map result = subpackagerelationService.toEndSubpackagerelation(whereJson.getString("container_name"));
|
||||
|
||||
@@ -279,9 +279,9 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
||||
}
|
||||
|
||||
/**
|
||||
* 子卷装箱
|
||||
*
|
||||
* @param whereJson 分配信息
|
||||
* 子卷预装箱
|
||||
* 提前呼叫木箱,将子卷送到装箱区域
|
||||
* 子卷可以多卷装一箱所以扫码时会扫多卷
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -486,8 +486,10 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
||||
.orderByAsc("update_time"));
|
||||
if (CollUtil.isEmpty(bstIvtBoxstacks)) {
|
||||
// 查询缓存区木箱,先送数量少的
|
||||
List<BstIvtBoxstack> bstIvtBoxstacks1 = boxstackMapper.selectList(new QueryWrapper<BstIvtBoxstack>().eq("box_spec", whereJson.getString("checked"))
|
||||
.eq("point_status", BoxStackEnum.POINT_STATUS.code("缓存区")).orderByAsc("current_layer_count"));
|
||||
List<BstIvtBoxstack> bstIvtBoxstacks1 = boxstackMapper.selectList(new QueryWrapper<BstIvtBoxstack>()
|
||||
.eq("box_spec", whereJson.getString("checked"))
|
||||
.eq("point_status", BoxStackEnum.POINT_STATUS.code("缓存区"))
|
||||
.orderByAsc("current_layer_count"));
|
||||
if (CollUtil.isEmpty(bstIvtBoxstacks1)) {
|
||||
throw new BadRequestException("缓存区无可用木箱,请新建备货计划");
|
||||
}
|
||||
@@ -508,7 +510,8 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
||||
} else {
|
||||
createTask(whereJson, bstIvtBoxstacks1);
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
InBoxTrussTask inBoxTrussTask = new InBoxTrussTask();
|
||||
JSONObject taskParam = new JSONObject();
|
||||
|
||||
|
||||
@@ -67,18 +67,18 @@ public interface IbstIvtPackageinfoivtService extends IService<BstIvtPackageinfo
|
||||
*
|
||||
* @param whereJson /
|
||||
*/
|
||||
JSONObject update(JSONObject whereJson);
|
||||
void updateQC(JSONObject whereJson);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 管制点管理
|
||||
* 整体区域点管理
|
||||
*
|
||||
* @param whereJson /
|
||||
*/
|
||||
JSONObject update2(JSONObject whereJson);
|
||||
void allReginPoint(JSONObject whereJson);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -376,167 +376,95 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
|
||||
/**
|
||||
* 手持子卷质检
|
||||
* 26-4-23变更:
|
||||
* 该功能之前包括管制点状态设置,子卷质检设置,先功能只包含子卷质检设置,点位设置需另外开发
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONObject update(JSONObject whereJson) {
|
||||
public void updateQC(JSONObject whereJson) {
|
||||
JSONObject result = new JSONObject();
|
||||
if (StringUtils.isBlank(whereJson.getString("ivt_status"))) {
|
||||
throw new BadRequestException("子卷检验结果为空");
|
||||
}
|
||||
//"空","0","空载具","1","有子卷","2","合格品","3","管制品","4",人工卷,"5"
|
||||
List<BstIvtPackageinfoivt> dtoList;
|
||||
final String containerName = whereJson.getString("container_name");
|
||||
if (StringUtils.isEmpty(containerName)){
|
||||
throw new BadRequestException("container_name不能为空");
|
||||
}
|
||||
//"合格品","3","管制品","4"
|
||||
UpdateWrapper<BstIvtPackageinfoivt> updateWrapper = new UpdateWrapper<>();
|
||||
JSONObject jo = new JSONObject();
|
||||
//是否开启mes质检
|
||||
String isOnMes = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_mes_package").getValue();
|
||||
//子卷质检合格品和管制品
|
||||
if (StringUtils.isNotBlank(whereJson.getString("container_name"))) {
|
||||
if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("空")) || whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("空载具")) || whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("有子卷"))) {
|
||||
throw new BadRequestException("质检结果只能为合格品或管制品");
|
||||
if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("管制品"))) {
|
||||
PdmBiSubpackagerelation one = subpackagerelationService.getOne(new QueryWrapper<PdmBiSubpackagerelation>()
|
||||
.eq("container_name", containerName));
|
||||
if (one!=null){
|
||||
throw new BadRequestException("包装关系存在,请先解绑MES及LMS包装关系");
|
||||
}
|
||||
if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("管制品"))) {
|
||||
PdmBiSubpackagerelation one = subpackagerelationService.getOne(new QueryWrapper<PdmBiSubpackagerelation>()
|
||||
.eq("container_name", whereJson.getString("container_name")));
|
||||
if (one!=null){
|
||||
throw new BadRequestException("包装关系存在,请先解绑MES及LMS包装关系");
|
||||
}
|
||||
}
|
||||
dtoList = bstIvtPackageinfoivtMapper.selectList(new LambdaQueryWrapper<BstIvtPackageinfoivt>().eq(BstIvtPackageinfoivt::getContainer_name, whereJson.getString("container_name")));
|
||||
if (ObjectUtils.isEmpty(dtoList)) {
|
||||
throw new BadRequestException("子卷号或点位信息有误,请核对是否存在!");
|
||||
}
|
||||
if (dtoList.size() > 1) {
|
||||
result.put("status", org.springframework.http.HttpStatus.BAD_REQUEST.value());
|
||||
result.put("message", "存在多个相同子卷号或点位信息有误,请核对是否存在!");
|
||||
return result;
|
||||
}
|
||||
BstIvtPackageinfoivt packageinfoivt = dtoList.get(0);
|
||||
String pointCode = packageinfoivt.getPoint_code();
|
||||
if (pointCode.equals("ZXQ_135") || pointCode.equals("ZXQ_136")) {
|
||||
throw new BadRequestException("管制点设置子卷状态时需要选择点位");
|
||||
}
|
||||
if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("合格品"))) {
|
||||
if (packageinfoivt.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("管制品"))){
|
||||
throw new BadRequestException("当前子卷已设置为管制品");
|
||||
}
|
||||
//获取子卷最新信息
|
||||
jo.put("container_name", whereJson.getString("container_name"));
|
||||
if (isOnMes.equals(IOSEnum.IS_NOTANDYES.code("是"))) {
|
||||
lmsToMesService.getInspectionResult(jo);
|
||||
//子卷下料信息MES传递给LMS
|
||||
iPdmBiContainerinfoService.createSubInfoByContainer(whereJson.getString("container_name"));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
PdmProductSpecServiceImpl.doRecord(SpecEnum.ZJ,MapOf.of("质检结果",whereJson.getString("ivt_status")),Boolean.TRUE,null, packageinfoivt.getContainer_name());
|
||||
updateWrapper.set("container_name", packageinfoivt.getContainer_name());
|
||||
updateWrapper.set("ivt_status", whereJson.getString("ivt_status"));
|
||||
} else {
|
||||
result.put("status", org.springframework.http.HttpStatus.BAD_REQUEST.value());
|
||||
result.put("message", "请输入子卷号或管制点位信息!");
|
||||
return result;
|
||||
}
|
||||
String pointCode = dtoList.get(0).getPoint_code();
|
||||
if (dtoList.get(0).getPoint_status().equals(PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位"))){
|
||||
throw new BadRequestException("满轴缓存位无法设置子卷状态");
|
||||
BstIvtPackageinfoivt packageinfoivt = this.getOne(new LambdaQueryWrapper<BstIvtPackageinfoivt>().eq(BstIvtPackageinfoivt::getContainer_name, containerName));
|
||||
if (packageinfoivt == null) {
|
||||
throw new BadRequestException("子卷号或点位信息有误,请核对是否存在!");
|
||||
}
|
||||
List<SchBaseTask> schBaseTasks = taskService.checkHaveTask(pointCode);
|
||||
List<SchBaseTask> schBaseTasks = taskService.checkHaveTask(packageinfoivt.getPoint_code());
|
||||
if (!CollectionUtils.isEmpty(schBaseTasks)){
|
||||
throw new BadRequestException("当前点位"+dtoList.get(0).getPoint_name()+"正在执行搬运任务"+schBaseTasks.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(",")));
|
||||
throw new BadRequestException("当前点位"+packageinfoivt.getPoint_code()+"正在执行搬运任务"+schBaseTasks.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(",")));
|
||||
}
|
||||
updateWrapper.eq("point_code", pointCode);
|
||||
if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("合格品"))) {
|
||||
if (packageinfoivt.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("管制品"))){
|
||||
throw new BadRequestException("当前子卷已设置为管制品");
|
||||
}
|
||||
//获取子卷最新信息
|
||||
jo.put("container_name", containerName);
|
||||
if (isOnMes.equals(IOSEnum.IS_NOTANDYES.code("是"))) {
|
||||
lmsToMesService.getInspectionResult(jo);
|
||||
//子卷下料信息MES传递给LMS-同步子卷包装关系
|
||||
iPdmBiContainerinfoService.createSubInfoByContainer(containerName);
|
||||
}
|
||||
}
|
||||
updateWrapper.set("container_name", packageinfoivt.getContainer_name());
|
||||
updateWrapper.set("ivt_status", whereJson.getString("ivt_status"));
|
||||
updateWrapper.eq("point_code", packageinfoivt.getPoint_code());
|
||||
updateWrapper.set("update_optid", Long.valueOf(SecurityUtils.getCurrentUserId()));
|
||||
updateWrapper.set("update_optname", SecurityUtils.getCurrentNickName());
|
||||
updateWrapper.set("update_time", DateUtil.now());
|
||||
bstIvtPackageinfoivtMapper.update(null, updateWrapper);
|
||||
result.put("status", org.springframework.http.HttpStatus.OK.value());
|
||||
result.put("message", "检验成功!");
|
||||
return result;
|
||||
PdmProductSpecServiceImpl.doRecord(SpecEnum.ZJ,MapOf.of("质检结果",whereJson.getString("ivt_status")),Boolean.TRUE,null, packageinfoivt.getContainer_name());
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 整体子卷区域点管理
|
||||
* 4-24变更
|
||||
* 1.管制点作用:空载具拉回,点位释放,管制点不做复合动作
|
||||
* 2.印尼管制区管制点为整个区域,需要通过扫码方式而不是选点
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONObject update2(JSONObject whereJson) {
|
||||
public void allReginPoint(JSONObject whereJson) {
|
||||
//"空","0","空载具","1","有子卷","2"
|
||||
JSONObject result = new JSONObject();
|
||||
if (StringUtils.isBlank(whereJson.getString("ivt_status"))) {
|
||||
throw new BadRequestException("子卷检验结果为空");
|
||||
}
|
||||
//"空","0","空载具","1","有子卷","2","合格品","3","管制品","4",人工卷,"5"
|
||||
List<BstIvtPackageinfoivt> dtoList;
|
||||
UpdateWrapper<BstIvtPackageinfoivt> updateWrapper = new UpdateWrapper<>();
|
||||
JSONObject jo = new JSONObject();
|
||||
//是否开启mes
|
||||
String isOnMes = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_on_mes").getValue();
|
||||
//复称
|
||||
if (StringUtils.isNotBlank(whereJson.getString("container_name")) && StringUtils.isNotBlank(whereJson.getString("pointCode"))) {
|
||||
dtoList = bstIvtPackageinfoivtMapper.selectList(new LambdaQueryWrapper<BstIvtPackageinfoivt>().eq(BstIvtPackageinfoivt::getPoint_code, whereJson.getString("pointCode").equals("1") ? "ZXQ_135" : "ZXQ_136"));
|
||||
if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("合格品"))) {
|
||||
//获取子卷最新信息
|
||||
jo.put("container_name", whereJson.getString("container_name"));
|
||||
if (isOnMes.equals(IOSEnum.IS_NOTANDYES.code("是"))) {
|
||||
lmsToMesService.getInspectionResult(jo);
|
||||
//子卷下料信息MES传递给LMS
|
||||
iPdmBiContainerinfoService.createSubInfoByContainer(whereJson.getString("container_name"));
|
||||
} else {
|
||||
packageData(whereJson);
|
||||
}
|
||||
updateWrapper.set("container_name", whereJson.getString("container_name"));
|
||||
updateWrapper.set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("合格品"));
|
||||
} else {
|
||||
result.put("status", org.springframework.http.HttpStatus.BAD_REQUEST.value());
|
||||
result.put("message", "该点位只能放复称的合格品!");
|
||||
return result;
|
||||
}
|
||||
if (StringUtils.isNotBlank(whereJson.getString("pointCode"))){
|
||||
throw new BadRequestException("子卷检验结果为空");
|
||||
}
|
||||
//取放空载具
|
||||
else if (StringUtils.isNotBlank(whereJson.getString("pointCode")) && StringUtils.isBlank(whereJson.getString("container_name"))) {
|
||||
if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("合格品")) || whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("管制品"))) {
|
||||
throw new BadRequestException("人工管制点只能设置空载具或空点位");
|
||||
}
|
||||
String pointCode = whereJson.getString("pointCode");
|
||||
if (StringUtils.isEmpty(pointCode)){
|
||||
throw new BadRequestException("人工管制点不能为空");
|
||||
}
|
||||
HashMap of = MapOf.of("1", "ZXQ_135", "2", "ZXQ_136");
|
||||
// "ZXQ_135" : "ZXQ_136";
|
||||
JSONObject task = new JSONObject();
|
||||
task.put("point_code1", of.get(pointCode));
|
||||
int count = taskService.count(new QueryWrapper<SchBaseTask>()
|
||||
.eq("is_delete", "0")
|
||||
.eq("point_code1", of.get(pointCode))
|
||||
.lt("task_status", TaskStatusEnum.FINISHED.getCode()));
|
||||
if (count>0){
|
||||
throw new BadRequestException("当前人工管制点存在任务,稍后操作");
|
||||
}
|
||||
|
||||
dtoList = bstIvtPackageinfoivtMapper.selectList(new LambdaQueryWrapper<BstIvtPackageinfoivt>().eq(BstIvtPackageinfoivt::getPoint_code, whereJson.getString("pointCode").equals("1") ? "ZXQ_135" : "ZXQ_136"));
|
||||
updateWrapper.set("container_name", null);
|
||||
updateWrapper.set("ivt_status", whereJson.getString("ivt_status"));
|
||||
} else {
|
||||
result.put("status", org.springframework.http.HttpStatus.BAD_REQUEST.value());
|
||||
result.put("message", "请输入子卷号或管制点位信息!");
|
||||
return result;
|
||||
}
|
||||
String pointCode = dtoList.get(0).getPoint_code();
|
||||
if (dtoList.get(0).getPoint_status().equals(PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位"))){
|
||||
throw new BadRequestException("满轴缓存位无法设置子卷状态");
|
||||
}
|
||||
List<SchBaseTask> schBaseTasks = taskService.checkHaveTask(pointCode);
|
||||
List<SchBaseTask> schBaseTasks = taskService.checkHaveTask(whereJson.getString("pointCode"));
|
||||
if (!CollectionUtils.isEmpty(schBaseTasks)){
|
||||
throw new BadRequestException("当前点位"+dtoList.get(0).getPoint_name()+"正在执行搬运任务"+schBaseTasks.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(",")));
|
||||
throw new BadRequestException("当前点位"+whereJson.getString("pointCode")+"正在执行搬运任务"+schBaseTasks.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(",")));
|
||||
}
|
||||
updateWrapper.eq("point_code", pointCode);
|
||||
if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("有子卷"))
|
||||
&& StringUtils.isEmpty(whereJson.getString("container_name"))) {
|
||||
throw new BadRequestException("设置有子卷时需输入子卷号");
|
||||
}
|
||||
UpdateWrapper<BstIvtPackageinfoivt> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.set("container_name", whereJson.getString("container_name"));
|
||||
updateWrapper.set("ivt_status", whereJson.getString("ivt_status"));
|
||||
updateWrapper.eq("point_code", whereJson.getString("pointCode"));
|
||||
updateWrapper.set("update_optid", Long.valueOf(SecurityUtils.getCurrentUserId()));
|
||||
updateWrapper.set("update_optname", SecurityUtils.getCurrentNickName());
|
||||
updateWrapper.set("update_time", DateUtil.now());
|
||||
bstIvtPackageinfoivtMapper.update(null, updateWrapper);
|
||||
result.put("status", org.springframework.http.HttpStatus.OK.value());
|
||||
result.put("message", "检验成功!");
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -113,10 +113,18 @@ public enum IOSEnum {
|
||||
OUT_HANGER(MapOf.of("行架位1", "CK2013","行架位2", "CK2017")),
|
||||
|
||||
// 点位
|
||||
POINT_CODE(MapOf.of("退货入库位", "THRKDJW1", "2020","CK2020", "2022","CK2022","木箱装箱位","CK2024")),
|
||||
POINT_CODE(MapOf.of("退货入库位", "THRKDJW1", "2020","CK2020", "2022","CK2022","木箱装箱开盒盖位","CK2024")),
|
||||
|
||||
//acs申请任务
|
||||
ACSTOLMS_TYPE(MapOf.of("成品入库任务", "1","空盘入库","2","空盘出库","3","异常处理位","4","木箱入库","5","退货入库","6","贴标","1","捆扎","2","子卷装箱","7")),
|
||||
ACSTOLMS_TYPE(MapOf.of("成品入库任务", "1"
|
||||
,"空盘入库","2","空盘出库"
|
||||
,"3","异常处理位","4"
|
||||
,"木箱入库","5"
|
||||
,"退货入库","6"
|
||||
,"贴标","1"
|
||||
,"捆扎","2"
|
||||
,"木箱装箱开盒盖位","7"
|
||||
,"退货异常申请行架对接位至NG位","9")),
|
||||
|
||||
// acs外部系统用户
|
||||
EXT_ACS(MapOf.of("acs", "2","kc","康成")),
|
||||
|
||||
@@ -1428,7 +1428,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
whereJson.put("material_barcode", material_barcodes);
|
||||
inBussManageService.inTask(whereJson);
|
||||
|
||||
} else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("子卷装箱"))) {
|
||||
} else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("木箱装箱开盒盖位"))) {
|
||||
//校验
|
||||
List<PdmBiSubpackagerelation> pdmBiSubpackagerelations = pdmBiSubpackagerelationMapper.selectList(new QueryWrapper<PdmBiSubpackagerelation>().eq("package_box_sn", whereJson.getString("material_barcode")).eq("status", "0"));
|
||||
if (ObjectUtil.isEmpty(pdmBiSubpackagerelations)){
|
||||
@@ -1441,7 +1441,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
|
||||
JSONObject jsonParam = new JSONObject();
|
||||
jsonParam.put("start_device_code",whereJson.getString("device_code"));
|
||||
jsonParam.put("next_device_code",IOSEnum.POINT_CODE.code("木箱装箱位"));
|
||||
jsonParam.put("next_device_code",IOSEnum.POINT_CODE.code("木箱装箱开盒盖位"));
|
||||
jsonParam.put("vehicle_code2",mdPdStorageVehicleInfo.getStoragevehicle_code());
|
||||
jsonParam.put("vehicle_code",whereJson.getString("material_barcode"));
|
||||
jsonParam.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
|
||||
|
||||
Reference in New Issue
Block a user