From 7ea1537c02273a796781bb05f8b0c87969aeccc6 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 14 五月 2025 16:48:38 +0800
Subject: [PATCH] 问题清单修改

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/PurchaseController.java    |    1 
 rsf-admin/src/page/histories/waitPakinLog/WaitPakinLogList.jsx                                |    4 --
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java |   18 ++++++--
 rsf-admin/src/page/components/ImportModal.jsx                                                 |    5 ++
 rsf-admin/src/page/orders/asnOrder/POItemModal.jsx                                            |   12 ++++-
 rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx                                          |   17 ++++----
 rsf-admin/src/page/histories/waitPakinLog/WaitPakinItemLogList.jsx                            |    4 +-
 7 files changed, 38 insertions(+), 23 deletions(-)

diff --git a/rsf-admin/src/page/components/ImportModal.jsx b/rsf-admin/src/page/components/ImportModal.jsx
index 63c2edf..caee07f 100644
--- a/rsf-admin/src/page/components/ImportModal.jsx
+++ b/rsf-admin/src/page/components/ImportModal.jsx
@@ -21,7 +21,7 @@
 import { usePapaParse } from './usePapaParse';
 import MatnrList from '../basicInfo/matnr/MatnrList';
 import request from '@/utils/request'
-
+import ImportExportOutlinedIcon from '@mui/icons-material/ImportExportOutlined';
 const ImportModal = ({ open, onClose, importTemp, useCodeImport, onceBatch = 10, value, parmas = {}}) => {
     const refresh = useRefresh();
     const translate = useTranslate();
@@ -222,6 +222,7 @@
                 <Toolbar
                     sx={{
                         width: '100%',
+                        justifyContent: 'end'
                     }}
                 >
                     {importer.state === 'idle' ? (
@@ -229,6 +230,8 @@
                             <Button
                                 label="common.action.import.title"
                                 variant="contained"
+                                startIcon={<ImportExportOutlinedIcon />}
+                                size='medium'
                                 onClick={startImport}
                                 disabled={!file}
                             />
diff --git a/rsf-admin/src/page/histories/waitPakinLog/WaitPakinItemLogList.jsx b/rsf-admin/src/page/histories/waitPakinLog/WaitPakinItemLogList.jsx
index c088062..68179fb 100644
--- a/rsf-admin/src/page/histories/waitPakinLog/WaitPakinItemLogList.jsx
+++ b/rsf-admin/src/page/histories/waitPakinLog/WaitPakinItemLogList.jsx
@@ -108,7 +108,7 @@
                     marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
                 }}
                 title={"menu.waitPakinItemLog"}
-                empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
+                empty={false}
                 filters={filters}
                 filter={{ logId: recordId }}
                 sort={{ field: "create_time", order: "desc" }}
@@ -123,7 +123,7 @@
             >
                 <StyledDatagrid
                     preferenceKey='waitPakinItemLog'
-                    bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
+                    bulkActionButtons={false}
                     rowClick={ false}
                     omit={['id', 'createTime', 'createBy', 'memo', 'pakinId', 'pakinItemId', 'asnId' ,'asnItemId', 'createBy$', 'fieldsIndex']}
                 >
diff --git a/rsf-admin/src/page/histories/waitPakinLog/WaitPakinLogList.jsx b/rsf-admin/src/page/histories/waitPakinLog/WaitPakinLogList.jsx
index 53c8898..7ae94d1 100644
--- a/rsf-admin/src/page/histories/waitPakinLog/WaitPakinLogList.jsx
+++ b/rsf-admin/src/page/histories/waitPakinLog/WaitPakinLogList.jsx
@@ -133,10 +133,6 @@
                     <DateField source="createTime" label="common.field.createTime" showTime />
                     <BooleanField source="statusBool" label="common.field.status" sortable={false} />
                     <TextField source="memo" label="common.field.memo" sortable={false} />
-                    <WrapperField cellClassName="opt" label="common.field.opt">
-                        {/* <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} /> */}
-                        <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
-                    </WrapperField>
                 </StyledDatagrid>
             </List>
             <PageDrawer
diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
index d046fdd..1fdb77c 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
@@ -541,14 +541,6 @@
             ),
             headerClassName: "custom",
         },
-        // {
-        //     field: 'packName',
-        //     headerName: translate('table.field.asnOrderItem.packName'),
-        //     minWidth: 100,
-        //     flex: 1,
-        //     editable: true,
-        // },
-
         {
             field: 'platItemId',
             headerName: translate('table.field.asnOrderItem.platItemId') + "*",
@@ -557,6 +549,15 @@
             editable: true,
             headerClassName: "custom",
         },
