chenlu
2025-07-23 9ea8f644024c5e1796495309e8ed546c1313b15e
调整工序待完成报表出现的问题
8个文件已修改
77 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/TaskCompletionStatus.vue 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderProcessDetailMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/Report.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue
@@ -98,7 +98,7 @@
    // total.dataTotal = res.data.total.total*1
    // total.pageTotal= res.data.total.pageTotal
    // pageTotal.value = res.data.total
    total.value = res.data.footSum
    //total.value = res.data.footSum
    produceList = produceList.value.concat(deepClone(res.data.data))
    titleSelectJson.value.processType = res.data.process
    xGrid.value.reloadData(produceList)
@@ -123,7 +123,7 @@
  request.post(`/report/selectProcessToBeCompleted/${pageNum.value}/${total.pageSize}/${startTime}/${newEndTime}/${inputVal}`, filterData.value).then((res) => {
    if (res.code == 200) {
      total.value = res.data.footSum
      //total.value = res.data.footSum
      produceList = deepClone(res.data.data)
      xGrid.value.reloadData(produceList)
    } else {
@@ -156,7 +156,7 @@
      // total.dataTotal = res.data.total.total*1
      // total.pageTotal= res.data.total.pageTotal
      // pageTotal.value = res.data.total
      total.value = res.data.footSum
      //total.value = res.data.footSum
      produceList = deepClone(res.data.data)
      xGrid.value.reloadData(produceList)
    } else {
@@ -310,8 +310,7 @@
        }
        const List = ["quantity",'childArea','actualArea','completeNum','completeArea','incompleteNum','incompleteArea']
        if (List.includes(column.field)) {
          //return footSum(data, column.field)
          return total.value?.[column.field] ?? 0
          return footSum(data, column.field)
        }
        return ''
      })
