chenrui
2025-04-09 00c23dd7d4a8f229d5c7fbe3439c6ea230fa7f48
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -12,6 +12,7 @@
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -43,6 +44,7 @@
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@@ -89,7 +91,6 @@
    //获取检验下单数据
    @Override
    public IPage<SampleOrderDto> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto) {
        //todo: 只看我判断全部,个人,组织的权限
        String laboratory = null;
        // 判断是否是全部
        String isOrderAll = null;
@@ -97,7 +98,12 @@
            isOrderAll = "1";
            sampleOrderDto.setState(null);
        }
        return insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), laboratory, isOrderAll);
        SampleOrderDto otherParam = new SampleOrderDto();
        otherParam.setLaboratory(laboratory);
        otherParam.setIsOrderAll(isOrderAll);
        otherParam.setCheckUserId(SecurityUtils.getUserId());
        IPage<SampleOrderDto> sampleOrderDtoIPage = insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), otherParam);
        return sampleOrderDtoIPage;
    }
@@ -120,7 +126,6 @@
                .in(InsProduct::getInsSampleId, ids)
                .eq(InsProduct::getState, 1)
                .select(InsProduct::getSonLaboratory).groupBy(InsProduct::getSonLaboratory));
        // 批量添加检验任务状态表
        List<InsOrderState> insOrderStateList = insProducts.stream().map(insProduct -> {
            InsOrderState insOrderState = new InsOrderState();
@@ -184,10 +189,18 @@
            auxiliaryOutputWorkingHours.setCheck(userId);//检测人
            auxiliaryOutputWorkingHours.setPrice(insProduct.getPrice());//单价
            auxiliaryOutputWorkingHours.setSampleId(insProduct.getInsSampleId());//样品id
            auxiliaryOutputWorkingHours.setInsProductId(insProduct.getId());//检验项id
            auxiliaryOutputWorkingHours.setInsProductId(Math.toIntExact(insProduct.getId()));//检验项id
            return auxiliaryOutputWorkingHours;
        }).collect(Collectors.toList());
        // 初次分配检验人,各个检验项默认订单的检验人
        List<Integer> insProductIds  = insProductList.stream().map(insproduct -> {
            return Math.toIntExact(insproduct.getId());
        }).collect(Collectors.toList());
        if(!CollectionUtils.isEmpty(insProductIds)){
            insProductMapper.batchUpdateInsProductCheckUserId(insProductIds, userId);
        }
        auxiliaryOutputWorkingHoursTemporaryService.saveBatch(outputWorkingHours);
        return 1;
@@ -293,7 +306,7 @@
                    ip2.addAll(insProducts);
                }
                for (InsProduct product : ip2) {
                    product.setStandardMethodListId(a.getInsulating().getStandardMethodListId());
                    product.setStandardMethodListId(Long.valueOf(a.getInsulating().getStandardMethodListId()));
                }
                addInsProductMethod(a.getId(), ip2);
            }
@@ -311,7 +324,7 @@
                    ip2.addAll(insProducts);
                }
                for (InsProduct product : ip2) {
                    product.setStandardMethodListId(a.getAuxiliaryWireCore().getStandardMethodListId());
                    product.setStandardMethodListId(Long.valueOf(a.getAuxiliaryWireCore().getStandardMethodListId()));
                }
                addInsProductMethod(a.getId(), ip2);
            }
@@ -491,7 +504,7 @@
            }
            // 生成编号
            String no = numberGenerator.generateNumberWithPrefix(3,
                    "JCZX/ZB-" + code + LimsDateUtil.resetDate(LocalDateTime.now()),
                    "JCZX/SP-" + code + LimsDateUtil.resetDate(LocalDateTime.now()),
                    InsOrder::getEntrustCode);
            // 判断是否是季度检验, 是季度检验取消原材料季度检验下单
            if (InsOrderTypeConstants.QUARTERLY_TEST.equals(order.getOrderType())) {