Ryan
2025-04-01 282d7cc0621f22b2e9365a1dbb6ed22a63013faf
#新增
1. 新增PDA快带质检接口
2. 新增PDA获取质检信息接口
2个文件已添加
4个文件已修改
156 ■■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/CheckObjParams.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyIsptItemController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java
@@ -3,11 +3,13 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.api.controller.params.CheckObjParams;
import com.vincent.rsf.server.api.controller.params.OtherReceiptParams;
import com.vincent.rsf.server.api.controller.params.ReceiptParams;
import com.vincent.rsf.server.api.service.MobileService;
import com.vincent.rsf.server.manager.controller.params.WaitPakinParam;
import com.vincent.rsf.server.manager.entity.AsnOrderItem;
import com.vincent.rsf.server.manager.entity.QlyIsptItem;
import com.vincent.rsf.server.system.controller.BaseController;
import com.vincent.rsf.server.system.controller.param.LoginParam;
import io.swagger.annotations.Api;
@@ -183,4 +185,23 @@
        }
        return  mobileService.confirmIspt(id);
    }
    @PreAuthorize("hasAuthority('manager:qlyInspect:list')")
    @PostMapping("/inspect/query")
    public R checkObjs(@RequestBody CheckObjParams params) {
        if (Objects.isNull(params)) {
            return R.error("参数不能为空!!");
        }
        return mobileService.checkObjs(params);
    }
    @PreAuthorize("hasAuthority('manager:qlyInspect:update')")
    @PostMapping("/inspect/check/update")
    public R checkUpdate(@RequestBody QlyIsptItem params) {
        if (Objects.isNull(params)) {
            throw new CoolException("参数不能为空!!");
        }
        return mobileService.checkUpdate(params);
    }
}
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/CheckObjParams.java
New file
@@ -0,0 +1,23 @@
package com.vincent.rsf.server.api.controller.params;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@Accessors(chain = true)
@ApiModel(value = "CheckObjParams", description = "获取质检信息")
public class CheckObjParams implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("质检单")
    private String isptCode;
    @ApiModelProperty("物料编码")
    private String matnrCode;
}
rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java
New file
@@ -0,0 +1,39 @@
package com.vincent.rsf.server.api.entity.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@Accessors(chain = true)
@ApiModel(value = "CheckObjDto", description = "PDA质检信息")
public class CheckObjDto implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("质检单")
    private String isptCode;
    @ApiModelProperty("物料编码")
    private String matnrCode;
    @ApiModelProperty("物料名称")
    private String maktx;
    @ApiModelProperty("单号")
    private String asnCode;
    @ApiModelProperty("供应商名称")
    private String splrName;
    @ApiModelProperty("供应商批次")
    private String splrBatch;
    @ApiModelProperty("收货数量")
    private Double rcptQty;
    @ApiModelProperty("合格数量")
    private Double safeQty;
    @ApiModelProperty("不合格数量")
    private Double disQty;
    @ApiModelProperty("图片路径")
    private String picPath;
    @ApiModelProperty("备注")
    private String memo;
}
rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java
@@ -1,10 +1,12 @@
package com.vincent.rsf.server.api.service;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.server.api.controller.params.CheckObjParams;
import com.vincent.rsf.server.api.controller.params.OtherReceiptParams;
import com.vincent.rsf.server.api.controller.params.ReceiptParams;
import com.vincent.rsf.server.manager.controller.params.WaitPakinParam;
import com.vincent.rsf.server.manager.entity.AsnOrder;
import com.vincent.rsf.server.manager.entity.QlyIsptItem;
import com.vincent.rsf.server.manager.entity.WaitPakin;
import com.vincent.rsf.server.system.controller.param.LoginParam;
import com.vincent.rsf.server.system.entity.Fields;
@@ -44,4 +46,8 @@
    R inspect(String code, Long loginUserId);
    R confirmIspt(String id);
    R checkObjs(CheckObjParams params);
    R checkUpdate(QlyIsptItem params);
}
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -4,8 +4,10 @@
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.api.controller.params.CheckObjParams;
import com.vincent.rsf.server.api.controller.params.OtherReceiptParams;
import com.vincent.rsf.server.api.controller.params.ReceiptParams;
import com.vincent.rsf.server.api.entity.dto.CheckObjDto;
import com.vincent.rsf.server.api.entity.dto.InspectDetlDto;
import com.vincent.rsf.server.api.entity.dto.InspectItemDto;
import com.vincent.rsf.server.api.entity.dto.ReceiptDetlsDto;
@@ -16,6 +18,7 @@
import com.vincent.rsf.server.common.security.JwtSubject;
import com.vincent.rsf.server.common.utils.CommonUtil;
import com.vincent.rsf.server.common.utils.JwtUtil;
import com.vincent.rsf.server.manager.controller.params.IsptItemsParams;
import com.vincent.rsf.server.manager.controller.params.WaitPakinParam;
import com.vincent.rsf.server.manager.entity.*;
import com.vincent.rsf.server.manager.mapper.*;
@@ -78,6 +81,8 @@
    private MatnrMapper matnrMapper;
    @Resource
    private QlyInspectMapper qlyInspectMapper;
    @Autowired
    private QlyIsptItemService qlyIsptItemService;
    @Resource
    private StockItemMapper stockItemMapper;
    @Resource
