opt:优化
This commit is contained in:
@@ -22,6 +22,11 @@ public interface PdaProductionService {
|
||||
*/
|
||||
PdaResponse getStockGroupInfo(JSONObject param);
|
||||
|
||||
/**
|
||||
* 托盘叫料
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
PdaResponse confirmCallMaterial(JSONObject param);
|
||||
|
||||
/**
|
||||
|
||||
@@ -194,6 +194,9 @@ public class PdaCommonServiceImpl implements PdaCommonService {
|
||||
jsonObject.put("vehicle_code", param.getVehicle_code());
|
||||
groupplateService.checkVehicle(jsonObject);
|
||||
|
||||
// 检测托盘的物料类型是否都是一致的
|
||||
sectMaterialCheck.checkAllMaterialType(param.getGroup_plates());
|
||||
|
||||
// 判断库区是否一致
|
||||
sectMaterialCheck.chackAllMaterialAndSect(param);
|
||||
|
||||
|
||||
@@ -20,12 +20,15 @@ import org.nl.system.service.param.dao.Param;
|
||||
import org.nl.wms.basedata_manage.enums.BaseDataEnum;
|
||||
import org.nl.wms.basedata_manage.service.*;
|
||||
import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleext;
|
||||
import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo;
|
||||
import org.nl.wms.basedata_manage.service.dao.Sectattr;
|
||||
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||
import org.nl.wms.pda.general_management.service.PdaBuildParamService;
|
||||
import org.nl.wms.pda.general_management.service.PdaWarehouseService;
|
||||
import org.nl.wms.pda.general_management.service.PdaProductionService;
|
||||
import org.nl.wms.pda.general_management.service.dto.AssemblyPalletParam;
|
||||
import org.nl.wms.pda.util.PdaResponse;
|
||||
import org.nl.wms.pda.util.SectMaterialCheck;
|
||||
import org.nl.wms.pda.util.ThresholdChecker;
|
||||
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
||||
@@ -112,6 +115,8 @@ public class PdaProductionServiceImpl implements PdaProductionService {
|
||||
private ISysParamService paramService;
|
||||
@Resource
|
||||
private SecondaryPackagingService secondaryPackagingService;
|
||||
@Resource
|
||||
private SectMaterialCheck sectMaterialCheck;
|
||||
@Override
|
||||
public PdaResponse getGroupInfo(JSONObject param) {
|
||||
// search;
|
||||
@@ -153,9 +158,6 @@ public class PdaProductionServiceImpl implements PdaProductionService {
|
||||
if (ObjectUtil.isEmpty(param.get("point_code"))) {
|
||||
throw new BadRequestException("请输入要料点!");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(param.get("row"))) {
|
||||
throw new BadRequestException("请选择呼叫的物料!");
|
||||
}
|
||||
String pointCode = param.getString("point_code");
|
||||
SchBasePoint endPoint = pointService.getByPointCode(pointCode, true);
|
||||
if (ObjectUtil.isEmpty(endPoint)) {
|
||||
@@ -177,6 +179,9 @@ public class PdaProductionServiceImpl implements PdaProductionService {
|
||||
secondaryPackagingService.wrappingCall(crParam);
|
||||
return PdaResponse.requestOk();
|
||||
}
|
||||
if (ObjectUtil.isEmpty(param.get("row"))) {
|
||||
throw new BadRequestException("请选择呼叫的物料!");
|
||||
}
|
||||
JSONObject row = param.getJSONObject("row");
|
||||
Structattr structattr = structattrService.getByCode(row.getString("struct_code"));
|
||||
param.put("bill_type", IOSEnum.OUT_BILL_TYPE.code("批料出库"));
|
||||
@@ -305,31 +310,28 @@ public class PdaProductionServiceImpl implements PdaProductionService {
|
||||
if (ObjectUtil.isEmpty(startPoint.getVehicle_code())) {
|
||||
throw new BadRequestException("该点位没有载具信息!");
|
||||
}
|
||||
// 查找之前的任务
|
||||
List<SchBaseTask> list = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getVehicle_code, startPoint.getVehicle_code())
|
||||
.in(SchBaseTask::getConfig_code, "PalletOutTask")
|
||||
.orderByDesc(SchBaseTask::getTask_id));
|
||||
if (list.size() == 0) {
|
||||
throw new BadRequestException("找不到托盘原来的位置!");
|
||||
// 根据托盘指定的区域回去
|
||||
MdPbStoragevehicleinfo storagevehicleinfo = storagevehicleinfoService.getByCode(startPoint.getVehicle_code());
|
||||
if (ObjectUtil.isEmpty(storagevehicleinfo)) {
|
||||
throw new BadRequestException("找不到托盘信息!");
|
||||
}
|
||||
SchBaseTask task = list.get(0);
|
||||
Structattr structattr = structattrService.getByCode(task.getPoint_code1());
|
||||
List<JSONObject> res = groupplateService.getPalletViewByVehicleCode(startPoint.getVehicle_code()
|
||||
, Arrays.asList("2", "4"));
|
||||
if (ObjectUtil.isEmpty(storagevehicleinfo.getSect_code())) {
|
||||
throw new BadRequestException("托盘没有绑定库区,请检查托盘信息!");
|
||||
}
|
||||
Sectattr sectattr = sectattrService.findByCode(storagevehicleinfo.getSect_code(), false);
|
||||
if (res.size() > 0) {
|
||||
log.info("剩料回库");
|
||||
// 剩料回库
|
||||
param.put("rows", res);
|
||||
Sectattr sectattr = sectattrService.findByCode(structattr.getSect_code(), false);
|
||||
param.put("bill_type", IOSEnum.IN_BILL_TYPE.code("剩料回库"));
|
||||
// 1 创建入库单、明细、分配明细
|
||||
Map<String, Object> invObj = defaultPdaBuildParam.doBuildInvObj(param, startPoint, sectattr);
|
||||
String invId = rawAssistIStorService.insertDtl(invObj);
|
||||
// 2 调用手动分配
|
||||
param.put("sect_code", structattr.getSect_code());
|
||||
param.put("sect_name", structattr.getSect_name());
|
||||
param.put("sect_code", sectattr.getSect_code());
|
||||
param.put("sect_name", sectattr.getSect_name());
|
||||
Map<String, Object> divObj = defaultPdaBuildParam.buildDivStructData(param, sectattr, invId, true);
|
||||
rawAssistIStorService.divStruct(divObj);
|
||||
// 3 创建任务
|
||||
@@ -339,8 +341,8 @@ public class PdaProductionServiceImpl implements PdaProductionService {
|
||||
log.info("空载具回库");
|
||||
// 空载具回库
|
||||
JSONObject vin = new JSONObject();
|
||||
vin.put("storagevehicle_code", task.getVehicle_code());
|
||||
vin.put("sect_code", structattr.getSect_code());
|
||||
vin.put("storagevehicle_code", startPoint.getVehicle_code());
|
||||
vin.put("sect_code", sectattr.getSect_code());
|
||||
vin.put("point_code", startPoint.getPoint_code());
|
||||
vehicleInService.create(vin);
|
||||
}
|
||||
@@ -355,35 +357,70 @@ public class PdaProductionServiceImpl implements PdaProductionService {
|
||||
return PdaResponse.requestOk();
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public PdaResponse preProcessingDown(JSONObject param) {
|
||||
log.info("加工下料:{}", param);
|
||||
// vehicle_code、 point_code, sect_code, 。。。rows
|
||||
assertNotBlankJson(param, "请求参数不能为空!", "vehicle_code", "point_code", "sect_code");
|
||||
String pointCode = param.getString("point_code");
|
||||
SchBasePoint startPoint = pointService.getByPointCode(pointCode, false);
|
||||
if (ObjectUtil.isEmpty(startPoint)) {
|
||||
throw new BadRequestException("当前点位不存在,请检查是否正确!");
|
||||
}
|
||||
// 判断任务是否创建
|
||||
List<SchBaseTask> tasks = taskService.getTaskByQuery(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getPoint_code1, pointCode));
|
||||
if (tasks.size() > 0) {
|
||||
throw new BadRequestException("该点位已创建过任务!");
|
||||
}
|
||||
String vehicleCode = param.getString("vehicle_code");
|
||||
List<JSONObject> res = groupplateService.getPalletViewByVehicleCode(vehicleCode, Arrays.asList("1"));
|
||||
if (res.size() == 0) {
|
||||
throw new BadRequestException("当前托盘号【" + vehicleCode + "】不存在物料信息,请检查!");
|
||||
}
|
||||
// 如果是仓位就需要走原辅料入库
|
||||
Sectattr sectCode = sectattrService.findByCode(param.getString("sect_code"), false);
|
||||
if (ObjectUtil.isNotEmpty(sectCode)) {
|
||||
// 辅料入库
|
||||
param.put("rows", res);
|
||||
receivedIn(param);
|
||||
} else {
|
||||
preProcessingInTask.create(param);
|
||||
RLock lock = redissonClient.getLock("lock:preProcessingDown");
|
||||
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||
try {
|
||||
if (tryLock) {
|
||||
String pointCode = param.getString("point_code");
|
||||
SchBasePoint startPoint = pointService.getByPointCode(pointCode, false);
|
||||
if (ObjectUtil.isEmpty(startPoint)) {
|
||||
throw new BadRequestException("当前点位不存在,请检查是否正确!");
|
||||
}
|
||||
// 判断任务是否创建
|
||||
List<SchBaseTask> tasks = taskService.getTaskByQuery(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getPoint_code1, pointCode));
|
||||
if (tasks.size() > 0) {
|
||||
throw new BadRequestException("该点位已创建过任务!");
|
||||
}
|
||||
String vehicleCode = param.getString("vehicle_code");
|
||||
List<JSONObject> res = groupplateService.getPalletViewByVehicleCode(vehicleCode, Arrays.asList("1"));
|
||||
if (res.size() == 0) {
|
||||
throw new BadRequestException("当前托盘号【" + vehicleCode + "】不存在物料信息,请检查!");
|
||||
}
|
||||
// 如果是仓位就需要走原辅料入库
|
||||
Sectattr sectCode = sectattrService.findByCode(param.getString("sect_code"), false);
|
||||
if (ObjectUtil.isNotEmpty(sectCode)) {
|
||||
// 辅料入库
|
||||
param.put("rows", res);
|
||||
// 入库前检测
|
||||
AssemblyPalletParam checkParam = new AssemblyPalletParam();
|
||||
checkParam.setVehicle_code(vehicleCode);
|
||||
// res中包含g.*(md_pb_groupplate字段),但也会额外带一些展示字段;这里只取校验必需字段即可
|
||||
List<GroupPlate> groupPlates = res.stream().map(row -> {
|
||||
GroupPlate gp = new GroupPlate();
|
||||
gp.setGroup_id(row.getString("group_id"));
|
||||
gp.setBag_code(row.getString("bag_code"));
|
||||
gp.setVehicle_code(row.getString("vehicle_code"));
|
||||
gp.setMaterial_id(row.getString("material_id"));
|
||||
gp.setPcsn(row.getString("pcsn"));
|
||||
gp.setQty(row.getBigDecimal("qty"));
|
||||
gp.setQty_unit_id(row.getString("qty_unit_id"));
|
||||
gp.setQty_unit_name(row.getString("qty_unit_name"));
|
||||
gp.setSupp_code(row.getString("supp_code"));
|
||||
gp.setRemark(row.getString("remark"));
|
||||
gp.setStatus(row.getString("status"));
|
||||
return gp;
|
||||
}).collect(Collectors.toList());
|
||||
checkParam.setGroup_plates(groupPlates);
|
||||
// 调用检测方法:校验托盘库区与物料类型映射关系
|
||||
sectMaterialCheck.chackAllMaterialAndSect(checkParam);
|
||||
receivedIn(param);
|
||||
} else {
|
||||
preProcessingInTask.create(param);
|
||||
}
|
||||
} else {
|
||||
throw new BadRequestException("速度太快啦,稍后再试...");
|
||||
}
|
||||
} finally {
|
||||
if (tryLock) {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
return PdaResponse.requestOk();
|
||||
}
|
||||
@@ -434,6 +471,14 @@ public class PdaProductionServiceImpl implements PdaProductionService {
|
||||
productionInStorage(param, point);
|
||||
return PdaResponse.requestOk();
|
||||
}
|
||||
|
||||
// 缠绕膜
|
||||
if (point.getRegion_code().startsWith("CR")) {
|
||||
JSONObject p = new JSONObject();
|
||||
p.put("device_code", pointCode);
|
||||
secondaryPackagingService.wrappingDown(p);
|
||||
return PdaResponse.requestOk();
|
||||
}
|
||||
// 压片/包衣下料
|
||||
AbstractTask task = taskFactory.getTask(IOSEnum.DOWN_CONFIG_CODE.code(point.getRegion_code()));
|
||||
task.create(param);
|
||||
@@ -658,7 +703,7 @@ public class PdaProductionServiceImpl implements PdaProductionService {
|
||||
String currentPoint = param.getString("current_point");
|
||||
String vehicleCode = param.getString("vehicle_code");
|
||||
// ACS 获取的重量
|
||||
String total = param.getString("total");
|
||||
String total = param.getString("weight");
|
||||
String taskId = row.getString("task_id");
|
||||
if (ObjectUtil.isNotEmpty(taskId)) {
|
||||
// 有任务直接任务完成
|
||||
@@ -695,7 +740,7 @@ public class PdaProductionServiceImpl implements PdaProductionService {
|
||||
String currentPoint = param.getString("current_point");
|
||||
String vehicleCode = param.getString("vehicle_code");
|
||||
// ACS 获取的重量
|
||||
BigDecimal currentTotal = param.getBigDecimal("total");
|
||||
BigDecimal currentTotal = param.getBigDecimal("weight");
|
||||
BigDecimal originalQty = row.getBigDecimal("qty");
|
||||
Param threshold = paramService.findByCode("weighing_threshold");
|
||||
// 对比与组盘的重量是否大于阈值
|
||||
@@ -717,7 +762,7 @@ public class PdaProductionServiceImpl implements PdaProductionService {
|
||||
return PdaResponse.requestOk();
|
||||
}
|
||||
if (ObjectUtil.isEmpty(row.getString("station"))) {
|
||||
throw new BadRequestException("产线目标站为空");
|
||||
throw new BadRequestException("请设置产线目标站!");
|
||||
}
|
||||
List<JSONObject> infoByBucket = groupbucketService.getBucketInfoByBucket(vehicleCode);
|
||||
if (infoByBucket.size() == 0) {
|
||||
|
||||
@@ -20,7 +20,9 @@ import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||
import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper;
|
||||
import org.nl.wms.pda.general_management.service.PdaBuildParamService;
|
||||
import org.nl.wms.pda.general_management.service.PdaWarehouseService;
|
||||
import org.nl.wms.pda.general_management.service.dto.AssemblyPalletParam;
|
||||
import org.nl.wms.pda.util.PdaResponse;
|
||||
import org.nl.wms.pda.util.SectMaterialCheck;
|
||||
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
||||
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
||||
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
|
||||
@@ -68,6 +70,8 @@ public class PdaWarehouseServiceImpl implements PdaWarehouseService {
|
||||
private PdaBuildParamService defaultPdaBuildParam;
|
||||
@Resource
|
||||
private IStructattrService structattrService;
|
||||
@Resource
|
||||
private SectMaterialCheck sectMaterialCheck;
|
||||
|
||||
/**
|
||||
* 组盘mapper
|
||||
@@ -266,6 +270,30 @@ public class PdaWarehouseServiceImpl implements PdaWarehouseService {
|
||||
if (ObjectUtil.isEmpty(pointDao)) {
|
||||
throw new BadRequestException("当前入库点位不存在【" + param.getString("point_code") + "】");
|
||||
}
|
||||
// 校验托盘数据与入库是否匹配
|
||||
// 入库前检测
|
||||
AssemblyPalletParam checkParam = new AssemblyPalletParam();
|
||||
checkParam.setVehicle_code(param.getString("vehicel_code"));
|
||||
// res中包含g.*(md_pb_groupplate字段),但也会额外带一些展示字段;这里只取校验必需字段即可
|
||||
List<JSONObject> rows = param.getJSONArray("rows").toJavaList(JSONObject.class);
|
||||
List<GroupPlate> groupPlates = rows.stream().map(row -> {
|
||||
GroupPlate gp = new GroupPlate();
|
||||
gp.setGroup_id(row.getString("group_id"));
|
||||
gp.setBag_code(row.getString("bag_code"));
|
||||
gp.setVehicle_code(row.getString("vehicle_code"));
|
||||
gp.setMaterial_id(row.getString("material_id"));
|
||||
gp.setPcsn(row.getString("pcsn"));
|
||||
gp.setQty(row.getBigDecimal("qty"));
|
||||
gp.setQty_unit_id(row.getString("qty_unit_id"));
|
||||
gp.setQty_unit_name(row.getString("qty_unit_name"));
|
||||
gp.setSupp_code(row.getString("supp_code"));
|
||||
gp.setRemark(row.getString("remark"));
|
||||
gp.setStatus(row.getString("status"));
|
||||
return gp;
|
||||
}).collect(Collectors.toList());
|
||||
checkParam.setGroup_plates(groupPlates);
|
||||
// 调用检测方法:校验托盘库区与物料类型映射关系
|
||||
sectMaterialCheck.chackAllMaterialAndSect(checkParam);
|
||||
|
||||
// 组织入库单创建
|
||||
param.put("bill_type", IOSEnum.IN_BILL_TYPE.code("原辅料入库"));
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.nl.wms.pda.util;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.system.service.dict.ISysDictService;
|
||||
import org.nl.system.service.dict.dao.Dict;
|
||||
@@ -16,6 +17,7 @@ import org.nl.wms.warehouse_management.service.dao.GroupPlate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
@@ -58,6 +60,70 @@ public class SectMaterialCheck {
|
||||
@Resource
|
||||
private CommonMapper commonMapper;
|
||||
|
||||
/**
|
||||
* 校验托盘的物料类型是否一致
|
||||
* @param groupPlates
|
||||
*/
|
||||
public void checkAllMaterialType(List<GroupPlate> groupPlates) {
|
||||
if (ObjectUtil.isEmpty(groupPlates)) {
|
||||
throw new BadRequestException("托盘物料信息不能为空!");
|
||||
}
|
||||
|
||||
// 仅取本托盘涉及到的物料ID(物料表数据量大也不会全表扫描)
|
||||
Set<String> materialIdSet = groupPlates.stream()
|
||||
.map(GroupPlate::getMaterial_id)
|
||||
.filter(ObjectUtil::isNotEmpty)
|
||||
.collect(Collectors.toCollection(HashSet::new));
|
||||
if (ObjectUtil.isEmpty(materialIdSet)) {
|
||||
throw new BadRequestException("托盘物料信息不能为空!");
|
||||
}
|
||||
if (materialIdSet.size() == 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 托盘明细本身不大:直接一次IN查询即可(只查必要字段,避免加载物料表大字段)
|
||||
List<MdMeMaterialbase> materials = materialbaseService.list(
|
||||
new QueryWrapper<MdMeMaterialbase>()
|
||||
.select("material_id", "material_type_id")
|
||||
.in("material_id", materialIdSet)
|
||||
);
|
||||
if (ObjectUtil.isEmpty(materials)) {
|
||||
throw new BadRequestException("物料不存在或已被删除!");
|
||||
}
|
||||
|
||||
// 校验物料是否都存在
|
||||
Set<String> foundMaterialIds = materials.stream()
|
||||
.filter(Objects::nonNull)
|
||||
.map(MdMeMaterialbase::getMaterial_id)
|
||||
.filter(ObjectUtil::isNotEmpty)
|
||||
.collect(Collectors.toSet());
|
||||
if (foundMaterialIds.size() != materialIdSet.size()) {
|
||||
Set<String> missing = new HashSet<>(materialIdSet);
|
||||
missing.removeAll(foundMaterialIds);
|
||||
throw new BadRequestException("物料不存在或已被删除:" + String.join(",", missing));
|
||||
}
|
||||
|
||||
// 校验物料类型是否一致
|
||||
long typeCnt = materials.stream()
|
||||
.map(MdMeMaterialbase::getMaterial_type_id)
|
||||
.filter(ObjectUtil::isNotEmpty)
|
||||
.distinct()
|
||||
.count();
|
||||
if (typeCnt == 0) {
|
||||
throw new BadRequestException("物料未配置物料类型(material_type_id),无法校验!");
|
||||
}
|
||||
if (typeCnt > 1) {
|
||||
throw new BadRequestException("托盘物料类型不一致,禁止操作!");
|
||||
}
|
||||
|
||||
// 若存在未配置类型的物料,也认为不允许通过
|
||||
boolean hasEmptyType = materials.stream().anyMatch(m -> ObjectUtil.isEmpty(m) || ObjectUtil.isEmpty(m.getMaterial_type_id()));
|
||||
if (hasEmptyType) {
|
||||
throw new BadRequestException("存在未配置物料类型(material_type_id)的物料,无法校验!");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取托盘对应的sect_code,比较所有param对应的物料的类型, 与字典表MATERIAL_SECT(label:物料类型,value:库区)是否匹配.
|
||||
* @param param
|
||||
|
||||
@@ -85,6 +85,9 @@ public class CallMaterialTask extends AbstractTask {
|
||||
task.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
taskService.save(task);
|
||||
|
||||
// 下发任务
|
||||
|
||||
@@ -68,6 +68,9 @@ public class CenterInTask extends AbstractTask {
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
taskService.save(task);
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
|
||||
// 下发任务
|
||||
// this.sendTaskOne(task.getTask_id());
|
||||
|
||||
@@ -58,7 +58,9 @@ public class CoatingUpTask extends AbstractTask {
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
taskService.save(task);
|
||||
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
// 下发任务
|
||||
// this.sendTaskOne(task.getTask_id());
|
||||
return task.getTask_id();
|
||||
|
||||
@@ -61,6 +61,9 @@ public class EmptyDiskConveyTask extends AbstractTask {
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
taskService.save(task);
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
// 下发任务
|
||||
// this.sendTaskOne(task.getTask_id());
|
||||
return task.getTask_id();
|
||||
|
||||
@@ -67,6 +67,9 @@ public class EmptyDiskEnterTask extends AbstractTask {
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
taskService.save(task);
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
// 下发任务
|
||||
// this.sendTaskOne(task.getTask_id());
|
||||
return task.getTask_id();
|
||||
|
||||
@@ -93,9 +93,11 @@ public class IntermediateOutTask extends AbstractTask {
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
taskService.save(task);
|
||||
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
// 下发任务
|
||||
this.sendTaskOne(task.getTask_id());
|
||||
// this.sendTaskOne(task.getTask_id());
|
||||
return task.getTask_id();
|
||||
}
|
||||
|
||||
@@ -178,6 +180,9 @@ public class IntermediateOutTask extends AbstractTask {
|
||||
taskObj.setRemark("已完成");
|
||||
taskService.updateById(taskObj);
|
||||
outBillService.taskFinish(taskObj);
|
||||
if (true) {
|
||||
return;
|
||||
}
|
||||
// 创建上料任务
|
||||
JSONObject request = JSONObject.parseObject(taskObj.getRequest_param());
|
||||
// "ext":{"iostorinv_id":"2009532623130595328","point_code":"ZJZCZ01","target":"YPDJW01"}
|
||||
|
||||
@@ -71,7 +71,9 @@ public class MaterialBackTask extends AbstractTask {
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
taskService.save(task);
|
||||
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
// 下发任务
|
||||
// this.sendTaskOne(task.getTask_id());
|
||||
return task.getTask_id();
|
||||
|
||||
@@ -103,9 +103,11 @@ public class PalletOutTask extends AbstractTask {
|
||||
structattrService.update(new LambdaUpdateWrapper<Structattr>()
|
||||
.set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("出库锁"))
|
||||
.eq(Structattr::getStruct_code, task.getPoint_code1()));
|
||||
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
// 下发任务
|
||||
this.sendTaskOne(task.getTask_id());
|
||||
// this.sendTaskOne(task.getTask_id());
|
||||
return task.getTask_id();
|
||||
}
|
||||
|
||||
|
||||
@@ -60,6 +60,9 @@ public class PalletizingAddTask extends AbstractTask {
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
taskService.save(task);
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
// 下发任务
|
||||
// this.sendTaskOne(task.getTask_id());
|
||||
return task.getTask_id();
|
||||
|
||||
@@ -67,6 +67,9 @@ public class PalletizingDownTask extends AbstractTask {
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
taskService.save(task);
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
// 下发任务
|
||||
// this.sendTaskOne(task.getTask_id());
|
||||
return task.getTask_id();
|
||||
|
||||
@@ -69,7 +69,9 @@ public class PreProcessingInTask extends AbstractTask {
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
taskService.save(task);
|
||||
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
// 下发任务
|
||||
// this.sendTaskOne(task.getTask_id());
|
||||
return task.getTask_id();
|
||||
|
||||
@@ -66,7 +66,9 @@ public class ProduceInTask extends AbstractTask {
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
taskService.save(task);
|
||||
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
// 下发任务
|
||||
// this.sendTaskOne(task.getTask_id());
|
||||
return task.getTask_id();
|
||||
|
||||
@@ -72,7 +72,9 @@ public class RawInTask extends AbstractTask {
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
taskService.save(task);
|
||||
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
// 下发任务
|
||||
// this.sendTaskOne(task.getTask_id());
|
||||
return task.getTask_id();
|
||||
|
||||
@@ -92,7 +92,9 @@ public class TabletingInTask extends AbstractTask {
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
taskService.save(task);
|
||||
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
// 下发任务
|
||||
// this.sendTaskOne(task.getTask_id());
|
||||
return task.getTask_id();
|
||||
@@ -175,6 +177,9 @@ public class TabletingInTask extends AbstractTask {
|
||||
throw new BadRequestException("入库库区设置不能为空!");
|
||||
}
|
||||
// todo: 获取重量
|
||||
if (true) {
|
||||
return;
|
||||
}
|
||||
groupbucketService.upDateWeight("26.8", taskObj.getVehicle_code());
|
||||
JSONObject param = new JSONObject();
|
||||
// 创建入库任务
|
||||
|
||||
@@ -75,6 +75,9 @@ public class WrappingDownTask extends AbstractTask {
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
taskService.save(task);
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
// 下发任务
|
||||
// this.sendTaskOne(task.getTask_id());
|
||||
return task.getTask_id();
|
||||
|
||||
@@ -74,6 +74,9 @@ public class WrappingUpTask extends AbstractTask {
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
taskService.save(task);
|
||||
if (task.getPoint_code1().equals(task.getPoint_code2())) {
|
||||
throw new BadRequestException("起点终点不能一致,请检查!");
|
||||
}
|
||||
// 下发任务
|
||||
// this.sendTaskOne(task.getTask_id());
|
||||
return task.getTask_id();
|
||||
|
||||
Reference in New Issue
Block a user