From df1536a40b2876c099b61194046d3dfae2de01a0 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 19 七月 2025 10:54:12 +0800
Subject: [PATCH] 盘点差异单功能优化

---
 rsf-admin/src/page/orders/check/CheckOrderItemList.jsx                            |   11 ++---
 rsf-admin/src/page/orders/check/checkDiffItem/CheckDiffItemList.jsx               |    6 ++
 rsf-admin/src/i18n/zh.js                                                          |    1 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java |   32 +++-------------
 rsf-admin/src/i18n/en.js                                                          |    1 
 rsf-admin/src/page/components/CheckDiffField.jsx                                  |   25 ++++++++++++
 6 files changed, 42 insertions(+), 34 deletions(-)

diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index beda28d..54cddd9 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -665,6 +665,7 @@
                 batch: "batch",
                 anfme: "anfme",
                 checkQty: "checkQty",
+                diffQty: 'Diff Qty',
                 exceStatus: "exceStatus",
                 reason: "reason",
             },
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index fbafcc3..350053c 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -694,6 +694,7 @@
                 batch: "鎵规",
                 anfme: "搴撳瓨鏁伴噺",
                 checkQty: "瀹炵洏鏁伴噺",
+                diffQty: '宸紓鏁伴噺',
                 exceStatus: "鎵ц鐘舵��",
                 reason: "宸紓鍘熷洜",
             },
diff --git a/rsf-admin/src/page/components/CheckDiffField.jsx b/rsf-admin/src/page/components/CheckDiffField.jsx
new file mode 100644
index 0000000..1c0413b
--- /dev/null
+++ b/rsf-admin/src/page/components/CheckDiffField.jsx
@@ -0,0 +1,25 @@
+import React, { useState, useRef, useEffect, useMemo, useCallback } from "react";
+import {
+    useRecordContext,
+} from 'react-admin';
+import { Box, Typography, Card, Stack } from '@mui/material';
+import { useTheme } from '@mui/material/styles';
+import CircleIcon from '@mui/icons-material/Circle';
+
+const CheckDiffField = () => {
+    const record = useRecordContext();
+    const theme = useTheme();
+    const color = {
+        2: '#52C41A',
+        4: '#FF4D4F',
+
+    }
+    return (
+        <Typography variant="body2"  sx={{ display: 'flex', alignItems: 'center', justifyContent:'center', color: record?.diffQty > 0 ? color[2] : color[4]}} >
+            {record.diffQty}
+        </Typography >
+    )
+
+}
+
+export default CheckDiffField;
\ No newline at end of file
diff --git a/rsf-admin/src/page/orders/check/CheckOrderItemList.jsx b/rsf-admin/src/page/orders/check/CheckOrderItemList.jsx
index f1e9a01..ee9768e 100644
--- a/rsf-admin/src/page/orders/check/CheckOrderItemList.jsx
+++ b/rsf-admin/src/page/orders/check/CheckOrderItemList.jsx
@@ -126,7 +126,7 @@
             preferenceKey='outStockItem'
             bulkActionButtons={false}
             rowClick={false}
-            omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'purQty',  'trackCode', 'packName', 'qrcode', 'splrName', 'matnrId', 'orderId']}
+            omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'purQty', 'trackCode', 'packName', 'qrcode', 'splrName', 'matnrId', 'orderId']}
           >
             <NumberField source="id" />
             <NumberField source="orderId" label="table.field.outStockItem.orderId" />
@@ -143,14 +143,11 @@
             <TextField source="splrBatch" label="table.field.outStockItem.splrBatch" />
             <TextField source="splrCode" label="table.field.outStockItem.splrCode" />
             <TextField source="splrName" label="table.field.outStockItem.splrName" />
+            <BillStatusField cellClassName="status" source="exceStatus" label="table.field.checkOrder.exceStatus" />
             <TextField source="packName" label="table.field.outStockItem.packName" />
             <DateField source="updateTime" label="common.field.updateTime" showTime />
-            <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
-              <TextField source="nickname" />
-            </ReferenceField>,
-            <ReferenceField source="createBy" label="common.field.createBy" reference="user" link={false} sortable={false}>
-              <TextField source="nickname" />
-            </ReferenceField>,
+            <TextField source="updateBy$" label="common.field.updateBy" />
+            <TextField source="createBy$" label="common.field.createBy" />
             <DateField source="createTime" label="common.field.createTime" showTime />
             <TextField source="memo" label="common.field.memo" sortable={false} />
           </StyledDatagrid>
