廖井涛
2025-08-11 b499a7e1dbcc4b9dbcdcaa46bbf5c24271bf6698
Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
13个文件已修改
157 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/lang/ar.js 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/en.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/kr.js 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/ru.js 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/zh.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/pp/PatchLog.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/ar.js
@@ -406,6 +406,9 @@
            selectDetailProcessCard:"流程卡明细查询"
        },
        buildingNumber:'楼号',
        longSide:'长边',
        shortSide:'短边',
        printCompound:'需要同架的层',
        flashback:'倒序',
        processId:'رقم بطاقة العملية',
@@ -619,8 +622,10 @@
        passAudit:'تمت الموافقة',
        patchCondition:'补片状态',
        changeFailed:'修改失败,请检查是否为报工转移订单',
        hiddenVal:'隐藏',
        futureTime:'报工时间不能大于当前时间',
        longTime:'报工时间与当前时间超过15天',
        selectResponsibleTeam:'الرجاء اختيار الفريق المسؤول',
        selectWorkReportingTeam:'الرجاء اختيار الفريق المسؤول',
        successfulModificationOfWorkApplication:'تم تعديل التقرير بنجاح',
north-glass-erp/northglass-erp/src/lang/en.js
@@ -406,6 +406,9 @@
            printFlowCard:"Process card printing",
            selectDetailProcessCard:"Process card details query"
        },
        buildingNumber:'楼号',
        longSide:'长边',
        shortSide:'短边',
        printCompound:'需要同架的层',
        flashback:'倒序',
        processId:'Process Card Number',
@@ -621,7 +624,10 @@
        passAudit:'Pass The Audit',
        patchCondition:'Patch Condition',
        changeFailed:'修改失败,请检查是否为报工转移订单',
        hiddenVal:'隐藏',
        futureTime:'报工时间不能大于当前时间',
        longTime:'报工时间与当前时间超过15天',
        selectResponsibleTeam:'Please select a responsible team',
        selectWorkReportingTeam:'Please select a responsible team',
        successfulModificationOfWorkApplication:'Report modification succeeded',
north-glass-erp/northglass-erp/src/lang/kr.js
@@ -415,6 +415,9 @@
            selectDetailProcessCard:'프로세스 카드 상세 조회'
        },
        buildingNumber:'楼号',
        longSide:'长边',
        shortSide:'短边',
        printCompound:'需要同架的层',
        flashback:'倒序',
        processId:'프로세스 카드 번호',
@@ -628,8 +631,10 @@
        passAudit:'승인 완료',
        patchCondition:'패치 상태',
        changeFailed:'수정 실패,  실적 보고 이관 주문 여부 확인해 주세요',
        hiddenVal:'隐藏',
        futureTime:'报工时间不能大于当前时间',
        longTime:'报工时间与当前时间超过15天',
        selectResponsibleTeam:'담당 팀을 선택해 주세요.',
        selectWorkReportingTeam:'담당 팀을 선택해 주세요.',
        successfulModificationOfWorkApplication:'작업 보고 수정 성공',
north-glass-erp/northglass-erp/src/lang/ru.js
@@ -404,6 +404,9 @@
            printFlowCard:"流程卡打印",
            selectDetailProcessCard:"流程卡明细查询"
        },
        buildingNumber:'楼号',
        longSide:'长边',
        shortSide:'短边',
        printCompound:'需要同架的层',
        flashback:'倒序',
        processId:'Номер процесса',
@@ -617,8 +620,10 @@
        passAudit:'Проверка прошла',
        patchCondition:'补片状态',
        changeFailed:'修改失败,请检查是否为报工转移订单',
        hiddenVal:'隐藏',
        futureTime:'报工时间不能大于当前时间',
        longTime:'报工时间与当前时间超过15天',
        selectResponsibleTeam:'Пожалуйста, выберите группу ответственности.',
        selectWorkReportingTeam:'Пожалуйста, выберите группу ответственности.',
        successfulModificationOfWorkApplication:'Изменение обратной связи успешно',
north-glass-erp/northglass-erp/src/lang/zh.js
@@ -416,6 +416,7 @@
            selectDetailProcessCard:"流程卡明细查询"
        },
        buildingNumber:'楼号',
        longSide:'长边',
        shortSide:'短边',
        printCompound:'需要同架的层',
