feat(sample-receipt): 作废时更新委托编号添加-zf后缀
- 打印VO新增sampleStatus(样品外观)字段及对应SQL查询
已修改4个文件
28 ■■■■■ 文件已修改
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsSampleReceiptServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPrintingVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsOrderMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
@@ -29,6 +29,8 @@
@Mapper
public interface InsOrderMapper extends BaseMapper<InsOrder> {
    int updateInspectionOrderEntrustCode(@Param("orderId") Integer orderId,
                                         @Param("entrustCode") String entrustCode);
    Integer selectQualityMonitorEvaluatorId(@Param("orderId") Integer orderId);
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsSampleReceiptServiceImpl.java
@@ -133,10 +133,25 @@
        receipt.setReceiveUserId(SecurityUtils.getUserId().intValue());
        receipt.setReceiveTime(LocalDateTime.now());
        receiptMapper.updateById(receipt);
        InsOrder currentOrder = insOrderMapper.selectById(receipt.getInsOrderId());
        if (currentOrder == null || StringUtils.isBlank(currentOrder.getEntrustCode())) {
            throw new ErrorException("委托编号不存在,不能作废");
        }
        String originalCode = currentOrder.getEntrustCode();
        String voidCode = originalCode + "-zf";
        int suffix = 2;
        // 同一原编号可能经历多次下单、拒收,保留每张作废单的唯一编号。
        while (insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery()
                .eq(InsOrder::getEntrustCode, voidCode)
                .ne(InsOrder::getId, currentOrder.getId())) > 0) {
            voidCode = originalCode + "-" + suffix++ + "-zf";
        }
        InsOrder order = new InsOrder();
        order.setId(receipt.getInsOrderId());
        order.setId(currentOrder.getId());
        order.setEntrustCode(voidCode);
        order.setState(5);
        insOrderMapper.updateById(order);
        insOrderMapper.updateInspectionOrderEntrustCode(order.getId(), voidCode);
    }
    private void ensurePending(InsSampleReceipt receipt) {
inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPrintingVo.java
@@ -22,6 +22,9 @@
    @Schema(description = "生产单位")
    private String production;
    @Schema(description = "样品外观")
    private String sampleStatus;
    @Schema(description = "规格型号")
    private String sampleModel;
inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -3,6 +3,11 @@
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.inspect.mapper.InsOrderMapper">
    <update id="updateInspectionOrderEntrustCode">
        UPDATE cnas_inspection_order
        SET entrust_code = #{entrustCode}
        WHERE ins_order_id = #{orderId}
    </update>
    <select id="selectQualityMonitorEvaluatorId" resultType="java.lang.Integer">
        SELECT cqmd.evaluator_user_id
@@ -433,6 +438,7 @@
        from (select io2.id insOrderId,
                     io2.sample_view,
                     io2.production,
                     io2.sample_status,
                     io2.sample_date,
                     GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
                     io2.prepare_user,