rev: 盘点任务下发
This commit is contained in:
@@ -38,7 +38,7 @@ public enum AcsTaskEnum {
|
||||
TASK_STRUCT_SHUT("15","拼盘任务"),
|
||||
TASK_STRUCT_CP_IN("11","入库-成品-生产入库"),
|
||||
TASK_STRUCT_CP_OUT("12","出库-成品-生产出库"),
|
||||
TASK_STRUCT_CP_CHECK("13","出库-成品-盘点"),
|
||||
TASK_STRUCT_CP_CHECK("13","成品-盘点"),
|
||||
|
||||
//回调状态
|
||||
STATUS_START("1","执行中"),
|
||||
|
||||
@@ -113,5 +113,13 @@ public class StIvtCheckmstCpController {
|
||||
iStIvtCheckmstCpService.processBox(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/sendTask")
|
||||
@Log("下发任务")
|
||||
@ApiOperation("下发任务")
|
||||
public ResponseEntity<Object> sendTask(@RequestBody JSONObject whereJson) {
|
||||
iStIvtCheckmstCpService.sendTask(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -55,4 +55,5 @@ public interface IStIvtCheckmstCpService extends IService<StIvtCheckmstCp> {
|
||||
|
||||
void taskOperate(JSONObject form);
|
||||
|
||||
void sendTask(JSONObject whereJson);
|
||||
}
|
||||
|
||||
@@ -107,7 +107,7 @@ public class StIvtCheckdtlCp implements Serializable {
|
||||
/**
|
||||
* 是否已下发
|
||||
*/
|
||||
private Boolean is_down;
|
||||
private String is_down;
|
||||
|
||||
/**
|
||||
* 盘点数量
|
||||
|
||||
@@ -15,6 +15,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.enums.AcsTaskEnum;
|
||||
import org.nl.common.publish.BussEventMulticaster;
|
||||
import org.nl.common.publish.event.PointEvent;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.common.utils.MapOf;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
@@ -26,6 +28,9 @@ import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtBsrealstorattr
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
|
||||
import org.nl.wms.product_manage.sch.manage.TaskStatusEnum;
|
||||
import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
|
||||
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
||||
import org.nl.wms.storage_manage.CHECKEnum;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.IStIvtCheckdtlCpService;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.IStIvtCheckmstCpService;
|
||||
@@ -52,6 +57,7 @@ import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -83,6 +89,9 @@ public class StIvtCheckmstCpServiceImpl extends ServiceImpl<StIvtCheckmstCpMappe
|
||||
private MdPbBucketrecordMapper mdPbBucketrecordMapper; // 箱mapper服务
|
||||
|
||||
|
||||
@Autowired
|
||||
private ISchBaseTaskService iSchBaseTaskService; // 任务表服务
|
||||
|
||||
@Autowired(required = false)
|
||||
private StIvtCheckdtlCpMapper stIvtCheckdtlCpMapper;
|
||||
|
||||
@@ -448,36 +457,98 @@ public class StIvtCheckmstCpServiceImpl extends ServiceImpl<StIvtCheckmstCpMappe
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void taskOperate(JSONObject form) {
|
||||
String task_id = form.getString("task_id");
|
||||
String status = form.getString("status");
|
||||
|
||||
List<StIvtCheckdtlCp> dtl_list = stIvtCheckdtlCpMapper.queryCheckDtlByTask(MapOf.of("task_id", task_id));
|
||||
StIvtCheckdtlCp dtl = dtl_list.get(0);
|
||||
if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode()) && dtl.getIs_down().equals("2")) {
|
||||
|
||||
// 更新任务为完成
|
||||
iSchBaseTaskService.update(
|
||||
new UpdateWrapper<SchBaseTask>().lambda()
|
||||
.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getTask_id, task_id)
|
||||
);
|
||||
|
||||
// 更新明细为完成
|
||||
iStIvtCheckdtlCpService.update(new UpdateWrapper<StIvtCheckdtlCp>()
|
||||
.set("status", CHECKEnum.DTL_STATUS.code("完成"))
|
||||
.set("status", CHECKEnum.DTL_STATUS.code("确认完成"))
|
||||
.eq("struct_id", dtl.getStruct_id())
|
||||
.eq("check_id", dtl.getCheck_id()));
|
||||
|
||||
//判断是否存在未完成的明细
|
||||
List<StIvtCheckdtlCp> list = iStIvtCheckdtlCpService.list(new QueryWrapper<StIvtCheckdtlCp>().eq("check_id", dtl.getCheck_id())
|
||||
.ne("status", CHECKEnum.DTL_STATUS.code("完成")));
|
||||
.ne("status", CHECKEnum.DTL_STATUS.code("确认完成")));
|
||||
|
||||
if (list.size() == 0) {
|
||||
|
||||
StIvtCheckmstCp jo_mst = this.getOne(new QueryWrapper<StIvtCheckmstCp>().eq("check_id", dtl.getCheck_id()));
|
||||
jo_mst.setStatus(CHECKEnum.BILL_STATUS.code("完成"));
|
||||
jo_mst.setConfirm_optid(SecurityUtils.getCurrentUserId());
|
||||
jo_mst.setConfirm_optname(SecurityUtils.getCurrentNickName());
|
||||
jo_mst.setConfirm_time(DateUtil.now());
|
||||
|
||||
//解锁起点点位、仓位
|
||||
List<StIvtCheckdtlCp> finish_list = iStIvtCheckdtlCpService.list(new QueryWrapper<StIvtCheckdtlCp>().eq("check_id", dtl.getCheck_id())
|
||||
.eq("status", CHECKEnum.DTL_STATUS.code("完成")));
|
||||
.eq("status", CHECKEnum.DTL_STATUS.code("确认完成")));
|
||||
|
||||
finish_list.stream()
|
||||
.map(StIvtCheckdtlCp::getStruct_id)
|
||||
.distinct()
|
||||
.forEach(struct_id -> structattrService.update(new UpdateWrapper<StIvtStructattr>().set("inv_code", "").set("lock_type", "0").eq("struct_id", struct_id)));
|
||||
}
|
||||
} else {
|
||||
if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) {
|
||||
// 更新任务为完成
|
||||
iSchBaseTaskService.update(
|
||||
new UpdateWrapper<SchBaseTask>().lambda()
|
||||
.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getTask_id, task_id)
|
||||
);
|
||||
} else {
|
||||
// 更新任务为执行中
|
||||
iSchBaseTaskService.update(
|
||||
new UpdateWrapper<SchBaseTask>().lambda()
|
||||
.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode())
|
||||
.eq(SchBaseTask::getTask_id, task_id)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void sendTask(JSONObject whereJson) {
|
||||
String point_code2 = whereJson.getString("point_code2");
|
||||
|
||||
StIvtCheckdtlCp dtlDao = iStIvtCheckdtlCpService.getById(whereJson.getString("checkdtl_id"));
|
||||
|
||||
// 找一个盘点位
|
||||
if (whereJson.getBoolean("is_antu_div")) {
|
||||
// TODO 暂时写死
|
||||
point_code2 = "070515";
|
||||
}
|
||||
|
||||
StIvtStructattr attrDao = structattrService.getById(whereJson.getString("struct_id"));
|
||||
|
||||
PointEvent event = PointEvent.builder()
|
||||
.type(AcsTaskEnum.TASK_STRUCT_CP_CHECK.getCode())
|
||||
.point_code1(attrDao.getStruct_code())
|
||||
.point_code2(point_code2)
|
||||
.vehicle_code(attrDao.getStoragevehicle_code())
|
||||
.product_area("A1") // 暂时写死
|
||||
.build();
|
||||
BussEventMulticaster.Publish(event);
|
||||
|
||||
dtlDao.setIs_down("1");
|
||||
iStIvtCheckdtlCpService.updateById(dtlDao);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void delete(Long[] ids) {
|
||||
|
||||
@@ -547,6 +547,14 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
||||
|
||||
// 更新任务状态为完成
|
||||
if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) {
|
||||
// 更新任务为完成
|
||||
iSchBaseTaskService.update(
|
||||
new UpdateWrapper<SchBaseTask>().lambda()
|
||||
.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getTask_id, task_id)
|
||||
);
|
||||
|
||||
// 更新分配为完成
|
||||
iostorinvdisCpService.update(
|
||||
new UpdateWrapper<StIvtIostorinvdisCp>().lambda()
|
||||
.eq(StIvtIostorinvdisCp::getTask_id, task_id)
|
||||
@@ -560,6 +568,14 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
||||
iostorinvdisCpService.confirm(mst_jo);
|
||||
|
||||
} else {
|
||||
// 更新任务为执行中
|
||||
iSchBaseTaskService.update(
|
||||
new UpdateWrapper<SchBaseTask>().lambda()
|
||||
.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode())
|
||||
.eq(SchBaseTask::getTask_id, task_id)
|
||||
);
|
||||
|
||||
// 更新分配为执行中
|
||||
iostorinvdisCpService.update(
|
||||
new UpdateWrapper<StIvtIostorinvdisCp>().lambda()
|
||||
.eq(StIvtIostorinvdisCp::getTask_id, task_id)
|
||||
|
||||
@@ -672,6 +672,13 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
|
||||
// 更新任务状态为完成
|
||||
if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) {
|
||||
// 更新任务为完成
|
||||
iSchBaseTaskService.update(
|
||||
new UpdateWrapper<SchBaseTask>().lambda()
|
||||
.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getTask_id, task_id)
|
||||
);
|
||||
// 更新分配明细为完成
|
||||
iostorinvdisCpService.update(
|
||||
new UpdateWrapper<StIvtIostorinvdisCp>().lambda()
|
||||
.eq(StIvtIostorinvdisCp::getTask_id, task_id)
|
||||
@@ -685,6 +692,13 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
iostorinvdisCpService.confirm(mst_jo);
|
||||
|
||||
} else {
|
||||
// 更新任务为执行中
|
||||
iSchBaseTaskService.update(
|
||||
new UpdateWrapper<SchBaseTask>().lambda()
|
||||
.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode())
|
||||
.eq(SchBaseTask::getTask_id, task_id)
|
||||
);
|
||||
// 更新分配为执行中
|
||||
iostorinvdisCpService.update(
|
||||
new UpdateWrapper<StIvtIostorinvdisCp>().lambda()
|
||||
.eq(StIvtIostorinvdisCp::getTask_id, task_id)
|
||||
|
||||
@@ -44,7 +44,7 @@ public enum TASKEnum implements FunctionStrategy<String, JSONObject> {
|
||||
IStIvtIostorinvCpOutService bean = SpringContextHolder.getBean(IStIvtIostorinvCpOutService.class);
|
||||
bean.taskOperate(form);
|
||||
}),
|
||||
CP_CHECK_TASK(type -> AcsTaskEnum.TASK_STRUCT_CP_OUT.getCode().equals(type), form -> {
|
||||
CP_CHECK_TASK(type -> AcsTaskEnum.TASK_STRUCT_CP_CHECK.getCode().equals(type), form -> {
|
||||
IStIvtCheckmstCpService bean = SpringContextHolder.getBean(IStIvtCheckmstCpService.class);
|
||||
bean.taskOperate(form);
|
||||
}),
|
||||
|
||||
@@ -79,7 +79,8 @@
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="addrow"
|
||||
:disabled="add_flag"
|
||||
@click="sendTask"
|
||||
>
|
||||
下发任务
|
||||
</el-button>
|
||||
@@ -320,6 +321,12 @@ export default {
|
||||
check_resultFormat(row, column) {
|
||||
return this.dict.label.check_result[row.check_result]
|
||||
},
|
||||
sendTask() {
|
||||
this.nowrow.is_antu_div = true // 是否自动分配盘点位
|
||||
check.sendTask(this.nowrow).then( res => {
|
||||
this.crud.notify('任务下发成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
})
|
||||
},
|
||||
addrow() {
|
||||
if (this.nowrow === null) {
|
||||
this.crud.notify('请先选中一条已存在的库存明细!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
|
||||
@@ -127,6 +127,14 @@ export function processBox(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export function sendTask(data) {
|
||||
return request({
|
||||
url: '/api/stIvtCheckmstCp/sendTask',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export default {
|
||||
add,
|
||||
edit,
|
||||
@@ -141,5 +149,6 @@ export default {
|
||||
getOutBillDis,
|
||||
process1,
|
||||
getBucketrecord,
|
||||
processBox
|
||||
processBox,
|
||||
sendTask
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user