skyouc
2025-05-04 3721176292747e250787e3b4b209bb89202990b0
质检结果回写问题修复
6个文件已修改
126 ■■■■■ 已修改文件
rsf-admin/src/i18n/en.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/i18n/zh.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml 99 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/i18n/en.js
@@ -585,6 +585,8 @@
                purUnit: "purUnit",
                unit: 'Unit',
                qty: "qty",
                safeQty: 'Safe Qty',
                disQty: 'Def Qty',
                splrCode: "splrCode",
                splrName: "splrName",
                qrcode: "qrcode",
rsf-admin/src/i18n/zh.js
@@ -575,6 +575,8 @@
                purUnit: "采购单位",
                unit: '单位',
                qty: "完成数量",
                safeQty: '合格数',
                disQty: '不合格数',
                splrBatch: "供应商批次",
                splrCode: "供应商编码",
                splrName: "供应商名称",
rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx
@@ -137,7 +137,7 @@
              setSelect(record)
              setEditDialog(true)
            }}
            omit={['id', 'createTime', 'purQty', 'purUnit', 'poDetlCode', 'createBy', 'memo','model', 'packName','splrCode', 'qrcode', 'poDetlId', 'matnrId', 'asnId']}
            omit={['id', 'createTime', 'purQty', 'purUnit', 'poDetlCode', 'createBy', 'memo', 'model', 'packName', 'splrCode', 'qrcode', 'poDetlId', 'matnrId', 'asnId']}
          >
            <NumberField source="id" />
            <NumberField source="asnId" label="table.field.asnOrderItem.asnId" />
@@ -155,6 +155,8 @@
            <NumberField source="purQty" label="table.field.asnOrderItem.purQty" />
            <TextField source="purUnit" label="table.field.asnOrderItem.purUnit" />
            <NumberField source="qty" label="table.field.asnOrderItem.qty" />
            <NumberField source="safeQty" label="table.field.asnOrderItem.safeQty" />
            <NumberField source="disQty" label="table.field.asnOrderItem.disQty" />
            <TextField source="isptResult$" label="table.field.asnOrderItem.isptResult" />
            <TextField source="splrCode" label="table.field.asnOrderItem.splrCode" />
            <TextField source="splrName" label="table.field.asnOrderItem.splrName" />
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java
@@ -198,7 +198,7 @@
     * 质检状态
     */
    @ApiModelProperty("质检状态")
    private Double isptStatus;
    private Short isptStatus;
    /**
     * 状态 1: 正常  0: 冻结
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java
@@ -30,6 +30,7 @@
    @Autowired
    private QlyInspectService qlyInspectService;
    @Autowired
    private AsnOrderItemService asnOrderItemService;
    /**
@@ -82,9 +83,23 @@
            items.forEach(qlyIsptItem -> {
                AsnOrderItem orderItem = asnOrderItemService.getById(qlyIsptItem.getAsnItemId());
                if (qlyIsptItem.getSafeQty().compareTo(orderItem.getAnfme()) >= 0.00) {
                    orderItem.setIsptResult()
                    orderItem.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val)
                            .setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_DONE.val);
                } else if (qlyIsptItem.getSafeQty().compareTo(0.00) > 0.00 && qlyIsptItem.getSafeQty().compareTo(orderItem.getAnfme()) < 0.00) {
                    orderItem.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_SECTION.val);
                    if (Double.compare(qlyIsptItem.getSafeQty() + qlyIsptItem.getDisQty(), orderItem.getAnfme()) >= 0.00 ) {
                        orderItem.setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_DONE.val);
                    } else {
                        orderItem.setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_ING.val);
                    }
                } else {
                    orderItem.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_DEFECT.val)
                            .setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_DONE.val);
                }
                if (!asnOrderItemService.updateById(orderItem)) {
                    throw new CoolException("收货单明细修改失败!!");
                }
            });
            Double safeQty = items.stream().mapToDouble(QlyIsptItem::getSafeQty).sum();
            Double disQty = items.stream().mapToDouble(QlyIsptItem::getDisQty).sum();
rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml
@@ -4,52 +4,61 @@
    <select id="resultForMap" resultType="java.util.Map">
        SELECT
            id,
            asn_id,
            asn_code,
            plat_item_id,
            po_detl_id,
            po_code,
            fields_index,
            matnr_id,
            matnr_code,
            maktx,
            anfme,
            stock_unit,
            pur_qty,
            pur_unit,
            prod_time,
            qty,
            splr_code,
            splr_batch,
            splr_name,
            qrcode,
            track_code,
            barcode,
            pack_name,
            nty_status,
            `status`,
            case ispt_result
                when 0 then
                    '未检'
                when 1 then
                    '合格'
                when 2 then
                    '不合格'
                when 3 then
                    '待定'
                when 4 then
                    '部分合格'
            end as isptResult$,
            deleted,
            tenant_id,
            create_by,
            create_time,
            update_by,
            update_time,
            memo
            *
        FROM
            man_asn_order_item
            (
                SELECT
                    aoi.id,
                    aoi.asn_id,
                    aoi.asn_code,
                    aoi.plat_item_id,
                    aoi.po_detl_id,
                    aoi.po_code,
                    aoi.fields_index,
                    aoi.matnr_id,
                    aoi.matnr_code,
                    aoi.maktx,
                    aoi.anfme,
                    aoi.stock_unit,
                    aoi.pur_qty,
                    aoi.pur_unit,
                    aoi.prod_time,
                    aoi.qty,
                    qii.safe_qty,
                    qii.dis_qty,
                    aoi.splr_code,
                    aoi.splr_batch,
                    aoi.splr_name,
                    aoi.qrcode,
                    aoi.track_code,
                    aoi.barcode,
                    aoi.pack_name,
                    aoi.nty_status,
                    aoi.`status`,
                    CASE
                        aoi.ispt_result
                        WHEN 0 THEN
                            '未检'
                        WHEN 1 THEN
                            '合格'
                        WHEN 2 THEN
                            '不合格'
                        WHEN 3 THEN
                            '待定'
                        WHEN 4 THEN
                            '部分合格'
                        END AS isptResult$,
                    aoi.deleted,
                    aoi.tenant_id,
                    aoi.create_by,
                    aoi.create_time,
                    aoi.update_by,
                    aoi.update_time,
                    aoi.memo
                FROM
                    man_asn_order_item aoi
                        INNER JOIN man_qly_ispt_item qii ON aoi.id = qii.asn_item_id
            ) t
        ${ew.customSqlSegment}
    </select>
</mapper>