@@ -636,7 +637,8 @@
        changeFailed:'修改失败,请检查是否为报工转移订单',
        hiddenVal:'隐藏',
        futureTime:'报工时间不能大于当前时间',
        longTime:'报工时间与当前时间超过15天',
        selectResponsibleTeam:'请选择责任班组',
        selectWorkReportingTeam:'请选择责任班组',
        successfulModificationOfWorkApplication:'报工修改成功',
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
@@ -370,6 +370,14 @@
      , sortable: true
    },
    {
      field: 'building_number',
      title: t('processCard.buildingNumber'),
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged, width: 120
      , sortable: true
    },
    {
      field: 'width',
      title: t('order.width'),
      filters: [{data: ''}],
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -1001,6 +1001,23 @@
    return
  }
  const reportingWorkTime = titleUploadData.value.reportingWorkTime
    const currentTime = new Date()
    const targetTime = new Date(reportingWorkTime)
    //未来时间
    if (targetTime > currentTime) {
      ElMessage.error(t('reportingWorks.futureTime'))
      return
    }
    // 两个时间的毫秒差
    const diffMs = currentTime - targetTime
    // 转换为天数
    const diffDays = diffMs / (1000 * 60 * 60 * 24)
    if (diffDays > 15) {
      ElMessage.error(t('reportingWorks.longTime'))
      return
    }
  const seenIds = {}
  const uniqueByOrderNum = xGrid.value.getTableData().fullData.filter(item => {
    // 检查item的id是否已经在seenIds中
@@ -1280,27 +1297,6 @@
      //判断早晚班
      titleUploadData.value.classes=t('reportingWorks.early')
      titleUploadData.value.reportingWorkTime = formatCurrentTime()
      //处理编号列
      //定义存放编号数组
      const s01Values = [];
      for (let i = 0; i < res.data.Detail.length; i++) {
        const s01Values = [];
        // 遍历 detailList 数组,提取 S01 值到 s01Values 数组
        if (res.data.Detail[i].other_columns!=null|| res.data.Detail[i].other_columns!=undefined){
          res.data.Detail.forEach(element => {
            const otherColumnsObject = JSON.parse(element.other_columns);
            const s01Value = otherColumnsObject.S01;
            s01Values.push(s01Value || ''); // 如果 S01 值为空,添加空字符串或者其他默认值
          });
          // 将 s01Values 中的值赋给每个订单详情对象的 s01Value 属性
          res.data.Detail.forEach((detail, index) => {
            detail.s01Value = index < s01Values.length ? s01Values[index] : ''; // 赋值给 s01Value 属性
          });
        }
      }
      //绑定下方表格
north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java
@@ -66,6 +66,8 @@
    private Integer importNumber;
    //订单转移导出数量
    private Integer exportNumber;
    //连线状态(0不连线1连线,默认1,添加时间
    private Integer onlineStatus;
    //建立时间
    private LocalDate createTime;
    //修改时间
north-glass-erp/src/main/java/com/example/erp/entity/pp/PatchLog.java
@@ -29,6 +29,8 @@
    private String reviewer;
    //审核状态
    private Integer reviewStatus;
    //架号
    private String rack;
    //创建时间
    private LocalDate createTime;
    //修改时间
north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java
@@ -323,7 +323,29 @@
                        }
                    }
                }
                // 在保存之前处理 glassPoint 数据
                for (Map<String, Object> detail : objectMap2) {
                    if (detail.containsKey("glassPoint")) {
                        Object glassPointObj = detail.get("glassPoint");
                        if (glassPointObj != null) {
                            try {
                                // 如果 glassPointObj 已经是字符串,则不需要转换
                                if (!(glassPointObj instanceof String)) {
                                    // 将对象转换为 JSON 字符串
                                    String glassPointStr = mapper.writeValueAsString(glassPointObj);
                                    detail.put("glassPoint", glassPointStr);
                                }
                            } catch (Exception e) {
                                // 如果转换失败,记录错误并移除该字段
                                System.err.println("转换 glassPoint 失败: " + e.getMessage());
                                detail.remove("glassPoint");
                            }
                        } else {
                            // 如果 glassPointObj 为 null,移除该字段
                            detail.remove("glassPoint");
                        }
                    }
                }
                glassOptimizeMapper.addOptimizeDetail(objectMap2,projectId);
            }
            glassOptimizeMapper.updateProjectOptimizeStateMp(projectId,1);
