廖井涛
2024-09-26 1701b5a870574e53b0d6110f4efc209e1dc3afbc
标签根据订单序号或者流程卡层号明细打印
8个文件已修改
113 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintFlowCard.vue 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/ReworkService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
@@ -181,10 +181,10 @@
let orderId = route.query.orderId
data.value.printList = JSON.parse(route.query.printList)
let type = parseInt(route.query.type)
let inquiryMode = route.query.checkedValue
// 第一次加载查询
request.post(`/processCard/selectPrintDetails/${inquiryMode}`, data.value).then((res) => {
request.post(`/processCard/selectPrintDetails/${inquiryMode}/${type}`, data.value).then((res) => {
  if (res.code == 200) {
    let newDataCollection = [];
@@ -293,6 +293,13 @@
      filterMethod: filterChanged,width: 100
    },
    {
      field: 'technology_number',
      title: t('processCard.technologyNumber'),
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged,width: 100
    },
    {
      field: 'glassNumber',
      title: t('reportingWorks.glassNumber'),
      filters: [{data: ''}],
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintFlowCard.vue
@@ -231,6 +231,7 @@
      {code: 'editCheckbox', name: t('basicData.edit'), status: 'primary'},
      {'code': 'titleStyle', 'name': t('processCard.labelStyle'),status: 'primary'},
      {code: 'detailsPrint', name: '明细打印', status: 'primary'},
      {code: 'detailsProcessPrint', name: '明细分架打印', status: 'primary'},
    ],
@@ -301,10 +302,31 @@
            }
          }
          let array = orderIdList.split('|');
          router.push({path: '/main/processCard/PrintFlowCardDetails', query: {printList: JSON.stringify(selectRecords),checkedValue:checkedValue.value.value}})
          router.push({path: '/main/processCard/PrintFlowCardDetails', query: {printList: JSON.stringify(selectRecords),checkedValue:checkedValue.value.value,type:1}})
          return;
        }
        case 'detailsProcessPrint': {
          const selectRecords = $grid.getCheckboxRecords()
          if(selectRecords===null ||selectRecords===''||selectRecords.length===0){
            ElMessage.warning(t('searchOrder.msgList.checkOrder'))
            return
          }
          let orderIdList = ""
          for (let i = 0; i < selectRecords.length; i++) {
            if (i + 1 === selectRecords.length) {
              orderIdList += selectRecords[i].order_id
            } else {
              orderIdList += selectRecords[i].order_id + "|"
            }
          }
          let array = orderIdList.split('|');
          router.push({path: '/main/processCard/PrintFlowCardDetails', query: {printList: JSON.stringify(selectRecords),checkedValue:checkedValue.value.value,type:2}})
          return;
        }
      }
    }
  }
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
@@ -314,11 +314,12 @@
    }
    @ApiOperation("流程卡明细按编号查询接口")
    @PostMapping("/selectPrintDetails/{inquiryMode}")
    @PostMapping("/selectPrintDetails/{inquiryMode}/{type}")
    public Result selectPrintDetails(
            @PathVariable String inquiryMode,
            @PathVariable Integer type,
            @RequestBody Map<String, Object> object) {
        return Result.seccess(flowCardService.selectPrintDetailsSv(object,inquiryMode));
        return Result.seccess(flowCardService.selectPrintDetailsSv(object,inquiryMode,type));
    }
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.erp.entity.pp.FlowCard;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.sql.Date;
import java.util.List;
@@ -88,7 +89,7 @@
    List<Map<String, String>> getPrintLabel1(String processId,Integer technologyNumber);
    List<Map<String, String>> getPrintLabelDetail(String processId,Integer orderNumber);
    List<Map<String, String>> getPrintLabelDetail(@Param("flowCard") FlowCard flowCard);
    List<Map<String, String>> printFlowCardDetailsMp(String processId, String technologyNumber, String process, FlowCard flowCard);
@@ -160,6 +161,8 @@
    List<Map<String, String>> selectPrintDetailsMp(String orderId);
    List<Map<String, String>> selectPrintDetailsMp1(String orderId);
    List<Map<String, Object>> getPrintCustomDataDetails(String processId, Integer orderNumber);
    String selectUserMp(String userId);
