skyouc
4 天以前 e03ed5c541b8501dd0b8726d743407c94fe71cfe
调拔单功能优化
4个文件已修改
46 ■■■■■ 已修改文件
rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/transfer/TransferOrders.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/resources/mapper/manager/TransferMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx
@@ -38,7 +38,6 @@
const CreateBySelectMats = (props) => {
    const { open, setOpen, data, setData } = props;
    const [page, setPage] = useState(0);
    const [rowCount, setRowCount] = useState(0);
    const [formData, setFormData] = useState({});
@@ -46,12 +45,9 @@
    const [dyFields, setDyFields] = useState([]);
    const [pageSize, setPageSize] = useState(25);
    const [selectedRows, setSelectedRows] = useState([]);
    const translate = useTranslate();
    const notify = useNotify();
    const refresh = useRefresh();
    const handleClose = (event, reason) => {
        if (reason !== "backdropClick") {
rsf-admin/src/page/orders/transfer/TransferOrders.jsx
@@ -67,7 +67,7 @@
                    perPage={DEFAULT_PAGE_SIZE}
                >
                    <StyledDatagrid
                        sx={{ margin: 'auto', width: '98%' }}
                        sx={{ margin: 'auto', width: '100%' }}
                        preferenceKey='outStock'
                        bulkActionButtons={false}
                        rowClick={(id, resource, record) => {
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -91,13 +91,10 @@
    private FieldsMapper fieldsMapper;
    @Autowired
    private IsptHistoriesMapper isptHistoriesMapper;
    @Autowired
    private AsnOrderLogService asnOrderLogService;
    @Autowired
    private WaitPakinService waitPakinService;
    @Autowired
    private WaitPakinItemService waitPakinItemService;
    @Autowired
@@ -128,6 +125,8 @@
    private ConfigService configService;
    @Autowired
    private CompanysService companysService;
    @Autowired
    private OutStockService outStockService;
    /**
     * @return
@@ -233,19 +232,31 @@
        WkOrder wkOrder = asnOrderMapper.getOne(new LambdaQueryWrapper<WkOrder>()
                .eq(WkOrder::getCode, asnCode));
        //判断调拔单出库是否完成
        if (wkOrder.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER.type)) {
            WkOrder one = outStockService.getOne(new LambdaQueryWrapper<WkOrder>()
                    .eq(WkOrder::getPoId, wkOrder.getPoId())
                    .eq(WkOrder::getWkType, OrderWorkType.ORDER_WORK_TYPE_STOCK_TERANSFER.type)
                    .eq(WkOrder::getType, OrderType.ORDER_OUT.type));
            if (Objects.isNull(one)) {
                throw new CoolException("数据错误!!");
            }
            if (!one.getExceStatus().equals(AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val)) {
                throw new CoolException("出库单未完成,无法完成收货!!");
            }
        }
        if (Objects.isNull(wkOrder)) {
            throw new CoolException("数据错误:主单不存在!!");
        }
        //TODO /**收货数量累加,1. 会出超收情况 2. 会有收货不足情况*/
        Double rcptedQty = Math.round((wkOrder.getQty() + receiptQty) * 10000) / 10000.0;
        wkOrder.setQty(rcptedQty).setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_EXCE_ING.val);
        if (!asnOrderMapper.updateById(wkOrder)) {
            throw new CoolException("已收货数量修改失败!!");
        }
        Config config = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.ALLOW_OVER_CHANGE));
        List<Map<String, Object>> receipts1 = (List<Map<String, Object>>) params.get("receipts");
        for (Map<String, Object> rcpt : receipts1) {
@@ -352,7 +363,7 @@
        Companys companys = new Companys();
        if (StringUtils.isNoneBlank(orderItem.getSplrCode())) {
             companys = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getCode, orderItem.getSplrCode()));
            companys = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getCode, orderItem.getSplrCode()));
        }
        WarehouseAreasItem item = new WarehouseAreasItem();
@@ -711,13 +722,13 @@
        }
        WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>()
                .eq(WaitPakin::getBarcode, params.getBarcode())
                .eq(WaitPakin::getIoStatus,PakinIOStatus.PAKIN_IO_STATUS_DONE.val)
                .eq(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_DONE.val)
        );
        if (Cools.isEmpty(waitPakin)){
        if (Cools.isEmpty(waitPakin)) {
            throw new CoolException("未找到组托数据,请检查状态");
        }
        List<WaitPakinItem> waitPakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>().eq(WaitPakinItem::getPakinId, waitPakin.getId()));
        if (Cools.isEmpty(waitPakinItems)){
        if (Cools.isEmpty(waitPakinItems)) {
            throw new CoolException("数据错误,未找到组托明细");
        }
@@ -745,7 +756,7 @@
        /**获取平库订单*/
        WkOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<WkOrder>()
                .eq(WkOrder::getId, OrderId)
                        .eq(WkOrder::getWkType, OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type)
                .eq(WkOrder::getWkType, OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type)
                .eq(WkOrder::getType, OrderType.ORDER_IN.type));
        if (Objects.isNull(order)) {
            throw new CoolException("非平库单据不可执行人工上架!!");
@@ -937,15 +948,15 @@
     */
    @Override
    public R getUnItemByContainer(Map<String, Object> params) {
        if (Cools.isEmpty(params.get("barcode")) && Cools.isEmpty(params.get("code"))){
        if (Cools.isEmpty(params.get("barcode")) && Cools.isEmpty(params.get("code"))) {
            throw new CoolException("容器号与组托档编码不能全为空");
        }
        //获取组拖未生成任务的组拖档
//        List<Short> asList = Arrays.asList(Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val), Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val));
        WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>()
                .eq(!Cools.isEmpty(params.get("barcode")),WaitPakin::getBarcode, params.get("barcode"))
                .eq(!Cools.isEmpty(params.get("code")),WaitPakin::getCode, params.get("code"))
                .eq(!Cools.isEmpty(params.get("barcode")), WaitPakin::getBarcode, params.get("barcode"))
                .eq(!Cools.isEmpty(params.get("code")), WaitPakin::getCode, params.get("code"))
                .eq(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_DONE.val));
        if (Objects.isNull(waitPakin)) {
            return R.error("未找到该容器码的组托明细,请检查组托状态");
rsf-server/src/main/resources/mapper/manager/TransferMapper.xml
@@ -18,6 +18,7 @@
            `wave_id`,
            `exce_status`,
            `update_time`,
            `create_time`,
            `update_by`,
            `create_by`,
            `update_by`