From 5a92ae0d5b0de8c05d2605603f08b0a0228d6e56 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 17 七月 2025 08:04:46 +0800
Subject: [PATCH] 盘点单下发功能优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java | 13 ++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckOrderController.java | 19 ++++--
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CheckOrderService.java | 3 +
rsf-admin/src/page/orders/check/CheckOrderPub.jsx | 35 +++--------
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java | 28 ++++++++-
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/PurchaseItemServiceImpl.java | 1
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java | 3 +
rsf-admin/src/page/basicInfo/matnrGroup/MatnrGroupCreate.jsx | 21 ++----
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/LocStsType.java | 4 +
rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml | 29 +++++++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/LocItemMapper.java | 10 +--
11 files changed, 110 insertions(+), 56 deletions(-)
diff --git a/rsf-admin/src/page/basicInfo/matnrGroup/MatnrGroupCreate.jsx b/rsf-admin/src/page/basicInfo/matnrGroup/MatnrGroupCreate.jsx
index 4c9aa78..27f633a 100644
--- a/rsf-admin/src/page/basicInfo/matnrGroup/MatnrGroupCreate.jsx
+++ b/rsf-admin/src/page/basicInfo/matnrGroup/MatnrGroupCreate.jsx
@@ -43,23 +43,16 @@
}
};
- const handleSuccess = async (data) => {
- setOpen(false);
- notify('common.response.success');
- };
-
- const handleError = async (error) => {
- notify(error.message || 'common.response.fail', { type: 'error', messageArgs: { _: error.message } });
- };
-
return (
<>
<CreateBase
- record={{}}
- transform={(data) => {
- return data;
- }}
- mutationOptions={{ onSuccess: handleSuccess, onError: handleError }}
+ // record={{}}
+ // transform={(data) => {
+ // console.log('success========>');
+
+ // return data;
+ // }}
+ // mutationOptions={{ onSuccess: handleSuccess, onError: handleError }}
>
<Dialog
open={open}
diff --git a/rsf-admin/src/page/orders/check/CheckOrderPub.jsx b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx
index 566d3d0..67af707 100644
--- a/rsf-admin/src/page/orders/check/CheckOrderPub.jsx
+++ b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx
@@ -3,36 +3,14 @@
import {
List,
DatagridConfigurable,
- SearchInput,
- TopToolbar,
Button,
- SelectColumnsButton,
- EditButton,
- FilterButton,
- CreateButton,
- ExportButton,
- BulkDeleteButton,
- WrapperField,
- useRecordContext,
useTranslate,
useNotify,
useListContext,
- FunctionField,
TextField,
NumberField,
- DateField,
- BooleanField,
- ReferenceField,
- TextInput,
- DateTimeInput,
- DateInput,
- SelectInput,
- NumberInput,
ReferenceInput,
- ReferenceArrayInput,
AutocompleteInput,
- DeleteButton,
- SimpleForm,
required,
Form,
useRefresh,
@@ -85,7 +63,16 @@
setRows(fetchRows)
} else {
const mas = fetchRows.filter(item => selectedMatnr.includes(item.matnrCode));
- setRows(mas)
+ console.log(mas);
+ let ids = mas.map(item => item.matnrCode);
+ console.log(ids);
+ const { data: { code, data, msg } } = request.get('/check/order/items/' + ids );
+ if (code === 200) {
+ setFetchRows(data)
+ } else {
+ notify(msg);
+ }
+ // setRows(mas)
}
}, [selectedMatnr])
@@ -139,7 +126,7 @@
if (formData.waveId == null && formData.waveId == undefined) {
return
}
- const { data: { code, data, msg } } = await request.post('/outStock/order/getOutTaskItems', { ...formData });
+ const { data: { code, data, msg } } = await request.post('/check/order/items', { ...formData });
if (code === 200) {
setFetchRows(data)
} else {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckOrderController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckOrderController.java
index 2cb928b..8efedda 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckOrderController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckOrderController.java
@@ -161,7 +161,6 @@
return checkOrderService.saveCheckOrder(params, getLoginUserId());
}
-
@ApiOperation("鐩樼偣鍗曚俊鎭慨鏀�")
@PostMapping("/check/items/update")
@PreAuthorize("hasAuthority('manager:check:update')")
@@ -172,18 +171,15 @@
return checkOrderService.updateOrderItem(params, getLoginUserId());
}
- @PostMapping("/outStock/order/getOutTaskItems")
+ @PostMapping("/check/order/items")
@ApiOperation("鐩樼偣鍑哄簱棰勮")
- @PreAuthorize("hasAuthority('manager:outStock:list')")
+ @PreAuthorize("hasAuthority('manager:check:list')")
public R getOrderOutTaskItem(@RequestBody OrderOutTaskParam param) {
if (Cools.isEmpty(param)) {
return R.error("鍙傛暟涓嶈兘涓虹┖");
}
-
return checkOrderService.genCheckPreview(param);
}
-
-
/**
* 鑾峰彇鍑哄簱绔欑偣
@@ -197,6 +193,17 @@
}
+ @ApiOperation("鑾峰彇鍦ㄥ簱鐗╂枡鍒楄〃")
+ @GetMapping("/check/order/locs/{matnr}")
+ @PreAuthorize("hasAuthority('manager:check:list')")
+ public R getAllLocByMatnr(@PathVariable String[] matnrs) {
+ if (Objects.isNull(matnrs)) {
+ return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ return checkOrderService.getAllLocByMatnr(Arrays.asList(matnrs));
+ }
+
+
/**
* @author Ryan
* @description 涓嬭浇妯℃澘
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/LocStsType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/LocStsType.java
index e172e0b..6b27992 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/LocStsType.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/LocStsType.java
@@ -1,6 +1,10 @@
package com.vincent.rsf.server.manager.enums;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.vincent.rsf.framework.common.SpringUtils;
+import com.vincent.rsf.framework.exception.CoolException;
+
public enum LocStsType {
//绌烘澘
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/LocItemMapper.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/LocItemMapper.java
index f26306f..d48dbbd 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/LocItemMapper.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/LocItemMapper.java
@@ -1,20 +1,18 @@
package com.vincent.rsf.server.manager.mapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
-import com.vincent.rsf.server.common.domain.BaseParam;
-import com.vincent.rsf.server.common.domain.PageParam;
import com.vincent.rsf.server.manager.entity.LocItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.vincent.rsf.server.manager.entity.ViewStockManage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
+
+import java.util.List;
@Mapper
@Repository
public interface LocItemMapper extends BaseMapper<LocItem> {
- IPage<ViewStockManage> pageByStock(PageParam<ViewStockManage, BaseParam> pageParam, @Param(Constants.WRAPPER) QueryWrapper<ViewStockManage> queryWrapper);
+ List<LocItem> listByMatnr(@Param("type") String type, @Param(Constants.WRAPPER) LambdaQueryWrapper<LocItem> matnr);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CheckOrderService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CheckOrderService.java
index 4e107a7..246d4ae 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CheckOrderService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CheckOrderService.java
@@ -8,6 +8,7 @@
import org.springframework.web.multipart.MultipartFile;
import java.util.HashMap;
+import java.util.List;
public interface CheckOrderService extends IService<WkOrder> {
@@ -22,4 +23,6 @@
R getSiteNos();
R genCheckPreview(OrderOutTaskParam param);
+
+ R getAllLocByMatnr(List<String> matnrs);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java
index 689a0f3..dfed43a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocItemService.java
@@ -5,10 +5,13 @@
import com.vincent.rsf.server.manager.entity.LocItem;
import com.vincent.rsf.server.manager.entity.Task;
+import java.util.List;
+
public interface LocItemService extends IService<LocItem> {
void generateTask(Short resouce, LocToTaskParams map, Long loginUserId) throws Exception;
Task genMoveTask(LocToTaskParams map, Long loginUserId);
+ List<LocItem> listByMatnr(List<String> matnrs);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java
index 69a1499..f803400 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java
@@ -10,10 +10,7 @@
import com.vincent.rsf.server.common.utils.ExcelUtil;
import com.vincent.rsf.server.manager.controller.params.AsnOrderAndItemsParams;
import com.vincent.rsf.server.manager.controller.params.OrderOutTaskParam;
-import com.vincent.rsf.server.manager.entity.DeviceSite;
-import com.vincent.rsf.server.manager.entity.WkOrder;
-import com.vincent.rsf.server.manager.entity.WkOrderItem;
-import com.vincent.rsf.server.manager.entity.Matnr;
+import com.vincent.rsf.server.manager.entity.*;
import com.vincent.rsf.server.manager.entity.excel.CheckOrderTemplate;
import com.vincent.rsf.server.manager.enums.*;
import com.vincent.rsf.server.manager.mapper.CheckOrderMapper;
@@ -41,6 +38,8 @@
private AsnOrderItemService asnOrderItemService;
@Autowired
private DeviceSiteService deviceSiteService;
+ @Autowired
+ private LocItemService locItemService;
/**
* @author Ryan
@@ -216,6 +215,27 @@
*/
@Override
public R genCheckPreview(OrderOutTaskParam param) {
+ List<WkOrderItem> orderItems = checkOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, param.getOrderId()));
+ if (orderItems.isEmpty()) {
+ throw new CoolException("鏁版嵁閿欒锛氱洏鐐瑰崟鏄庣粏涓嶅瓨鍦紒锛�");
+ }
+ return R.ok().add(orderItems);
+ }
+
+ /**
+ * @author Ryan
+ * @date 2025/7/16
+ * @description: 鏍规嵁鐗╂枡鐮佽幏鍙栨墍鏈夊湪搴撴槑缁�
+ * @version 1.0
+ */
+ @Override
+ public R getAllLocByMatnr(List<String> matnrs) {
+ List<LocItem> locItems = locItemService.listByMatnr(matnrs);
+ if (locItems.isEmpty()) {
+ return R.ok();
+ }
+
+
return null;
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
index 398e43d..d31e992 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -363,4 +363,17 @@
}
return task;
}
+
+ /**
+ * @author Ryan
+ * @date 2025/7/16
+ * @description: 鑾峰彇褰撳墠鐗╂枡鎵�鏈夊簱瀛樹俊鎭�
+ * @version 1.0
+ */
+ @Override
+ public List<LocItem> listByMatnr(List<String> matnr) {
+ LambdaQueryWrapper<LocItem> wrapper = new LambdaQueryWrapper<LocItem>()
+ .in(!matnr.isEmpty(), LocItem::getMatnrCode, matnr);
+ return this.baseMapper.listByMatnr(LocStsType.LOC_STS_TYPE_F.type, wrapper);
+ }
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/PurchaseItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/PurchaseItemServiceImpl.java
index f9b7e40..ad3f323 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/PurchaseItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/PurchaseItemServiceImpl.java
@@ -68,7 +68,6 @@
List<PurchaseTemplate> list = listMap.get(key);
Purchase serviceOne = purchaseService.getOne(new LambdaQueryWrapper<Purchase>().eq(Purchase::getCode, key));
if (!Objects.isNull(serviceOne)) {
-// return R.error(serviceOne.getCode() + "鍗曟嵁宸插瓨鍦紒锛�");
throw new CoolException(serviceOne.getCode() + "鍗曟嵁宸插瓨鍦紒锛�");
}
PurchaseTemplate template = list.stream().findFirst().get();
diff --git a/rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml b/rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml
index 90ad348..df271db 100644
--- a/rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml
+++ b/rsf-server/src/main/resources/mapper/manager/LocItemMapper.xml
@@ -1,5 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.vincent.rsf.server.manager.mapper.LocItemMapper">
-
+ <select id="listByMatnr" resultType="com.vincent.rsf.server.manager.entity.LocItem">
+ SELECT
+ *
+ FROM
+ (
+ SELECT
+ li.id,
+ li.loc_id,
+ li.loc_code,
+ l.barcode,
+ li.matnr_id,
+ li.matnr_code,
+ li.maktx,
+ li.batch,
+ SUM( li.anfme ) anfme,
+ li.fields_index
+ FROM
+ man_loc_item li
+ INNER JOIN man_loc l ON l.id = li.loc_id
+ WHERE l.use_status = #{type}
+ GROUP BY
+ loc_id,
+ matnr_id,
+ batch,
+ fields_index
+ )t
+ ${ew.customSqlSegment}
+ </select>
</mapper>
--
Gitblit v1.9.1