From 08a7fef6fbfc0a959ffa7e928bdae819079db2de Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期一, 26 一月 2026 17:09:31 +0800
Subject: [PATCH] lsh#

---
 rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx                                        |    6 +
 rsf-admin/src/page/components/OrderCodeGetTypeField.jsx                                   |   60 ++++++++++++++++++++
 rsf-admin/src/i18n/zh.js                                                                  |    2 
 rsf-admin/src/i18n/en.js                                                                  |    2 
 rsf-admin/src/page/components/OrderCodeGetOrderTypeField.jsx                              |   60 ++++++++++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java |   30 ++++++++++
 6 files changed, 158 insertions(+), 2 deletions(-)

diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index 829f844..53cb5d2 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -972,6 +972,8 @@
             },
             waitPakinItem: {
                 pakinId: "pakinId",
+                type: "type",
+                wkType: "wkType",
                 maktx: "maktx",
                 matnrId: "matnrId",
                 matnrCode: "matnrCode",
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 930e634..1fff9bb 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -1020,6 +1020,8 @@
             },
             waitPakinItem: {
                 pakinId: "缁勬墭Id",
+                type: "鍗曟嵁绫诲瀷",
+                wkType: "涓氬姟绫诲瀷",
                 maktx: "鐗╂枡鍚嶇О",
                 matnrId: "鐗╂枡id",
                 matnrCode: "鐗╂枡缂栫爜",
diff --git a/rsf-admin/src/page/components/OrderCodeGetOrderTypeField.jsx b/rsf-admin/src/page/components/OrderCodeGetOrderTypeField.jsx
new file mode 100644
index 0000000..800f339
--- /dev/null
+++ b/rsf-admin/src/page/components/OrderCodeGetOrderTypeField.jsx
@@ -0,0 +1,60 @@
+// 鍒涘缓 OrderCodeGetTypeField.jsx
+import React, { useState, useEffect } from 'react';
+import { TextField, useRecordContext, useNotify } from 'react-admin';
+import request from '@/utils/request';
+
+const OrderCodeGetTypeField = (props) => {
+    const { source, label, ...rest } = props;
+    const record = useRecordContext();
+    const [orderCode, setOrderCode] = useState('');
+    const [loading, setLoading] = useState(false);
+    const notify = useNotify();
+
+    const orderId = record?.[source];
+
+    useEffect(() => {
+        if (orderId) {
+            fetchOrderCode(orderId);
+        }
+    }, [orderId]);
+
+    const fetchOrderCode = async (id) => {
+        if (!id) return;
+
+        setLoading(true);
+        try {
+            const { data: { code, data, msg } } = await request.get(`/asnOrder/orderType/${id}`);
+            if (code === 200 && data) {
+                setOrderCode(data.label || `璁㈠崟 ${id}`);
+            } else {
+                setOrderCode(`璁㈠崟 ${id}`);
+                if (code !== 200) {
+                    notify(msg || '鑾峰彇璁㈠崟淇℃伅澶辫触', { type: 'warning' });
+                }
+            }
+        } catch (error) {
+            console.error('鑾峰彇璁㈠崟淇℃伅澶辫触:', error);
+            setOrderCode(`璁㈠崟 ${id}`);
+            notify('缃戠粶閿欒锛岃幏鍙栬鍗曚俊鎭け璐�', { type: 'error' });
+        } finally {
+            setLoading(false);
+        }
+    };
+
+    if (!orderId) return null;
+
+    return (
+        <TextField
+            {...rest}
+            record={{ ...record, [source]: loading ? '鍔犺浇涓�...' : orderCode }}
+            source={source}
+            label={label}
+        />
+    );
+};
+
+OrderCodeGetTypeField.defaultProps = {
+    addLabel: true,
+};
+
+export default OrderCodeGetTypeField;
\ No newline at end of file
diff --git a/rsf-admin/src/page/components/OrderCodeGetTypeField.jsx b/rsf-admin/src/page/components/OrderCodeGetTypeField.jsx
new file mode 100644
index 0000000..884d0b0
--- /dev/null
+++ b/rsf-admin/src/page/components/OrderCodeGetTypeField.jsx
@@ -0,0 +1,60 @@
+// 鍒涘缓 OrderCodeGetTypeField.jsx
+import React, { useState, useEffect } from 'react';
+import { TextField, useRecordContext, useNotify } from 'react-admin';
+import request from '@/utils/request';
+
+const OrderCodeGetTypeField = (props) => {
+    const { source, label, ...rest } = props;
+    const record = useRecordContext();
+    const [orderCode, setOrderCode] = useState('');
+    const [loading, setLoading] = useState(false);
+    const notify = useNotify();
+
+    const orderId = record?.[source];
+
+    useEffect(() => {
+        if (orderId) {
+            fetchOrderCode(orderId);
+        }
+    }, [orderId]);
+
+    const fetchOrderCode = async (id) => {
+        if (!id) return;
+
+        setLoading(true);
+        try {
+            const { data: { code, data, msg } } = await request.get(`/asnOrder/wrkType/${id}`);
+            if (code === 200 && data) {
+                setOrderCode(data.label || `璁㈠崟 ${id}`);
+            } else {
+                setOrderCode(`璁㈠崟 ${id}`);
+                if (code !== 200) {
+                    notify(msg || '鑾峰彇璁㈠崟淇℃伅澶辫触', { type: 'warning' });
+                }
+            }
+        } catch (error) {
+            console.error('鑾峰彇璁㈠崟淇℃伅澶辫触:', error);
+            setOrderCode(`璁㈠崟 ${id}`);
+            notify('缃戠粶閿欒锛岃幏鍙栬鍗曚俊鎭け璐�', { type: 'error' });
+        } finally {
+            setLoading(false);
+        }
+    };
+
+    if (!orderId) return null;
+
+    return (
+        <TextField
+            {...rest}
+            record={{ ...record, [source]: loading ? '鍔犺浇涓�...' : orderCode }}
+            source={source}
+            label={label}
+        />
+    );
+};
+
+OrderCodeGetTypeField.defaultProps = {
+    addLabel: true,
+};
+
+export default OrderCodeGetTypeField;
\ No newline at end of file
diff --git a/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx b/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
index fafe8ff..5785689 100644
--- a/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
+++ b/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
@@ -45,6 +45,8 @@
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting';
 import * as Common from '@/utils/common';
 import request from '@/utils/request';
+import OrderCodeGetTypeField from "@/page/components/OrderCodeGetTypeField";
+import OrderCodeGetOrderTypeField from "@/page/components/OrderCodeGetOrderTypeField";
 
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
@@ -157,8 +159,8 @@
             const arr = [
                 <NumberField source="id" />,
                 <NumberField source="pakinId" label="table.field.waitPakinItem.pakinId" />,
-                <TextField source="type$" label="table.field.locItem.type" />,
-                <NumberField source="wkType$" label="table.field.locItem.wkType" />,
+                <OrderCodeGetOrderTypeField source="type" label="table.field.waitPakinItem.type" />,
+                <OrderCodeGetTypeField source="wkType" label="table.field.waitPakinItem.wkType" />,
                 <TextField source="asnCode" label="table.field.waitPakinItem.asnCode" />,
                 // <OrderCodeField source="orderId" label="table.field.locItem.orderId" />,
                 <TextField source="platWorkCode" label="table.field.asnOrderItem.platWorkCode" />,
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java
index 70e7a28..a10147c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java
@@ -23,8 +23,11 @@
 import com.vincent.rsf.server.manager.service.AsnOrderService;
 import com.vincent.rsf.server.manager.service.impl.PurchaseItemServiceImpl;
 import com.vincent.rsf.server.manager.service.impl.PurchaseServiceImpl;
+import com.vincent.rsf.server.system.constant.DictTypeCode;
 import com.vincent.rsf.server.system.constant.SerialRuleCode;
 import com.vincent.rsf.server.system.controller.BaseController;
+import com.vincent.rsf.server.system.entity.DictData;
+import com.vincent.rsf.server.system.service.impl.DictDataServiceImpl;
 import com.vincent.rsf.server.system.utils.SerialRuleUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -48,6 +51,8 @@
     private PurchaseServiceImpl purchaseService;
     @Autowired
     private PurchaseItemServiceImpl purchaseItemService;
+    @Autowired
+    private DictDataServiceImpl dictDataService;
 
     @PreAuthorize("hasAuthority('manager:asnOrder:list')")
     @PostMapping("/asnOrder/page")
@@ -94,6 +99,31 @@
         return R.ok().add(asnOrderService.getById(id));
     }
 
+    @PreAuthorize("hasAuthority('manager:asnOrder:list')")
+    @OperationLog("琛ㄥ崟鏌ヨ")
+    @GetMapping("/asnOrder/wrkType/{id}")
+    public R getWrkType(@PathVariable("id") String value) {
+//        WkOrder byId = asnOrderService.getById(id);
+//        if (Cools.isEmpty(byId)) {
+//            return R.ok().add(new DictData());
+//        }
+        DictData dictData = dictDataService.getOne(new LambdaQueryWrapper<DictData>().eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_BUSINESS_TYPE).eq(DictData::getValue, value));
+        return R.ok().add(dictData);
+    }
+
+    @PreAuthorize("hasAuthority('manager:asnOrder:list')")
+    @OperationLog("琛ㄥ崟鏌ヨ")
+    @GetMapping("/asnOrder/orderType/{id}")
+    public R getOrderType(@PathVariable("id") String value) {
+//        WkOrder byId = asnOrderService.getById(id);
+//        if (Cools.isEmpty(byId)) {
+//            return R.ok().add(new DictData());
+//        }
+        DictData dictData = dictDataService.getOne(new LambdaQueryWrapper<DictData>().eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_ORDER_TYPE).eq(DictData::getValue, value));
+        return R.ok().add(dictData);
+    }
+
+
     @PreAuthorize("hasAuthority('manager:asnOrder:save')")
     @OperationLog("Create ASN鍗曟嵁")
     @PostMapping("/asnOrder/save")

--
Gitblit v1.9.1