廖井涛
2025-02-17 2e5fe8dc8e213e4928013684d930f68fbd86b157
流程卡合并标记打印
12个文件已修改
147 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintProcessStraight.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/stores/sd/companySet/天津北玻.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/stores/sd/companySet/常州吉利.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/stores/sd/companySet/新疆恒鑫.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/stores/sd/companySet/金华天成.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -31,7 +31,8 @@
  printList: null,
  printMerge: null,
  printLike: null,
  printProject:null
  printProject:null,
  merges:null
})
const {currentRoute} = useRouter()
@@ -54,22 +55,26 @@
if (like == '') {
  like = null
}
//标记合并的流程卡
let merges = props.merges
if (merges == '') {
  merges = null
}
let name=company.companyName
data.value.printList = JSON.parse(props.printList)
let flowCardCount = ''
onMounted(() => {
      if(props.printProject!=null){
        request.post(`/processCard/getSelectPrintProject/${printProject}`).then((res) => {
        request.post(`/processCard/getSelectPrintProject/${printProject}/${merges}`).then((res) => {
          if (res.code == 200) {
            load(res.data.data)
            console.log(res.data)
          } else {
            ElMessage.warning(res.msg)
            router.push("/login")
          }
        })
      }else{
        request.post(`/processCard/getSelectPrinting/${merge}/${like}`, data.value).then((res) => {
        request.post(`/processCard/getSelectPrinting/${merge}/${like}/${merges}`, data.value).then((res) => {
          if (res.code == 200) {
            load(res.data.data)
          } else {
@@ -267,6 +272,7 @@
            </div>
            <div>
              <span v-if="name=='天津北玻玻璃工业技术有限公司(TJBB-QR7.1-01)'" style="font-size: 10px">{{itemFlow.otherRemarks}}</span>&nbsp;&nbsp;
              {{itemFlow.rack}}
              æµç¨‹å¡å·ï¼š {{
                itemFlow.process_id
              }}/{{ itemFlow.technologyNumber }} å…± {{ item.count }} æž¶
north-glass-erp/northglass-erp/src/components/pp/PrintProcessStraight.vue
@@ -31,7 +31,8 @@
  printList: null,
  printMerge: null,
  printLike: null,
  printProject:null
  printProject:null,
  merges:null
})
const {currentRoute} = useRouter()
@@ -54,23 +55,27 @@
if (like == '') {
  like = null
}
let merges = props.merges
if (merges == '') {
  merges = null
}
let name=company.companyName
data.value.printList = JSON.parse(props.printList)
let flowCardCount = ''
onMounted(() => {
      if(props.printProject!=null){
        request.post(`/processCard/getSelectPrintProject/${printProject}`).then((res) => {
        request.post(`/processCard/getSelectPrintProject/${printProject}/${merges}`).then((res) => {
          if (res.code == 200) {
            load(res.data.data)
            console.log(res.data)
          } else {
            ElMessage.warning(res.msg)
            router.push("/login")
          }
        })
      }else{
        request.post(`/processCard/getSelectPrinting/${merge}/${like}`, data.value).then((res) => {
        request.post(`/processCard/getSelectPrinting/${merge}/${like}/${merges}`, data.value).then((res) => {
          if (res.code == 200) {
            console.log(res.data.data)
            load(res.data.data)
          } else {
            ElMessage.warning(res.msg)
@@ -261,7 +266,7 @@
              æ—¶é—´ï¼š{{formattedTime}}
              &nbsp;&nbsp;
            </div>
            <div>
            <div>{{itemFlow.rack}}
              æµç¨‹å¡å·ï¼š {{
                itemFlow.process_id
              }}/{{ itemFlow.technologyNumber }} å…± {{ item.count }} æž¶
north-glass-erp/northglass-erp/src/stores/sd/companySet/Ìì½ò±±²£.js
@@ -30,6 +30,7 @@
        showDeliveryCreator:true,//发货单创建人先显示或者后显示 false后显示
        deliveryRemark: ['备注:本批玻璃为优等合格品,请在卸货时,当面消点验收、如有质量问题在一周内与本公司联系,否则概不负责!'],
        deliveryOutbound: false,//发货默认出库
        flowCardMerge: 0,//流程卡合片打印
        //天津
        printLabel: {
            custom: (item1) => {
north-glass-erp/northglass-erp/src/stores/sd/companySet/³£ÖݼªÀû.js
@@ -30,6 +30,7 @@
        showDeliveryCreator:true,//发货单创建人先显示或者后显示 false后显示
        deliveryRemark: ['备注:本批玻璃为优等合格品,请在卸货时,当面消点验收、如有质量问题在一周内与本公司联系,否则概不负责!'],
        deliveryOutbound: true,//发货默认出库
        flowCardMerge: 1,//流程卡合片打印
        //天津
        printLabel: {
            custom: (item1) => {
north-glass-erp/northglass-erp/src/stores/sd/companySet/н®ºãöÎ.js
@@ -30,6 +30,7 @@
        showDeliveryCreator:true,//发货单创建人先显示或者后显示 false后显示
        deliveryRemark: ['备注:本批玻璃为优等合格品,请在卸货时,当面消点验收、如有质量问题在一周内与本公司联系,否则概不负责!'],
        deliveryOutbound: false,//发货默认出库
        flowCardMerge: 0,//流程卡合片打印
        //天津
        printLabel: {
north-glass-erp/northglass-erp/src/stores/sd/companySet/½ð»ªÌì³É.js
@@ -32,6 +32,7 @@
            '声明:货到工地或工厂后,如若贵司不及时的安装或未做防晒防淋措施导致的玻璃发霉,我司概不负责。',
            '收货时需验收产品数量、规格及有无破损,如发现问题需于收货三日内,以书面通知并附上现场证明材料(如破损照片等),相关证明资料不足,或在上述日期内未提出质量异议的,逾期视为产品合格,我司将不予承担任何责任。敬请留意!'],
        deliveryOutbound: false,//发货默认出库
        flowCardMerge: 0,//流程卡合片打印
        //天津
        printLabel: {
            custom: (item1) => {
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
@@ -61,7 +61,8 @@
let printRow = ref({
  list: null,
  printMergeVal: null,
  like: null
  like: null,
  merge: null
})
//标签
@@ -400,6 +401,7 @@
          printRow.value.list = JSON.stringify(selectRecords)
          printRow.value.printMergeVal = printMerge.value
          printRow.value.like = null
          printRow.value.merge = company.flowCardMerge
          // router.push({path: '/main/processCard/printProcess', query: {printList: JSON.stringify(selectRecords),printMerge:printMergeVal}})
          if(company.companyName=='常州市吉利玻璃有限公司'){
            dialogTableVisibleStraight.value = true
@@ -767,6 +769,7 @@
          :printLike="printRow.like"
          :printList="printRow.list"
          :printMerge="printRow.printMergeVal"
          :merges="printRow.merge"
          style="width: 100%;height: 100%"/>
    </el-dialog>
@@ -784,6 +787,7 @@
          :printLike="printRow.like"
          :printList="printRow.list"
          :printMerge="printRow.printMergeVal"
          :merges="printRow.merge"
          style="width: 100%;height: 100%"/>
    </el-dialog>
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue
@@ -54,7 +54,8 @@
  list: null,
  printMergeVal: null,
  like: null,
  project:null
  project:null,
  merge: null
})
const getTableRow = (row, type) => {
  switch (type) {
@@ -81,6 +82,7 @@
    }
    case 'edit3' :{
      printRow.value.project=row.project_no
      printRow.value.merge = company.flowCardMerge
      if(company.companyName=='常州市吉利玻璃有限公司'){
        dialogTableVisibleStraight.value = true
      }else{
@@ -459,6 +461,7 @@
          :printList="printRow.list"
          :printMerge="printRow.printMergeVal"
          :printProject="printRow.project"
          :merges="printRow.merge"
          style="width: 100%;height: 100%"/>
    </el-dialog>
@@ -477,6 +480,7 @@
          :printList="printRow.list"
          :printMerge="printRow.printMergeVal"
          :printProject="printRow.project"
          :merges="printRow.merge"
          style="width: 100%;height: 100%"/>
    </el-dialog>
  </div>
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
@@ -181,19 +181,20 @@
    }
    @ApiOperation("打印流程卡数据查询接口")
    @PostMapping("/getSelectPrinting/{printMerge}/{printLike}")
    @PostMapping("/getSelectPrinting/{printMerge}/{printLike}/{merge}")
    public Result getSelectPrinting(
            @PathVariable String printMerge,
            @PathVariable String printLike,
            @PathVariable String merge,
            @RequestBody Map<String, Object> object) {
        return Result.seccess(flowCardService.getSelectPrintingSv(object,printMerge,printLike));
        return Result.seccess(flowCardService.getSelectPrintingSv(object,printMerge,printLike,merge));
    }
    @ApiOperation("工程打印流程卡数据查询接口")
    @PostMapping("/getSelectPrintProject/{printProject}")
    @PostMapping("/getSelectPrintProject/{printProject}/{merge}")
    public Result getSelectPrintProject(
            @PathVariable String printProject) {
        return Result.seccess(flowCardService.getSelectPrintProject(printProject));
            @PathVariable String printProject,@PathVariable String merge) {
        return Result.seccess(flowCardService.getSelectPrintProject(printProject,merge));
    }
    @ApiOperation("打印标签数据查询接口")
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
@@ -134,6 +134,8 @@
    List<Map<String, Object>> getDetailListLike(String processId, String technologyNumber, String process);
    List<Map<String, Object>> getDetailListMerge(String processId, String process);
    List<Map<String, Object>> getDetailListLikes(String processId, String technologyNumber, String process,String printProject,Integer quantity);
    List<Map<String, String>> getPrimaryListMergeRefund(String processId, String technologyNumber, Integer orderNumber, String orderId);
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -270,17 +270,21 @@
            return null;
        }
    }
    public Map<String, Object> getSelectPrintingSv(Map<String, Object> object, String printMerge, String printLike) {
    public Map<String, Object> getSelectPrintingSv(Map<String, Object> object, String printMerge, String printLike, String merge) {
        if (printMerge == null){
            printMerge= "";
        }
        if (printLike == null){
            printLike= "";
        }
        if (merge == null){
            merge= "";
        }
        Map<String, Object> map = new HashMap<>();
        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//最终结果
        List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
        if (!flowCardList.isEmpty()) {
            Set<String> processedProcessIds = new HashSet<>();  // ç”¨æ¥å­˜æ”¾å·²å¤„理过的 processId
            for (FlowCard flowCard : flowCardList) {
                Map<String, Object> itemmap = new HashMap<>();
                //流程卡表头表尾数据
@@ -296,10 +300,24 @@
                        itemmap.put("detailList", detailList);
                    }
                    else {
                        if(merge.equals("1")&& flowCard.getMerge().equals(1)){
                            // æ£€æŸ¥æ˜¯å¦å·²ç»å¤„理过该 processId,如果处理过则跳过
                            if (processedProcessIds.contains(flowCard.getProcessId())) {
                                continue;
                            }
                            // å°†è¯¥ processId åŠ å…¥å·²å¤„ç†é›†åˆ
                            processedProcessIds.add(flowCard.getProcessId());
                            itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess(),flowCard.getOrderId()));
                            List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(),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);
                        }
                    }
                }
@@ -354,12 +372,16 @@
        return map;
    }
    public Map<String, Object> getSelectPrintProject(String printProject) {
    public Map<String, Object> getSelectPrintProject(String printProject,String merge) {
        Map<String, Object> map = new HashMap<>();
        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//最终结果
        if (merge == null){
            merge= "";
        }
        List<FlowCard> flowCardList = flowCardMapper.getFlowCardListPrintProject(printProject);
        if (!flowCardList.isEmpty()) {
            Set<String> processedProcessIds = new HashSet<>();  // ç”¨æ¥å­˜æ”¾å·²å¤„理过的 processId
            for (FlowCard flowCard : flowCardList) {
                Map<String, Object> itemmap = new HashMap<>();
@@ -381,10 +403,24 @@
                    else {
                        if(flowCard.getPatchState().equals(0)){
                            if(merge.equals("1")&& flowCard.getMerge().equals(1)){
                                // æ£€æŸ¥æ˜¯å¦å·²ç»å¤„理过该 processId,如果处理过则跳过
                                if (processedProcessIds.contains(flowCard.getProcessId())) {
                                    continue;
                                }
                                // å°†è¯¥ processId åŠ å…¥å·²å¤„ç†é›†åˆ
                                processedProcessIds.add(flowCard.getProcessId());
                            itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess(),flowCard.getOrderId()));
                            List<Map<String, Object>> detailList = flowCardMapper.getDetailListLikes(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getProcess(),printProject,flowCard.getQuantity());
                                List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(),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);
                            }
                        }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(),printProject,flowCard.getQuantity());
                            itemmap.put("detailList", detailList);
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -541,7 +541,8 @@
                      ogdss.concatenated_glass_child                                   as glass_child,
                      fc.founder,
                      date(fc.splitFrame_time)                                         as splitFrame_time,
                      processed_part                                                   as process
                      processed_part                                                   as process,
                      merge
               from flow_card as fc
                        left join sd.order_glass_detail as ogd
@@ -669,7 +670,8 @@
               #{technologyNumber}                             as technologyNumber,
               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
               concat('对应我司单号', o.batch)                 AS otherRemarks,
               ''                                              as qrcode
               ''                                              as qrcode,
               ifnull(rack,"")                                  as rack
        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
@@ -1422,6 +1424,37 @@
        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
    </select>
    <select id="getDetailListMerge">
        select fc.order_number,
               concat(IF(ROUND(ogd.child_width, 1) = FLOOR(ogd.child_width), FLOOR(ogd.child_width), ROUND(ogd.child_width, 1)), "*", IF(ROUND(child_height, 1) = FLOOR(child_height), FLOOR(child_height), ROUND(child_height, 1)))   as child_width,
               sum(fc.quantity) as quantity,
               round(ogd.total_area, 2)                                       as total_area,
               od.perimeter,
               if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),'')) 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 fc.`merge`=1
        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="getDetailListLikes">
        select fc.order_number,
               concat(round(ogd.child_width), "*", round(ogd.child_height))   as child_width,
@@ -1861,7 +1894,8 @@
               date(fc.splitFrame_time) as splitFrame_time,
            /* if(fc.print_status=0,'未打印','已打印') as  print_status*/
               fc.print_status,
               ogd.process
               ogd.process,
               merge
        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
@@ -2082,7 +2116,8 @@
                      date(fc.splitFrame_time)                                                  as splitFrame_time,
                   /* if(fc.print_status=0,'未打印','已打印') as  print_status*/
                      fc.print_status,
                      ogd.process
                      ogd.process,
                      merge
               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
@@ -2765,13 +2800,15 @@
            od.product_name,
            ogd.glass_child,
            fc.patch_state,
            ogd.process
            ogd.process,
            fcd.merge
        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
                  left join sd.order_detail as od on od.order_id = SUBSTRING(fc.process_id,1,10)  and od.order_number = fc.order_sort
                  left join sd.`order` as o on o.order_id = SUBSTRING(fc.process_id,1,10)
                  left join pp.`flow_card` as fcd on fcd.process_id=fc.process_id and fcd.technology_number=ogd.technology_number and fcd.order_number=od.order_number
        where fc.project_no = #{printProject}
        GROUP BY fc.process_id, ogd.technology_number
        order by fc.process_id, ogd.technology_number