north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java
@@ -649,7 +649,6 @@
            if(surplusMaterials!=null){
                SurplusMaterials surplusMaterials1=materialInventoryMapper.selectSurplusMaterialsCount(surplusMaterials);
                if(surplusMaterials1!=null){
                    System.out.println(surplusMaterials1);
                    materialInventoryMapper.updateSurplusMaterialsIntQuantity(surplusMaterials1);
                    materialInventoryMapper.insertSurplusMaterialsLog(surplusMaterials1,creator,type);
                }else{
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -417,7 +417,7 @@
                // Integer count=flowCardMapper.getPrintLabelCount(flowCard.getProcessId(), flowCard.getTechnologyNumber());
                Map<String, Object> itemmap = new HashMap<>();
                // for (int i = 0; i < count; i++) {
                itemmap.put("data", flowCardMapper.getPrintLabelDetail(flowCard.getProcessId(), flowCard.getOrderNumber()));
                itemmap.put("data", flowCardMapper.getPrintLabelDetail(flowCard));
                list.add(itemmap);
                //}
@@ -628,14 +628,19 @@
        return map;
    }
    public Object selectPrintDetailsSv(Map<String, Object> object, String inquiryMode) {
    public Object selectPrintDetailsSv(Map<String, Object> object, String inquiryMode,Integer type) {
        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()) {
            for (FlowCard flowCard : flowCardList) {
                Map<String, Object> itemmap = new HashMap<>();
                    itemmap.put("detail", flowCardMapper.selectPrintDetailsMp(flowCard.getOrderId()));
                    if(type==1){
                        itemmap.put("detail", flowCardMapper.selectPrintDetailsMp(flowCard.getOrderId()));
                    }else if(type==2){
                        itemmap.put("detail", flowCardMapper.selectPrintDetailsMp1(flowCard.getOrderId()));
                    }
                list.add(itemmap);
            }
        }
@@ -649,12 +654,24 @@
        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
            if (lableType != 2){
                for (FlowCard flowCard : flowCardList) {
                    String processId = flowCard.getProcessId();
                    String orderNumber = flowCard.getOrderNumber().toString();
                    // 检查是否已经处理过该 processId,如果处理过则跳过
                    if (processedProcessIds.contains(processId)&&processedProcessIds.contains(orderNumber)) {
                        continue;
                    }
                    Map<String, Object> itemmap = new HashMap<>();
                    itemmap.put("data", flowCardMapper.getPrintCustomDataDetails(flowCard.getProcessId(),flowCard.getOrderNumber()));
                    list.add(itemmap);
                    // 将该 processId 加入已处理集合
                    processedProcessIds.add(processId);
                    processedProcessIds.add(orderNumber);
                }
            }
            else{
north-glass-erp/src/main/java/com/example/erp/service/pp/ReworkService.java
@@ -201,7 +201,6 @@
        boolean saveState = true;
        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
        try {
            System.out.println(111111);
            //获取对象集合循环进行新增修改
            List<Rework> reworklist = JSONArray.parseArray(JSONObject.toJSONString(object.get("rework")), Rework.class);
            if (!reworklist.isEmpty()){
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -823,9 +823,14 @@
                 left join sd.product pt on pt.id = od.product_id
                 left join sd.customer c on c.id = o.customer_id
                 left join sd.basic_glass_type bgt on bgt.type_id = pt.type_id
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
        group by od.order_number, od.width, od.height
        <where>
            and fc.process_id = #{flowCard.processId}
            and fc.order_number = #{flowCard.orderNumber}
            <if test="flowCard.technologyNumber != null and flowCard.technologyNumber != ''">
                and fc.technology_number = #{flowCard.technologyNumber}
            </if>
        </where>
        group by od.order_number,fc.technology_number, od.width, od.height
    </select>
    <select id="printFlowCardDetailsMp">
@@ -2000,7 +2005,7 @@
               fc.process_id,
               o.customer_name,
               o.project,
               ogd.technology_number,
               /*ogd.technology_number,*/
               ogd.glass_address,
               (fc.quantity)                                                          as quantity,
               round((ogd.child_width * ogd.child_height * fc.quantity / 1000000), 2) as total_area,
@@ -2024,6 +2029,36 @@
        order by fc.process_id, od.order_number
    </select>
    <select id="selectPrintDetailsMp1">
        select fc.id,
               fc.order_id,
               fc.process_id,
               o.customer_name,
               o.project,
               ogd.technology_number,
               ogd.glass_address,
               (fc.quantity)                                                          as quantity,
               round((ogd.child_width * ogd.child_height * fc.quantity / 1000000), 2) as total_area,
               od.product_name,
               ogd.glass_child,
               fc.founder,
               date(fc.splitFrame_time)                                               as splitFrame_time,
            /* if(fc.print_status=0,'未打印','已打印') as  print_status*/
               fc.print_status,
               ogd.process,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01'))                  AS glassNumber,
               od.order_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
                              ogd.technology_number = fc.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
        where fc.order_id = #{orderId}
        GROUP BY fc.process_id, od.order_number,fc.technology_number
        order by fc.process_id, od.order_number,fc.technology_number
    </select>
    <select id="getPrintCustomDataDetails">
        select o.order_id                                            as orderId,
               project,