skyouc
2025-02-20 b0f4749bf7ed767f0df2c0cd9967c34aa812c4c5
#修改
1. 物料字段修改
11个文件已修改
273 ■■■■■ 已修改文件
rsf-admin/src/i18n/en.js 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/i18n/zh.js 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/matnr/MatnrCreate.jsx 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/matnr/MatnrEdit.jsx 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/matnr/MatnrList.jsx 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/matnr/MatnrPanel.jsx 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/common/utils/ExcelUtil.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BatchRegular.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/i18n/en.js
@@ -239,7 +239,7 @@
                code: "code",
                shipperId: "shipperId",
                groupId: "groupId",
                batchRegularId: "batchRegularId",
                rglarId: "RegularId",
                erpCode: "erpCode",
                spec: "spec",
                model: "model",
@@ -249,16 +249,16 @@
                describle: "describle",
                nromNum: "nromNum",
                unit: "unit",
                purchaseUnit: "purchaseUnit",
                purUnit: "purchaseUnit",
                stockUnit: "stockUnit",
                stockLeval: "stockLeval",
                stockLevel: "stockLeval",
                isLabelMange: "isLabelMange",
                safetyQty: "safetyQty",
                safeQty: "safetyQty",
                minQty: "minQty",
                maxQty: "maxQty",
                stagnate: "stagnate",
                validity: "validity",
                validityWarr: "validityWarr",
                stagn: "stagnate",
                valid: "validity",
                validWarn: "validityWarn",
                flagCheck: "flagCheck",
            },
            matnrGroup: {
rsf-admin/src/i18n/zh.js
@@ -240,7 +240,7 @@
                code: "物料编码",
                shipperId: "货主标识",
                groupId: "分组标识",
                batchRegularId: "批次规则标识",
                rglarId: "批次规则标识",
                erpCode: "ERP编码",
                spec: "规格",
                model: "型号",
@@ -250,16 +250,16 @@
                describle: "描述",
                nromNum: "标包数量",
                unit: "单位",
                purchaseUnit: "采购单位",
                purUnit: "采购单位",
                stockUnit: "库存单位",
                stockLeval: "ABC分类",
                stockLevel: "ABC分类",
                isLabelMange: "标签管理",
                safetyQty: "安全值",
                safeQty: "安全值",
                minQty: "最小值",
                maxQty: "最大值",
                stagnate: "停滞预警值",
                validity: "保质期",
                validityWarr: "效期预警",
                stagn: "停滞预警值",
                valid: "保质期",
                validWarn: "效期预警",
                flagCheck: "免检",
            },
            matnrGroup: {
rsf-admin/src/page/matnr/MatnrCreate.jsx
@@ -125,11 +125,11 @@
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <ReferenceInput
                                        source="batchRegularId"
                                        source="rglarId"
                                        reference="batchRegular"
                                    >
                                        <AutocompleteInput
                                            label="table.field.matnr.batchRegularId"
                                            label="table.field.matnr.rglarId"
                                            optionText="code"
                                            filterToQuery={(val) => ({ code: val })}
                                        />
@@ -198,7 +198,7 @@
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <TextInput
                                        label="table.field.matnr.purchaseUnit"
                                        label="table.field.matnr.purUnit"
                                        source="purchaseUnit"
                                        parse={v => v}
                                    />
@@ -212,8 +212,8 @@
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <SelectInput
                                        label="table.field.matnr.stockLeval"
                                        source="stockLeval"
                                        label="table.field.matnr.stockLevel"
                                        source="stockLevel"
                                        choices={[
                                            { id: 0, name: ' A' },
                                            { id:   1, name: ' B' },
@@ -233,8 +233,8 @@
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <NumberInput
                                        label="table.field.matnr.safetyQty"
                                        source="safetyQty"
                                        label="table.field.matnr.safeQty"
                                        source="safeQty"
                                    />
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
@@ -251,20 +251,20 @@
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <NumberInput
                                        label="table.field.matnr.stagnate"
                                        source="stagnate"
                                        label="table.field.matnr.stagn"
                                        source="stagn"
                                    />
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <NumberInput
                                        label="table.field.matnr.validity"
                                        source="validity"
                                        label="table.field.matnr.valid"
                                        source="valid"
                                    />
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <NumberInput
                                        label="table.field.matnr.validityWarr"
                                        source="validityWarr"
                                        label="table.field.matnr.validWarn"
                                        source="validWarn"
                                    />
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
rsf-admin/src/page/matnr/MatnrEdit.jsx
@@ -106,12 +106,12 @@
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <ReferenceInput
                                source="batchRegularId"
                                reference="batchRegular"
                                source="rglarId"
                                reference="rglarId"
                                perPage={REFERENCE_INPUT_PAGESIZE}
                            >
                                <AutocompleteInput
                                    label="table.field.matnr.batchRegularId"
                                    label="table.field.matnr.rglarId"
                                    optionText="code"
                                    filterToQuery={(val) => ({ code: val })}
                                />
@@ -180,8 +180,8 @@
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.matnr.purchaseUnit"
                                source="purchaseUnit"
                                label="table.field.matnr.purUnit"
                                source="purUnit"
                                parse={v => v}
                            />
                        </Stack>
@@ -194,8 +194,8 @@
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <SelectInput
                                label="table.field.matnr.stockLeval"
                                source="stockLeval"
                                label="table.field.matnr.stockLevel"
                                source="stockLevel"
                                choices={[
                                    { id: 0, name: ' A' },
                                    { id:   1, name: ' B' },
@@ -217,8 +217,8 @@
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.matnr.safetyQty"
                                source="safetyQty"
                                label="table.field.matnr.safeQty"
                                source="safeQty"
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
@@ -235,20 +235,20 @@
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.matnr.stagnate"
                                source="stagnate"
                                label="table.field.matnr.stagn"
                                source="stagn"
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.matnr.validity"
                                source="validity"
                                label="table.field.matnr.valid"
                                source="valid"
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.matnr.validityWarr"
                                source="validityWarr"
                                label="table.field.matnr.validWarn"
                                source="validWarn"
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
rsf-admin/src/page/matnr/MatnrList.jsx
@@ -71,8 +71,8 @@
    <ReferenceInput source="groupId" label="table.field.matnr.groupId" reference="matnrGroup">
        <AutocompleteInput label="table.field.matnr.groupId" optionText="code" filterToQuery={(val) => ({ code: val })} />
    </ReferenceInput>,
    <ReferenceInput source="batchRegularId" label="table.field.matnr.batchRegularId" reference="batchRegular">
        <AutocompleteInput label="table.field.matnr.batchRegularId" optionText="code" filterToQuery={(val) => ({ code: val })} />
    <ReferenceInput source="rglarId" label="table.field.matnr.rglarId" reference="rglarId">
        <AutocompleteInput label="table.field.matnr.rglarId" optionText="code" filterToQuery={(val) => ({ code: val })} />
    </ReferenceInput>,
    <TextInput source="erpCode" label="table.field.matnr.erpCode" />,
    <TextInput source="spec" label="table.field.matnr.spec" />,
@@ -83,9 +83,9 @@
    <TextInput source="describle" label="table.field.matnr.describle" />,
    <NumberInput source="nromNum" label="table.field.matnr.nromNum" />,
    <TextInput source="unit" label="table.field.matnr.unit" />,
    <TextInput source="purchaseUnit" label="table.field.matnr.purchaseUnit" />,
    <TextInput source="purUnit" label="table.field.matnr.purUnit" />,
    <TextInput source="stockUnit" label="table.field.matnr.stockUnit" />,
    <SelectInput source="stockLeval" label="table.field.matnr.stockLeval"
    <SelectInput source="stockLevel" label="table.field.matnr.stockLevel"
        choices={[
            { id: 0, name: ' A' },
            { id:   1, name: ' B' },
@@ -98,12 +98,12 @@
            { id:  1, name: ' 是' },
        ]}
    />,
    <NumberInput source="safetyQty" label="table.field.matnr.safetyQty" />,
    <NumberInput source="safeQty" label="table.field.matnr.safeQty" />,
    <NumberInput source="minQty" label="table.field.matnr.minQty" />,
    <NumberInput source="maxQty" label="table.field.matnr.maxQty" />,
    <NumberInput source="stagnate" label="table.field.matnr.stagnate" />,
    <NumberInput source="validity" label="table.field.matnr.validity" />,
    <NumberInput source="validityWarr" label="table.field.matnr.validityWarr" />,
    <NumberInput source="stagn" label="table.field.matnr.stagn" />,
    <NumberInput source="valid" label="table.field.matnr.valid" />,
    <NumberInput source="validWarn" label="table.field.matnr.validWarn" />,
    <NumberInput source="flagCheck" label="table.field.matnr.flagCheck" />,
    <TextInput label="common.field.memo" source="memo" />,
@@ -166,7 +166,7 @@
                    <ReferenceField source="groupId" label="table.field.matnr.groupId" reference="matnrGroup" link={false} sortable={false}>
                        <TextField source="code" />
                    </ReferenceField>
                    <ReferenceField source="batchRegularId" label="table.field.matnr.batchRegularId" reference="batchRegular" link={false} sortable={false}>
                    <ReferenceField source="rglarId" label="table.field.matnr.rglarId" reference="rglarId" link={false} sortable={false}>
                        <TextField source="code" />
                    </ReferenceField>
                    <TextField source="erpCode" label="table.field.matnr.erpCode" />
@@ -178,16 +178,16 @@
                    <TextField source="describle" label="table.field.matnr.describle" />
                    <NumberField source="nromNum" label="table.field.matnr.nromNum" />
                    <TextField source="unit" label="table.field.matnr.unit" />
                    <TextField source="purchaseUnit" label="table.field.matnr.purchaseUnit" />
                    <TextField source="purUnit" label="table.field.matnr.purUnit" />
                    <TextField source="stockUnit" label="table.field.matnr.stockUnit" />
                    <TextField source="stockLeval$" label="table.field.matnr.stockLeval" sortable={false} />
                    <TextField source="stockLeval$" label="table.field.matnr.stockLevel" sortable={false} />
                    <TextField source="isLabelMange$" label="table.field.matnr.isLabelMange" sortable={false} />
                    <NumberField source="safetyQty" label="table.field.matnr.safetyQty" />
                    <NumberField source="safeQty" label="table.field.matnr.safeQty" />
                    <NumberField source="minQty" label="table.field.matnr.minQty" />
                    <NumberField source="maxQty" label="table.field.matnr.maxQty" />
                    <NumberField source="stagnate" label="table.field.matnr.stagnate" />
                    <NumberField source="validity" label="table.field.matnr.validity" />
                    <NumberField source="validityWarr" label="table.field.matnr.validityWarr" />
                    <NumberField source="stagn" label="table.field.matnr.stagn" />
                    <NumberField source="valid" label="table.field.matnr.valid" />
                    <NumberField source="validWarn" label="table.field.matnr.validWarn" />
                    <NumberField source="flagCheck" label="table.field.matnr.flagCheck" />
                    <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
rsf-admin/src/page/matnr/MatnrPanel.jsx
@@ -66,8 +66,8 @@
                        </Grid>
                        <Grid item xs={6}>
                            <PanelTypography
                                title="table.field.matnr.batchRegularId"
                                property={record.batchRegularId$}
                                title="table.field.matnr.rglarId"
                                property={record.rglarId$}
                            />
                        </Grid>
                        <Grid item xs={6}>
@@ -126,8 +126,8 @@
                        </Grid>
                        <Grid item xs={6}>
                            <PanelTypography
                                title="table.field.matnr.purchaseUnit"
                                property={record.purchaseUnit}
                                title="table.field.matnr.purUnit"
                                property={record.purUnit}
                            />
                        </Grid>
                        <Grid item xs={6}>
@@ -138,8 +138,8 @@
                        </Grid>
                        <Grid item xs={6}>
                            <PanelTypography
                                title="table.field.matnr.stockLeval"
                                property={record.stockLeval$}
                                title="table.field.matnr.stockLevel"
                                property={record.stockLevel$}
                            />
                        </Grid>
                        <Grid item xs={6}>
@@ -150,8 +150,8 @@
                        </Grid>
                        <Grid item xs={6}>
                            <PanelTypography
                                title="table.field.matnr.safetyQty"
                                property={record.safetyQty}
                                title="table.field.matnr.safeQty"
                                property={record.safeQty}
                            />
                        </Grid>
                        <Grid item xs={6}>
@@ -168,20 +168,20 @@
                        </Grid>
                        <Grid item xs={6}>
                            <PanelTypography
                                title="table.field.matnr.stagnate"
                                property={record.stagnate}
                                title="table.field.matnr.stagn"
                                property={record.stagn}
                            />
                        </Grid>
                        <Grid item xs={6}>
                            <PanelTypography
                                title="table.field.matnr.validity"
                                property={record.validity}
                                title="table.field.matnr.valid"
                                property={record.valid}
                            />
                        </Grid>
                        <Grid item xs={6}>
                            <PanelTypography
                                title="table.field.matnr.validityWarr"
                                property={record.validityWarr}
                                title="table.field.matnr.validWarn"
                                property={record.validWarn}
                            />
                        </Grid>
                        <Grid item xs={6}>
rsf-server/src/main/java/com/vincent/rsf/server/common/utils/ExcelUtil.java
@@ -3,9 +3,10 @@
import com.vincent.rsf.framework.common.Cools;
import io.swagger.annotations.ApiModelProperty;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@@ -13,8 +14,7 @@
import java.lang.reflect.Modifier;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.*;
/**
 * Created by vincent on 2/17/2024
@@ -90,6 +90,77 @@
        return workbook;
    }
    /**
     * Excel 导入
     * @param file 文件
     * @param keys 数据顺序
     */
    public static  List<Map<String, Object>>  importExcel(MultipartFile file, String[] keys) throws Exception{
        Workbook wb = null;
        String fileName = file.getOriginalFilename();
        if (fileName.endsWith("xls")) {
            POIFSFileSystem pois = new POIFSFileSystem(file.getInputStream());
            wb = new HSSFWorkbook(pois);
        } else if (fileName.endsWith("xlsx")) {
            wb = new XSSFWorkbook(file.getInputStream());
        }
        Sheet sheet = wb.getSheetAt(0);
        int rowCount = sheet.getPhysicalNumberOfRows();
        if (sheet.getRow( 1).getPhysicalNumberOfCells() != keys.length){
            throw new RuntimeException("导入的Excel和模板的列不匹配");
        }
        List<Map<String,Object>> result = new ArrayList<>();
        for (int i = 0; i < rowCount - 1; i++) {
            Row row = sheet.getRow(i + 1);
            Map<String,Object> tmp = new HashMap<>();
            for (int j = 0;j < keys.length; j++){
                Cell cell = row.getCell(j);
                // 把类型转行String
//                cell.setCellType(CellType.STRING);
                tmp.put(keys[j], cell.getStringCellValue());
            }
            result.add(tmp);
        }
        return result;
    }
    /**
     * 表头样式
     */
    private static CellStyle HeaderStyle(Workbook wb){
        Font font = wb.createFont();
        font.setFontName("宋体");
        font.setFontHeightInPoints((short) 11);
        CellStyle cellStyle = commonStyle(wb);
        cellStyle.setFont(font);
        return cellStyle;
    }
    /**
     * 内容样式
     */
    private static CellStyle contentStyle(Workbook wb){
        Font font = wb.createFont();
        font.setFontName("宋体");
        font.setFontHeightInPoints((short) 10);
        CellStyle cellStyle = commonStyle(wb);
        cellStyle.setFont(font);
        return cellStyle;
    }
    /**
     * 公共样式
     */
    private static CellStyle commonStyle(Workbook wb){
        CellStyle style = wb.createCellStyle();
        style.setAlignment(HorizontalAlignment.CENTER);
        style.setVerticalAlignment(VerticalAlignment.CENTER);
        style.setBorderBottom(BorderStyle.THIN);
        style.setBorderLeft(BorderStyle.THIN);
        style.setBorderTop(BorderStyle.THIN);
        style.setBorderRight(BorderStyle.THIN);
        style.setWrapText(true);// 自动换行
        return style;
    }
}
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java
@@ -15,6 +15,7 @@
import com.vincent.rsf.server.manager.service.MatnrService;
import com.vincent.rsf.server.system.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
@@ -108,6 +109,7 @@
    @SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
    @PreAuthorize("hasAuthority('manager:matnr:list')")
    @ApiOperation(value = "获取分类物料明细列表")
    @PostMapping("/matnr/group")
    public R getGroupMatnrs(@RequestBody  Map<String, Object> map) {
        BaseParam baseParam = buildParam(map, BaseParam.class);
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BatchRegular.java
@@ -50,7 +50,7 @@
     * 属性格式
     */
    @ApiModelProperty(value= "属性格式")
    private String property;
    private String attrs;
    /**
     * 状态 1: 正常  0: 冻结  
@@ -105,10 +105,10 @@
    public BatchRegular() {}
    public BatchRegular(String name,String code,String property,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
    public BatchRegular(String name,String code,String attrs,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
        this.name = name;
        this.code = code;
        this.property = property;
        this.attrs = attrs;
        this.status = status;
        this.deleted = deleted;
        this.tenantId = tenantId;
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java
@@ -66,7 +66,7 @@
     * 规则代码
     */
    @ApiModelProperty(value= "规则代码")
    private Long batchRegularId;
    private Long rglarId;
    /**
     * ERP编码
@@ -126,7 +126,7 @@
     * 采购单位
     */
    @ApiModelProperty(value= "采购单位")
    private String purchaseUnit;
    private String purUnit;
    /**
     * 库位单位
@@ -138,7 +138,7 @@
     * 出入库优先级别 0:  A    1:  B    2: C  
     */
    @ApiModelProperty(value= "出入库优先级别 0:  A    1:  B    2: C  ")
    private Short stockLeval;
    private Short stockLevel;
    /**
     * 是否标签管理(*) 0:  否   1:  是  
@@ -150,7 +150,7 @@
     * 安全库存
     */
    @ApiModelProperty(value= "安全库存")
    private Double safetyQty;
    private Double safeQty;
    /**
     * 最小库存预警值
@@ -168,13 +168,13 @@
     * 停滞天数
     */
    @ApiModelProperty(value= "停滞天数")
    private Integer stagnate;
    private Integer stagn;
    /**
     * 保质期天数
     */
    @ApiModelProperty(value= "保质期天数")
    private Integer validity;
    private Integer valid;
    /**
     * 条形码
@@ -186,7 +186,7 @@
     * 效期预警阈值
     */
    @ApiModelProperty(value= "效期预警阈值")
    private Integer validityWarn;
    private Integer validWarn;
    /**
     * 是否免检
@@ -254,12 +254,12 @@
    public Matnr() {}
    public Matnr(String name,String code,Long shipperId,Long groupId,Long batchRegularId,String erpCode,String spec,String model,Double weight,String color,String size,String describle,Integer nromNum,String unit,String purchaseUnit,String stockUnit,Short stockLeval,Short flagLabelMange,Double safetyQty,Double minQty,Double maxQty,Integer stagnate,Integer validity,Integer validityWarn,Short flagCheck,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
    public Matnr(String name,String code,Long shipperId,Long groupId,Long rglarId,String erpCode,String spec,String model,Double weight,String color,String size,String describle,Integer nromNum,String unit,String purUnit,String stockUnit,Short stockLevel,Short flagLabelMange,Double safeQty,Double minQty,Double maxQty,Integer stagn,Integer valid,Integer validWarn,Short flagCheck,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
        this.name = name;
        this.code = code;
        this.shipperId = shipperId;
        this.groupId = groupId;
        this.batchRegularId = batchRegularId;
        this.rglarId = rglarId;
        this.erpCode = erpCode;
        this.spec = spec;
        this.model = model;
@@ -269,16 +269,16 @@
        this.describle = describle;
        this.nromNum = nromNum;
        this.unit = unit;
        this.purchaseUnit = purchaseUnit;
        this.purUnit = purUnit;
        this.stockUnit = stockUnit;
        this.stockLeval = stockLeval;
        this.stockLevel = stockLevel;
        this.flagLabelMange = flagLabelMange;
        this.safetyQty = safetyQty;
        this.safeQty = safeQty;
        this.minQty = minQty;
        this.maxQty = maxQty;
        this.stagnate = stagnate;
        this.validity = validity;
        this.validityWarn = validityWarn;
        this.stagn = stagn;
        this.valid = valid;
        this.validWarn = validWarn;
        this.flagCheck = flagCheck;
        this.status = status;
        this.deleted = deleted;
@@ -344,9 +344,9 @@
        return null;
    }
    public String getBatchRegularId$(){
    public String getRglarId(){
        BatchRegularService service = SpringUtils.getBean(BatchRegularService.class);
        BatchRegular batchRegular = service.getById(this.batchRegularId);
        BatchRegular batchRegular = service.getById(this.rglarId);
        if (!Cools.isEmpty(batchRegular)){
            return String.valueOf(batchRegular.getCode());
        }
@@ -354,8 +354,8 @@
    }
    public String getStockLeval$(){
        if (null == this.stockLeval){ return null; }
        switch (this.stockLeval){
        if (null == this.stockLevel){ return null; }
        switch (this.stockLevel){
            case 0:
                return " A";
            case   1:
@@ -363,7 +363,7 @@
            case   2:
                return "C";
            default:
                return String.valueOf(this.stockLeval);
                return String.valueOf(this.stockLevel);
        }
    }
rsf-server/src/main/resources/application.yml
@@ -5,7 +5,7 @@
config:
  system-name: @pom.artifactId@
  system-version: @pom.version@
  system-mode: ONLINE
  system-mode: OFFLINE
  token-key: KUHSMcYQ4lePt3r6bckz0P13cBJyoonYqInThvQlUnbsFCIcCcZZAbWZ6UNFztYNYPhGdy6eyb8WdIz8FU2Cz396TyTJk3NI2rtXMHBOehRb4WWJ4MdYVVg2oWPyqRQ2
  super-username: root
  code-length: 6