廖井涛
2025-07-23 0da5ae522eb18832f7741446ee36d25bf2971ab5
Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
10个文件已修改
113 ■■■■■ 已修改文件
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/northglass-erp/src/views/pp/report/WorkInProgressCombination.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue 34 ●●●●● 补丁 | 查看 | 原始文档 | 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/northglass-erp/src/views/pp/report/WorkInProgressCombination.vue
@@ -114,7 +114,6 @@
request.post(`/report/workInProgressCombination/1/${total.pageSize}/${selectProcesses}/${inputVal}/${inputProject}/${optionVal}`, filterData.value).then((res) => {
  if (res.code == 200) {
    console.log(res.data)
    // total.dataTotal = res.data.total.total*1
    // total.pageTotal= res.data.total.pageTotal
    // pageTotal.value = res.data.total
@@ -180,7 +179,6 @@
  request.post(`/report/workInProgressCombination/${pageNum.value}/${total.pageSize}/${inputVal}/${inputProject}/${selectProcesses}/${optionVal}`, filterData.value).then((res) => {
    if (res.code == 200) {
      console.log(res.data.data)
      // total.dataTotal = res.data.total.total * 1
      // total.pageTotal = res.data.total.pageTotal
      // pageTotal.value = res.data.total
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -1503,15 +1503,16 @@
}
const hideButton = () => {
  //获取最后一道工序
  // 获取最后一道工序
  const parts = technologicalProcess.split('->');
  let last = parts[parts.length - 1];
  if (last === '') {
    last = null;
  }
  const els = document.querySelectorAll('.inventory_content');
  //是否显示报工入库相关按钮内容
  if (btnValue == false || last != titleUploadData.value.thisProcess){
  // 是否显示报工入库相关按钮内容
  if (btnValue == false || last != titleUploadData.value.thisProcess) {
    els.forEach(el => {
      el.style.display = 'none';
    });
@@ -1519,27 +1520,30 @@
    els.forEach(el => {
      el.style.display = '';
    });
    let buttons =  {
      code: 'saveWorkStorage',
      name: t('reportingWorks.saveWorkStorage'),
      status: 'primary',
      icon: 'vxe-icon-save'
    // 避免重复添加按钮
    const exists = gridOptions.toolbarConfig.buttons.some(btn => btn.code === 'saveWorkStorage');
    if (!exists) {
      let buttons = {
        code: 'saveWorkStorage',
        name: t('reportingWorks.saveWorkStorage'),
        status: 'primary',
        icon: 'vxe-icon-save'
      };
      gridOptions.toolbarConfig.buttons.push(buttons);
    }
    gridOptions.toolbarConfig.buttons.push(buttons)
  }
  // 过滤按钮,隐藏 saveWorkStorage 按钮时机
  gridOptions.toolbarConfig.buttons = gridOptions.toolbarConfig.buttons.filter(button => {
    // 如果 type 不为空时,隐藏 print 按钮
    if ((btnValue == false || last != titleUploadData.value.thisProcess) && button.code === 'saveWorkStorage' ) {
      return false;  // 隐藏 print 按钮
    if ((btnValue == false || last != titleUploadData.value.thisProcess) && button.code === 'saveWorkStorage') {
      return false;
    }
    // 默认返回 true,表示保留按钮
    return true;
  });
};
const changeGroup = (value)=> {
  //判断历史班组是否有此班组信息
  const exists = titleSelectJson.value.historyTeams.some(item => item.basic_name === value)
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>