opt: 任务完成人、单据新增参数不对应
This commit is contained in:
@@ -146,6 +146,19 @@ public class PdaJBServiceImpl implements PdaJBService {
|
||||
if (!"1".equals(workorder.getWorkorder_status())) {
|
||||
throw new BadRequestException("该工单不是未生产,无法开工!");
|
||||
}
|
||||
// 判断任务
|
||||
// 存在任务就不继续
|
||||
List<SchBaseTask> list = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getIs_delete, false)
|
||||
.and(ll -> ll.like(SchBaseTask::getPoint_code1, pointCode).or()
|
||||
.like(SchBaseTask::getPoint_code2, pointCode).or()
|
||||
.like(SchBaseTask::getPoint_code3, pointCode).or()
|
||||
.like(SchBaseTask::getPoint_code4, pointCode).or()));
|
||||
if (list.size() > 0) {
|
||||
throw new BadRequestException(pointCode + " 该点位已存在任务!");
|
||||
}
|
||||
|
||||
// 出库的仓位
|
||||
Structattr outStructAttr = structattrService.getByCode(workorder.getStruct_code());
|
||||
if (ObjectUtil.isEmpty(outStructAttr)) {
|
||||
|
||||
@@ -119,8 +119,8 @@ public class PmFormDataParam extends BaseQuery<PmFormData> {
|
||||
* 说明
|
||||
*/
|
||||
private String remark;
|
||||
private String supper_code;
|
||||
private String supper_name;
|
||||
private String supp_code;
|
||||
private String supp_name;
|
||||
/**
|
||||
* 是否完结
|
||||
*/
|
||||
|
||||
@@ -91,21 +91,21 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
||||
public void create(PmFormDataParam params) {
|
||||
params.setCode(CodeUtil.getNewCode("EXT_BILL"));
|
||||
params.setSource_form_date(params.getSource_form_date());
|
||||
MdPbMeasureunit mdPbMeasureunit = iMdPbMeasureunitService.getOne(new LambdaQueryWrapper<MdPbMeasureunit>().eq(MdPbMeasureunit::getMeasure_unit_id, params.getUnit_id()));
|
||||
if (ObjectUtil.isEmpty(mdPbMeasureunit)) {
|
||||
throw new BadRequestException("没有该计量单位信息");
|
||||
}
|
||||
// MdPbMeasureunit mdPbMeasureunit = iMdPbMeasureunitService.getOne(new LambdaQueryWrapper<MdPbMeasureunit>().eq(MdPbMeasureunit::getMeasure_unit_id, params.getUnit_id()));
|
||||
// if (ObjectUtil.isEmpty(mdPbMeasureunit)) {
|
||||
// throw new BadRequestException("没有该计量单位信息");
|
||||
// }
|
||||
BsrealStorattr bsrealStorattr = iBsrealStorattrService.findById(params.getStor_id());
|
||||
if (ObjectUtil.isEmpty(bsrealStorattr)) {
|
||||
throw new BadRequestException("没有该仓库信息");
|
||||
}
|
||||
MdCsSupplierbase supp = supplierbaseService.getByCode(params.getSupper_code());
|
||||
MdCsSupplierbase supp = supplierbaseService.getByCode(params.getSupp_code());
|
||||
if (ObjectUtil.isEmpty(supp)) {
|
||||
throw new BadRequestException("供应商信息不存在!");
|
||||
}
|
||||
params.setSupper_name(supp.getSupp_name());
|
||||
params.setSupp_name(supp.getSupp_name());
|
||||
params.setStor_name(bsrealStorattr.getStor_name());
|
||||
params.setUnit_name(mdPbMeasureunit.getUnit_name());
|
||||
// params.setUnit_name(mdPbMeasureunit.getUnit_name());
|
||||
pmFormDataMapper.insert(getBasicInfo(params, true));
|
||||
}
|
||||
|
||||
@@ -125,11 +125,11 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
||||
if (ObjectUtil.isEmpty(bsrealStorattr)) {
|
||||
throw new BadRequestException("没有该仓库信息");
|
||||
}
|
||||
MdCsSupplierbase supp = supplierbaseService.getByCode(params.getSupper_code());
|
||||
MdCsSupplierbase supp = supplierbaseService.getByCode(params.getSupp_code());
|
||||
if (ObjectUtil.isEmpty(supp)) {
|
||||
throw new BadRequestException("供应商信息不存在!");
|
||||
}
|
||||
params.setSupper_name(supp.getSupp_name());
|
||||
params.setSupp_name(supp.getSupp_name());
|
||||
params.setStor_name(bsrealStorattr.getStor_name());
|
||||
params.setUnit_name(mdPbMeasureunit.getUnit_name());
|
||||
pmFormDataMapper.updateById(getBasicInfo(params, false));
|
||||
|
||||
@@ -53,11 +53,19 @@
|
||||
<choose>
|
||||
<!-- Case: whereJson.lock_type is true -->
|
||||
<when test="whereJson.lock_type">
|
||||
AND (p.ing_task_code IS NOT NULL AND p.ing_task_code <![CDATA[<>]]> '')
|
||||
AND 0 <![CDATA[<>]]> (SELECT COUNT(*) FROM sch_base_task t
|
||||
WHERE t.task_status <![CDATA[<]]> 5
|
||||
AND t.is_delete = false AND (t.point_code1 = p.point_code
|
||||
OR t.point_code2 = p.point_code OR t.point_code3 = p.point_code
|
||||
OR t.point_code4 = p.point_code ))
|
||||
</when>
|
||||
<!-- Case: whereJson.lock_type is false -->
|
||||
<otherwise>
|
||||
AND (p.ing_task_code IS NULL OR p.ing_task_code = '')
|
||||
AND 0 = (SELECT COUNT(*) FROM sch_base_task t
|
||||
WHERE t.task_status <![CDATA[<]]> 5
|
||||
AND t.is_delete = false AND (t.point_code1 = p.point_code
|
||||
OR t.point_code2 = p.point_code OR t.point_code3 = p.point_code
|
||||
OR t.point_code4 = p.point_code ))
|
||||
</otherwise>
|
||||
</choose>
|
||||
</where>
|
||||
|
||||
@@ -8,6 +8,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.sch_manage.enums.TaskFinishedTypeEnum;
|
||||
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
||||
import org.nl.wms.sch_manage.service.ISchBaseTaskconfigService;
|
||||
@@ -15,6 +16,7 @@ import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
||||
import org.nl.wms.sch_manage.service.dao.SchBaseTaskconfig;
|
||||
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
||||
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
||||
import org.nl.wms.sch_manage.service.util.TaskUtils;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
|
||||
@@ -105,13 +107,14 @@ public class JbBackAgvTask extends AbstractTask {
|
||||
if (status.equals(TaskStatus.EXECUTING)) {
|
||||
taskObj.setTask_status(TaskStatus.EXECUTING.getCode());
|
||||
taskObj.setRemark("执行中");
|
||||
TaskUtils.setUpdateByAcs(taskObj);
|
||||
taskService.updateById(taskObj);
|
||||
}
|
||||
if (status.equals(TaskStatus.FINISHED)) {
|
||||
this.finishTask(taskObj);
|
||||
this.finishTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);
|
||||
}
|
||||
if (status.equals(TaskStatus.CANCELED)) {
|
||||
this.cancelTask(taskObj);
|
||||
this.cancelTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,7 +124,7 @@ public class JbBackAgvTask extends AbstractTask {
|
||||
if (ObjectUtil.isEmpty(taskObj)) {
|
||||
throw new BadRequestException("该任务不存在");
|
||||
}
|
||||
this.finishTask(taskObj);
|
||||
this.finishTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -133,24 +136,25 @@ public class JbBackAgvTask extends AbstractTask {
|
||||
if (!TaskStatus.CREATE.getCode().equals(taskObj.getTask_status())) {
|
||||
throw new BadRequestException("任务状态必须为生成才能取消任务");
|
||||
}
|
||||
this.cancelTask(taskObj);
|
||||
this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
|
||||
}
|
||||
|
||||
private void finishTask(SchBaseTask taskObj) {
|
||||
private void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||
// 任务完成
|
||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||
taskObj.setRemark("已完成");
|
||||
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||
taskService.updateById(taskObj);
|
||||
inBillService.taskFinish(taskObj);
|
||||
}
|
||||
|
||||
private void cancelTask(SchBaseTask taskObj) {
|
||||
private void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||
// 取消任务
|
||||
taskService.update(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.set(SchBaseTask::getTask_status, TaskStatus.CANCELED.getCode())
|
||||
.set(SchBaseTask::getRemark, "已取消")
|
||||
.eq(SchBaseTask::getTask_id, taskObj.getTask_id())
|
||||
);
|
||||
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||
taskObj.setRemark("已取消");
|
||||
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||
taskService.updateById(taskObj);
|
||||
//分配表清除任务
|
||||
ioStorInvDisMapper.update(new IOStorInvDis(),new LambdaUpdateWrapper<>(IOStorInvDis.class)
|
||||
.set(IOStorInvDis::getTask_id,null)
|
||||
|
||||
@@ -11,6 +11,7 @@ import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.pm_manage.service.dao.PdmBdWorkorder;
|
||||
import org.nl.wms.sch_manage.enums.TaskFinishedTypeEnum;
|
||||
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
||||
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
||||
@@ -20,6 +21,7 @@ import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
||||
import org.nl.wms.sch_manage.service.dao.SchBaseTaskconfig;
|
||||
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
||||
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
||||
import org.nl.wms.sch_manage.service.util.TaskUtils;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
|
||||
@@ -117,23 +119,23 @@ public class JbDownAgvTask extends AbstractTask {
|
||||
if (status.equals(TaskStatus.EXECUTING)) {
|
||||
taskObj.setTask_status(TaskStatus.EXECUTING.getCode());
|
||||
taskObj.setRemark("执行中");
|
||||
TaskUtils.setUpdateByAcs(taskObj);
|
||||
taskService.updateById(taskObj);
|
||||
}
|
||||
if (status.equals(TaskStatus.FINISHED)) {
|
||||
this.finishTask(taskObj);
|
||||
this.finishTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);
|
||||
}
|
||||
if (status.equals(TaskStatus.CANCELED)) {
|
||||
this.cancelTask(taskObj);
|
||||
this.cancelTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);
|
||||
}
|
||||
}
|
||||
|
||||
private void cancelTask(SchBaseTask taskObj) {
|
||||
private void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||
// 取消任务
|
||||
taskService.update(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.set(SchBaseTask::getTask_status, TaskStatus.CANCELED.getCode())
|
||||
.set(SchBaseTask::getRemark, "已取消")
|
||||
.eq(SchBaseTask::getTask_id, taskObj.getTask_id())
|
||||
);
|
||||
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||
taskObj.setRemark("已取消");
|
||||
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||
taskService.updateById(taskObj);
|
||||
//分配表清除任务
|
||||
ioStorInvDisMapper.update(new IOStorInvDis(),new LambdaUpdateWrapper<>(IOStorInvDis.class)
|
||||
.set(IOStorInvDis::getTask_id,null)
|
||||
@@ -144,7 +146,7 @@ public class JbDownAgvTask extends AbstractTask {
|
||||
);
|
||||
}
|
||||
|
||||
private void finishTask(SchBaseTask taskObj) {
|
||||
private void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||
// 任务完成
|
||||
taskObj.setRemark("该任务已完成,等待最后一条任务完成后全部完成!");
|
||||
if ("1".equals(taskObj.getTask_group_seq().toString())) {
|
||||
@@ -169,12 +171,15 @@ public class JbDownAgvTask extends AbstractTask {
|
||||
pointService.updateById(khgPoint);
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
task.setTask_status(TaskStatus.FINISHED.getCode());
|
||||
TaskUtils.setUpdateByType(task, taskFinishedType);
|
||||
task.setRemark("任务执行完毕");
|
||||
task.setFinished_type(taskFinishedType.getCode());
|
||||
taskService.update(task, new LambdaQueryWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_group_id, taskObj.getTask_group_id()));
|
||||
inBillService.taskFinish(taskObj);
|
||||
return;
|
||||
}
|
||||
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||
taskService.updateById(taskObj);
|
||||
}
|
||||
|
||||
@@ -184,7 +189,7 @@ public class JbDownAgvTask extends AbstractTask {
|
||||
if (ObjectUtil.isEmpty(taskObj)) {
|
||||
throw new BadRequestException("该任务不存在");
|
||||
}
|
||||
this.finishTask(taskObj);
|
||||
this.finishTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -196,7 +201,7 @@ public class JbDownAgvTask extends AbstractTask {
|
||||
if (!TaskStatus.CREATE.getCode().equals(taskObj.getTask_status())) {
|
||||
throw new BadRequestException("任务状态必须为生成才能取消任务");
|
||||
}
|
||||
this.cancelTask(taskObj);
|
||||
this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -145,6 +145,7 @@ public class JbUpAgvTask extends AbstractTask {
|
||||
// 任务完成
|
||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||
taskObj.setRemark("已完成");
|
||||
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||
taskService.updateById(taskObj);
|
||||
outBillService.taskFinish(taskObj);
|
||||
|
||||
@@ -676,7 +676,6 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
||||
SchBasePoint parentPoint = pointService.getById(rkPoint.getParent_point_code());
|
||||
// 2、创建任务(4条任务、优先级需要获取所有的任务中的最小值并且-1,默认8)
|
||||
// 获取工单对应的区域的出入点
|
||||
// todo: 不对
|
||||
SchBasePoint intoPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "2");
|
||||
SchBasePoint emptyPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "5");
|
||||
SchBasePoint fullPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "6");
|
||||
|
||||
Reference in New Issue
Block a user