skyouc
2025-04-02 d107c1cca034fb6cdde077656fa1776d09a4442f
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.*;
@@ -72,12 +75,14 @@
    private WarehouseAreasService warehouseAreasService;
    @Resource
    private AsnOrderItemMapper asnOrderItemMapper;
    @Resource
    private AsnOrderMapper asnOrderMapper;
    @Autowired
    private AsnOrderService asnOrderMapper;
    @Resource
    private MatnrMapper matnrMapper;
    @Resource
    private QlyInspectMapper qlyInspectMapper;
    @Autowired
    private QlyIsptItemService qlyIsptItemService;
    @Resource
    private StockItemMapper stockItemMapper;
    @Resource
@@ -192,14 +197,14 @@
        String asnCode = receipts.stream().findFirst().get().getAsnCode();
        AsnOrder asnOrder = asnOrderMapper.selectOne(new LambdaQueryWrapper<AsnOrder>()
        AsnOrder asnOrder = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>()
                .eq(AsnOrder::getCode, asnCode));
        if (Objects.isNull(asnOrder)) {
            throw new CoolException("数据错误:主单不存在!!");
        }
        asnOrder.setQty(receiptQty);
        if (asnOrderMapper.updateById(asnOrder) < 1) {
        if (!asnOrderMapper.updateById(asnOrder)) {
            throw new CoolException("已收货数量修改失败!!");
        }
@@ -312,7 +317,7 @@
     * @time 2025/3/19 19:53
     */
    private void operateOrderLogs(AsnOrder asnOrder) {
        if (asnOrderMapper.deleteById(asnOrder.getId()) < 1) {
        if (!asnOrderMapper.removeById(asnOrder.getId())) {
            throw new CoolException("原单据删除失败!!");
        }
@@ -374,7 +379,7 @@
     */
    @Override
    public List<AsnOrder> getAllAsnOrders() {
        List<AsnOrder> asnOrders = asnOrderMapper.selectList(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getWkType, OrderWorkType.ORDER_PURCHASE_IN.type));
        List<AsnOrder> asnOrders = asnOrderMapper.list(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getWkType, OrderWorkType.ORDER_PURCHASE_IN.type));
        return asnOrders;
    }
@@ -432,12 +437,12 @@
     */
    @Override
    public R inspect(String code, Long loginUserId) {
        AsnOrder asnOrders = asnOrderMapper.selectOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, code));
        AsnOrder asnOrders = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, code));
        if (Objects.isNull(asnOrders)) {
            throw new CoolException("单据不存在!!");
        }
        InspectDetlDto detlDto = new InspectDetlDto();
        detlDto.setCode(asnOrders.getCode()).setPoCode(asnOrders.getPoCode());
        detlDto.setCode(asnOrders.getCode()).setId(asnOrders.getId()).setPoCode(asnOrders.getPoCode());
        List<AsnOrderItem> orderItems = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnCode, code));
        if (orderItems.isEmpty()) {
            detlDto.setItems(new ArrayList<>());
@@ -466,6 +471,93 @@
    }
    /**
     * @author Ryan
     * @description 提交报检
     * @param
     * @return
     * @time 2025/4/1 16:47
     */
    @Override
    public R confirmIspt(String id) {
        if (org.apache.commons.lang3.StringUtils.isBlank(id)) {
            throw new CoolException("参数不能为空!!");
        }
        AsnOrder asnOrder = asnOrderMapper.getById(id);
        if (Objects.isNull(asnOrder)) {
            throw new CoolException("单据不存在!!");
        }
        List<AsnOrder> orders = new ArrayList<>();
        orders.add(asnOrder);
        if (asnOrderMapper.notifyInspect(orders)) {
           return R.ok("上报成功!!");
        }else {
            return R.error("上报失败!!");
        }
    }
    /**
     * 通过物料,质检单获取需要质检单据
     * @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())
                .setDlyQty(isptItem.getDlyQty())
                .setRcptQty(isptItem.getRcptQty())
                .setIsptResult(isptItem.getIsptResult())
                .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) {