廖井涛
2024-12-12 ceaf0a5df9286a5f3d0384c95aa82c4e8459ada5
修改工程流程卡打印补片部分
5个文件已修改
154 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -58,11 +58,9 @@
data.value.printList = JSON.parse(props.printList)
let flowCardCount = ''
onMounted(() => {
  console.log(props.printProject)
      if(props.printProject!=null){
        request.post(`/processCard/getSelectPrintProject/${printProject}`).then((res) => {
          if (res.code == 200) {
            console.log(res.data.data)
            load(res.data.data)
          } else {
            ElMessage.warning(res.msg)
@@ -72,7 +70,6 @@
      }else{
        request.post(`/processCard/getSelectPrinting/${merge}/${like}`, data.value).then((res) => {
          if (res.code == 200) {
            console.log(res.data.data)
            load(res.data.data)
          } else {
            ElMessage.warning(res.msg)
@@ -254,7 +251,7 @@
      <tr v-for="(itemFlow,index) in item.detail" :key="index">
        <td  colspan="31">
          <div style="float: left;"><input style="border: none;font-size: 28px;width: 70px;margin: 5px  "/></div>
          <div id="bj" style="float: right;font-size: 28px">{{ id + 1 }}</div>
          <div id="bj" style="float: right;font-size: 28px"><span v-if="item.state===1">补</span>{{ id + 1 }}</div>
          <div>{{ company.companyName }}</div>
          <div>生产流程卡<span v-if="printProject!=null">({{ printProject }})</span></div>
          <div  style="font-weight: bolder;display: flex;justify-content:space-between">
north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java
@@ -94,6 +94,9 @@
    //小片数量
    @TableField(select = false,exist = false)
    private String glassCount;
    //补片状态
    @TableField(select = false,exist = false)
    private Integer patchState;
    //外键订单表
    @TableField(select = false,exist= false)
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
@@ -75,7 +75,11 @@
    List<Map<String, String>> getPrimaryList(String processId, String technologyNumber, String glassChild, String process, String orderId);
    List<Map<String, String>> getPrimaryLists(String processId, String technologyNumber, String glassChild, String process, String orderId,Integer quantity);
    List<Map<String, Object>> getDetailList(String processId, String technologyNumber, String process);
    List<Map<String, Object>> getDetailLists(String processId, String technologyNumber, String process,Integer orderNumber);
    List<Map<String, Object>> getProcessList(String processId, String technologyNumber);
@@ -125,6 +129,8 @@
    List<Map<String, Object>> getDetailListLike(String processId, String technologyNumber, String process);
    List<Map<String, Object>> getDetailListLikes(String processId, String technologyNumber, String process,Integer orderNumber,Integer quantity);
    List<Map<String, String>> getPrimaryListMergeRefund(String processId, String technologyNumber, Integer orderNumber, String orderId);
    List<Map<String, Object>> getDetailListRefund(String processId, String technologyNumber, Integer orderNumber, String reportingWorkId, String patchReason);
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -377,15 +377,28 @@
                    String processSub=flowCard.getProcess().substring(0, 2);
                    if(processSub.equals("夹胶") || processSub.equals("中空")){
                        itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess(),flowCard.getOrderId()));
                        if(flowCard.getPatchState().equals(0)){
                            List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getProcess());
                            itemmap.put("detailList", detailList);
                        }else{
                            List<Map<String, Object>> detailList = flowCardMapper.getDetailLists(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getProcess(),flowCard.getOrderNumber());
                            itemmap.put("detailList", detailList);
                        }
                        List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getProcess());
                        itemmap.put("detailList", detailList);
                    }
                    else {
                        itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess(),flowCard.getOrderId()));
                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getProcess());
                        itemmap.put("detailList", detailList);
                        if(flowCard.getPatchState().equals(0)){
                            itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess(),flowCard.getOrderId()));
                            List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getProcess());
                            itemmap.put("detailList", detailList);
                        }else{
                            itemmap.put("detail", flowCardMapper.getPrimaryLists(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess(),flowCard.getOrderId(),flowCard.getQuantity()));
                            List<Map<String, Object>> detailList = flowCardMapper.getDetailListLikes(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getProcess(),flowCard.getOrderNumber(),flowCard.getQuantity());
                            itemmap.put("detailList", detailList);
                        }
                    }