@@ -491,6 +496,66 @@
    }
    /**
     * 通过物料,质检单获取需要质检单据
     * @param params
     * @return
     */
    @Override
    public R checkObjs(CheckObjParams params) {
        if (Objects.isNull(params.getIsptCode())) {
            throw new CoolException("质检单不能为空");
        }
        if (Objects.isNull(params.getMatnrCode())) {
            throw new CoolException("物料编码不能为空!");
        }
        QlyInspect inspect = qlyInspectMapper.selectOne(new LambdaQueryWrapper<QlyInspect>().eq(QlyInspect::getCode, params.getIsptCode()));
        if (Objects.isNull(inspect)) {
            throw new CoolException("质检单据不存在!!");
        }
        QlyIsptItem isptItem = qlyIsptItemService.getOne(new LambdaQueryWrapper<QlyIsptItem>()
                .eq(QlyIsptItem::getMatnrCode, params.getMatnrCode())
                .eq(QlyIsptItem::getIspectId, inspect.getId()));
        if (Objects.isNull(isptItem)) {
            throw new CoolException("质检单明细不存在!!");
        }
        CheckObjDto objDto = new CheckObjDto();
        objDto.setIsptCode(inspect.getCode())
                .setAsnCode(inspect.getAsnCode())
                .setMatnrCode(isptItem.getMatnrCode())
                .setMaktx(isptItem.getMaktx())
                .setDisQty(isptItem.getDisQty())
                .setRcptQty(isptItem.getRcptQty())
                .setSplrBatch(isptItem.getSplrBatch())
                .setSplrName(isptItem.getSplrName())
                .setPicPath(isptItem.getPicPath())
                .setMemo(isptItem.getMemo())
                .setSafeQty(isptItem.getSafeQty());
        return R.ok(objDto);
    }
    /**
     * 快速质检
     * @param params
     * @return
     */
    @Override
    public R checkUpdate(QlyIsptItem params) {
        if (Objects.isNull(params.getId()) || Objects.isNull(params.getIspectId())) {
            throw new CoolException("参数不能为空!!");
        }
        IsptItemsParams itemsParams = new IsptItemsParams();
        List<QlyIsptItem> items = new ArrayList<>();
        items.add(params);
        itemsParams.setIsptItem(items).setType("0");
        if (qlyIsptItemService.batchUpdate(itemsParams)) {
            return R.ok();
        } else {
            return R.error("保存失败!!");
        }
    }
    /**
     * 获取ReceiptDetlsDtos
     */
    private R getAsnOrderItem(List<AsnOrderItem> items) {
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyIsptItemController.java
@@ -114,7 +114,7 @@
    }
    @PreAuthorize("hasAuthority('manager:qlyIsptItem:update')")
    @ApiOperation("批量修改")
    @ApiOperation("快速质检")
    @PostMapping("/qlyIsptItem/batch/update")
    public R batchUpdate(@RequestBody IsptItemsParams params) {
        if (Objects.isNull(params)) {