skyouc
2025-04-15 a1f5c7974cb66943c2d0edd285902bc34c4294c8
Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop
7个文件已修改
206 ■■■■ 已修改文件
rsf-admin/src/i18n/core/chineseMessages.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/common/domain/PageParam.java 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/MatnrsTemplate.java 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/i18n/core/chineseMessages.js
@@ -4,7 +4,7 @@
      add_filter: "过滤条件",
      add: "添加",
      back: "返回",
      bulk_actions: "1 item selected |||| %{smart_count} items selected",
      bulk_actions: "%{smart_count} 条被选中 |||| %{smart_count} 条被选中",
      cancel: "取消",
      clear_array_input: "情空列表",
      clear_input_value: "清空",
rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
@@ -282,6 +282,23 @@
                        <CustomTabPanel value={value} index={1}>
                            <Grid container rowSpacing={2} columnSpacing={2}>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <TextInput
                                        label="table.field.matnr.name"
                                        source="name"
                                        parse={v => v}
                                        required
                                        autoFocus
                                    />
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <TextInput
                                        label="table.field.matnr.code"
                                        source="code"
                                        required
                                        parse={v => v}
                                    />
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <NumberInput
                                        label="table.field.matnr.safeQty"
                                        source="safeQty"
@@ -332,6 +349,23 @@
                        <CustomTabPanel value={value} index={2}>
                            <Grid container rowSpacing={2} columnSpacing={2}>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <TextInput
                                        label="table.field.matnr.name"
                                        source="name"
                                        parse={v => v}
                                        required
                                        autoFocus
                                    />
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <TextInput
                                        label="table.field.matnr.code"
                                        source="code"
                                        required
                                        parse={v => v}
                                    />
                                </Grid>
                                <Grid item xs={6} display="flex" gap={1}>
                                    <ReferenceInput
                                        source="rglar_id"
                                        reference="serialRule"
rsf-server/src/main/java/com/vincent/rsf/server/common/domain/PageParam.java
@@ -10,10 +10,7 @@
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.function.Consumer;
/**
@@ -73,6 +70,10 @@
        return this.buildWrapper(like, null, timeField);
    }
    public QueryWrapper<T> buildWrapper(boolean like, List<String> fields) {
        return this.buildWrapper(like, null,"create_time", fields);
    }
    @SuppressWarnings("all")
    public QueryWrapper<T> buildWrapper(boolean like, Consumer<QueryWrapper<T>> consumer, String timeField) {
        QueryWrapper<T> queryWrapper = new QueryWrapper<>();
@@ -97,7 +98,96 @@
                if (this.isToUnderlineCase) {
                    key = Utils.toSymbolCase(key, '_');
                }
                if (like) {
                if (like && key.contains(timeField)) {
                    queryWrapper.like("`" +  key + "`", val);
                } else {
                    queryWrapper.eq("`" +  key + "`", val);
                }
            }
        }
        if (null != consumer) {
            consumer.accept(queryWrapper);
        }
        if (!Cools.isEmpty(where.getTimeStart())) {
            Date timeStart = DateUtils.convert(String.valueOf(where.getTimeStart()), DateUtils.yyyyMMdd_F);
            queryWrapper.ge(timeField, timeStart);
        }
        if (!Cools.isEmpty(where.getTimeEnd())) {
            Date timeStart = DateUtils.convert(String.valueOf(where.getTimeEnd()), DateUtils.yyyyMMdd_F);
            queryWrapper.le(timeField, timeStart);
        }
        if (!Cools.isEmpty(where.getOrderBy())) {
            if (sortIsSQL(where.getOrderBy())) {
                setOrders(parseOrderSQL(where.getOrderBy()));
            }
        } else {
//            queryWrapper.orderByDesc("create_time");
        }
        if (!Cools.isEmpty(where.getCondition()) && !Cools.isEmpty(cls)) {
            List<String> columns = new ArrayList<>();
            for (Field field : Cools.getAllFields(cls)){
                if (Modifier.isFinal(field.getModifiers())
                        || Modifier.isStatic(field.getModifiers())
                        || Modifier.isTransient(field.getModifiers())){
                    continue;
                }
                if (field.isAnnotationPresent(TableField.class)){
                    TableField annotation = field.getAnnotation(TableField.class);
                    if (!annotation.exist()) {
                        continue;
                    }
                }
                String column =  Utils.toSymbolCase(field.getName(), '_');
                columns.add(column);
            }
            if (!columns.isEmpty()) {
                for (int i=0;i<columns.size();i++){
                    String column = columns.get(i);
                    String condition = where.getCondition();
                    if (i == 0) {
                        queryWrapper.and(wrapper -> wrapper.like("`" + column + "`", condition));
                    } else {
                        queryWrapper.or().like("`" + column + "`", condition);
                    }
                }
            }
        }
        return queryWrapper;
    }
    @SuppressWarnings("all")
    public QueryWrapper<T> buildWrapper(boolean like, Consumer<QueryWrapper<T>> consumer,String timeField, List<String> fields) {
        QueryWrapper<T> queryWrapper = new QueryWrapper<>();
        Map<String, Object> map = where.getMap();
        for (String key : map.keySet()) {
            Object val = map.get(key);
            if (key.contains("Range")) {
                ArrayList<String> list = null;
                if (val instanceof ArrayList) {
                    list = (ArrayList<String>) val;
                }
                if (null != list) {
                    key = key.replaceAll("Range", "");
                    if (this.isToUnderlineCase) {
                        key = Utils.toSymbolCase(key, '_');
                    }
                    queryWrapper.ge(key, DateUtils.convert(list.get(0)));
                    queryWrapper.le(key, DateUtils.convert(list.get(1)));
                }
            } else {
                if (this.isToUnderlineCase) {
                    key = Utils.toSymbolCase(key, '_');
                }
                if (like && !fields.contains(key)) {
                    queryWrapper.like("`" +  key + "`", val);
                } else {
                    queryWrapper.eq("`" +  key + "`", val);
@@ -198,4 +288,5 @@
        return map;
    }
}
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
@@ -43,7 +44,11 @@
    public R page(@RequestBody Map<String, Object> map) {
        BaseParam baseParam = buildParam(map, BaseParam.class);
        PageParam<Loc, BaseParam> pageParam = new PageParam<>(baseParam, Loc.class);
        return R.ok().add(locService.page(pageParam, pageParam.buildWrapper(true)));
        List<String> list = new ArrayList<>();
        list.add("row");
        list.add("col");
        list.add("lev");
        return R.ok().add(locService.page(pageParam, pageParam.buildWrapper(true,list)));
    }
    @PreAuthorize("hasAuthority('manager:loc:list')")
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java
@@ -43,19 +43,19 @@
    /**
     * 名称
     */
    @ApiModelProperty(value= "名称")
    @ApiModelProperty(value= "物料名称")
    private String name;
    /**
     * 编码
     */
    @ApiModelProperty(value= "编码")
    @ApiModelProperty(value= "物料编码")
    private String code;
    /**
     * 货主ID
     */
    @ApiModelProperty(value= "货主ID")
    @ApiModelProperty(value= "货主标识")
    private Long shipperId;
