From fa1fa26cd00c6a883990fdaaa3ea303b3f053c26 Mon Sep 17 00:00:00 2001
From: lbq <1065079612@qq.com>
Date: 星期三, 04 二月 2026 15:38:39 +0800
Subject: [PATCH] 优化出库页面字段
---
rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx | 5 +
rsf-admin/src/page/orders/asnOrder/AsnOrderEdit.jsx | 10 ++
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderItemController.java | 21 +++++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/InOrderAndItem.java | 28 +++++++++
rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml | 22 +++++++
rsf-admin/src/i18n/zh.js | 13 ++++
rsf-admin/src/page/orders/outStock/OutOrderList.jsx | 2
rsf-admin/src/page/orders/outStock/OutOrderEdit.jsx | 66 +++++++++++++++++----
rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemMapper.java | 5 +
9 files changed, 152 insertions(+), 20 deletions(-)
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 3d27ce7..650b82c 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -779,7 +779,12 @@
arrTime: "棰勮鍒拌揪鏃堕棿",
rleStatus: "閲婃斁鐘舵��",
ntyStatus: "涓婃姤鐘舵��",
- exceStatus: '鍗曟嵁鐘舵��'
+ exceStatus: '鍗曟嵁鐘舵��',
+ saleDate: '鍑哄簱鏃ユ湡',
+ saleOrgName: '閿�鍞粍缁�',
+ saleUserName: '閿�鍞憳',
+ customerId: '瀹㈡埛缂栫爜',
+ customerName: '瀹㈡埛',
},
outStock: {
code: "鍑哄簱鍗曞彿",
@@ -795,6 +800,11 @@
rleStatus: "閲婃斁鐘舵��",
ntyStatus: "涓婃姤鐘舵��",
exceStatus: '鍗曟嵁鐘舵��',
+ saleDate: '鍑哄簱鏃ユ湡',
+ saleOrgName: '閿�鍞粍缁�',
+ saleUserName: '閿�鍞憳',
+ customerId: '瀹㈡埛缂栫爜',
+ customerName: '瀹㈡埛',
},
checkOrder: {
code: "鐩樼偣鍗曞彿",
@@ -968,6 +978,7 @@
unit: '鍗曚綅',
targetWarehouseId: "浠撳簱",
sourceWarehouseId: "璋冨嚭浠�",
+ platWorkCode: '璁″垝璺熻釜鍙�'
},
asnOrderLog: {
code: "鍗曟嵁缂栫爜",
diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderEdit.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderEdit.jsx
index d81c5aa..b29fb4f 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnOrderEdit.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderEdit.jsx
@@ -93,7 +93,13 @@
parse={v => v}
readOnly
/> */}
- <AutocompleteInput
+ <TextInput
+ label="table.field.asnOrder.wkType"
+ source="wkType$"
+ readOnly
+ parse={v => v}
+ />
+ {/* <AutocompleteInput
choices={business}
optionText="label"
label="table.field.asnOrder.wkType"
@@ -101,7 +107,7 @@
optionValue="value"
parse={v => v}
readOnly
- />
+ /> */}
<TextInput
label="table.field.asnOrder.anfme"
source="anfme"
diff --git a/rsf-admin/src/page/orders/outStock/OutOrderEdit.jsx b/rsf-admin/src/page/orders/outStock/OutOrderEdit.jsx
index 8cb32d5..5377e12 100644
--- a/rsf-admin/src/page/orders/outStock/OutOrderEdit.jsx
+++ b/rsf-admin/src/page/orders/outStock/OutOrderEdit.jsx
@@ -61,19 +61,19 @@
{translate('common.edit.title.main')}
</Typography>
<Stack direction='row' gap={2}>
- <TextInput
+ {/* <TextInput
label="table.field.outStock.code"
source="code"
readOnly
parse={v => v}
- />
+ /> */}
<TextInput
label="table.field.outStock.poCode"
source="poCode"
readOnly
parse={v => v}
/>
- <AutocompleteInput
+ {/* <AutocompleteInput
choices={dicts}
optionText="label"
label="table.field.outStock.type"
@@ -81,21 +81,25 @@
optionValue="value"
parse={v => v}
readOnly
+ /> */}
+ <TextInput
+ label="table.field.outStock.wkType"
+ source="wkType$"
+ readOnly
+ parse={v => v}
/>
- <AutocompleteInput
+ {/* <AutocompleteInput
choices={business}
optionText="label"
label="table.field.outStock.wkType"
- source="wkType"
+ source="wkType$"
optionValue="value"
parse={v => v}
readOnly
- />
- </Stack>
- <Stack direction='row' gap={2}>
+ /> */}
<TextInput
- label="table.field.outStock.logisNo"
- source="logisNo"
+ label="table.field.outStock.saleDate"
+ source="businessTime"
readOnly
parse={v => v}
/>
@@ -111,12 +115,46 @@
readOnly
parse={v => v}
/>
- <DateInput
+ </Stack>
+ <Stack direction='row' gap={2}>
+ {/* 閾跺骇鏂板 */}
+ <TextInput
+ label="table.field.outStock.saleOrgName"
+ source="saleOrgName"
+ readOnly
+ parse={v => v}
+ />
+ <TextInput
+ label="table.field.outStock.saleUserName"
+ source="saleUserName"
+ readOnly
+ parse={v => v}
+ />
+ <TextInput
+ label="table.field.outStock.customerId"
+ source="customerId"
+ readOnly
+ parse={v => v}
+ />
+ <TextInput
+ label="table.field.outStock.customerName"
+ source="customerName"
+ readOnly
+ parse={v => v}
+ />
+ {/* <TextInput
+ label="table.field.outStock.logisNo"
+ source="logisNo"
+ readOnly
+ parse={v => v}
+ /> */}
+
+ {/* <DateInput
label="table.field.outStock.arrTime"
source="arrTime"
readOnly
- />
- <SelectInput
+ /> */}
+ {/* <SelectInput
label="table.field.outStock.rleStatus"
source="rleStatus"
readOnly
@@ -125,7 +163,7 @@
{ id: 1, name: ' 宸查噴鏀�' },
]}
validate={required()}
- />
+ /> */}
</Stack>
</Grid>
</Grid>
diff --git a/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx b/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx
index 99243fb..384d6b8 100644
--- a/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx
+++ b/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx
@@ -193,10 +193,11 @@
)}
{columns.length > 0 &&
<StyledDatagrid
- preferenceKey='asnOrderItem'
+ preferenceKey='outStockItem'
bulkActionButtons={false}
rowClick={(id, resource, record) => false}
- omit={['id', 'orderId', 'orderCode', 'poDetlId', 'poDetlCode', 'platOrderCode', 'matnrId', 'spec', 'model', 'purQty', 'purUnit', 'qrcode', 'trackCode', 'splrCode', 'platWorkCode', 'projectCode', 'workQty']}
+ omit={['id', 'orderId', 'orderCode', 'poDetlId', 'poDetlCode', 'platOrderCode', 'matnrId', 'spec', 'model', 'purQty', 'purUnit',
+ 'qrcode', 'trackCode', 'splrCode', 'projectCode', 'workQty', 'createBy', 'createTime', 'createBy$', 'sourceWareHouseId', 'splrName', 'supplierName']}
>
{columns.map((column) => column)}
</StyledDatagrid>}
diff --git a/rsf-admin/src/page/orders/outStock/OutOrderList.jsx b/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
index 580c415..81563ec 100644
--- a/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
+++ b/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
@@ -195,7 +195,7 @@
{/* 閾跺骇鏂板 */}
<TextField source="saleOrgName" label="閿�鍞粍缁�" />
<TextField source="saleUserName" label="閿�鍞憳" />
- <TextField source="saleDate" label="鍑哄簱鏃ユ湡" />
+ <DateField source="businessTime" label="鍑哄簱鏃ユ湡" />
<TextField source="customerId" label="瀹㈡埛缂栫爜" />
<TextField source="customerName" label="瀹㈡埛" />
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderItemController.java
index ec1d805..00ab9b3 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderItemController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderItemController.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
@@ -14,12 +15,14 @@
import com.vincent.rsf.server.common.domain.KeyValVo;
import com.vincent.rsf.server.common.domain.PageParam;
import com.vincent.rsf.server.common.utils.FieldsUtils;
+import com.vincent.rsf.server.manager.entity.InOrderAndItem;
import com.vincent.rsf.server.manager.entity.WkOrder;
import com.vincent.rsf.server.manager.entity.WkOrderItem;
import com.vincent.rsf.server.manager.entity.Companys;
import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
import com.vincent.rsf.server.manager.enums.CompanysType;
import com.vincent.rsf.server.manager.enums.OrderType;
+import com.vincent.rsf.server.manager.mapper.AsnOrderItemMapper;
import com.vincent.rsf.server.manager.service.AsnOrderItemService;
import com.vincent.rsf.server.manager.service.AsnOrderService;
import com.vincent.rsf.server.manager.service.CompanysService;
@@ -32,6 +35,7 @@
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
+import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.stream.Collectors;
@@ -48,6 +52,9 @@
@Autowired
private CompanysService companysService;
+ @Resource
+ private AsnOrderItemMapper asnOrderItemMapper;
+
@PreAuthorize("hasAuthority('manager:asnOrder:list')")
@ApiOperation("鍒嗛〉鑾峰彇鍒楄〃")
@@ -104,6 +111,20 @@
@PreAuthorize("hasAuthority('manager:asnOrder:list')")
@ApiOperation("鍒嗛〉鑾峰彇鍒楄〃")
+ @PostMapping("/asnOrderItemFull/in/page")
+ public R pageInFull(@RequestBody Map<String, Object> map) {
+ BaseParam baseParam = buildParam(map, BaseParam.class);
+ PageParam<WkOrderItem, BaseParam> pageParam = new PageParam<>(baseParam, WkOrderItem.class);
+ QueryWrapper<WkOrderItem> wrapper = pageParam.buildWrapper(true);
+ // 娣诲姞type涓�'in'鐨勬潯浠讹紝娉ㄦ剰杩欓噷搴旇鎸囧畾琛ㄥ埆鍚�
+ wrapper.eq("mo.type", OrderType.ORDER_IN.type);
+
+ IPage<InOrderAndItem> page = asnOrderItemMapper.queryFullOrderWithPaging(pageParam, wrapper);
+ return R.ok(page);
+ }
+
+ @PreAuthorize("hasAuthority('manager:asnOrder:list')")
+ @ApiOperation("鍒嗛〉鑾峰彇鍒楄〃")
@PostMapping("/asnOrderItem/out/page")
public R pageOut(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/InOrderAndItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/InOrderAndItem.java
new file mode 100644
index 0000000..1b14fbd
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/InOrderAndItem.java
@@ -0,0 +1,28 @@
+package com.vincent.rsf.server.manager.entity;
+
+import lombok.Data;
+
+@Data
+public class InOrderAndItem {
+
+ private String poCode;
+ private String type;
+ private String wkType$;
+ private String purchaseOrgName;
+ private String purchaseUserName;
+ private String businessTime;
+ private String supplierId;
+ private String supplierName;
+ private String platWorkCode;
+ private String platItemId;
+ private String matnrCode;
+ private String maktx;
+ private String batch;
+ private String stockUnit;
+ private String anfme;
+ private String qty;
+ private String targetWarehouseId;
+ private String username;
+ private String createTime;
+
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemMapper.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemMapper.java
index 71bfff3..19e8756 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemMapper.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemMapper.java
@@ -6,12 +6,14 @@
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.InOrderAndItem;
import com.vincent.rsf.server.manager.entity.WkOrderItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
+import java.util.List;
import java.util.Map;
@Mapper
@@ -22,4 +24,7 @@
WkOrderItem resultById(@Param(Constants.WRAPPER) LambdaQueryWrapper<WkOrderItem> buildWrapper);
+ List<InOrderAndItem> queryFullOrder();
+
+ IPage<InOrderAndItem> queryFullOrderWithPaging(PageParam<WkOrderItem, BaseParam> pageParam, @Param(Constants.WRAPPER) QueryWrapper<WkOrderItem> wrapper);
}
diff --git a/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml b/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml
index ec21369..3e568a2 100644
--- a/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml
+++ b/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml
@@ -134,4 +134,26 @@
) t
${ew.customSqlSegment}
</select>
+
+ <select id="queryFullOrder" resultType="com.vincent.rsf.server.manager.entity.InOrderAndItem">
+ SELECT mo.po_code, mo.type, sys_dict_data.label as wkType$, purchase_org_name, purchase_user_name, business_time,
+ supplier_id, supplier_name, plat_work_code, plat_item_id, matnr_code, maktx, batch, stock_unit,
+ mi.anfme, mi.qty, target_warehouse_id, username, mi.create_time
+ FROM man_asn_order_item mi
+ LEFT JOIN man_asn_order mo ON mi.order_id = mo.id AND mo.tenant_id = mi.tenant_id
+ LEFT JOIN sys_dict_data ON sys_dict_data.dict_type_id = 27 and mo.wk_type = sys_dict_data.`value`
+ LEFT JOIN sys_user ON mi.create_by = sys_user.id AND sys_user.tenant_id = mi.tenant_id
+ WHERE mo.type = 'in'
+ </select>
+
+ <select id="queryFullOrderWithPaging" resultType="com.vincent.rsf.server.manager.entity.InOrderAndItem">
+ SELECT mo.po_code, mo.type, sd.label as wkType$, purchase_org_name, purchase_user_name, business_time,
+ supplier_id, supplier_name, plat_work_code, plat_item_id, matnr_code, maktx, batch, stock_unit,
+ mi.anfme, mi.qty, target_warehouse_id, username, mi.create_time
+ FROM man_asn_order_item mi
+ LEFT JOIN man_asn_order mo ON mi.order_id = mo.id AND mo.tenant_id = mi.tenant_id
+ LEFT JOIN sys_dict_data sd ON sd.dict_type_id = 27 and mo.wk_type = sd.`value` AND sd.tenant_id = mo.tenant_id
+ LEFT JOIN sys_user su ON mi.create_by = su.id AND su.tenant_id = mo.tenant_id
+ ${ew.customSqlSegment}
+ </select>
</mapper>
--
Gitblit v1.9.1