opt: 优化任务

This commit is contained in:
2025-10-10 14:26:02 +08:00
parent ebee1c4037
commit fa521105ba
18 changed files with 70 additions and 38 deletions

View File

@@ -279,12 +279,13 @@ public class PdaJBServiceImpl implements PdaJBService {
JSONObject device = new JSONObject();
req.add(device);
device.put("device_code", pointCode);
AcsResponse pointStatus = wmsToAcsService.getPointStatus(req);
if (pointStatus.getCode() != 200) {
throw new BadRequestException("ACS读取重量数据失败, 请手动输入重量!");
}
JSONObject deviceInfo = pointStatus.getData().getJSONObject(0);
String netWeight = deviceInfo.getString("net_weight");
// AcsResponse pointStatus = wmsToAcsService.getPointStatus(req);
// if (pointStatus.getCode() != 200) {
// throw new BadRequestException("ACS读取重量数据失败, 请手动输入重量!");
// }
// JSONObject deviceInfo = pointStatus.getData().getJSONObject(0);
// String netWeight = deviceInfo.getString("net_weight");
String netWeight = "999.99";
JSONObject res = new JSONObject();
res.put("weight", netWeight);
res.put("flag", "1");
@@ -329,7 +330,7 @@ public class PdaJBServiceImpl implements PdaJBService {
List<SchBaseTask> list = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
.lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())
.eq(SchBaseTask::getIs_delete, false)
.eq(SchBaseTask::getTask_code, "JbDownAgvTask")
.eq(SchBaseTask::getConfig_code, "JbDownAgvTask")
.and(ll -> ll.like(SchBaseTask::getPoint_code1, pointCode).or()
.like(SchBaseTask::getPoint_code2, pointCode).or()
.like(SchBaseTask::getPoint_code3, pointCode).or()
@@ -662,11 +663,17 @@ public class PdaJBServiceImpl implements PdaJBService {
public PdaResponse jbGetLtInfo(JSONObject param) {
String vehicleCode = param.getString("vehicle_code");
String struct_code = param.getString("struct_code");
List<GroupInfoPdaVo> groups = pdaJBMapper.getGroupInfoByVehicle(vehicleCode, "02");
Structattr struct = structattrService.findByCode(struct_code);
if (ObjectUtil.isEmpty(struct)) {
throw new BadRequestException("仓位:" + struct_code + " 不存在,请检查编码是否正确!");
}
if (ObjectUtil.isEmpty(vehicleCode)) {
vehicleCode = struct.getStoragevehicle_code();
}
List<GroupInfoPdaVo> groups = pdaJBMapper.getGroupInfoByVehicle2(vehicleCode, Arrays.asList("01", "02"));
if (groups.size() > 1) {
throw new BadRequestException("组盘信息错误!");
}
Structattr struct = structattrService.findByCode(struct_code);
String message = "当前位置是" + (1 == struct.getOccupancy_state()
? "空位" : 2 == struct.getOccupancy_state() ? "空载具"
: "有料,但是找不到对应的组盘信息");
@@ -685,7 +692,11 @@ public class PdaJBServiceImpl implements PdaJBService {
}
Structattr structattr = structattrService.getByCode(pointCode);
if (ObjectUtil.isEmpty(structattr)) {
throw new BadRequestException("仓位:" + pointCode + " 不存在!");
throw new BadRequestException("仓位:" + pointCode + " 不存在,请检查编码是否正确");
}
List<GroupInfoPdaVo> groups = pdaJBMapper.getGroupInfoByVehicle(structattr.getStoragevehicle_code(), "02");
if (groups.size() > 0) {
throw new BadRequestException("当前位置是满桶,无法取出,请确认库存信息!");
}
// 1.3 仓位赋值
structattr.setStoragevehicle_code(null);

View File

@@ -37,4 +37,12 @@ public interface PdaJBMapper {
* @return
*/
List<GroupInfoPdaVo> getGroupInfoByVehicle(String vehicleCode, String groupStatus);
/**
* 获取组盘信息
* @param vehicleCode
* @param groupStatus
* @return
*/
List<GroupInfoPdaVo> getGroupInfoByVehicle2(String vehicleCode, List<String> groupStatus);
}

View File

@@ -54,4 +54,24 @@
WHERE mg.storagevehicle_code = #{vehicleCode}
AND mg.`status` = #{groupStatus}
</select>
<select id="getGroupInfoByVehicle2" resultType="org.nl.wms.pda_manage.sch_manage.service.GroupInfoPdaVo">
SELECT
mg.storagevehicle_code,
mg.pcsn,
mg.qty,
mg.qty_unit_name,
mg.supp_name,
mm.material_code,
mm.material_name,
mm.material_spec,
mm.material_model
FROM
`md_pb_groupplate` mg
LEFT JOIN md_me_materialbase mm ON mm.material_id = mg.material_id
WHERE mg.storagevehicle_code = #{vehicleCode}
AND mg.`status` IN
<foreach collection="groupStatus" item="code" separator="," open="(" close=")">
#{code}
</foreach>
</select>
</mapper>

View File

@@ -139,6 +139,8 @@ public class PmFormDataDto implements Serializable {
* 关联上级表单id
*/
private String parent_id;
private String supp_name;
private String supp_code;
private Boolean HasChildren=Boolean.FALSE;

View File

@@ -74,7 +74,7 @@ public class BackInTask extends AbstractTask {
task.setExt_task_code(json.getString("task_code"));
}
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
task.setTask_status(TaskStatus.CREATE.getCode());
task.setTask_status(TaskStatus.CREATED.getCode());
task.setConfig_code(json.getString("config_code"));
task.setPoint_code1(json.getString("point_code1"));
task.setPoint_code2(json.getString("point_code2"));

View File

@@ -53,7 +53,7 @@ public class MoveTask extends AbstractTask {
SchBaseTask task = new SchBaseTask();
task.setTask_id(IdUtil.getStringId());
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
task.setTask_status(TaskStatus.CREATE.getCode());
task.setTask_status(TaskStatus.CREATED.getCode());
task.setConfig_code(json.getString("config_code"));
task.setPoint_code1(json.getString("point_code1"));
task.setPoint_code2(json.getString("point_code2"));

View File

@@ -55,7 +55,7 @@ public class PdaPointTask extends AbstractTask {
SchBaseTask task = new SchBaseTask();
task.setTask_id(IdUtil.getStringId());
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
task.setTask_status(TaskStatus.CREATE.getCode());
task.setTask_status(TaskStatus.CREATED.getCode());
task.setConfig_code(json.getString("config_code"));
task.setPoint_code1(json.getString("point_code1"));
task.setPoint_code2(json.getString("point_code2"));

View File

@@ -46,7 +46,7 @@ public class StInTask extends AbstractTask {
SchBaseTask task = new SchBaseTask();
task.setTask_id(IdUtil.getStringId());
task.setTask_code(json.getString("TaskCode"));
task.setTask_status(TaskStatus.CREATE.getCode());
task.setTask_status(TaskStatus.CREATED.getCode());
task.setConfig_code(json.getString("task_type"));
task.setPoint_code1(json.getString("PickingLocation"));
task.setPoint_code2(json.getString("PlacedLocation"));

View File

@@ -68,7 +68,7 @@ public class StOutTask extends AbstractTask {
SchBaseTask task = new SchBaseTask();
task.setTask_id(IdUtil.getStringId());
task.setTask_code(json.getString("TaskCode"));
task.setTask_status(TaskStatus.CREATE.getCode());
task.setTask_status(TaskStatus.CREATED.getCode());
task.setConfig_code(json.getString("task_type"));
task.setPoint_code1(json.getString("PickingLocation"));
task.setPoint_code2(json.getString("PlacedLocation"));

View File

@@ -81,7 +81,7 @@ public class VehicleInTask extends AbstractTask {
} else {
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
}
task.setTask_status(TaskStatus.CREATE.getCode());
task.setTask_status(TaskStatus.CREATED.getCode());
task.setConfig_code(json.getString("config_code"));
task.setPoint_code1(json.getString("point_code1"));
task.setPoint_code2(json.getString("point_code2"));

View File

@@ -72,7 +72,7 @@ public class VehicleOutTask extends AbstractTask {
SchBaseTask task = new SchBaseTask();
task.setTask_id(IdUtil.getStringId());
task.setTask_code(json.getString("TaskCode"));
task.setTask_status(TaskStatus.CREATE.getCode());
task.setTask_status(TaskStatus.CREATED.getCode());
task.setConfig_code(json.getString("task_type"));
task.setPoint_code1(json.getString("PickingLocation"));
task.setPoint_code2(json.getString("PlacedLocation"));

View File

@@ -145,9 +145,6 @@ public class JbBackAgvTask extends AbstractTask {
if (ObjectUtil.isEmpty(taskObj)) {
throw new BadRequestException("该任务不存在");
}
if (!TaskStatus.CREATE.getCode().equals(taskObj.getTask_status())) {
throw new BadRequestException("任务状态必须为生成才能取消任务");
}
this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
}

View File

@@ -62,7 +62,7 @@ public class JbDownAgvTask extends AbstractTask {
SchBaseTask task = new SchBaseTask();
task.setTask_id(IdUtil.getStringId());
task.setTask_code(json.getString("TaskCode"));
task.setTask_status(TaskStatus.CREATE.getCode());
task.setTask_status(TaskStatus.CREATED.getCode());
task.setConfig_code(json.getString("task_type"));
task.setPoint_code1(json.getString("point_code1"));
task.setPoint_code2(json.getString("point_code2"));
@@ -232,9 +232,6 @@ public class JbDownAgvTask extends AbstractTask {
if (ObjectUtil.isEmpty(taskObj)) {
throw new BadRequestException("该任务不存在");
}
if (!TaskStatus.CREATE.getCode().equals(taskObj.getTask_status())) {
throw new BadRequestException("任务状态必须为生成才能取消任务");
}
this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
}

View File

@@ -222,9 +222,6 @@ public class JbUpAgvTask extends AbstractTask {
if (ObjectUtil.isEmpty(taskObj)) {
throw new BadRequestException("该任务不存在");
}
if (!TaskStatus.CREATE.getCode().equals(taskObj.getTask_status())) {
throw new BadRequestException("任务状态必须为生成才能取消任务");
}
this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
}

View File

@@ -85,7 +85,7 @@ public class DownEmptyUpFullTask extends AbstractTask {
if(json.containsKey("task_code")){
task.setExt_task_code(json.getString("task_code"));
}
task.setTask_status(TaskStatus.CREATE.getCode());
task.setTask_status(TaskStatus.CREATED.getCode());
task.setConfig_code(json.getString("task_type"));
task.setPoint_code1(json.getString("point_code1"));
task.setPoint_code2(json.getString("point_code2"));

View File

@@ -88,7 +88,7 @@ public class InBillTask extends AbstractTask {
SchBaseTask task = new SchBaseTask();
task.setTask_id(IdUtil.getStringId());
task.setTask_code(json.getString("task_code"));
task.setTask_status(TaskStatus.CREATE.getCode());
task.setTask_status(TaskStatus.CREATED.getCode());
task.setConfig_code(json.getString("config_code"));
task.setPoint_code1(json.getString("point_code1"));
task.setPoint_code2(json.getString("point_code2"));

View File

@@ -85,7 +85,7 @@ public class SeparateMaterialTask extends AbstractTask {
if(json.containsKey("task_code")){
task.setExt_task_code(json.getString("task_code"));
}
task.setTask_status(TaskStatus.CREATE.getCode());
task.setTask_status(TaskStatus.CREATED.getCode());
task.setConfig_code(json.getString("task_type"));
task.setPoint_code1(json.getString("point_code1"));
task.setPoint_code2(json.getString("point_code2"));

View File

@@ -198,14 +198,14 @@
<el-form-item label="物料规格" prop="material_spec">
<el-input v-model="form.material_spec" style="width: 240px;" disabled />
</el-form-item>
<el-form-item label="数量" prop="qty">
<el-input-number
v-model.number="form.qty"
:min="1"
:max="999999"
style="width: 240px;"
/>
</el-form-item>
<!-- <el-form-item label="数量" prop="qty">-->
<!-- <el-input-number-->
<!-- v-model.number="form.qty"-->
<!-- :min="1"-->
<!-- :max="999999"-->
<!-- style="width: 240px;"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="批次" prop="pcsn">
<el-input v-model="form.pcsn" style="width: 240px;" />
</el-form-item>