chenrui
2025-04-10 c296b7d0c412429d29ad24bd34aa9def65045085
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
@@ -55,6 +55,7 @@
import com.ruoyi.system.service.InformationNotificationService;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xwpf.usermodel.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.ClassPathResource;
import org.springframework.mock.web.MockMultipartFile;
@@ -154,28 +155,20 @@
    @Override
    public IPage<InsOrderPlanVO> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
        // todo: 仅看自己或者实验室
        //获取当前人所属实验室id
        String laboratory = null;
        String userName = null;
        Integer userId = null;
        if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) {
            userId = SecurityUtils.getUserId().intValue();
            userName = userMapper.selectById(userId).getName();
        // 检测管理人员全查,非检测管理人员只查看自己的
        InsOrderPlanQueryDto insOrderPlanQueryDto = new InsOrderPlanQueryDto();
        insOrderPlanQueryDto.setCheckUserFlag(SecurityUtils.hasRole("inspector"));
        insOrderPlanQueryDto.setTestAdminFlag(SecurityUtils.hasRole("testadmin"));
        // 判断是否触发只查看自己
        if(null != insOrderPlanDTO.getUserId()){
            insOrderPlanQueryDto.setViewMySelfFlag(true);
            insOrderPlanDTO.setUserId(null);
        }
        Integer isCheck = insOrderPlanDTO.getIsCheck();
        insOrderPlanQueryDto.setIsCheck(insOrderPlanDTO.getIsCheck());
        insOrderPlanDTO.setIsCheck(null);
        String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//试验室
        insOrderPlanQueryDto.setUserId(SecurityUtils.getUserId().intValue());
        IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page,
                QueryWrappers.queryWrappers(insOrderPlanDTO),
                userName,
                userId,
                sonLaboratory,
                laboratory,
                isCheck);
                QueryWrappers.queryWrappers(insOrderPlanDTO),insOrderPlanQueryDto);
        return insOrderPage;
    }
@@ -446,6 +439,30 @@
                    }
                    newResult.setEquipName(JSON.toJSONString(ev));
                }
                //测试开始时间
                if (jo.get("testStartTime") != null) {
                    JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("testStartTime")));
                    List<Map<String, Object>> ev = new ArrayList<>();
                    for (Object o : jsonArray2) {
                        JSONObject testStartTimeValue = JSON.parseObject(JSON.toJSONString(o));
                        Map<String, Object> map = new HashMap<>();
                        map.put("v", JSON.parseObject(JSON.toJSONString(testStartTimeValue.get("v"))).get("v"));
                        ev.add(map);
                    }
                    newResult.setTestStartTime(JSON.toJSONString(ev));
                }
                //测试结束时间
                if (jo.get("testEndTime") != null) {
                    JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("testEndTime")));
                    List<Map<String, Object>> ev = new ArrayList<>();
                    for (Object o : jsonArray2) {
                        JSONObject testEndTimeValue = JSON.parseObject(JSON.toJSONString(o));
                        Map<String, Object> map = new HashMap<>();
                        map.put("v", JSON.parseObject(JSON.toJSONString(testEndTimeValue.get("v"))).get("v"));
                        ev.add(map);
                    }
                    newResult.setTestEndTime(JSON.toJSONString(ev));
                }
                //结论
                try {
                    JSONObject insResult = JSON.parseObject(JSON.toJSONString(jo.get("insResult")));