north-glass-erp/northglass-erp/src/views/pp/report/TaskCompletionStatus.vue
@@ -90,13 +90,17 @@
let column = [1,2,3]
//点击查询
const getWorkOrder = () => {
  let orderId = form.orderId
  if (orderId === '') {
    orderId = null
  }
  let startTime = time.date1[0]
  let endTime = time.date1[1]
  let date = new Date(endTime); // 将日期字符串转为 Date 对象
// 使用 setDate 方法加一天
  date.setDate(date.getDate() + 1);
  let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串
  request.post(`/report/taskCompletionStatus/${startTime}/${newEndTime}`,column).then((res) => {
  request.post(`/report/taskCompletionStatus/${startTime}/${newEndTime}/${orderId}`,column).then((res) => {
    if (res.code == 200) {
      if(res.data.data.length===0){
        ElMessage.warning(t('report.noDataFoundForThisOrder'))
@@ -111,7 +115,7 @@
        item.reportWorkQuantity=JSON.parse(item.reportWorkQuantity)
        item.reportWorkQuantityCount=JSON.parse(item.reportWorkQuantityCount)
      })
      mergeCells.value = res.data.mergeCell
      //mergeCells.value = res.data.mergeCells
      xGrid.value.loadData(res.data.data)
    } else {
      ElMessage.warning(res.msg)
@@ -178,7 +182,7 @@
    // export: true,
    // print: true,
    slots: {
      tools: 'toolbar_buttons'
      //tools: 'toolbar_buttons'
    },
    zoom: true,
    custom: true
@@ -280,13 +284,13 @@
        <template #quantitySum="{ row,column }">
          <span>{{ quantitySum(row,column) }} </span>
        </template>
        <template #toolbar_buttons>
          <vxe-button style="margin-right: 0.5rem"
                      @click="exportExcel('/report/exportTaskCompletionStatus',
                                          t('report.TaskCompletionStatus'),
                                          time.date1)">
            {{t('basicData.export')}}</vxe-button>
        </template>
<!--        <template #toolbar_buttons>-->
<!--          <vxe-button style="margin-right: 0.5rem"-->
<!--                      @click="exportExcel('/report/exportTaskCompletionStatus',-->
<!--                                          t('report.TaskCompletionStatus'),-->
<!--                                          time.date1)">-->
<!--            {{t('basicData.export')}}</vxe-button>-->
<!--        </template>-->
      </vxe-grid>
    </div>
north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java
@@ -131,11 +131,12 @@
    @ApiOperation("任务完成情况汇总进度")
    @SaCheckPermission("taskCompletionStatus.search")
    @PostMapping("/taskCompletionStatus/{selectTime1}/{selectTime2}")
    @PostMapping("/taskCompletionStatus/{selectTime1}/{selectTime2}/{orderId}")
    public Result taskCompletionStatus(@PathVariable Date selectTime1,
                                       @PathVariable Date selectTime2,
                                       @PathVariable String orderId,
                                       @RequestBody List<Integer> columns) {
        return Result.seccess(reportService.taskCompletionStatusSv(selectTime1, selectTime2, columns));
        return Result.seccess(reportService.taskCompletionStatusSv(selectTime1, selectTime2,orderId, columns));
    }
    @ApiOperation("订单计划分解")
north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java
@@ -8,7 +8,6 @@
import java.sql.Date;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@@ -39,7 +38,7 @@
    List<Map<String, String>> productionScheduleMp(String orderId);
    List<Map<String, String>> taskCompletionStatusMp(Date selectTime1, Date selectTime2);
    List<Map<String, String>> taskCompletionStatusMp(Date selectTime1, Date selectTime2, String orderId);
    List<Map<String, String>> orderPlanDecompositionMp(Date selectTime1, Date selectTime2, Report report);
north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderProcessDetailMapper.java
@@ -26,9 +26,9 @@
    void insertByReportingWorkDetail(ReportingWorkDetail reportingWorkDetail, String processId, String thisProcess);
    List<Map<String,String>> filterOrderProcessCollect(Date selectTime1, Date selectTime2);
    List<Map<String,String>> filterOrderProcessCollect(Date selectTime1, Date selectTime2, String orderId);
    List<Map<String, Integer>> getGlassLRowCollect(Date selectTime1, Date selectTime2);
    List<Map<String, Integer>> getGlassLRowCollect(Date selectTime1, Date selectTime2, String orderId);
    String selectNextProcess(String processId, String technologyNumber, String thisProcess, String orderNumber);
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
@@ -21,7 +21,6 @@
import java.math.BigDecimal;
import java.sql.Date;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -392,13 +391,16 @@
        return map;
    }
    public Map<String, Object> taskCompletionStatusSv(Date selectTime1, Date selectTime2, List<Integer> columns) {
    public Map<String, Object> taskCompletionStatusSv(Date selectTime1, Date selectTime2, String orderId, List<Integer> columns) {
        if ("null".equals(orderId)) {
            orderId = "";
        }
        Map<String, Object> map = new HashMap<>();
        //获取表格内容数据
        map.put("data", reportMapper.taskCompletionStatusMp(selectTime1, selectTime2));
        map.put("data", reportMapper.taskCompletionStatusMp(selectTime1, selectTime2,orderId));
        //获取表头工序筛选数据
        List<Map<String, String>> processFilterList = orderProcessDetailMapper.filterOrderProcessCollect(selectTime1, selectTime2);
        List<Map<String, String>> processFilterList = orderProcessDetailMapper.filterOrderProcessCollect(selectTime1, selectTime2,orderId);
        List<Map<String, String>> processList = processFilterList;
        List<String> filterList = new ArrayList<>();
@@ -440,22 +442,24 @@
        }
        map.put("title", uniqueList);
        List<Map<String, Integer>> getRowCount = orderProcessDetailMapper.getGlassLRowCollect(selectTime1, selectTime2);
        List<Map<String, Integer>> getRowCount = orderProcessDetailMapper.getGlassLRowCollect(selectTime1, selectTime2,orderId);
        List<Map<String, Integer>> rowCount = new ArrayList<>();
        columns.forEach(col -> {
            getRowCount.forEach(row -> {
                Map<String, Integer> getRow = new HashMap<>();
                // { row: 0, col: 1, rowspan: 3, colspan: 0},
                getRow.put("row", row.get("RowNum"));
                Object rowNumObj = row.get("RowNum");
                if (rowNumObj instanceof Double) {
                    getRow.put("row", ((Double) rowNumObj).intValue());
                } else if (rowNumObj instanceof Integer) {
                    getRow.put("row", (Integer) rowNumObj);
                }
                getRow.put("col", col);
                getRow.put("rowspan", row.get("rowCount"));
                getRow.put("colspan", 0);
                rowCount.add(getRow);
            });
        });
        map.put("mergeCells", rowCount);
        return map;
north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -879,12 +879,14 @@
                                     left join sd.`order` as o on o.order_id = a.order_id
                            where    o.create_time >= #{selectTime1}
                              AND o.create_time &lt;  #{selectTime2}
                              and position(#{orderId} in o.order_id)
                            GROUP BY process_id, a.technology_number) as e
                           on e.process_id = c.process_id
                               and e.technology_number = c.technology_number
                 left join sd.delivery_detail as dd on dd.order_id = a.order_id and dd.order_number = a.order_number
        where   d.create_time >= #{selectTime1}
          AND d.create_time &lt;  #{selectTime2}
          and position(#{orderId} in a.order_id)
          and d.create_order>0
          and reportWorkQuantity is not null
        GROUP BY a.order_id
@@ -2059,8 +2061,8 @@
          and odpd.process = #{selectProcesses}
          and  o.create_time >= #{selectTime1}
          AND o.create_time &lt;  #{selectTime2}
          AND POSITION('' IN od.order_id)
          AND POSITION('' IN o.project)
          and position(#{orderId} in od.order_id)
          and position(#{inputProject} in o.project)
          AND fc.quantity - odpd.reporting_work_num > 0;
    </select>
north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml
@@ -129,6 +129,7 @@
        from order_process_detail as a
        left join `order` as b on a.order_id=b.order_id
        where b.create_time BETWEEN #{selectTime1} and #{selectTime2}
          and position(#{orderId} in b.order_id)
        group by process
    </select>
@@ -144,11 +145,12 @@
                   left join sd.`order` o2 on c.order_id = o2.order_id,
                   (SELECT @i:=-1) as d
              where o2.create_time BETWEEN #{selectTime1} and #{selectTime2}
                and position(#{orderId} in o2.order_id)
              GROUP BY order_number
             ) as b
             on b.order_number = a.order_number
        left join sd.`order` o on a.order_id = o.order_id
        where o.create_time BETWEEN #{selectTime1} and #{selectTime2}
        where o.create_time BETWEEN #{selectTime1} and #{selectTime2} and position(#{orderId} in o.order_id)
        group by a.order_number
    </select>