diff --git a/rsf-admin/src/page/orders/check/checkDiffItem/CheckDiffItemList.jsx b/rsf-admin/src/page/orders/check/checkDiffItem/CheckDiffItemList.jsx
index 067a34d..9913099 100644
--- a/rsf-admin/src/page/orders/check/checkDiffItem/CheckDiffItemList.jsx
+++ b/rsf-admin/src/page/orders/check/checkDiffItem/CheckDiffItemList.jsx
@@ -40,10 +40,12 @@
 import EmptyData from "../../../components/EmptyData";
 import MyCreateButton from "../../../components/MyCreateButton";
 import MyExportButton from '../../../components/MyExportButton';
+import BillStatusField from '../../../components/BillStatusField';
 import PageDrawer from "../../../components/PageDrawer";
 import MyField from "../../../components/MyField";
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
 import * as Common from '@/utils/common';
+import CheckDiffField from "../../../components/CheckDiffField";
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
     '& .css-1vooibu-MuiSvgIcon-root': {
@@ -125,7 +127,7 @@
                     rowClick={(id, resource, record) => false}
                     expand={false}
                     expandSingle={true}
-                    omit={['id', 'checkId','createTime', 'createBy', 'memo']}
+                    omit={['id', 'checkId', 'createTime', 'createBy', 'memo']}
                 >
                     <NumberField source="id" />
                     <NumberField source="checkId" label="table.field.checkDiffItem.checkId" />
@@ -138,7 +140,9 @@
                     <TextField source="batch" label="table.field.checkDiffItem.batch" />
                     <NumberField source="anfme" label="table.field.checkDiffItem.anfme" />
                     <NumberField source="checkQty" label="table.field.checkDiffItem.checkQty" />
+                    <CheckDiffField  source="diffQty" label="table.field.checkDiffItem.diffQty"/>
                     <TextField source="reason" label="table.field.checkDiffItem.reason" />
+                    <BillStatusField cellClassName="status" source="exceStatus" label="table.field.checkOrder.exceStatus" />
                     <TextField source="updateBy$" label="common.field.updateBy" />
                     <DateField source="updateTime" label="common.field.updateTime" showTime />
                     <TextField source="createBy$" label="common.field.createBy" />
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java
index 505177f..f644846 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java
@@ -1,6 +1,7 @@
 package com.vincent.rsf.server.manager.entity;
 
-import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.*;
+
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
@@ -13,10 +14,7 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -192,28 +190,6 @@
         this.memo = memo;
     }
 
-//    CheckDiffItem checkDiffItem = new CheckDiffItem(
-//            null,    // 鐩樼偣ID
-//            null,    // 鐩樼偣鍗�
-//            null,    // 鐗╂枡鍚嶇О
-//            null,    // 鐗╂枡缂栫爜
-//            null,    // 瑙勬牸
-//            null,    // 鍨嬪彿
-//            null,    // 鎵樼洏鐮�
-//            null,    // 鎵规
-//            null,    // 甯愰潰搴撳瓨
-//            null,    // 鐩樼偣搴撳瓨
-//            null,    // 鎵ц鐘舵��
-//            null,    // 宸紓鍘熷洜
-//            null,    // 鐘舵�乕闈炵┖]
-//            null,    // 鏄惁鍒犻櫎[闈炵┖]
-//            null,    // 绉熸埛
-//            null,    // 娣诲姞浜哄憳
-//            null,    // 娣诲姞鏃堕棿[闈炵┖]
-//            null,    // 淇敼浜哄憳
-//            null,    // 淇敼鏃堕棿[闈炵┖]
-//            null    // 澶囨敞
-//    );
 
     public String getStatus$(){
         if (null == this.status){ return null; }
@@ -241,6 +217,10 @@
         return dictData.getLabel();
     }
 
+    public Double getDiffQty() {
+        Double diffQty = Math.round((this.checkQty - this.anfme) * 1000) / 1000.0;
+        return diffQty;
+    }
 
     public String getCreateBy$(){
         UserService service = SpringUtils.getBean(UserService.class);

--
Gitblit v1.9.1