| | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
| | |
| | | @Autowired |
| | | private RabbitTemplate rabbitTemplate; |
| | | |
| | | |
| | | |
| | | private ReentrantLock lock = new ReentrantLock(); |
| | | |
| | | @Resource |
| | | private ThreadPoolTaskExecutor threadPoolTaskExecutor; |
| | | |
| | | @Override |
| | | public void exportInsOrderPlanResult(Map<String, Object> data, HttpServletResponse response) { |
| | | public void exportInsOrderPlanResult(QueryResultDTO data, HttpServletResponse response) { |
| | | List<Map<String,Object>> dataList = new ArrayList<>(); |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | try { |
| | | Object o = getTabHeader(data.get("sonLaboratory").toString(), data.get("samples").toString()).get("tableHeader");// 获取动态表头 |
| | | Object o = getTabHeader(data.getSonLaboratory(), data.getSampleType()).get("tableHeader");// 获取动态表头 |
| | | List<Map<String, Object>> tableHeader = objectMapper.readValue(JSONUtil.toJsonStr(o), new TypeReference<List<Map<String, Object>>>() { |
| | | });// 表头数据 |
| | | Map<String, Object> table = objectMapper.readValue(JSONUtil.toJsonStr(data.get("trendsTable")), new TypeReference<Map<String, Object>>() { |
| | | }); |
| | | List<Map<String, Object>> trendsTable = getInsOrderPlanList(table); // 表格数据 |
| | | // 表头数据 |
| | | List<Map<String, Object>> trendsTable = getInsOrderPlanList(data); // 表格数据 |
| | | for (Map<String, Object> trend : trendsTable) { |
| | | Map<String, Object> addMap = new HashMap<>(); |
| | | addMap.put("委托单号", trend.get("entrustCode")); |
| | |
| | | |
| | | ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()) |
| | | .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) |
| | | .registerWriteHandler(new SheetWriteHandlerUtil(data.get("samples").toString(),head.size())) |
| | | .registerWriteHandler(new SheetWriteHandlerUtil(data.getSampleType(),head.size())) |
| | | .useDefaultStyle(true).relativeHeadRowIndex(1) |
| | | .registerWriteHandler(horizontalCellStyleStrategy) |
| | | .build(); |
| | |
| | | return headWriteCellStyle; |
| | | } |
| | | @Override |
| | | public List<Map<String, Object>> getInsOrderPlanList(Map<String,Object> data) { |
| | | String sampleType = data.get("sampleType").toString(); |
| | | String sonLaboratory = data.get("sonLaboratory").toString(); |
| | | String entrustCode = data.get("entrustCode").toString(); |
| | | public List<Map<String, Object>> getInsOrderPlanList(QueryResultDTO data) { |
| | | String sampleType = data.getSampleType(); |
| | | String sonLaboratory = data.getSonLaboratory(); |
| | | String entrustCode = data.getEntrustCode(); |
| | | Integer createUser = null; |
| | | String name = ""; |
| | | if(StringUtils.isNotBlank(data.get("createUser").toString())) { |
| | | createUser = Integer.parseInt(data.get("createUser").toString()); |
| | | if(StringUtils.isNotBlank(data.getCreateUser())) { |
| | | createUser = Integer.parseInt(data.getCreateUser()); |
| | | name = userMapper.selectById(createUser).getName(); |
| | | } |
| | | String sampleCode = data.get("sampleCode").toString(); |
| | | String sampleCode = data.getSampleCode(); |
| | | String startTime = ""; |
| | | String endTime = ""; |
| | | List<Map<String, Object>> maps = new ArrayList<>(); |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | try { |
| | | if(StringUtils.isNotBlank(data.get("insTime").toString()) && !Objects.isNull(data.get("insTime"))) { |
| | | List insTime = objectMapper.readValue(JSONUtil.toJsonStr(data.get("insTime")), List.class); |
| | | startTime = insTime.get(0).toString(); |
| | | endTime = insTime.get(1).toString(); |
| | | if(CollectionUtils.isNotEmpty(data.getInsTime())) { |
| | | startTime = data.getInsTime().get(0); |
| | | endTime = data.getInsTime().get(1); |
| | | } |
| | | // 表头信息 |
| | | List<Map<String, Object>> headerS = objectMapper.readValue(JSONUtil.toJsonStr(data.get("headerS")), new TypeReference<List<Map<String, Object>>>() { |
| | | List<Map<String, Object>> headerS = objectMapper.readValue(JSONUtil.toJsonStr(data.getHeaderS()), new TypeReference<List<Map<String, Object>>>() { |
| | | }); |
| | | // 判断是否是温度循环 |
| | | if(sampleType.equals("温度循环")) { |
| | |
| | | dateTimeFormatter),LocalTime.of(23, 59, 59) |
| | | ).toString(); |
| | | // 获取数据 |
| | | String company = data.get("company").toString(); |
| | | String company = ""; |
| | | if(data.containsKey("company")) { |
| | | company = data.get("company").toString(); |
| | | } |
| | | List<CommissionFeesDto> list = insOrderMapper.selectCommissionFees(laboratory,company, start, end); |
| | | list = list.stream().map(dto -> { |
| | | Set<String> uniqueTags = new HashSet<>(); |
| | |
| | | } |
| | | } |
| | | |
| | | if (samples.contains("温度循环")){ |
| | | if (Objects.nonNull(samples)&&samples.contains("温度循环")){ |
| | | addElementToMaps(maps, "循环次数", "inspectionItems"); |
| | | addElementToMaps(maps, "温度点", "inspectionItemSubclass"); |
| | | addElementToMaps(maps, "衰减系数1310", "attenuationCoefficient1310"); |
| | |
| | | } |
| | | insOrderPlanDTO.setUserId(null); |
| | | } |
| | | // QueryWrapper<InsOrderPlanDTO> wrappers = QueryWrappers.queryWrappers(planDTO); |
| | | QueryWrapper<InsOrderPlanDTO> wrappers = QueryWrappers.queryWrappers(new InsOrderPlanDTO()); |
| | | IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder( |
| | | page, |
| | | userName, |
| | |
| | | laboratory, |
| | | insOrderPlanDTO.getEntrustCode(), |
| | | insOrderPlanDTO.getInsState(), |
| | | null, |
| | | wrappers, |
| | | insOrderPlanDTO.getSendTimeRange() |
| | | ); |
| | | return insOrderPage; |