rev:修改

This commit is contained in:
2026-02-10 15:18:48 +08:00
parent 0904d47e6f
commit 16a2a75a40
24 changed files with 249 additions and 59 deletions

View File

@@ -127,11 +127,13 @@
mater.material_id, mater.material_id,
mater.material_code, mater.material_code,
mater.material_name, mater.material_name,
mater.material_spec mater.material_spec,
class.class_name
FROM FROM
md_pb_storagevehicleext ext md_pb_storagevehicleext ext
INNER JOIN st_ivt_structattr attr ON ext.storagevehicle_code = attr.storagevehicle_code INNER JOIN st_ivt_structattr attr ON ext.storagevehicle_code = attr.storagevehicle_code
INNER JOIN md_me_materialbase mater ON mater.material_id = ext.material_id INNER JOIN md_me_materialbase mater ON mater.material_id = ext.material_id
LEFT JOIN md_pb_classstandard class ON mater.material_type_id = class.class_id
<where> <where>
1 = 1 1 = 1
<if test="param.stor_id != null and param.stor_id != ''"> <if test="param.stor_id != null and param.stor_id != ''">

View File

@@ -19,6 +19,8 @@ public class AcsResponse extends BaseResponse {
private JSONObject resultData = new JSONObject(); private JSONObject resultData = new JSONObject();
private JSONObject parameters = new JSONObject();
/** /**
* 请求失败 * 请求失败
* @param message 错误信息 * @param message 错误信息

View File

@@ -25,6 +25,7 @@ import org.nl.wms.pda.general_management.service.PdaCommonService;
import org.nl.wms.pda.general_management.service.dto.AssemblyBagParam; import org.nl.wms.pda.general_management.service.dto.AssemblyBagParam;
import org.nl.wms.pda.general_management.service.dto.AssemblyBucketParam; import org.nl.wms.pda.general_management.service.dto.AssemblyBucketParam;
import org.nl.wms.pda.general_management.service.dto.AssemblyPalletParam; import org.nl.wms.pda.general_management.service.dto.AssemblyPalletParam;
import org.nl.wms.pda.util.PDAEnum;
import org.nl.wms.pda.util.PdaResponse; import org.nl.wms.pda.util.PdaResponse;
import org.nl.wms.pda.util.SectMaterialCheck; import org.nl.wms.pda.util.SectMaterialCheck;
import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.enums.TaskStatus;
@@ -157,7 +158,7 @@ public class PdaCommonServiceImpl implements PdaCommonService {
@Override @Override
public PdaResponse getSectList(JSONObject param) { public PdaResponse getSectList(JSONObject param) {
return PdaResponse.requestParamOk(IOSEnum.SECT_CODE.getDict()); return PdaResponse.requestParamOk(PDAEnum.SECT_CODE.getDict());
} }
@Override @Override

View File

@@ -9,6 +9,8 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.common.exception.BadRequestException; import org.nl.common.exception.BadRequestException;
@@ -41,6 +43,7 @@ import org.nl.wms.sch_manage.service.util.AbstractTask;
import org.nl.wms.sch_manage.service.util.TaskFactory; import org.nl.wms.sch_manage.service.util.TaskFactory;
import org.nl.wms.sch_manage.service.util.tasks.PalletOutTask; import org.nl.wms.sch_manage.service.util.tasks.PalletOutTask;
import org.nl.wms.sch_manage.service.util.tasks.PreProcessingInTask; import org.nl.wms.sch_manage.service.util.tasks.PreProcessingInTask;
import org.nl.wms.warehouse_management.enums.IOSConstant;
import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.enums.IOSEnum;
import org.nl.wms.warehouse_management.service.IMdPbGroupplateService; import org.nl.wms.warehouse_management.service.IMdPbGroupplateService;
import org.nl.wms.warehouse_management.service.IOutBillService; import org.nl.wms.warehouse_management.service.IOutBillService;
@@ -428,7 +431,7 @@ public class PdaProductionServiceImpl implements PdaProductionService {
@Override @Override
public PdaResponse takeFinish(JSONObject param) { public PdaResponse takeFinish(JSONObject param) {
// todo: 下发允许AGV通过 // todo: 下发允许AGV取货完成可以离开
return PdaResponse.requestOk(); return PdaResponse.requestOk();
} }
@@ -453,6 +456,7 @@ public class PdaProductionServiceImpl implements PdaProductionService {
*/ */
@SneakyThrows @SneakyThrows
@Override @Override
@Transactional
public PdaResponse productionLine(JSONObject param) { public PdaResponse productionLine(JSONObject param) {
// point_code, vehicle_code is_wait // point_code, vehicle_code is_wait
log.info("手持下料:{}", param); log.info("手持下料:{}", param);
@@ -717,18 +721,33 @@ public class PdaProductionServiceImpl implements PdaProductionService {
try { try {
if (tryLock) { if (tryLock) {
assertNotBlankJson(param, "当前点位不能为空!", "row", "current_point", "vehicle_code"); assertNotBlankJson(param, "当前点位不能为空!", "row", "current_point", "vehicle_code");
JSONObject row = param.getJSONObject("row");
String currentPoint = param.getString("current_point"); String currentPoint = param.getString("current_point");
String vehicleCode = param.getString("vehicle_code"); String vehicleCode = param.getString("vehicle_code");
// ACS 获取的重量 // ACS 获取的重量
String total = param.getString("weight"); String total = param.getString("weight");
String taskId = row.getString("task_id"); // 查询是否有此终点、载具号未完成的任务
if (ObjectUtil.isNotEmpty(taskId)) { SchBaseTask taskDao = taskService.getOne(
new QueryWrapper<SchBaseTask>().lambda()
.eq(SchBaseTask::getPoint_code2, currentPoint)
.eq(SchBaseTask::getVehicle_code, vehicleCode)
.eq(SchBaseTask::getIs_delete, IOSConstant.ZERO)
.lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())
);
if (ObjectUtil.isNotEmpty(taskDao)) {
// 有任务直接任务完成 // 有任务直接任务完成
SchBaseTask baseTask = taskService.getById(taskId); taskDao.setTask_status(TaskStatus.FINISHED.getCode());
AbstractTask task = taskFactory.getTask(baseTask.getConfig_code()); taskService.updateById(taskDao);
task.updateTaskStatus(baseTask.getTask_code(), TaskStatus.FINISHED); // 更新起点
return PdaResponse.requestOk(); pointService.update(
new UpdateWrapper<SchBasePoint>().lambda()
.set(SchBasePoint::getVehicle_code, "")
.set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("空位"))
.set(SchBasePoint::getUpdate_id, SecurityUtils.getCurrentUserId())
.set(SchBasePoint::getUpdate_time, DateUtil.now())
.set(SchBasePoint::getUpdate_name, SecurityUtils.getCurrentNickName())
.set(SchBasePoint::getIng_task_code, "")
.eq(SchBasePoint::getPoint_code, taskDao.getPoint_code1())
);
} }
SchBasePoint startPoint = pointService.getById(currentPoint); SchBasePoint startPoint = pointService.getById(currentPoint);
// 没任务,证明是人工放上去录进去的 // 没任务,证明是人工放上去录进去的
@@ -783,14 +802,32 @@ public class PdaProductionServiceImpl implements PdaProductionService {
if (result.isExceeded()) { if (result.isExceeded()) {
throw new BadRequestException(result.toString()); throw new BadRequestException(result.toString());
} }
// 判断是否有任务 // 查询是否有此终点、载具号未完成的任务
String taskId = row.getString("task_id"); SchBaseTask taskDao = taskService.getOne(
if (ObjectUtil.isNotEmpty(taskId)) { new QueryWrapper<SchBaseTask>().lambda()
.eq(SchBaseTask::getPoint_code2, currentPoint)
.eq(SchBaseTask::getVehicle_code, vehicleCode)
.eq(SchBaseTask::getIs_delete, IOSConstant.ZERO)
.lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())
);
if (ObjectUtil.isNotEmpty(taskDao)) {
// 有任务直接任务完成 // 有任务直接任务完成
SchBaseTask baseTask = taskService.getById(taskId); taskDao.setTask_status(TaskStatus.FINISHED.getCode());
AbstractTask task = taskFactory.getTask(baseTask.getConfig_code()); taskService.updateById(taskDao);
task.updateTaskStatus(baseTask.getTask_code(), TaskStatus.FINISHED); // 更新起点
return PdaResponse.requestOk(); pointService.update(
new UpdateWrapper<SchBasePoint>().lambda()
.set(SchBasePoint::getVehicle_code, "")
.set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("空位"))
.set(SchBasePoint::getUpdate_id, SecurityUtils.getCurrentUserId())
.set(SchBasePoint::getUpdate_time, DateUtil.now())
.set(SchBasePoint::getUpdate_name, SecurityUtils.getCurrentNickName())
.set(SchBasePoint::getIng_task_code, "")
.eq(SchBasePoint::getPoint_code, taskDao.getPoint_code1())
);
// 完成单据
outBillService.taskFinish(taskDao);
} }
if (ObjectUtil.isEmpty(row.getString("station"))) { if (ObjectUtil.isEmpty(row.getString("station"))) {
throw new BadRequestException("请设置产线目标站!"); throw new BadRequestException("请设置产线目标站!");

View File

@@ -26,7 +26,10 @@ public enum PDAEnum {
)), )),
// 库区编码 // 库区编码
SECT_CODE(MapOf.of("合格区", "HG01", "待检", "DJ01", "不合格", "BHG01")), SECT_CODE(MapOf.of("包材存放室(1)主存", "NBC01", "批料待发室主存", "PZC01",
"中间站2主存区", "ZZC01", "物料存放室辅料区", "WFL01", "物料存放室原料区", "WYL01",
"物料存放室原料待发区", "WYD01"
)),
// 组盘品质类型 // 组盘品质类型
QUALITY_TYPE(MapOf.of("待检", "1", "合格", "2", "不合格", "3")), QUALITY_TYPE(MapOf.of("待检", "1", "合格", "2", "不合格", "3")),

View File

@@ -91,7 +91,7 @@ public class CallMaterialTask extends AbstractTask {
taskService.save(task); taskService.save(task);
// 下发任务 // 下发任务
// this.sendTaskOne(task.getTask_id()); this.sendTaskOne(task.getTask_id());
return task.getTask_id(); return task.getTask_id();
} }

View File

@@ -73,7 +73,7 @@ public class CenterInTask extends AbstractTask {
} }
// 下发任务 // 下发任务
// this.sendTaskOne(task.getTask_id()); this.sendTaskOne(task.getTask_id());
return task.getTask_id(); return task.getTask_id();
} }
@@ -99,6 +99,7 @@ public class CenterInTask extends AbstractTask {
} }
@Override @Override
@Transactional
protected void updateStatus(String task_code, TaskStatus status) { protected void updateStatus(String task_code, TaskStatus status) {
// 校验任务 // 校验任务
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
@@ -162,6 +163,7 @@ public class CenterInTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void forceFinish(String task_code) { public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {
@@ -171,6 +173,7 @@ public class CenterInTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void cancel(String task_code) { public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {

View File

@@ -25,6 +25,7 @@ import javax.annotation.Resource;
/** /**
* 包衣/内包装上料任务 * 包衣/内包装上料任务
*
* @author: lyd * @author: lyd
* @date: 2026/1/9 * @date: 2026/1/9
*/ */
@@ -62,7 +63,7 @@ public class CoatingUpTask extends AbstractTask {
throw new BadRequestException("起点终点不能一致,请检查!"); throw new BadRequestException("起点终点不能一致,请检查!");
} }
// 下发任务 // 下发任务
// this.sendTaskOne(task.getTask_id()); this.sendTaskOne(task.getTask_id());
return task.getTask_id(); return task.getTask_id();
} }
@@ -88,6 +89,7 @@ public class CoatingUpTask extends AbstractTask {
} }
@Override @Override
@Transactional
protected void updateStatus(String task_code, TaskStatus status) { protected void updateStatus(String task_code, TaskStatus status) {
// 校验任务 // 校验任务
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
@@ -112,14 +114,13 @@ public class CoatingUpTask extends AbstractTask {
} }
public void cancelTask(SchBaseTask taskObj) { public void cancelTask(SchBaseTask taskObj) {
// 更新任务状态 // 更新任务状态
taskObj.setTask_status(TaskStatus.CANCELED.getCode()); taskObj.setTask_status(TaskStatus.CANCELED.getCode());
taskObj.setRemark("已取消"); taskObj.setRemark("已取消");
taskService.updateById(taskObj); taskService.updateById(taskObj);
} }
@Transactional(rollbackFor = Exception.class) @Transactional
public void finishTask(SchBaseTask taskObj) { public void finishTask(SchBaseTask taskObj) {
// 任务完成 // 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskObj.setTask_status(TaskStatus.FINISHED.getCode());
@@ -134,6 +135,7 @@ public class CoatingUpTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void forceFinish(String task_code) { public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {
@@ -143,6 +145,7 @@ public class CoatingUpTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void cancel(String task_code) { public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {

View File

@@ -148,7 +148,7 @@ public class EmpStackPlatesTask extends AbstractTask {
} }
@Transactional(rollbackFor = Exception.class) @Transactional
public void finishTask(SchBaseTask taskObj) { public void finishTask(SchBaseTask taskObj) {
// 任务完成 // 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskObj.setTask_status(TaskStatus.FINISHED.getCode());
@@ -187,7 +187,7 @@ public class EmpStackPlatesTask extends AbstractTask {
} }
} }
@Transactional(rollbackFor = Exception.class) @Transactional
public void cancelTask(SchBaseTask taskObj) { public void cancelTask(SchBaseTask taskObj) {
// 取消任务 // 取消任务
taskService.update(new LambdaUpdateWrapper<SchBaseTask>() taskService.update(new LambdaUpdateWrapper<SchBaseTask>()

View File

@@ -89,6 +89,7 @@ public class EmptyDiskConveyTask extends AbstractTask {
} }
@Override @Override
@Transactional
protected void updateStatus(String task_code, TaskStatus status) { protected void updateStatus(String task_code, TaskStatus status) {
// 校验任务 // 校验任务
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
@@ -112,6 +113,7 @@ public class EmptyDiskConveyTask extends AbstractTask {
} }
} }
@Transactional
public void cancelTask(SchBaseTask taskObj) { public void cancelTask(SchBaseTask taskObj) {
// 更新任务状态 // 更新任务状态
@@ -161,6 +163,7 @@ public class EmptyDiskConveyTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void forceFinish(String task_code) { public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {
@@ -170,6 +173,7 @@ public class EmptyDiskConveyTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void cancel(String task_code) { public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {

View File

@@ -97,6 +97,7 @@ public class EmptyDiskEnterTask extends AbstractTask {
} }
@Override @Override
@Transactional
protected void updateStatus(String task_code, TaskStatus status) { protected void updateStatus(String task_code, TaskStatus status) {
// 校验任务 // 校验任务
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
@@ -120,6 +121,7 @@ public class EmptyDiskEnterTask extends AbstractTask {
} }
} }
@Transactional
public void cancelTask(SchBaseTask taskObj) { public void cancelTask(SchBaseTask taskObj) {
// 更新任务状态 // 更新任务状态
@@ -169,6 +171,7 @@ public class EmptyDiskEnterTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void forceFinish(String task_code) { public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {
@@ -178,6 +181,7 @@ public class EmptyDiskEnterTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void cancel(String task_code) { public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {

View File

@@ -1,20 +1,26 @@
package org.nl.wms.sch_manage.service.util.tasks; package org.nl.wms.sch_manage.service.util.tasks;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import org.nl.common.exception.BadRequestException; import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.SecurityUtils;
import org.nl.config.IdUtil; import org.nl.config.IdUtil;
import org.nl.system.service.param.ISysParamService;
import org.nl.system.service.param.dao.Param;
import org.nl.wms.basedata_manage.enums.BaseDataEnum; import org.nl.wms.basedata_manage.enums.BaseDataEnum;
import org.nl.wms.basedata_manage.service.IMdPdGroupbucketService;
import org.nl.wms.basedata_manage.service.dao.MdPdGroupbucket;
import org.nl.wms.ext.service.WmsToAcsService;
import org.nl.wms.ext.service.util.AcsResponse;
import org.nl.wms.pda.util.ThresholdChecker;
import org.nl.wms.sch_manage.enums.TaskEnum; import org.nl.wms.sch_manage.enums.TaskEnum;
import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.enums.TaskStatus;
import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.ISchBasePointService;
import org.nl.wms.sch_manage.service.ISchBaseTaskService; import org.nl.wms.sch_manage.service.ISchBaseTaskService;
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.sch_manage.service.dao.SchBaseTask;
import org.nl.wms.sch_manage.service.util.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.ACSTaskTypeEnum;
import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AbstractTask;
@@ -23,7 +29,6 @@ import org.nl.wms.sch_manage.service.util.TaskFactory;
import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSConstant;
import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.enums.IOSEnum;
import org.nl.wms.warehouse_management.service.IOutBillService; import org.nl.wms.warehouse_management.service.IOutBillService;
import org.nl.wms.warehouse_management.service.dao.GroupPlate;
import org.nl.wms.warehouse_management.service.dao.IOStorInvDis; import org.nl.wms.warehouse_management.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_management.service.dao.mapper.GroupPlateMapper; import org.nl.wms.warehouse_management.service.dao.mapper.GroupPlateMapper;
import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper; import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper;
@@ -32,9 +37,11 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
/** /**
* 中间出库 * 中间出库
*
* @author: lyd * @author: lyd
* @date: 2026/1/9 * @date: 2026/1/9
*/ */
@@ -72,6 +79,24 @@ public class IntermediateOutTask extends AbstractTask {
@Resource @Resource
private GroupPlateMapper groupPlateMapper; private GroupPlateMapper groupPlateMapper;
/**
* WMS调用ACS服务
*/
@Resource
private WmsToAcsService wmsToAcsService;
/**
* 桶记录服务
*/
@Resource
private IMdPdGroupbucketService iMdPdGroupbucketService;
/**
* 系统参数服务
*/
@Resource
private ISysParamService paramService;
@Override @Override
public String create(JSONObject json) { public String create(JSONObject json) {
SchBaseTask task = new SchBaseTask(); SchBaseTask task = new SchBaseTask();
@@ -97,7 +122,7 @@ public class IntermediateOutTask extends AbstractTask {
throw new BadRequestException("起点终点不能一致,请检查!"); throw new BadRequestException("起点终点不能一致,请检查!");
} }
// 下发任务 // 下发任务
// this.sendTaskOne(task.getTask_id()); this.sendTaskOne(task.getTask_id());
return task.getTask_id(); return task.getTask_id();
} }
@@ -169,17 +194,50 @@ public class IntermediateOutTask extends AbstractTask {
this.cancelTask(taskObj); this.cancelTask(taskObj);
} }
@Transactional(rollbackFor = Exception.class) @Transactional
public void finishTask(SchBaseTask taskObj) { public void finishTask(SchBaseTask taskObj) {
// todo: 获取重量判断与记录的重量是否一样(判断上下幅度阈值,超过则不继续) try {
// 获取入站时的桶
MdPdGroupbucket buckDao = iMdPdGroupbucketService.getOne(
new QueryWrapper<MdPdGroupbucket>().lambda()
.eq(MdPdGroupbucket::getBucket_code, taskObj.getVehicle_code())
);
// 获取称重重量
JSONObject jsonParam = new JSONObject();
jsonParam.put("device_code", taskObj.getPoint_code2());
jsonParam.put("bucket_code", taskObj.getVehicle_code());
AcsResponse weighAcs = wmsToAcsService.getWeighAcs(jsonParam);
if (weighAcs.getStatus() != 200) {
throw new BadRequestException("获取重量失败:" + weighAcs.getMessage());
}
JSONObject data = weighAcs.getParameters();
// 毛重
BigDecimal weigh = NumberUtil.round(data.getString("weigh"), 2);
// 净重
BigDecimal qty = NumberUtil.sub(weigh, buckDao.getBucket_weight());
// 获取系统参数
Param threshold = paramService.findByCode("weighing_threshold");
// 对比与组盘的重量是否大于阈值
ThresholdChecker.ThresholdCheckResult result = ThresholdChecker.checkThresholdWithDetails(
qty,
buckDao.getQty(),
threshold.getValue()
);
if (result.isExceeded()) {
throw new BadRequestException(result.toString());
}
} catch (Exception e) {
taskObj.setRemark(e.getMessage());
taskService.updateById(taskObj);
return;
}
// 任务完成 // 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setRemark("已完成"); taskObj.setRemark("已完成");
taskService.updateById(taskObj); taskService.updateById(taskObj);
outBillService.taskFinish(taskObj); outBillService.taskFinish(taskObj);
if (true) {
return;
}
// 创建上料任务 // 创建上料任务
JSONObject request = JSONObject.parseObject(taskObj.getRequest_param()); JSONObject request = JSONObject.parseObject(taskObj.getRequest_param());
// "ext":{"iostorinv_id":"2009532623130595328","point_code":"ZJZCZ01","target":"YPDJW01"} // "ext":{"iostorinv_id":"2009532623130595328","point_code":"ZJZCZ01","target":"YPDJW01"}

View File

@@ -75,7 +75,7 @@ public class MaterialBackTask extends AbstractTask {
throw new BadRequestException("起点终点不能一致,请检查!"); throw new BadRequestException("起点终点不能一致,请检查!");
} }
// 下发任务 // 下发任务
// this.sendTaskOne(task.getTask_id()); this.sendTaskOne(task.getTask_id());
return task.getTask_id(); return task.getTask_id();
} }
@@ -101,6 +101,7 @@ public class MaterialBackTask extends AbstractTask {
} }
@Override @Override
@Transactional
protected void updateStatus(String task_code, TaskStatus status) { protected void updateStatus(String task_code, TaskStatus status) {
// 校验任务 // 校验任务
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
@@ -124,7 +125,7 @@ public class MaterialBackTask extends AbstractTask {
} }
} }
@Transactional(rollbackFor = Exception.class) @Transactional
public void cancelTask(SchBaseTask taskObj) { public void cancelTask(SchBaseTask taskObj) {
// 取消任务 // 取消任务
taskService.update(new LambdaUpdateWrapper<SchBaseTask>() taskService.update(new LambdaUpdateWrapper<SchBaseTask>()
@@ -167,6 +168,7 @@ public class MaterialBackTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void forceFinish(String task_code) { public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {
@@ -176,6 +178,7 @@ public class MaterialBackTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void cancel(String task_code) { public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {

View File

@@ -107,7 +107,7 @@ public class PalletOutTask extends AbstractTask {
throw new BadRequestException("起点终点不能一致,请检查!"); throw new BadRequestException("起点终点不能一致,请检查!");
} }
// 下发任务 // 下发任务
// this.sendTaskOne(task.getTask_id()); this.sendTaskOne(task.getTask_id());
return task.getTask_id(); return task.getTask_id();
} }

View File

@@ -88,6 +88,7 @@ public class PalletizingAddTask extends AbstractTask {
} }
@Override @Override
@Transactional
protected void updateStatus(String task_code, TaskStatus status) { protected void updateStatus(String task_code, TaskStatus status) {
// 校验任务 // 校验任务
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
@@ -111,6 +112,7 @@ public class PalletizingAddTask extends AbstractTask {
} }
} }
@Transactional
public void cancelTask(SchBaseTask taskObj) { public void cancelTask(SchBaseTask taskObj) {
// 更新任务状态 // 更新任务状态
@@ -137,6 +139,7 @@ public class PalletizingAddTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void forceFinish(String task_code) { public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {
@@ -146,6 +149,7 @@ public class PalletizingAddTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void cancel(String task_code) { public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {

View File

@@ -96,6 +96,7 @@ public class PalletizingDownTask extends AbstractTask {
} }
@Override @Override
@Transactional
protected void updateStatus(String task_code, TaskStatus status) { protected void updateStatus(String task_code, TaskStatus status) {
// 校验任务 // 校验任务
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
@@ -119,6 +120,7 @@ public class PalletizingDownTask extends AbstractTask {
} }
} }
@Transactional
public void cancelTask(SchBaseTask taskObj) { public void cancelTask(SchBaseTask taskObj) {
// 更新任务状态 // 更新任务状态
@@ -160,6 +162,7 @@ public class PalletizingDownTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void forceFinish(String task_code) { public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {
@@ -169,6 +172,7 @@ public class PalletizingDownTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void cancel(String task_code) { public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {

View File

@@ -22,10 +22,14 @@ import org.nl.wms.sch_manage.service.util.AcsTaskDto;
import org.nl.wms.sch_manage.service.util.TaskType; import org.nl.wms.sch_manage.service.util.TaskType;
import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSConstant;
import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.enums.IOSEnum;
import org.nl.wms.warehouse_management.service.IMdPbGroupplateService;
import org.nl.wms.warehouse_management.service.IRawAssistIStorService; import org.nl.wms.warehouse_management.service.IRawAssistIStorService;
import org.nl.wms.warehouse_management.service.dao.GroupPlate;
import org.nl.wms.warehouse_management.service.dao.IOStorInvDis; import org.nl.wms.warehouse_management.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper; import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
@@ -42,6 +46,8 @@ public class PreProcessingInTask extends AbstractTask {
private ISchBaseTaskService taskService; private ISchBaseTaskService taskService;
@Resource @Resource
private ISchBasePointService pointService; private ISchBasePointService pointService;
@Resource
private IMdPbGroupplateService iMdPbGroupplateService;
@Override @Override
public String create(JSONObject json) { public String create(JSONObject json) {
@@ -73,7 +79,7 @@ public class PreProcessingInTask extends AbstractTask {
throw new BadRequestException("起点终点不能一致,请检查!"); throw new BadRequestException("起点终点不能一致,请检查!");
} }
// 下发任务 // 下发任务
// this.sendTaskOne(task.getTask_id()); this.sendTaskOne(task.getTask_id());
return task.getTask_id(); return task.getTask_id();
} }
@@ -99,6 +105,7 @@ public class PreProcessingInTask extends AbstractTask {
} }
@Override @Override
@Transactional
protected void updateStatus(String task_code, TaskStatus status) { protected void updateStatus(String task_code, TaskStatus status) {
// 校验任务 // 校验任务
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
@@ -122,6 +129,7 @@ public class PreProcessingInTask extends AbstractTask {
} }
} }
@Transactional
private void cancelTask(SchBaseTask taskObj) { private void cancelTask(SchBaseTask taskObj) {
// 取消任务 // 取消任务
taskService.update(new LambdaUpdateWrapper<SchBaseTask>() taskService.update(new LambdaUpdateWrapper<SchBaseTask>()
@@ -132,6 +140,7 @@ public class PreProcessingInTask extends AbstractTask {
); );
} }
@Transactional
private void finishTask(SchBaseTask taskObj) { private void finishTask(SchBaseTask taskObj) {
// 任务完成 // 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskObj.setTask_status(TaskStatus.FINISHED.getCode());
@@ -145,7 +154,7 @@ public class PreProcessingInTask extends AbstractTask {
.eq(SchBasePoint::getPoint_code, taskObj.getPoint_code1()) .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code1())
.set(SchBasePoint::getIng_task_code, "") .set(SchBasePoint::getIng_task_code, "")
); );
// 更新 // 更新
pointService.update( pointService.update(
new UpdateWrapper<SchBasePoint>().lambda() new UpdateWrapper<SchBasePoint>().lambda()
.set(SchBasePoint::getVehicle_code, taskObj.getVehicle_code()) .set(SchBasePoint::getVehicle_code, taskObj.getVehicle_code())
@@ -153,9 +162,17 @@ public class PreProcessingInTask extends AbstractTask {
.eq(SchBasePoint::getPoint_code, taskObj.getPoint_code2()) .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code2())
.set(SchBasePoint::getIng_task_code, "") .set(SchBasePoint::getIng_task_code, "")
); );
// 更新组盘信息
iMdPbGroupplateService.update(
new UpdateWrapper<GroupPlate>().lambda()
.set(GroupPlate::getStatus, IOSConstant.UPDATE_IVT_TYPE_SUB_FROZEN_ADD_CANUSE)
.eq(GroupPlate::getVehicle_code, taskObj.getVehicle_code())
);
} }
@Override @Override
@Transactional
public void forceFinish(String task_code) { public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {
@@ -165,6 +182,7 @@ public class PreProcessingInTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void cancel(String task_code) { public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {

View File

@@ -70,7 +70,7 @@ public class ProduceInTask extends AbstractTask {
throw new BadRequestException("起点终点不能一致,请检查!"); throw new BadRequestException("起点终点不能一致,请检查!");
} }
// 下发任务 // 下发任务
// this.sendTaskOne(task.getTask_id()); this.sendTaskOne(task.getTask_id());
return task.getTask_id(); return task.getTask_id();
} }
@@ -96,6 +96,7 @@ public class ProduceInTask extends AbstractTask {
} }
@Override @Override
@Transactional
protected void updateStatus(String task_code, TaskStatus status) { protected void updateStatus(String task_code, TaskStatus status) {
// 校验任务 // 校验任务
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
@@ -161,6 +162,7 @@ public class ProduceInTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void forceFinish(String task_code) { public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {
@@ -170,6 +172,7 @@ public class ProduceInTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void cancel(String task_code) { public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {

View File

@@ -76,7 +76,7 @@ public class RawInTask extends AbstractTask {
throw new BadRequestException("起点终点不能一致,请检查!"); throw new BadRequestException("起点终点不能一致,请检查!");
} }
// 下发任务 // 下发任务
// this.sendTaskOne(task.getTask_id()); this.sendTaskOne(task.getTask_id());
return task.getTask_id(); return task.getTask_id();
} }
@@ -102,6 +102,7 @@ public class RawInTask extends AbstractTask {
} }
@Override @Override
@Transactional
protected void updateStatus(String task_code, TaskStatus status) { protected void updateStatus(String task_code, TaskStatus status) {
// 校验任务 // 校验任务
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
@@ -168,6 +169,7 @@ public class RawInTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void forceFinish(String task_code) { public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {
@@ -177,6 +179,7 @@ public class RawInTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void cancel(String task_code) { public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {

View File

@@ -1,18 +1,19 @@
package org.nl.wms.sch_manage.service.util.tasks; package org.nl.wms.sch_manage.service.util.tasks;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import org.nl.common.exception.BadRequestException; import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.CodeUtil; import org.nl.common.utils.CodeUtil;
import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.SecurityUtils;
import org.nl.config.IdUtil; import org.nl.config.IdUtil;
import org.nl.wms.basedata_manage.enums.BaseDataEnum;
import org.nl.wms.basedata_manage.service.IMdPdGroupbucketService; import org.nl.wms.basedata_manage.service.IMdPdGroupbucketService;
import org.nl.wms.basedata_manage.service.ISectattrService; import org.nl.wms.basedata_manage.service.ISectattrService;
import org.nl.wms.basedata_manage.service.dao.Sectattr; import org.nl.wms.basedata_manage.service.dao.Sectattr;
import org.nl.wms.ext.service.WmsToAcsService;
import org.nl.wms.ext.service.util.AcsResponse;
import org.nl.wms.pda.general_management.service.PdaBuildParamService; import org.nl.wms.pda.general_management.service.PdaBuildParamService;
import org.nl.wms.sch_manage.enums.TaskEnum; import org.nl.wms.sch_manage.enums.TaskEnum;
import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.enums.TaskStatus;
@@ -27,7 +28,6 @@ import org.nl.wms.sch_manage.service.util.TaskType;
import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSConstant;
import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.enums.IOSEnum;
import org.nl.wms.warehouse_management.service.IRawAssistIStorService; import org.nl.wms.warehouse_management.service.IRawAssistIStorService;
import org.nl.wms.warehouse_management.service.dao.IOStorInvDis;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@@ -37,6 +37,7 @@ import java.util.Map;
/** /**
* 压片/包衣入库 * 压片/包衣入库
*
* @Author: lyd * @Author: lyd
* @Date: 2025/12/4 * @Date: 2025/12/4
*/ */
@@ -58,6 +59,15 @@ public class TabletingInTask extends AbstractTask {
private PdaBuildParamService defaultPdaBuildParam; private PdaBuildParamService defaultPdaBuildParam;
@Resource @Resource
private IRawAssistIStorService rawAssistIStorService; private IRawAssistIStorService rawAssistIStorService;
@Resource
private WmsToAcsService wmsToAcsService;
/**
* 桶记录服务
*/
@Resource
private IMdPdGroupbucketService iMdPdGroupbucketService;
@Override @Override
public String create(JSONObject json) { public String create(JSONObject json) {
//point_code, vehicle_code //point_code, vehicle_code
@@ -96,7 +106,7 @@ public class TabletingInTask extends AbstractTask {
throw new BadRequestException("起点终点不能一致,请检查!"); throw new BadRequestException("起点终点不能一致,请检查!");
} }
// 下发任务 // 下发任务
// this.sendTaskOne(task.getTask_id()); this.sendTaskOne(task.getTask_id());
return task.getTask_id(); return task.getTask_id();
} }
@@ -122,6 +132,7 @@ public class TabletingInTask extends AbstractTask {
} }
@Override @Override
@Transactional
protected void updateStatus(String task_code, TaskStatus status) { protected void updateStatus(String task_code, TaskStatus status) {
// 校验任务 // 校验任务
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
@@ -145,6 +156,7 @@ public class TabletingInTask extends AbstractTask {
} }
} }
@Transactional
public void cancelTask(SchBaseTask taskObj) { public void cancelTask(SchBaseTask taskObj) {
// 更新任务状态 // 更新任务状态
@@ -153,8 +165,30 @@ public class TabletingInTask extends AbstractTask {
taskService.updateById(taskObj); taskService.updateById(taskObj);
} }
@Transactional(rollbackFor = Exception.class) @Transactional
public void finishTask(SchBaseTask taskObj) { public void finishTask(SchBaseTask taskObj) {
String weigh;
try {
// 获取称重重量
JSONObject jsonParam = new JSONObject();
jsonParam.put("device_code", taskObj.getPoint_code2());
jsonParam.put("bucket_code", taskObj.getVehicle_code());
AcsResponse weighAcs = wmsToAcsService.getWeighAcs(jsonParam);
if (weighAcs.getStatus() != 200) {
throw new BadRequestException("获取重量失败:" + weighAcs.getMessage());
}
JSONObject data = weighAcs.getParameters();
if (ObjectUtil.isEmpty(data.getString("weigh")) || data.getDoubleValue("weigh") == 0) {
throw new BadRequestException("获取重量失败重量为0或者为空!");
}
// 毛重
weigh = NumberUtil.round(data.getString("weigh"), 2).toString();
} catch (Exception e) {
taskObj.setRemark(e.getMessage());
taskService.updateById(taskObj);
return;
}
// 任务完成 // 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setRemark("已完成"); taskObj.setRemark("已完成");
@@ -174,11 +208,9 @@ public class TabletingInTask extends AbstractTask {
if (ObjectUtil.isEmpty(startPoint.getIn_sect())) { if (ObjectUtil.isEmpty(startPoint.getIn_sect())) {
throw new BadRequestException("入库库区设置不能为空!"); throw new BadRequestException("入库库区设置不能为空!");
} }
// todo: 获取重量
if (true) { // 减去称重重量
return; groupbucketService.upDateWeight(weigh, taskObj.getVehicle_code());
}
groupbucketService.upDateWeight("26.8", taskObj.getVehicle_code());
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
// 创建入库任务 // 创建入库任务
List<JSONObject> infos = groupbucketService.getBucketInfoByBucket(taskObj.getVehicle_code()); List<JSONObject> infos = groupbucketService.getBucketInfoByBucket(taskObj.getVehicle_code());
@@ -197,6 +229,7 @@ public class TabletingInTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void forceFinish(String task_code) { public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {
@@ -206,6 +239,7 @@ public class TabletingInTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void cancel(String task_code) { public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {

View File

@@ -102,6 +102,7 @@ public class WrappingDownTask extends AbstractTask {
} }
@Override @Override
@Transactional
protected void updateStatus(String task_code, TaskStatus status) { protected void updateStatus(String task_code, TaskStatus status) {
// 校验任务 // 校验任务
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
@@ -125,6 +126,7 @@ public class WrappingDownTask extends AbstractTask {
} }
} }
@Transactional
public void cancelTask(SchBaseTask taskObj) { public void cancelTask(SchBaseTask taskObj) {
// 更新任务状态 // 更新任务状态
taskObj.setTask_status(TaskStatus.CANCELED.getCode()); taskObj.setTask_status(TaskStatus.CANCELED.getCode());
@@ -162,6 +164,7 @@ public class WrappingDownTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void forceFinish(String task_code) { public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {
@@ -171,6 +174,7 @@ public class WrappingDownTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void cancel(String task_code) { public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {

View File

@@ -78,7 +78,7 @@ public class WrappingUpTask extends AbstractTask {
throw new BadRequestException("起点终点不能一致,请检查!"); throw new BadRequestException("起点终点不能一致,请检查!");
} }
// 下发任务 // 下发任务
// this.sendTaskOne(task.getTask_id()); this.sendTaskOne(task.getTask_id());
return task.getTask_id(); return task.getTask_id();
} }
@@ -104,6 +104,7 @@ public class WrappingUpTask extends AbstractTask {
} }
@Override @Override
@Transactional
protected void updateStatus(String task_code, TaskStatus status) { protected void updateStatus(String task_code, TaskStatus status) {
// 校验任务 // 校验任务
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
@@ -127,6 +128,7 @@ public class WrappingUpTask extends AbstractTask {
} }
} }
@Transactional
public void cancelTask(SchBaseTask taskObj) { public void cancelTask(SchBaseTask taskObj) {
// 更新任务状态 // 更新任务状态
@@ -164,6 +166,7 @@ public class WrappingUpTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void forceFinish(String task_code) { public void forceFinish(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {
@@ -173,6 +176,7 @@ public class WrappingUpTask extends AbstractTask {
} }
@Override @Override
@Transactional
public void cancel(String task_code) { public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {

View File

@@ -102,7 +102,7 @@
FROM FROM
md_pb_groupplate late md_pb_groupplate late
INNER JOIN md_me_materialbase mater ON mater.material_id = late.material_id INNER JOIN md_me_materialbase mater ON mater.material_id = late.material_id
INNER JOIN md_cs_supplierbase supp ON supp.supp_code = late.supp_code LEFT JOIN md_cs_supplierbase supp ON supp.supp_code = late.supp_code
LEFT JOIN md_pb_classstandard class ON class.class_id = mater.material_type_id LEFT JOIN md_pb_classstandard class ON class.class_id = mater.material_type_id
<where> <where>
late.status = '1' late.status = '1'

View File

@@ -84,13 +84,9 @@
<el-table-column prop="sect_name" label="库区" :min-width="flexWidth('sect_name',crud.data,'库区')" /> <el-table-column prop="sect_name" label="库区" :min-width="flexWidth('sect_name',crud.data,'库区')" />
<el-table-column prop="material_code" label="物料编码" :min-width="flexWidth('material_code',crud.data,'物料编码')" /> <el-table-column prop="material_code" label="物料编码" :min-width="flexWidth('material_code',crud.data,'物料编码')" />
<el-table-column prop="material_name" label="物料名称" :min-width="flexWidth('material_name',crud.data,'物料名称')" /> <el-table-column prop="material_name" label="物料名称" :min-width="flexWidth('material_name',crud.data,'物料名称')" />
<el-table-column prop="material_spec" label="物料规格" :min-width="flexWidth('material_spec',crud.data,'物料规格')" /> <el-table-column prop="class_name" label="物料类别" :min-width="flexWidth('class_name',crud.data,'物料类别')" />
<el-table-column prop="pcsn" label="批次号" :min-width="flexWidth('pcsn',crud.data,'批次号')" /> <el-table-column prop="pcsn" label="批次号" :min-width="flexWidth('pcsn',crud.data,'批次号')" />
<el-table-column prop="storagevehicle_code" label="载具号"> <el-table-column prop="storagevehicle_code" label="载具号" :min-width="flexWidth('storagevehicle_code',crud.data,'载具号')" />
<template slot-scope="scope">
<el-link type="warning" @click="openBucket(scope.row)">{{ scope.row.storagevehicle_code }}</el-link>
</template>
</el-table-column>
<el-table-column prop="canuse_qty" label="可用数" :formatter="crud.formatNum3" :min-width="100" /> <el-table-column prop="canuse_qty" label="可用数" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="frozen_qty" label="冻结数" :formatter="crud.formatNum3" :min-width="100" /> <el-table-column prop="frozen_qty" label="冻结数" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="qty_unit_name" label="计量单位" :min-width="flexWidth('qty_unit_name',crud.data,'计量单位')" /> <el-table-column prop="qty_unit_name" label="计量单位" :min-width="flexWidth('qty_unit_name',crud.data,'计量单位')" />