+        {
+            field: 'splrBatch',
+            headerName: translate('table.field.asnOrderItem.splrBatch'),
+            minWidth: 100,
+            flex: 1,
+            editable: true,
+            headerClassName: "custom",
+
+        },
 
         // {
         //     field: 'poCode',
diff --git a/rsf-admin/src/page/orders/asnOrder/POItemModal.jsx b/rsf-admin/src/page/orders/asnOrder/POItemModal.jsx
index 4bd0981..dcde225 100644
--- a/rsf-admin/src/page/orders/asnOrder/POItemModal.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/POItemModal.jsx
@@ -109,8 +109,6 @@
             "purchaseId": record,
             "items": tabelData,
         }
-        console.log('--------->');
-        console.log(parmas);
         const res = await request.post(`/asnOrder/purchases/save`, parmas);
         if (res?.data?.code === 200) {
             notify(res.data.msg);
@@ -167,7 +165,7 @@
                     </Box>
                 </DialogContent>
                 <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}>
-                    <Toolbar sx={{ width: '100%', justifyContent: 'space-between' }}  >
+                    <Toolbar sx={{ width: '100%', justifyContent: 'end' }}  >
                         <Button disabled={disabled} onClick={handleSubmit} variant="contained" startIcon={<SaveIcon />}>
                             {translate('toolbar.confirm')}
                         </Button>
@@ -283,6 +281,14 @@
             headerClassName: "custom",
         },
         {
+            field: 'qty',
+            headerName: translate('table.field.asnOrderItem.qty') + "*",
+            type: 'number',
+            minWidth: 100,
+            flex: 1,
+            valueFormatter: (val) => val < 0 ? 0 : val,
+        },
+        {
             field: 'unit',
             headerName: translate('table.field.asnOrderItem.stockUnit'),
             minWidth: 100,
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/PurchaseController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/PurchaseController.java
index af7930d..e49c304 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/PurchaseController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/PurchaseController.java
@@ -55,6 +55,7 @@
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<Purchase, BaseParam> pageParam = new PageParam<>(baseParam, Purchase.class);
         QueryWrapper<Purchase> wrapper = pageParam.buildWrapper(true);
+        wrapper.apply("anfme > qty");
         wrapper.ne("exce_status", POExceStatus.PO_EXCE_STATUS_ALL_DONE.val);
         return R.ok().add(purchaseService.page(pageParam, wrapper));
     }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
index 011bd52..beaad9f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
@@ -254,6 +254,7 @@
      * @version 1.0
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public R createByPo(Map<String, Object> params) {
         Long purchaseId = Long.parseLong(params.get("purchaseId").toString());
         List<PurchaseItem> itemList = JSONArray.parseArray(JSONObject.toJSONString(params.get("items")), PurchaseItem.class);
@@ -286,6 +287,12 @@
             String trackCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, item);
             if (StringUtils.isBlank(trackCode)) {
                 throw new CoolException("鍗曟嵁璺熻釜鐮佺敓鎴愬け璐ワ細璇锋鏌ャ�宻ys_asn_mantr_label銆嶆槸鍚﹂厤缃畬鎴愶紒锛�");
+            }
+
+            PurchaseItem service = purchaseItemService.getById(item.getId());
+            Double qty = service.getQty() + item.getAnfme();
+            if (qty.compareTo(service.getAnfme()) > 0) {
+                throw new CoolException("鏂板缓鍗曟嵁鏁伴噺涓嶈兘澶т簬璁″垝鏁伴噺锛侊紒");
             }
             orderItem.setAnfme(item.getAnfme())
                     .setAsnId(order.getId())
@@ -373,17 +380,18 @@
             }
         }
 
-        if (!asnOrderItemService.remove(new LambdaQueryWrapper<AsnOrderItem>()
-                .in(AsnOrderItem::getAsnId, ids))) {
-            throw new CoolException("Details Delete Fail");
-        }
-
         if (!this.remove(new LambdaQueryWrapper<AsnOrder>()
                 .in(AsnOrder::getId, ids)
                 .eq(AsnOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val))) {
             throw new CoolException("浠诲姟涓崟鎹笉鍙垹闄わ紒锛�");
         }
 
+
+        if (!asnOrderItemService.remove(new LambdaQueryWrapper<AsnOrderItem>()
+                .in(AsnOrderItem::getAsnId, ids))) {
+//            throw new CoolException("Details Delete Fail");
+        }
+
         return R.ok("鎿嶄綔鎴愬姛锛侊紒");
     }
 

--
Gitblit v1.9.1