skyouc
2025-03-31 4153937c91df7fcf6d7f70d95f6f8e03643b975d
Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop
1个文件已添加
4个文件已修改
53 ■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptStatus.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyInspectService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java
@@ -72,11 +72,12 @@
    @PostMapping("/qlyInspect/selected")
    @ApiOperation("选择质检单据")
    @PreAuthorize("hasAuthority('manager:qlyInspect:update')")
    public R selectedOrder(IsptOrderParam param) {
    public R selectedOrder(@RequestBody IsptOrderParam param) {
        if (Objects.isNull(param)) {
            throw new CoolException("参数不能为空!!");
        }
        return qlyInspectService.saveSelected(param);
        Long loginUserId = getLoginUserId();
        return qlyInspectService.saveSelected(param, loginUserId);
    }
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptStatus.java
New file
@@ -0,0 +1,25 @@
package com.vincent.rsf.server.manager.enums;
/**
 * @author Ryan
 * @version 1.0
 * @title QlyIsptStatus
 * @description
 * @create 2025/3/31 15:38
 */
public enum QlyIsptStatus {
    //质检状态
    QLY_ISPT_STAS_ING("2", "质检中"),
    QLY_ISPT_STAS_DONE("1", "质检完成"),
    QLY_ISPT_STAS_HOLD("0", "待质检"),
    QLY_ISPT_STAS_CLOSE("3", "关闭")
    ;
    QlyIsptStatus(String val, String desc) {
        this.val = val;
        this.desc = desc;
    }
    public String val;
    public String desc;
}
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyInspectService.java
@@ -19,5 +19,5 @@
    List<AsnOrder> getUnInspect(Map<String, Object> map);
    R saveSelected(IsptOrderParam param);
    R saveSelected(IsptOrderParam param, Long loginUserId);
}
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java
@@ -8,6 +8,7 @@
import com.vincent.rsf.server.manager.entity.AsnOrder;
import com.vincent.rsf.server.manager.entity.AsnOrderItem;
import com.vincent.rsf.server.manager.entity.QlyIsptItem;
import com.vincent.rsf.server.manager.enums.QlyIsptStatus;
import com.vincent.rsf.server.manager.mapper.QlyInspectMapper;
import com.vincent.rsf.server.manager.entity.QlyInspect;
import com.vincent.rsf.server.manager.service.AsnOrderItemService;
@@ -119,11 +120,11 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R saveSelected(IsptOrderParam param) {
    public R saveSelected(IsptOrderParam param, Long loginUserId) {
        if (Objects.isNull(param.getIds()) || param.getIds().isEmpty()) {
            throw new CoolException("单据ID不能为空!!");
        }
        List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, param.getIds()).eq(AsnOrder::getNtyStatus, 1));
        List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, param.getIds()).eq(AsnOrder::getNtyStatus, 0));
        if (asnOrders.isEmpty()) {
            throw new CoolException("单据不存在!!");
        }
@@ -132,14 +133,18 @@
            throw new CoolException("单据明细不存在!!");
        }
        Map<Long, List<AsnOrderItem>> listMap = orderItems.stream().collect(Collectors.groupingBy(AsnOrderItem::getAsnId));
        List<QlyInspect> qlyInspects = new ArrayList<>();
        for (AsnOrder asnOrder : asnOrders) {
            QlyInspect inspect = new QlyInspect();
            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_INSPECT_CODE, null);
            if (StringUtils.isBlank(ruleCode)) {
                throw new CoolException("策略错误:请检查策略「" + SerialRuleCode.SYS_INSPECT_CODE + "」是否设置正确!!");
            }
            inspect.setCode(ruleCode).setWkType(asnOrder.getWkType()).setAsnId(asnOrder.getId()).setCode(asnOrder.getCode());
            inspect.setCode(ruleCode)
                    .setWkType(asnOrder.getWkType())
                    .setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_ING.val)
                    .setCreateBy(loginUserId)
                    .setAsnId(asnOrder.getId())
                    .setAsnCode(asnOrder.getCode());
            /**获取单据明细*/
            List<AsnOrderItem> asnOrderItems = listMap.get(asnOrder.getId());
            if (Objects.isNull(asnOrderItems) || asnOrderItems.isEmpty()) {
@@ -156,16 +161,15 @@
                QlyIsptItem isptItem = new QlyIsptItem();
                BeanUtils.copyProperties(orderItem, isptItem);
                isptItem.setAsnItemId(orderItem.getId())
                        .setIspectId(inspect.getId())
                        .setRcptQty(orderItem.getQty())
                        .setCreateBy(loginUserId)
                        .setDlyQty(orderItem.getAnfme());
                items.add(isptItem);
            }
            if (!qlyIsptItemService.saveBatch(items)) {
                throw new CoolException("明细保存失败!!");
            }
        }
        if (!this.saveBatch(qlyInspects)) {
            throw new CoolException("质检单保存失败!!");
        }
        return R.ok("保存成功!!");
    }
rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java
@@ -41,6 +41,7 @@
                .getOne(new LambdaQueryWrapper<SerialRule>()
                        .eq(SerialRule::getCode, code));
        if (Objects.isNull(serialRule)) {
            throw new CoolException("当前业务:" + code + ",编码规则不存在!!");
        }
        SerialRuleItemService serialRuleItemService = SpringUtils.getBean(SerialRuleItemService.class);
@@ -112,7 +113,7 @@
        if (Objects.isNull(start) || end == 0) {
            buffer.append(str);
        } else {
            if (str.length() <= (end + start)) {
            if (str.length() < (end + start)) {
                throw new CoolException("截取字符起出字符串长度,请查看规则设定!!");
            }
            //返回起始位置lenStr开始,终点位置为lenStr + len长度的字符串