forked from BaoKaiWms/202501-Wms-Kate-Wuxi
1. 增加kitting备注的显示。
2. 增加outs的更新。
This commit is contained in:
parent
d5cdf23197
commit
60ca631acb
|
|
@ -62,14 +62,14 @@
|
|||
<el-table-column prop="requestTime" label="请求时间" :formatter="timeFormat" min-width="120px"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip/>
|
||||
<!-- <el-table-column fixed="right" label="操作" width="170px">
|
||||
<el-table-column fixed="right" label="操作" width="170px">
|
||||
<template v-slot="scope">
|
||||
<div style="display: inline-block; align-content: center;">
|
||||
<el-button type="primary"
|
||||
@click="editCurrentRowFormEntity(scope.row)">编辑</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<br/>
|
||||
<el-pagination v-model:current-page="baseTableQuery.currentPage"
|
||||
|
|
|
|||
|
|
@ -22,6 +22,11 @@
|
|||
:value="item"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="K料备注" prop="kittingRemark"
|
||||
v-if="workFormEntity.kittingRemark !== '' && workFormEntity.kittingRemark !== null && workFormEntity.kittingRemark !== undefined">
|
||||
<el-input v-model="workFormEntity.kittingRemark" placeholder="K料备注"
|
||||
:input-style="{'color':'red'}" readonly/>
|
||||
</el-form-item>
|
||||
<el-form-item label="原始成品号" prop="productIdOrigin">
|
||||
<el-input v-model="workFormEntity.productIdOrigin" placeholder="原始成品号" disabled/>
|
||||
</el-form-item>
|
||||
|
|
@ -96,6 +101,10 @@
|
|||
<el-form-item label="料盒号" prop="boxNo">
|
||||
<el-input v-model="confirmEntity.boxNo" disabled/>
|
||||
</el-form-item>
|
||||
<el-form-item label="K料备注" prop="kittingRemark">
|
||||
<el-input v-model="confirmEntity.kittingRemark"
|
||||
:input-style="{'color': 'red'}" readonly/>
|
||||
</el-form-item>
|
||||
<el-form-item label="计划拣选数量" prop="planPickQty">
|
||||
<el-input v-model="confirmEntity.planPickQty" disabled/>
|
||||
</el-form-item>
|
||||
|
|
@ -260,7 +269,8 @@ let workFormEntity = reactive({
|
|||
singleProductId: '',
|
||||
boxNo: '',
|
||||
goodsId: '',
|
||||
planStartDate: null
|
||||
planStartDate: null,
|
||||
kittingRemark: ''
|
||||
})
|
||||
let workFormQuery = reactive({
|
||||
workOrder: '',
|
||||
|
|
@ -337,6 +347,7 @@ watch(() => workFormEntity.workOrder, (newVal, oldVal) => {
|
|||
workFormEntity.singleProductId = ''
|
||||
workFormEntity.boxNo = ''
|
||||
workFormEntity.goodsId = ''
|
||||
workFormEntity.kittingRemark = ''
|
||||
}
|
||||
})
|
||||
watch(() => workFormEntity.productId, (newVal, oldVal) => {
|
||||
|
|
@ -389,6 +400,7 @@ const initWorkOptions = () => {
|
|||
// 设置成品号
|
||||
workFormEntity.productIdOrigin = response.data.productIdOrigin
|
||||
workFormEntity.productId = response.data.productId
|
||||
workFormEntity.kittingRemark = response.data.kittingRemark
|
||||
workOptions.singleProductId = response.data.singleProductId
|
||||
workOptions.boxNo = response.data.boxNo
|
||||
workOptions.goodsId = response.data.goodsId
|
||||
|
|
@ -397,6 +409,7 @@ const initWorkOptions = () => {
|
|||
// 重置成品号
|
||||
workFormEntity.productIdOrigin = ''
|
||||
workFormEntity.productId = ''
|
||||
workFormEntity.kittingRemark = ''
|
||||
workOptions.singleProductId = []
|
||||
workOptions.boxNo = []
|
||||
workOptions.goodsId = []
|
||||
|
|
@ -420,6 +433,7 @@ const resetWorkFormQuery = () => {
|
|||
workFormEntity.singleProductId = ''
|
||||
workFormEntity.boxNo = ''
|
||||
workFormEntity.goodsId = ''
|
||||
workFormEntity.kittingRemark = ''
|
||||
}
|
||||
// 确认配料
|
||||
const confirmStart = () => {
|
||||
|
|
@ -506,6 +520,7 @@ const getWork = () => {
|
|||
confirmEntity.goodsId = response.data.orderConfirm.goodsId
|
||||
confirmEntity.planPickQty = response.data.orderConfirm.planPickQty
|
||||
confirmEntity.realPickQty = response.data.orderConfirm.realPickQty
|
||||
confirmEntity.kittingRemark = response.data.orderConfirm.kittingRemark
|
||||
confirmEntity.stockId = response.data.stockConfirm.stockId
|
||||
confirmEntity.vehicleId = response.data.stockConfirm.vehicleId
|
||||
confirmEntity.planRemainQty = response.data.stockConfirm.planRemainQty
|
||||
|
|
@ -528,11 +543,13 @@ const getWork = () => {
|
|||
confirmEntity.boxNo = response.data.orderConfirm.boxNo
|
||||
confirmEntity.productId = response.data.orderConfirm.productId
|
||||
confirmEntity.singleProductId = response.data.orderConfirm.singleProductId
|
||||
confirmEntity.kittingRemark = response.data.orderConfirm.kittingRemark
|
||||
} else {
|
||||
confirmEntity.workOrder = ''
|
||||
confirmEntity.boxNo = ''
|
||||
confirmEntity.productId = ''
|
||||
confirmEntity.singleProductId = ''
|
||||
confirmEntity.kittingRemark = ''
|
||||
}
|
||||
}
|
||||
}).catch(err => {
|
||||
|
|
@ -624,6 +641,7 @@ const resetConfirmEntity = () => {
|
|||
confirmEntity.planPickQty = null
|
||||
confirmEntity.realPickQty = null
|
||||
confirmEntity.stockId = ''
|
||||
confirmEntity.kittingRemark = ''
|
||||
confirmEntity.vehicleId = ''
|
||||
confirmEntity.planRemainQty = null
|
||||
confirmEntity.realRemainQty = null
|
||||
|
|
|
|||
|
|
@ -52,4 +52,9 @@ public class OrderConfirmEntity {
|
|||
*/
|
||||
@JsonProperty("realPickQty")
|
||||
private Integer realPickQty;
|
||||
/**
|
||||
* 拣选备注
|
||||
*/
|
||||
@JsonProperty("kittingRemark")
|
||||
private String kittingRemark;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
package com.wms_main.model.dto.request.wms;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 出库单更新请求
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class OutsUpdateRequest extends BaseWmsRequest {
|
||||
/**
|
||||
* 任务号
|
||||
*/
|
||||
@JsonProperty("taskId")
|
||||
private String taskId;
|
||||
/**
|
||||
* 更新类型
|
||||
* 1: 取消
|
||||
* 2: 完成
|
||||
* 3: 重置
|
||||
*/
|
||||
@JsonProperty("updateType")
|
||||
private Integer updateType;
|
||||
}
|
||||
|
|
@ -92,4 +92,10 @@ public class TAppStandWork {
|
|||
*/
|
||||
@TableField(value = "put_area")
|
||||
private String putArea;
|
||||
/**
|
||||
* 备注
|
||||
* 主要用于标识ECN
|
||||
*/
|
||||
@TableField(value = "kitting_remark")
|
||||
private String kittingRemark;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -113,4 +113,10 @@ public class TAppWork {
|
|||
*/
|
||||
@TableField(value = "product_type")
|
||||
private Integer productType;
|
||||
/**
|
||||
* 备注
|
||||
* 用于ECN相关
|
||||
*/
|
||||
@TableField(value = "kitting_remark")
|
||||
private String kittingRemark;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -105,4 +105,10 @@ public class TAppWorkRecord {
|
|||
*/
|
||||
@TableField(value = "product_type")
|
||||
private Integer productType;
|
||||
/**
|
||||
* 备注
|
||||
* 用于ECN相关
|
||||
*/
|
||||
@TableField(value = "kitting_remark")
|
||||
private String kittingRemark;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,4 +50,10 @@ public class KateWorkOptionsVo {
|
|||
*/
|
||||
@JsonProperty("goodsId")
|
||||
private List<String> goodsId = Collections.emptyList();
|
||||
/**
|
||||
* 备注
|
||||
* 主要用于ECN
|
||||
*/
|
||||
@JsonProperty("kittingRemark")
|
||||
private String kittingRemark = "";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -347,7 +347,8 @@ public class ConveyTaskServiceImpl implements IConveyTaskService {
|
|||
thisWork.getGoodsId(),
|
||||
thisWork.getBoxNo(),
|
||||
planPickQty,
|
||||
planPickQty
|
||||
planPickQty,
|
||||
thisWork.getKittingRemark()
|
||||
);
|
||||
StockConfirmEntity stockConfirmVo = new StockConfirmEntity(
|
||||
pickPlan.getPlanId(),
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.wms_main.service.controller;
|
||||
|
||||
import com.wms_main.model.dto.request.wms.OutsUpdateRequest;
|
||||
import com.wms_main.model.dto.request.wms.WmsTaskRequest;
|
||||
import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
|
||||
|
||||
|
|
@ -20,4 +21,11 @@ public interface ITaskOperationControllerService {
|
|||
* @return 更新结果
|
||||
*/
|
||||
BaseWmsApiResponse updateWmsTask(WmsTaskRequest wmsTaskRequest);
|
||||
|
||||
/**
|
||||
* 更新出库表单---取消或者完成
|
||||
* @param outsUpdateRequest 请求
|
||||
* @return 结果
|
||||
*/
|
||||
BaseWmsApiResponse updateOutsTask(OutsUpdateRequest outsUpdateRequest);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -103,6 +103,8 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
|
|||
result.setProductIdOrigin(dbs.getProductIdOrigin());
|
||||
// 设置过滤成品号
|
||||
result.setProductId(dbs.getProductId());
|
||||
// 设置备注
|
||||
result.setKittingRemark(dbs.getKittingRemark());
|
||||
if (!getWorkOptionsOfServicePieces(kateWorksQuery, dbs.getProductIdOrigin(), result)) {
|
||||
if (getWorkOptionsOfNonServicePieces(kateWorksQuery, dbs.getProductId(), result)) {
|
||||
result.setProductType(1);// 普通成品
|
||||
|
|
@ -298,7 +300,8 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
|
|||
thisStandWork.getGoodsId(),
|
||||
thisStandWork.getBoxNo(),
|
||||
thisStandWork.getPlanPickQty(),
|
||||
thisStandWork.getRealPickQty()),
|
||||
thisStandWork.getRealPickQty(),
|
||||
thisStandWork.getKittingRemark()),
|
||||
new StockConfirmEntity(
|
||||
thisStandWork.getStockId(),
|
||||
thisStandWork.getVehicleId(),
|
||||
|
|
@ -1438,7 +1441,8 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
|
|||
work.getGoodsId(),
|
||||
work.getBoxNo(),
|
||||
thisNeedNum,
|
||||
thisNeedNum
|
||||
thisNeedNum,
|
||||
work.getKittingRemark()
|
||||
);
|
||||
// 查找到这个库外料
|
||||
TAppGoods outGoods = new TAppGoods();
|
||||
|
|
@ -1702,6 +1706,7 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
|
|||
tempServiceProductWork.setIsOut(0);
|
||||
}
|
||||
tempServiceProductWork.setLackStatus(0);
|
||||
tempServiceProductWork.setKittingRemark(dbs.getKittingRemark());// ECN备注
|
||||
workList.add(tempServiceProductWork);
|
||||
}
|
||||
// 查询服务件是否包含单片
|
||||
|
|
@ -1736,6 +1741,7 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
|
|||
tempSingleServiceProductWork.setIsOut(0);
|
||||
}
|
||||
tempSingleServiceProductWork.setLackStatus(0);
|
||||
tempSingleServiceProductWork.setKittingRemark(dbs.getKittingRemark());// ECN备注
|
||||
workList.add(tempSingleServiceProductWork);
|
||||
}
|
||||
}
|
||||
|
|
@ -1772,6 +1778,7 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
|
|||
tempNonServiceProductWork.setIsOut(0);
|
||||
}
|
||||
tempNonServiceProductWork.setLackStatus(0);
|
||||
tempNonServiceProductWork.setKittingRemark(dbs.getKittingRemark());// ECN备注
|
||||
workList.add(tempNonServiceProductWork);
|
||||
}
|
||||
// 查询服务件是否包含单片
|
||||
|
|
@ -1806,6 +1813,7 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
|
|||
tempSingleNonServiceProductWork.setIsOut(0);
|
||||
}
|
||||
tempSingleNonServiceProductWork.setLackStatus(0);
|
||||
tempSingleNonServiceProductWork.setKittingRemark(dbs.getKittingRemark());// ECN备注
|
||||
workList.add(tempSingleNonServiceProductWork);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,16 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.wms_main.constant.enums.wcs.WcsStackerTaskStatusEnums;
|
||||
import com.wms_main.constant.enums.wms.WmsStackerTaskStatusEnums;
|
||||
import com.wms_main.dao.ITAppTaskBakService;
|
||||
import com.wms_main.dao.ITAppTaskService;
|
||||
import com.wms_main.dao.ITAppWcsTaskBakService;
|
||||
import com.wms_main.dao.ITAppWcsTaskService;
|
||||
import com.wms_main.dao.*;
|
||||
import com.wms_main.model.dto.request.wms.OutsUpdateRequest;
|
||||
import com.wms_main.model.dto.request.wms.WmsTaskRequest;
|
||||
import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
|
||||
import com.wms_main.model.po.TAppTask;
|
||||
import com.wms_main.model.po.TAppTaskBak;
|
||||
import com.wms_main.model.po.TAppWcsTask;
|
||||
import com.wms_main.model.po.TAppWcsTaskBak;
|
||||
import com.wms_main.model.po.*;
|
||||
import com.wms_main.repository.utils.ConvertUtils;
|
||||
import com.wms_main.repository.utils.StringUtils;
|
||||
import com.wms_main.service.controller.ITaskOperationControllerService;
|
||||
|
|
@ -34,9 +29,14 @@ public class TaskOperationControllerServiceImpl implements ITaskOperationControl
|
|||
private final ITAppTaskBakService appTaskBakService;// wms任务记录服务
|
||||
private final ITAppWcsTaskService appWcsTaskService;// wcs任务服务
|
||||
private final ITAppWcsTaskBakService appWcsTaskBakService;// wcs任务记录服务
|
||||
private final ITAppOutsService appOutsService;// 出库单服务
|
||||
private final ITAppOutsRecordService appOutsRecordService;// 出库单记录服务
|
||||
private final ITAppPickPlanService appPickPlanService;// 拣选计划服务
|
||||
private final ITAppPickTaskService appPickTaskService;// 拣选任务服务
|
||||
|
||||
/**
|
||||
* 删除wms任务
|
||||
*
|
||||
* @param wmsTaskRequest 请求参数
|
||||
* @return 删除结果
|
||||
*/
|
||||
|
|
@ -60,6 +60,7 @@ public class TaskOperationControllerServiceImpl implements ITaskOperationControl
|
|||
|
||||
/**
|
||||
* 更新wms任务
|
||||
*
|
||||
* @param wmsTaskRequest 请求参数
|
||||
* @return 更新结果
|
||||
*/
|
||||
|
|
@ -176,9 +177,83 @@ public class TaskOperationControllerServiceImpl implements ITaskOperationControl
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新当前的出库单任务---取消或者完成
|
||||
*
|
||||
* @param outsUpdateRequest 请求
|
||||
* @return 处理结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public BaseWmsApiResponse updateOutsTask(OutsUpdateRequest outsUpdateRequest) {
|
||||
// 校验参数
|
||||
if (outsUpdateRequest == null) {
|
||||
return BaseWmsApiResponse.error("请求参数不能为NULL。");
|
||||
}
|
||||
if (StringUtils.isEmpty(outsUpdateRequest.getTaskId())) {
|
||||
return BaseWmsApiResponse.error("请求缺少任务号taskId。");
|
||||
}
|
||||
if (outsUpdateRequest.getUpdateType() == null) {
|
||||
return BaseWmsApiResponse.error("请求缺少更新类型updateType。");
|
||||
}
|
||||
// 查询对应的出库单
|
||||
TAppOuts targetOuts = appOutsService.getById(outsUpdateRequest.getTaskId());
|
||||
if (targetOuts == null) {
|
||||
return BaseWmsApiResponse.error("未查询到对应的出库单。");
|
||||
}
|
||||
// 查询对应的pickPlan
|
||||
List<TAppPickPlan> pickPlansOfThisTask = appPickPlanService.list(new LambdaQueryWrapper<TAppPickPlan>()
|
||||
.eq(TAppPickPlan::getWorkIndex, targetOuts.getTaskId()));
|
||||
if (pickPlansOfThisTask != null && !pickPlansOfThisTask.isEmpty()) {
|
||||
// 查询这些plan包含的拣选任务
|
||||
List<TAppPickTask> pickTasksOfThisTask = appPickTaskService.list(new LambdaQueryWrapper<TAppPickTask>()
|
||||
.eq(TAppPickTask::getPickStand, targetOuts.getDestination())
|
||||
.in(TAppPickTask::getVehicleId, pickPlansOfThisTask.stream().map(TAppPickPlan::getVehicleId).distinct().toList()));
|
||||
if (pickTasksOfThisTask != null && !pickTasksOfThisTask.isEmpty()) {
|
||||
// 如果存在pickPlan且存在pickTask,那么不允许后续操作。
|
||||
return BaseWmsApiResponse.error("当前任务已经下发且未完成,不可进行后续操作。");
|
||||
}
|
||||
}
|
||||
// 根据不用的更新类型,进行操作
|
||||
if (outsUpdateRequest.getUpdateType() == 1) {// CANCEL
|
||||
// 移除这个出库单,并删除其对应的pickPlan
|
||||
appOutsService.removeById(targetOuts.getTaskId());
|
||||
appPickPlanService.remove(new LambdaQueryWrapper<TAppPickPlan>()
|
||||
.eq(TAppPickPlan::getWorkIndex, targetOuts.getTaskId()));
|
||||
} else if (outsUpdateRequest.getUpdateType() == 2) {// FINISH
|
||||
// 移除这个出库单,生成记录,并删除对应的pickPlan
|
||||
appOutsService.removeById(targetOuts.getTaskId());
|
||||
appOutsRecordService.save(new TAppOutsRecord(
|
||||
targetOuts.getTaskId(),
|
||||
targetOuts.getGoodsId(),
|
||||
targetOuts.getVehicleId(),
|
||||
targetOuts.getNeedNum(),
|
||||
targetOuts.getDistributeNum(),
|
||||
targetOuts.getPickNum(),
|
||||
targetOuts.getOutType(),
|
||||
targetOuts.getDestination(),
|
||||
targetOuts.getUserName(),
|
||||
targetOuts.getReason(),
|
||||
targetOuts.getRequestTime()
|
||||
));
|
||||
appPickPlanService.remove(new LambdaQueryWrapper<TAppPickPlan>()
|
||||
.eq(TAppPickPlan::getWorkIndex, targetOuts.getTaskId()));
|
||||
} else if (outsUpdateRequest.getUpdateType() == 3) {// REBOOT
|
||||
// 将已分配数量更改掉,并删除pickPlan
|
||||
targetOuts.setDistributeNum(targetOuts.getNeedNum() - targetOuts.getPickNum());
|
||||
appOutsService.updateById(targetOuts);
|
||||
appPickPlanService.remove(new LambdaQueryWrapper<TAppPickPlan>()
|
||||
.eq(TAppPickPlan::getWorkIndex, targetOuts.getTaskId()));
|
||||
} else {
|
||||
return BaseWmsApiResponse.error("更新类型错误。");
|
||||
}
|
||||
return BaseWmsApiResponse.success("更新信息成功。");
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新详情
|
||||
* @param targetTask 目标任务
|
||||
*
|
||||
* @param targetTask 目标任务
|
||||
* @param wmsTaskRequest 请求信息
|
||||
*/
|
||||
private void updateDetailInfoExceptStatus(TAppTask targetTask, WmsTaskRequest wmsTaskRequest) {
|
||||
|
|
|
|||
|
|
@ -1102,7 +1102,8 @@ public class OutsExecutorServiceImpl implements IOutsExecutorService {
|
|||
appWork.getFinishTime(),
|
||||
appWork.getLackStatus(),
|
||||
appWork.getIsOut(),
|
||||
appWork.getProductType()
|
||||
appWork.getProductType(),
|
||||
appWork.getKittingRemark()
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user