@@ -412,7 +425,13 @@
                itemmap.put("processList", processList);
                //  itemmap.put("numberList", numberList);
                itemmap.put("count", flowCardMapper.countFlowCard(flowCard.getOrderId()));
                if(flowCard.getPatchState().equals(0)){
                    itemmap.put("count", flowCardMapper.countFlowCard(flowCard.getOrderId()));
                }else{
                    itemmap.put("count", flowCardList.size());
                }
                itemmap.put("state", flowCard.getPatchState());
                itemmap.put("remarkList", flowCardMapper.remakList(flowCard.getProcessId()));
                list.add(itemmap);
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -660,6 +660,45 @@
        group by fc.process_id
    </select>
    <select id="getPrimaryLists">
        select o.customer_name,
               o.project,
               #{process}                                         process,
               od.edging_type,
               #{glassChild}                                   as glass_child,
               od.product_name,
               o.processing_note,
               fc.process_id,
               #{quantity}                                                      as quantity,
               round(od.width*od.height*#{quantity}/1000000, 2)                   as gross_area,
               sum(od.weight)                                  as weight,
               #{technologyNumber}                             as technologyNumber,
               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
               concat('对应我司单号', o.batch)                 AS otherRemarks,
               ''                                              as qrcode
        from flow_card as fc
                 left join sd.order_glass_detail as ogd
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
                              fc.technology_number = ogd.technology_number
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.`order` as o on o.order_id = fc.order_id
                 left join sd.product as p on p.id = od.product_id
                 left join (select ogd.order_id,
                                   ogd.order_number,
                                   ogd.technology_number,
                                   ogd.glass_child,
                                   GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                            from sd.order_glass_detail as ogd
                            where ogd.order_id = #{orderId}
                              and position(ogd.technology_number in #{technologyNumber})
                            GROUP BY order_id, order_number) as ogdc
                           on ogdc.order_id = ogd.order_id and ogdc.order_number = ogd.order_number and
                              ogdc.technology_number = ogd.technology_number
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber})
        group by fc.process_id
    </select>
    <select id="getDetailList">
        select fc.order_number,
               concat(round(ogd.child_width), "*", round(ogd.child_height))   as child_width,
@@ -688,6 +727,39 @@
                               and fcs.process = #{process}
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber})
        group by fc.process_id, fc.order_number
        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
    </select>
    <select id="getDetailLists">
        select fc.order_number,
               concat(round(ogd.child_width), "*", round(ogd.child_height))   as child_width,
               fc.quantity,
               round(ogd.total_area, 2)                                       as total_area,
               od.perimeter,
               if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
               concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
               od.other_columns,
               round(ogd.child_width)                                         as width,
               round(ogd.child_height)                                        as height,
               pd.separation,
               fc.technology_number,
               IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
               od.building_number
        from flow_card as fc
                 left join sd.order_glass_detail as ogd
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
                              fc.technology_number = ogd.technology_number
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.product_detail as pd
                           on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
                 left join flow_card_sort as fcs
                           on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and
                              fcs.technology_number = fc.technology_number
                               and fcs.process = #{process}
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber})
        and fc.order_sort = #{orderNumber}
        group by fc.process_id, fc.order_number
        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
    </select>
@@ -1239,6 +1311,39 @@
                               and fcs.process = #{process}
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber})
        group by fc.process_id, fc.order_number, fc.technology_number
        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
    </select>
    <select id="getDetailListLikes">
        select fc.order_number,
               concat(round(ogd.child_width), "*", round(ogd.child_height))   as child_width,
               #{quantity} as quantity,
               round(ogd.child_width*ogd.child_height*#{quantity}/1000000, 2)                                       as total_area,
               round((ogd.child_width+ogd.child_height)*2*#{quantity}/1000, 2)    as perimeter,
               if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
               concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
               od.other_columns,
               round(ogd.child_width)                                         as width,
               round(ogd.child_height)                                        as height,
               pd.separation,
               fc.technology_number,
               IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
               od.building_number
        from flow_card as fc
                 left join sd.order_glass_detail as ogd
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
                              fc.technology_number = ogd.technology_number
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.product_detail as pd
                           on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
                 left join flow_card_sort as fcs
                           on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and
                              fcs.technology_number = fc.technology_number
                               and fcs.process = #{process}
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber})
          and fc.order_number=#{orderNumber}
        group by fc.process_id, fc.order_number, fc.technology_number
        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
    </select>
@@ -2523,9 +2628,9 @@
            round(sum(ogd.child_width * ogd.child_height * fc.quantity / 1000000), 2) as total_area,
            od.product_name,
            ogd.glass_child,
            fc.patch_state,
            ogd.process
        from  (select process_id,count(*) as quantity,order_sort,project_no,layer from pp.optimize_detail where project_no = #{printProject} group by process_id,layer) as fc
        from  (select process_id,count(*) as quantity,order_sort,project_no,layer,patch_state from pp.optimize_detail where project_no = #{printProject} group by process_id,layer) as fc
                  left join sd.order_glass_detail as ogd
                            on ogd.order_id = SUBSTRING(fc.process_id,1,10)  and ogd.order_number = fc.order_sort and
                               ogd.technology_number = fc.layer