| | |
| | | |
| | | package com.example.erp.service.pp; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.TypeReference; |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | |
| | | public Map<String, Object> processCardProgressSv(String orderId, List<Integer> columns) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | //获取表格内容数据 |
| | | map.put("data", reportMapper.processCardProgressMp(orderId)); |
| | | List<Map<String, String>> dataList = reportMapper.processCardProgressMp(orderId); |
| | | |
| | | |
| | | //获取表头工序筛选数据 |
| | | List<Map<String, String>> processFilterList = orderProcessDetailMapper.filterOrderProcess(orderId); |
| | |
| | | } |
| | | } |
| | | map.put("title", uniqueList); |
| | | Map<String,Integer> clos = new HashMap<>(); |
| | | for (int i=0;i<uniqueList.size();i++){ |
| | | //根据流程查询基础数据 |
| | | BasicData basicData = basicDataMapper.selectOne( |
| | | new QueryWrapper<BasicData>() |
| | | .eq("basic_category","process") |
| | | .eq("basic_name",uniqueList.get(i).get("process")) |
| | | .last("limit 1") |
| | | ); |
| | | if(basicData!=null && (Objects.equals(basicData.getNickname(), "stepB") || (Objects.equals(basicData.getNickname(), "stepD")))){ |
| | | //判断磨边和磨边后工序 |
| | | if(Objects.equals(basicData.getNickname(), "stepA") || Objects.equals(basicData.getNickname(), "stepC")){ |
| | | clos.put(uniqueList.get(i).get("process"), 15+i); |
| | | } |
| | | //判断中空和中空后工序 |
| | | if(Objects.equals(basicData.getNickname(), "stepB") || Objects.equals(basicData.getNickname(), "stepD")){ |
| | | columns.add(15+i); |
| | | } |
| | | } |
| | |
| | | rowCount.add(getRow); |
| | | }); |
| | | }); |
| | | if(!clos.isEmpty()){ |
| | | //循环结果 |
| | | for (int i=0;i<dataList.size();i++ ) { |
| | | Map<String, String> data = JSON.parseObject(dataList.get(i).get("reportWorkQuantity"), |
| | | new TypeReference<Map<String, String>>() { |
| | | }); |
| | | for (String key : clos.keySet()) { |
| | | if(data.get(key) != null){ |
| | | Integer max = orderGlassDetailMapper |
| | | .getMaxTechnologyNumberByGroup(dataList.get(i).get("order_id"), |
| | | String.valueOf(dataList.get(i).get("order_number")), |
| | | String.valueOf(dataList.get(i).get("group")) |
| | | ); |
| | | Integer min = orderGlassDetailMapper |
| | | .getMinTechnologyNumberByGroup(dataList.get(i).get("order_id"), |
| | | String.valueOf(dataList.get(i).get("order_number")), |
| | | String.valueOf(dataList.get(i).get("group")) |
| | | ); |
| | | if(min == Integer.parseInt(String.valueOf(dataList.get(i).get("technology_number"))) ){ |
| | | Map<String, Integer> getRow = new HashMap<>(); |
| | | // { row: 0, col: 1, rowspan: 3, colspan: 0}, |
| | | getRow.put("row", i ); |
| | | getRow.put("col", clos.get(key)); |
| | | getRow.put("rowspan", max-min+1); |
| | | getRow.put("colspan", 0); |
| | | rowCount.add(getRow); |
| | | }else{ |
| | | data.put(key,"0"); |
| | | } |
| | | |
| | | } |
| | | } |
| | | dataList.get(i).put("reportWorkQuantity",JSON.toJSONString(data)); |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | map.put("data",dataList ); |
| | | map.put("mergeCells", rowCount); |
| | | |
| | | return map; |