@@ -372,6 +394,32 @@
        if (offsets != null) {
            allDetails.addAll(offsets);
        }
        // 解析 glassPoint 字符串
        ObjectMapper mapper = new ObjectMapper();
        for (Map<String, Object> detail : allDetails) {
            if (detail.containsKey("glassPoint")) {
                Object glassPointObj = detail.get("glassPoint");
                if (glassPointObj instanceof String) {
                    String glassPointStr = (String) glassPointObj;
                    if (glassPointStr != null && !glassPointStr.isEmpty() && !glassPointStr.equals("null")) {
                        try {
                            // 解析 JSON 字符串为对象
                            Object parsedGlassPoint = mapper.readValue(glassPointStr, Object.class);
                            detail.put("glassPoint", parsedGlassPoint);
                        } catch (Exception e) {
                            System.err.println("解析 glassPoint 失败: " + e.getMessage());
                            // 解析失败时保留原字符串或设置默认值
                            detail.put("glassPoint", new ArrayList<>());
                        }
                    } else {
                        // 空字符串或 null 时设置默认值
                        detail.put("glassPoint", new ArrayList<>());
                    }
                }
            }
        }
        // 按照stockId将明细分组并添加到对应的布局中
        if (layouts != null && !layouts.isEmpty()) {
            for (Map<String, Object> layout : layouts) {
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -2492,7 +2492,8 @@
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01'))                  AS glassNumber,
               od.order_number,
               od.width,
               od.height
               od.height,
               od.building_number
        from flow_card as fc
                 left join sd.order_glass_detail as ogd
                           on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
@@ -2531,7 +2532,8 @@
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS S02,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS S03,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS S04,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS S05
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS S05,
                od.building_number
        from flow_card as fc
                 left join sd.order_glass_detail as ogd
                           on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
@@ -1233,6 +1233,7 @@
            patch_state,
            mark_icon,
            isRotate,
            glass_point,
            rack_no
            ) VALUES (
            #{projectId},
@@ -1251,6 +1252,7 @@
            #{glass.patchState},
            #{glass.markIcon},
            #{glass.isRotate},
            #{glass.glassPoint},
            #{glass.rackNo}
            );
        </foreach>
@@ -1827,6 +1829,7 @@
            y_axis AS y,
            mark_icon AS markIcon,
            isRotate,
            glass_point AS glassPoint,
            rack_no As rackNo
        FROM
            pp.optimize_detail
north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
@@ -140,7 +140,9 @@
            odpd.reporting_work_num as completed,
            odpd.broken_num as onceBroken,
            if(fc.quantity -odpd.reporting_work_num = 0 ,true,false) as saveFlag, -- 判断是否已经完成,已经完成不序号和同序号数量相同才能提交
            od.other_columns
        if(ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'')!='',
            ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),''),
            od.building_number) as s01Value
        FROM
            sd.order_detail AS od
        LEFT JOIN sd.order_glass_detail AS ogd
@@ -206,7 +208,10 @@
        ogd.`group`,
        if(fc.quantity -odpd.reporting_work_num = 0 ,true,false) as saveFlag, -- 判断是否已经完成,已经完成不序号和同序号数量相同才能提交
        od.other_columns,
        ogd.id as 'glassId',IFNULL(rws.reviewed_state,0) as reviewed_state
        ogd.id as 'glassId',IFNULL(rws.reviewed_state,0) as reviewed_state,
        if(ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'')!='',
        ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),''),
        od.building_number) as s01Value
        FROM
        sd.order_detail AS od
@@ -430,6 +435,9 @@
            ifnull(f.completed_quantity,0) as thisQuantitySum ,-- 本工序完工和
            if(c.quantity-f.completed_quantity = 0 ,true,false) as saveFlag,
            e.other_columns,
        if(ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'')!='',
        ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),''),
        od.building_number) as s01Value
        IF(count(pl.id)>0,'已补片','') as patchStatusOther,
            <if test="nextProcess != null and nextProcess != ''">  -- 非最后一道工序
@@ -922,6 +930,11 @@
                          SELECT * FROM sd.basic_data
                          WHERE basic_type='product' AND basic_category='process' AND basic_name='钢化'
                          UNION
                          SELECT * FROM sd.basic_data
                          WHERE basic_type='product' AND basic_category='process' AND basic_name='热弯'
                      ) AS combined_results;
    </select>