From 014270352f8e19b51bbb4367ae2ff256050a30a2 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 22 四月 2025 14:03:42 +0800
Subject: [PATCH] #修改优化   1. 字典优化修改   2. 编码规则优化   3. 出库单编码生成为空问题修复

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java     |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/system/entity/SerialRule.java                     |   19 ++--
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java        |   10 +
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/OutStockItemService.java          |    3 
 rsf-admin/src/page/system/dicts/dictType/DictDataList.jsx                                         |    2 
 rsf-admin/src/page/system/serialRule/SerialRuleCreate.jsx                                         |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockItemController.java    |   40 +++++-----
 rsf-admin/src/page/orders/outStock/OutOrderList.jsx                                               |   63 ++-------------
 rsf-admin/src/page/orders/outStock/OutOrderCreate.jsx                                             |   60 ++++++---------
 rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx                                         |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java |   29 +++++++
 rsf-admin/src/page/system/serialRule/SerialRuleItemCreate.jsx                                     |    2 
 12 files changed, 105 insertions(+), 129 deletions(-)

diff --git a/rsf-admin/src/page/orders/outStock/OutOrderCreate.jsx b/rsf-admin/src/page/orders/outStock/OutOrderCreate.jsx
index 28cd69d..037fb01 100644
--- a/rsf-admin/src/page/orders/outStock/OutOrderCreate.jsx
+++ b/rsf-admin/src/page/orders/outStock/OutOrderCreate.jsx
@@ -27,13 +27,14 @@
     Grid,
     Box,
 } from '@mui/material';
