1. 修复clc看板需求

This commit is contained in:
梁州 2025-04-03 15:01:58 +08:00
parent 947b5746de
commit 74bff1068c
7 changed files with 25270 additions and 6674 deletions

View File

@ -1,7 +1,7 @@
import axios from 'axios'
const request = axios.create({
baseURL: 'http://localhost:12315/wms',
baseURL: 'https://s4wwjasrsp01.ap.cat.com/wmsServer/wms',
timeout: 5000
})

View File

@ -30,7 +30,7 @@
<el-row>
<el-button type="success"
style="height: 50px; width: 100px; margin: auto 5px auto 5px; font-size: large; color: black;"
@click="addBinding()">绑定物料</el-button>
@click="handleEnter()">绑定物料</el-button>
<el-button type="warning"
style="height: 50px; width: 100px; margin: auto 5px auto 5px; font-size: large; color: black;"
@click="clearInput()">清除输入</el-button>

View File

@ -11,8 +11,6 @@ import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
import com.wms_main.model.dto.response.wms.WmsApiResponse;
import com.wms_main.model.vo.wms.TaskConfirmVo;
import java.util.List;
/**
* 任务控制类 服务接口
*/

View File

@ -394,7 +394,7 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
}
// 当前站台到达的拣选任务
TAppPickTask thisPickTask = pickTaskList.getFirst();
if (confirmWorkRequest.getOrderConfirm() != null) {
if (confirmWorkRequest.getOrderConfirm() != null && StringUtils.isNotEmpty(confirmWorkRequest.getOrderConfirm().getWorkIndex())) {
// 更新工作信息
String updateWorkResult = updateWorkInfo(confirmWorkRequest);
if (StringUtils.isNotEmpty(updateWorkResult)) {
@ -676,42 +676,43 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
Map<String, Map<String, Integer>> goodsRequireByProductMap = new HashMap<>();
// 迭代计划表获取
for (TAppDbs dbs : dbsList) {
Map<String, Integer> goodsRequireMap;
Map<String, Integer> goodsRequireOfDbsMap = new HashMap<>();// 当前dbs的物料需求
Map<String, Integer> goodsRequireOfProductMap;// 当前成品的物料需求
// 获得物料需求
if (dbs.getDbsStatus() == 0) {
if (goodsRequireByProductMap.containsKey(dbs.getProductIdOrigin())) {
// 包含原始成品号
goodsRequireMap = goodsRequireByProductMap.get(dbs.getProductIdOrigin());
goodsRequireOfProductMap = goodsRequireByProductMap.get(dbs.getProductIdOrigin());
} else {
goodsRequireMap = getGoodsRequireMapOfServiceProduct(dbs.getProductIdOrigin());
if (!goodsRequireMap.isEmpty()) {
goodsRequireOfProductMap = getGoodsRequireMapOfServiceProduct(dbs.getProductIdOrigin());
if (!goodsRequireOfProductMap.isEmpty()) {
// 存在服务件配料单添加这个总成的Map
goodsRequireByProductMap.put(dbs.getProductIdOrigin(), goodsRequireMap);
goodsRequireByProductMap.put(dbs.getProductIdOrigin(), goodsRequireOfProductMap);
} else {
if (goodsRequireByProductMap.containsKey(dbs.getProductId())) {
// 直接获得当前总成的物料需求
goodsRequireMap = goodsRequireByProductMap.get(dbs.getProductId());
goodsRequireOfProductMap = goodsRequireByProductMap.get(dbs.getProductId());
} else {
// 去查询非服务件配料单
goodsRequireMap = getGoodsRequireMapOfNonServiceProduct(dbs.getProductId());
if (goodsRequireMap.isEmpty()) {
goodsRequireOfProductMap = getGoodsRequireMapOfNonServiceProduct(dbs.getProductId());
if (goodsRequireOfProductMap.isEmpty()) {
return BaseWmsApiResponse.error("工单" + dbs.getWorkOrder() + "的物料需求为空,请检查数据。");
}
// 添加这个非服务件配件清单的map
goodsRequireByProductMap.put(dbs.getProductId(), goodsRequireMap);
goodsRequireByProductMap.put(dbs.getProductId(), goodsRequireOfProductMap);
}
}
}
// 需求*产量
for (String goodsId : goodsRequireMap.keySet()) {
goodsRequireMap.replace(goodsId, goodsRequireMap.get(goodsId) * dbs.getPlanProduction());
for (String goodsId : goodsRequireOfProductMap.keySet()) {
goodsRequireOfDbsMap.put(goodsId, goodsRequireOfProductMap.get(goodsId) * dbs.getPlanProduction());
}
} else {
// 查询已经生成的工作清单里面的物料需求
goodsRequireMap = getRemainRequireMapOfOrder(dbs.getWorkOrder());
goodsRequireOfDbsMap = getRemainRequireMapOfOrder(dbs.getWorkOrder());
}
// 合并需求
mergeRequire(totalGoodsRequireMap, goodsRequireMap);
mergeRequire(totalGoodsRequireMap, goodsRequireOfDbsMap);
}
// 获取需要的物料的基本信息
List<String> goodsIds = new ArrayList<>(totalGoodsRequireMap.keySet());
@ -726,8 +727,8 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
// 所有的非库外料且看板维护的料
List<TAppGoods> goodsList = appGoodsService.list(new LambdaQueryWrapper<TAppGoods>()
.in(TAppGoods::getGoodsId, goodsIds)
.eq(TAppGoods::getPutArea, "ASRS")
.eq(TAppGoods::getFeedingType, "Kanban"));
.like(TAppGoods::getPutArea, "ASRS")
.like(TAppGoods::getFeedingType, "Kanban"));
// 整合物料信息为map
Map<String, TAppGoods> filterGoodsMap = goodsList.stream().collect(Collectors.toMap(TAppGoods::getGoodsId, goods -> goods));
// 获取筛选过的需要的物料的库存信息
@ -738,9 +739,9 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
Map<String, Integer> stockByGoodsMap = new HashMap<>();
for (TAppStock stock : stockList) {
if (stockByGoodsMap.containsKey(stock.getGoodsId())) {
stockByGoodsMap.replace(stock.getGoodsId(), stockByGoodsMap.get(stock.getGoodsId()) + stock.getRealNum());
stockByGoodsMap.replace(stock.getGoodsId(), stockByGoodsMap.get(stock.getGoodsId()) + stock.getRemainNum());
} else {
stockByGoodsMap.put(stock.getGoodsId(), stock.getRealNum());
stockByGoodsMap.put(stock.getGoodsId(), stock.getRemainNum());
}
}
// 生成看板需求

View File

@ -681,7 +681,7 @@ public class TaskControllerServiceImpl implements ITaskControllerService {
}
// 当前站台到达的拣选任务
TAppPickTask thisPickTask = pickTaskList.getFirst();
if (confirmTaskRequest.getTaskConfirm() != null) {
if (confirmTaskRequest.getTaskConfirm() != null && StringUtils.isNotEmpty(confirmTaskRequest.getTaskConfirm().getTaskId())) {
// 更新工作信息
String updateTaskResult = updateTaskInfo(confirmTaskRequest);
if (StringUtils.isNotEmpty(updateTaskResult)) {

View File

@ -8,10 +8,6 @@ spring:
# url: jdbc:mysql://112.4.208.194:3001/wms_kate_wuxi?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
# username: developer
# password: developer
# 本地
# url: jdbc:mysql://localhost:3306/wms_kate_wuxi_test?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true
# username: root
# password: liangzhou
# 卡特服务器
url: jdbc:mysql://10.90.83.37:3306/wms_kate_wuxi?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true
username: developer

File diff suppressed because it is too large Load Diff