//    @ApiModelProperty(value = "货主编码")
@@ -64,7 +64,7 @@
    /**
     * 分组ID(*)
     */
    @ApiModelProperty(value= "分组ID(*)")
    @ApiModelProperty(value= "物料分组(*)")
    private Long groupId;
    /**
@@ -82,7 +82,7 @@
    /**
     * 规则代码
     */
    @ApiModelProperty(value= "规则代码")
    @ApiModelProperty(value= "批次规则标识")
    private Long rglarId;
    /**
@@ -118,7 +118,7 @@
    /**
     * 长*宽*高(m)
     */
    @ApiModelProperty(value= "长*宽*高(m)")
    @ApiModelProperty(value= "尺寸(m)")
    private String size;
    /**
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/MatnrsTemplate.java
@@ -27,9 +27,31 @@
    private String name;
    @NotNull
    @Excel(name = "分类助记码*")
    @ExcelComment(example = "256874556")
    private String groupCode;
    @Excel(name = "物料编码*")
    @ExcelComment(example = "matnr123")
    private String code;
    @Excel(name = "货主标识")
    @ExcelComment(example = "123")
    private Long shipperId;
    @NotNull
    @Excel(name = "物料分组")
    @ExcelComment(example = "手机")
    private Long groupId;
    @Excel(name = "ERP编码")
    @ExcelComment(example = "erp001")
    private String platCode;
    @NotNull
    @Excel(name = "规格")
    @ExcelComment(example = "HW-148*68*10")
    private String spec;
    @NotNull
    @Excel(name = "分类名称*")
@@ -40,11 +62,6 @@
    @Excel(name = "物料助记码*")
    @ExcelComment(example = "P3528461569")
    private String erpCode;
    @NotNull
    @Excel(name = "规格")
    @ExcelComment(example = "HW-148*68*10")
    private String spec;
    @NotNull
    @Excel(name = "型号")
@@ -59,7 +76,7 @@
    @ExcelComment(notNull = false, example = "紫红色")
    private String color;
    @Excel(name = "大小")
    @Excel(name = "尺寸")
    @ExcelComment(notNull = false, example = "148*68*10")
    private String size;
@@ -67,12 +84,12 @@
    @ExcelComment(notNull = false, example = "新上市三折叠")
    private String describle;
    @Excel(name = "描述")
    @Excel(name = "标包数量")
    @ExcelComment(notNull = false, example = "新上市三折叠")
    private String nromNum;
    @NotNull
    @Excel(name = "主单位")
    @Excel(name = "单位")
    @ExcelComment(example = "部")
    private String unit;
@@ -80,6 +97,15 @@
    @ExcelComment(example = "部")
    private String purUnit;
    @Excel(name = "库位单位")
    @ExcelComment(example = "部")
    private String stockUnit;
    @NotNull
    @Excel(name = "分类助记码*")
    @ExcelComment(example = "256874556")
    private String groupCode;
    @Excel(name = "ABC类")
    @ExcelComment(notNull = false, example = "0")
    private String stockLevel;
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java
@@ -86,7 +86,7 @@
                inspect.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_SECTION.val);
            }
            if (Double.compare(safeQty, inspect.getDlyQty()) == 0) {
                inspect.setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_DONE.val);
//                inspect.setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_DONE.val);
                inspect.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val);
            }
            if (!qlyInspectService.updateById(inspect)) {