-import DialogCloseButton from "../components/DialogCloseButton";
-import StatusSelectInput from "../components/StatusSelectInput";
-import MemoInput from "../components/MemoInput";
+import DialogCloseButton from "../../components/DialogCloseButton";
+import StatusSelectInput from "../../components/StatusSelectInput";
+import MemoInput from "../../components/MemoInput";
 
 const OutOrderCreate = (props) => {
     const { open, setOpen } = props;
-
+    const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_order_type')) || [];
+    const business = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_business_type')) || [];
     const translate = useTranslate();
     const notify = useNotify();
 
@@ -69,7 +70,9 @@
                     disableRestoreFocus
                     maxWidth="md"   // 'xs' | 'sm' | 'md' | 'lg' | 'xl'
                 >
-                    <Form>
+                    <Form
+                        resource="outStock"
+                    >
                         <DialogTitle id="form-dialog-title" sx={{
                             position: 'sticky',
                             top: 0,
@@ -84,71 +87,57 @@
                         </DialogTitle>
                         <DialogContent sx={{ mt: 2 }}>
                             <Grid container rowSpacing={2} columnSpacing={2}>
-                                {/* <Grid item xs={6} display="flex" gap={1}>
-                                    <TextInput
-                                        label="table.field.asnOrder.code"
-                                        source="code"
-                                        parse={v => v}
-                                        autoFocus
-                                    />
-                                </Grid> */}
-                                <Grid item xs={6} display="flex" gap={1}>
+                                <Grid item xs={12} display="flex" gap={1}>
                                     <TextInput
                                         label="table.field.asnOrder.poCode"
                                         source="poCode"
                                         parse={v => v}
                                     />
-                                </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
                                     <NumberInput
                                         label="table.field.asnOrder.poId"
                                         source="poId"
                                     />
-                                </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
-                                    <TextInput
+                                    <AutocompleteInput
+                                        choices={dicts}
+                                        optionText="label"
                                         label="table.field.asnOrder.type"
                                         source="type"
-                                        parse={v => v}
+                                        optionValue="value"
                                         validate={required()}
+                                        parse={v => v}
                                     />
+
                                 </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
-                                    <TextInput
+                                <Grid item xs={12} display="flex" gap={1}>
+                                    <AutocompleteInput
+                                        choices={business}
+                                        optionText="label"
                                         label="table.field.asnOrder.wkType"
                                         source="wkType"
-                                        parse={v => v}
+                                        optionValue="value"
                                         validate={required()}
+                                        parse={v => v}
                                     />
-                                </Grid>
-                                {/* <Grid item xs={6} display="flex" gap={1}>
                                     <NumberInput
                                         label="table.field.asnOrder.anfme"
                                         source="anfme"
                                         validate={required()}
                                     />
-                                </Grid> */}
-                                {/* <Grid item xs={6} display="flex" gap={1}>
                                     <NumberInput
                                         label="table.field.asnOrder.qty"
                                         source="qty"
-                                        validate={required()}
                                     />
-                                </Grid> */}
-                                <Grid item xs={6} display="flex" gap={1}>
+                                </Grid>
+                                <Grid item xs={12} display="flex" gap={1}>
                                     <TextInput
                                         label="table.field.asnOrder.logisNo"
                                         source="logisNo"
                                         parse={v => v}
                                     />
-                                </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
                                     <DateInput
                                         label="table.field.asnOrder.arrTime"
                                         source="arrTime"
                                     />
-                                </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
                                     <SelectInput
                                         label="table.field.asnOrder.rleStatus"
                                         source="rleStatus"
@@ -158,8 +147,7 @@
                                         ]}
                                     />
                                 </Grid>
-
-                                <Grid item xs={6} display="flex" gap={1}>
+                                <Grid item xs={4} display="flex" gap={1}>
                                     <StatusSelectInput />
                                 </Grid>
                                 <Grid item xs={12} display="flex" gap={1}>
diff --git a/rsf-admin/src/page/orders/outStock/OutOrderList.jsx b/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
index dfff8b0..2ec290e 100644
--- a/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
+++ b/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
@@ -47,16 +47,13 @@
 import ConfirmButton from '../../components/ConfirmButton';
 import PageDrawer from "../../components/PageDrawer";
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
-import ConstructionIcon from "@mui/icons-material/Construction";
 import EditIcon from '@mui/icons-material/Edit';
-import TaskIcon from '@mui/icons-material/Task';
-import CloseIcon from '@mui/icons-material/Close';
 import request from '@/utils/request';
 import DictionarySelect from "../../components/DictionarySelect";
-import ExitToAppIcon from '@mui/icons-material/ExitToApp';
 import ImportButton from "../../components/ImportButton";
 import DetailsIcon from '@mui/icons-material/Details';
 import CancelIcon from '@mui/icons-material/Cancel';
+import OutOrderCreate from "./OutOrderCreate";
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
   '& .css-1vooibu-MuiSvgIcon-root': {
     height: '.9em'
@@ -112,6 +109,7 @@
 const OutOrderList = (props) => {
   const translate = useTranslate();
   const [createDialog, setCreateDialog] = useState(false);
+  const [manualDialog, setManualDialog] = useState(false);
   const [drawerVal, setDrawerVal] = useState(false);
   const [modalType, setmodalType] = useState(0);
   const [select, setSelect] = useState(0);
@@ -131,14 +129,14 @@
           marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
         }}
         title={"menu.outStock"}
-        empty={<EmptyData onClick={() => { setCreateDialog(true); setmodalType(0) }} />}
+        empty={false}
         filters={filters}
         filter={{ deleted: 0, type: 'out' }}
         sort={{ field: "create_time", order: "desc" }}
         actions={(
           <TopToolbar>
             <FilterButton />
-            <MyCreateButton onClick={() => { setCreateDialog(true); setmodalType(0) }} />
+            <MyCreateButton onClick={() => { setManualDialog(true) }} />
             <SelectColumnsButton preferenceKey='outStock' />
             <ImportButton value={'asnOrderItem'} />
             <MyExportButton />
@@ -152,7 +150,6 @@
           bulkActionButtons={
             <>
               <MyExportButton />
-              {/* <BtnBulkExport></BtnBulkExport> */}
               <BulkDeleteButton mutationMode={OPERATE_MODE}
               />
             </>}
@@ -180,10 +177,10 @@
             <EditButton label="toolbar.detail" icon={(<DetailsIcon />)}></EditButton>
             <MyButton setCreateDialog={setCreateDialog} setmodalType={setmodalType} />
             <CancelButton></CancelButton>
-            {/* <CompleteButton /> */}
           </WrapperField>
         </StyledDatagrid>
       </List>
+      <OutOrderCreate open={manualDialog} setOpen={setManualDialog} />
       <AsnOrderModal
         open={createDialog}
         setOpen={setCreateDialog}
@@ -222,36 +219,14 @@
   )
 }
 
-const CompleteButton = () => {
-  const record = useRecordContext();
-  const notify = useNotify();
-  const refresh = useRefresh();
-  const requestComplete = async () => {
-    const { data: { code, data, msg } } = await request.post(`/asnOrder/complete/${record.id}`);
-
-    if (code === 200) {
-      notify(msg);
-      refresh()
-    } else {
-      notify(msg);
-    }
-  }
-
-  return (
-    record.exceStatus === 1 && (record.anfme === record.qty ? <Button onClick={requestComplete} label={"toolbar.complete"} color="success">
-      <TaskIcon />
-    </Button> : <ConfirmButton label={"toolbar.complete"} color="success" data={'褰撳墠鏀惰揣鏁伴噺灏忎簬璁″垝鏁伴噺锛屾槸鍚︾‘璁ゅ畬鎴�'} startIcon={<TaskIcon />} onConfirm={requestComplete} />)
-
-  )
-}
-
 const CancelButton = () => {
   const record = useRecordContext();
   const notify = useNotify();
   const refresh = useRefresh();
 
-  const cancelOrder = async () => {
-    const { data: { code, data, msg } } = await request.post(`/outStock/cancel/${record.id}`);
+  const cancelOrder = async (event) => {
+    event.stopPropagation();
+    const { data: { code, data, msg } } = await request.get(`/outStock/cancel/${record.id}`);
     if (code === 200) {
       notify(msg);
       refresh()
@@ -261,26 +236,6 @@
   }
 
   return (
-    <ConfirmButton label={"toolbar.cancel"}  startIcon={<CancelIcon />} onConfirm={cancelOrder} />
-  )
-}
-
-const CloseButton = () => {
-  const record = useRecordContext();
-  const notify = useNotify();
-  const refresh = useRefresh();
-  const requestClose = async () => {
-    const { data: { code, data, msg } } = await request.post(`/outStock/close/${record.id}`);
-
-    if (code === 200) {
-      notify(msg);
-      refresh()
-    } else {
-      notify(msg);
-    }
-  }
-
-  return (
-    <ConfirmButton label={"toolbar.close"} color="error" data={'纭鏄惁鍏抽棴锛�'} startIcon={<CloseIcon />} onConfirm={requestClose} />
+    <ConfirmButton label={"toolbar.cancel"} startIcon={<CancelIcon />} onConfirm={cancelOrder} />
   )
 }
diff --git a/rsf-admin/src/page/system/dicts/dictType/DictDataList.jsx b/rsf-admin/src/page/system/dicts/dictType/DictDataList.jsx
index f41049c..f735912 100644
--- a/rsf-admin/src/page/system/dicts/dictType/DictDataList.jsx
+++ b/rsf-admin/src/page/system/dicts/dictType/DictDataList.jsx
@@ -108,7 +108,7 @@
                     empty={false}
                     filters={filters}
                     filter={{ dictTypeId: dictId }}
-                    sort={{ field: "create_time", order: "desc" }}
+                    sort={{ field: "sort", order: "asc" }}
                     actions={(
                         <TopToolbar>
                             <FilterButton />
diff --git a/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx b/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx
index e5b7332..17ae71d 100644
--- a/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx
+++ b/rsf-admin/src/page/system/dicts/dictType/DictTypeList.jsx
@@ -91,7 +91,7 @@
                 title={"menu.dictType"}
                 empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
                 filters={filters}
-                sort={{ field: "create_time", order: "desc" }}
+                sort={{ field: "sort", order: "asc" }}
                 actions={(
                     <TopToolbar>
                         <FilterButton />
diff --git a/rsf-admin/src/page/system/serialRule/SerialRuleCreate.jsx b/rsf-admin/src/page/system/serialRule/SerialRuleCreate.jsx
index e1c9409..22985ba 100644
--- a/rsf-admin/src/page/system/serialRule/SerialRuleCreate.jsx
+++ b/rsf-admin/src/page/system/serialRule/SerialRuleCreate.jsx
@@ -47,7 +47,7 @@
     setOpen(false);
     notify("common.response.success");
   };
-  const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_task_reset_type')) || [];
+  const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_rule_type')) || [];
 
   const handleError = async (error) => {
     notify(error.message || "common.response.fail", {
diff --git a/rsf-admin/src/page/system/serialRule/SerialRuleItemCreate.jsx b/rsf-admin/src/page/system/serialRule/SerialRuleItemCreate.jsx
index 554fbe1..5bec708 100644
--- a/rsf-admin/src/page/system/serialRule/SerialRuleItemCreate.jsx
+++ b/rsf-admin/src/page/system/serialRule/SerialRuleItemCreate.jsx
@@ -98,7 +98,7 @@
                                         choices={dicts}
                                         optionText="label"
                                         label="table.field.serialRuleItem.wkType"
-                                        source="type"
+                                        source="wkType"
                                         optionValue="value"
                                         parse={v => v}
                                         validate={[required()]} />
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java
index 152d98d..0cf149b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java
@@ -26,6 +26,7 @@
 import com.vincent.rsf.server.system.utils.SerialRuleUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -76,9 +77,12 @@
     public R save(@RequestBody AsnOrder asnOrder) {
         asnOrder.setCreateBy(getLoginUserId())
                 .setUpdateBy(getLoginUserId());
-        if (!Objects.isNull(asnOrder.getCode())) {
-            String code = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_OUT_STOCK_CODE, asnOrder);
-            asnOrder.setCode(code);
+        if (Objects.isNull(asnOrder.getCode())) {
+            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_OUT_STOCK_CODE, asnOrder);
+            if (Objects.isNull(ruleCode) || StringUtils.isBlank(ruleCode)) {
+                return R.error("缂栫爜瑙勫垯閿欒锛氱紪鐮併�孲YS_OUT_STOCK_CODE銆嶆槸鏈缃垚鍔燂紒锛�");
+            }
+            asnOrder.setCode(ruleCode);
         }
         if (!outStockService.save(asnOrder)) {
             return R.error("Save Fail");
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockItemController.java
index 629367b..c665a12 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockItemController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockItemController.java
@@ -37,36 +37,36 @@
 public class OutStockItemController extends BaseController {
 
     @Autowired
-    private OutStockItemService asnOrderItemService;
+    private OutStockItemService outStockItemService;
 
     @Autowired
     private CompanysService companysService;
 
-//    @PreAuthorize("hasAuthority('manager:outStockItem:list')")
-//    @ApiOperation("鍒嗛〉鑾峰彇鍒楄〃")
-//    @PostMapping("/outStockItem/page")
-//    public R page(@RequestBody Map<String, Object> map) {
-//        BaseParam baseParam = buildParam(map, BaseParam.class);
-//        PageParam<AsnOrderItem, BaseParam> pageParam = new PageParam<>(baseParam, AsnOrderItem.class);
-//        return R.ok().add(asnOrderItemService.listByAsnId(pageParam, pageParam.buildWrapper(true)));
-//    }
+    @PreAuthorize("hasAuthority('manager:outStockItem:list')")
+    @ApiOperation("鍒嗛〉鑾峰彇鍒楄〃")
+    @PostMapping("/outStockItem/page")
+    public R page(@RequestBody Map<String, Object> map) {
+        BaseParam baseParam = buildParam(map, BaseParam.class);
+        PageParam<AsnOrderItem, BaseParam> pageParam = new PageParam<>(baseParam, AsnOrderItem.class);
+        return R.ok().add(outStockItemService.listByAsnId(pageParam, pageParam.buildWrapper(true)));
+    }
 
     @PreAuthorize("hasAuthority('manager:outStockItem:list')")
     @PostMapping("/outStockItem/list")
     public R list(@RequestBody Map<String, Object> map) {
-        return R.ok().add(asnOrderItemService.list());
+        return R.ok().add(outStockItemService.list());
     }
 
     @PreAuthorize("hasAuthority('manager:outStockItem:list')")
     @PostMapping({"/outStockItem/many/{ids}", "/outStockItems/many/{ids}"})
     public R many(@PathVariable Long[] ids) {
-        return R.ok().add(asnOrderItemService.listByIds(Arrays.asList(ids)));
+        return R.ok().add(outStockItemService.listByIds(Arrays.asList(ids)));
     }
 
     @PreAuthorize("hasAuthority('manager:outStockItem:list')")
     @GetMapping("/outStockItem/{id}")
     public R get(@PathVariable("id") Long id) {
-        return R.ok().add(asnOrderItemService.getById(id));
+        return R.ok().add(outStockItemService.getById(id));
     }
 
     @PreAuthorize("hasAuthority('manager:outStockItem:save')")
@@ -79,7 +79,7 @@
         params.put("createBy", getLoginUserId());
         params.put("updateBy", getLoginUserId());
 
-        if (!asnOrderItemService.fieldsSave(params)) {
+        if (!outStockItemService.fieldsSave(params)) {
             return R.error("Save Fail");
         }
         return R.ok("Save Success");
@@ -100,7 +100,7 @@
                 asnOrderItem.setSplrCode(companys.getCode()).setSplrName(companys.getName());
             }
         }
-        if (!asnOrderItemService.updateById(asnOrderItem)) {
+        if (!outStockItemService.updateById(asnOrderItem)) {
             return R.error("Update Fail");
         }
         return R.ok("Update Success").add(asnOrderItem);
@@ -110,7 +110,7 @@
     @OperationLog("Delete 鍑哄簱鍗曟槑缁�")
     @PostMapping("/outStockItem/remove/{ids}")
     public R remove(@PathVariable Long[] ids) {
-        if (!asnOrderItemService.removeByIds(Arrays.asList(ids))) {
+        if (!outStockItemService.removeByIds(Arrays.asList(ids))) {
             return R.error("Delete Fail");
         }
         return R.ok("Delete Success").add(ids);
@@ -124,7 +124,7 @@
         if (!Cools.isEmpty(condition)) {
             wrapper.like(AsnOrderItem::getId, condition);
         }
-        asnOrderItemService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
+        outStockItemService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
                 item -> vos.add(new KeyValVo(item.getId(), item.getId()))
         );
         return R.ok().add(vos);
@@ -138,14 +138,14 @@
         if (!Objects.isNull(map.get("ids"))) {
             List<Long> ids = JSONArray.parseArray(JSONObject.toJSONString(map.get("ids")), Long.class);
             if (!ids.isEmpty()) {
-                orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>()
+                orderItems = outStockItemService.list(new LambdaQueryWrapper<AsnOrderItem>()
                         .in(AsnOrderItem::getId, ids)
                         .eq(AsnOrderItem::getStatus, 1));
             } else {
-                orderItems = asnOrderItemService.list(new LambdaQueryWrapper<>());
+                orderItems = outStockItemService.list(new LambdaQueryWrapper<>());
             }
         } else {
-            orderItems = asnOrderItemService.list(new LambdaQueryWrapper<>());
+            orderItems = outStockItemService.list(new LambdaQueryWrapper<>());
         }
 
         ExcelUtil.build(ExcelUtil.create(orderItems, AsnOrderItem.class, true), response);
@@ -164,7 +164,7 @@
             R.error("鏂囦欢涓嶈兘涓虹┖锛侊紒");
         }
         HashMap<String, Object> hashMap = new HashMap<>();
-        return asnOrderItemService.excelImport(file, hashMap, getLoginUserId());
+        return outStockItemService.excelImport(file, hashMap, getLoginUserId());
     }
 
     /**
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/OutStockItemService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/OutStockItemService.java
index 3927235..56b43e2 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/OutStockItemService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/OutStockItemService.java
@@ -19,4 +19,7 @@
 
     R excelImport(MultipartFile file, HashMap<String, Object> hashMap, Long loginUserId) throws Exception;
 
+    IPage<Map<String, Object>> listByAsnId(PageParam<AsnOrderItem, BaseParam> pageParam, QueryWrapper<AsnOrderItem> buildWrapper);
+
+
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java
index 819b08a..f261049 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java
@@ -4,12 +4,16 @@
 import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
 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.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.api.entity.enums.OrderType;
 import com.vincent.rsf.server.api.entity.enums.OrderWorkType;
+import com.vincent.rsf.server.common.domain.BaseParam;
+import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.common.utils.CommonUtil;
 import com.vincent.rsf.server.common.utils.ExcelUtil;
 import com.vincent.rsf.server.common.utils.FieldsUtils;
@@ -84,6 +88,13 @@
         return true;
     }
 
+    /**
+     * @author Ryan
+     * @description 鍑哄簱鍗曟ā鏉垮鍏�
+     * @param
+     * @return
+     * @time 2025/4/22 12:40
+     */
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R excelImport(MultipartFile file, HashMap<String, Object> hashMap, Long loginUserId) throws Exception {
@@ -156,4 +167,22 @@
         return R.ok("鎿嶄綔鎴愬姛锛侊紒");
     }
 
+    /**
+     * @author Ryan
+     * @description 鑾峰彇Page椤�
+     * @param
+     * @return
+     * @time 2025/4/22 12:39
+     */
+    @Override
+    public IPage<Map<String, Object>> listByAsnId(PageParam<AsnOrderItem, BaseParam> pageParam, QueryWrapper<AsnOrderItem> buildWrapper) {
+        IPage<Map<String, Object>> hsahMap = this.baseMapper.resultForMap(pageParam, buildWrapper);
+        if (hsahMap.getRecords().isEmpty()) {
+            return hsahMap.setRecords(new ArrayList<>());
+        }
+        hsahMap.setRecords(FieldsUtils.getExtendFields(hsahMap.getRecords()));
+        return hsahMap;
+
+    }
+
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
index c9c49cd..421985e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -165,7 +165,7 @@
             throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
         }
         if (!order.getExceStatus().equals(AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val)) {
-            throw new CoolException("褰撳墠鍗曟嵁鐘舵�佷负:" + AsnExceStatus.getExceStatus(order.getExceStatus()) + "锛� 涓嶅彲鎵ц鍙栨秷鎿嶄綔锛侊紒");
+            throw new CoolException("褰撳墠鍗曟嵁鐘舵�佷负" + AsnExceStatus.getExceStatus(order.getExceStatus()) + "锛� 涓嶅彲鎵ц鍙栨秷鎿嶄綔锛侊紒");
         }
         order.setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_TASK_CANCEL.val).setStatus(0);
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/entity/SerialRule.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/entity/SerialRule.java
index 329be84..5be7630 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/entity/SerialRule.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/entity/SerialRule.java
@@ -4,6 +4,8 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.vincent.rsf.server.system.service.DictDataService;
 import lombok.experimental.Accessors;
 import org.springframework.format.annotation.DateTimeFormat;
 import java.text.SimpleDateFormat;
@@ -173,18 +175,13 @@
 
     public String getReset$(){
         if (null == this.reset){ return null; }
-        switch (this.reset){
-            case "year":
-                return " 骞�";
-            case  "month":
-                return " 鏈�";
-            case  "dd":
-                return " 澶�";
-            case  "non":
-                return " 鏃�";
-            default:
-                return String.valueOf(this.reset);
+        DictDataService dictDataService = SpringUtils.getBean(DictDataService.class);
+        DictData dictData = dictDataService.getOne(new LambdaQueryWrapper<DictData>()
+                .eq(DictData::getDictTypeCode,"sys_rule_type").eq(DictData::getValue, this.reset));
+        if (null != dictData){
+            return dictData.getLabel();
         }
+        return String.valueOf(this.reset);
     }
 
     public String getStatus$(){

--
Gitblit v1.9.1