廖井涛
2025-07-22 7789318b8a9ef6535a0b776c5c0bfe2a8eb98e2b
Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
15个文件已修改
305 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/mm/PrintPackingListLuoyang.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintProcessReplenish.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetLuoyang.vue 75 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetLuoyangDetails.vue 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/stores/sd/companySet/洛阳北玻.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/SelectIngredientsStock.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/replenish/PrintReplenishFlowCard.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgressCombination.vue 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/ProductionSchedulingService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/Report.xml 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/mm/PrintPackingListLuoyang.vue
@@ -178,7 +178,7 @@
            <td colspan="5">
              <div style="display:flex;">
                <div style="width: 100%"><span style="font-weight: bold;">客户名称</span>:
                  <input class="contactNumber" style="width: 85%;font-size: 9px" type="text"
                  <input class="contactNumber" style="width: 80%;font-size: 9px" type="text"
                         v-model="customer.customer_name" />
                </div>
              </div>
north-glass-erp/northglass-erp/src/components/pp/PrintProcessReplenish.vue
@@ -265,7 +265,8 @@
        <td class="tdNowrap">客户名称:</td>
        <td colspan="2">{{ items.customer_name }}</td>
        <td class="tdNowrap">项目名称:</td>
        <td colspan="8" style="min-width: 300px;">{{ items.project }}</td>
        <td v-if="name=='洛阳北方玻璃技术股份有限公司'" colspan="4" style="min-width: 250px;">{{ items.projectBatch }}</td>
        <td v-else colspan="4" style="min-width: 250px;">{{ items.project }}</td>
        <td class="tdNowrap">工艺流程:</td>
        <td :colspan="2+item.processList.length*2"  style="width: 500px">{{ items.process }}</td>
      </tr>
north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue
@@ -884,7 +884,8 @@
        const result = Object.fromEntries(
            fields.map(item => [item.field, true]) // è½¬æ¢æˆ [key, value] æ•°ç»„
        )
        let funct = "function(value,row,index,options){return `<div style='width: 6.5cm;height:4.95cm;background-color: #5cadfe'> <br>"
        //<div style='width: 6.5cm;height:4.95cm;background-color: #5cadfe'>
        let funct = "function(value,row,index,options){return ` <br>"
        json.panels[0].printElements[index].options.columns[0].forEach(item => {
          if(item.field && !result[item.field ]){
            if (company.printShowTitle){
@@ -896,7 +897,8 @@
            funct += item.title+'<br>'
          }
        })
        funct+='<br></div>`}'
        funct+='<br>`}'
        //</div>
        json.panels[0].printElements[index].options.columns[0][0].renderFormatter = funct
      }
    })
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetLuoyang.vue
@@ -212,49 +212,48 @@
<template>
  <div >
    <el-row id="footsum" :gutter="20" >
      <el-col :span="20"></el-col>
      <el-col :span="4" style="font-weight: bolder;font-size: 19px" >{{delivery.creator}}</el-col>
      <el-col :span="19"></el-col>
      <el-col :span="5" style="font-weight: bolder;font-size: 19px" >{{delivery.creator}}</el-col>
    </el-row>
    <el-row id="footsum1" :gutter="20" >
      <el-col :span="2" ></el-col>
      <el-col :span="5" style="font-weight: bolder;font-size: 19px">{{ delivery.contacts }}</el-col>
      <el-col :span="5" style="font-weight: bolder;font-size: 19px">{{ delivery.contactNumber }}</el-col>
      <el-col :span="3" style="font-weight: bolder;font-size: 19px">{{ delivery.contacts }}</el-col>
      <el-col :span="7" style="font-weight: bolder;font-size: 19px">{{ delivery.contactNumber }}</el-col>
      <el-col :span="1" ></el-col>
      <el-col :span="11" style="font-weight: bolder;font-size: 19px">{{ delivery.deliveryAddress }}</el-col>
    </el-row>
    <table  class="content1" v-for="(page,pageIndex) in pageData" >
    <table  class="content1" v-for="(page,pageIndex) in pageData"  >
      <thead>
        <tr style="height: 3.2cm"><td></td></tr>
        <tr style="height: 3.6cm"><td></td></tr>
        <tr>
          <td colspan="6" >
            <el-row :gutter="20">
              <el-col :span="2"></el-col>
              <el-col :span="9">
              <el-col :span="8">
                <input v-model="companyName"
                       style="border: 0;width: 100%;
                       height: 100%;font-size:19px;font-weight: bolder "/>
              </el-col>
              <el-col :span="5" style="font-size:19px;font-weight: bolder"> {{deliveryId}} </el-col>
              <el-col :span="5"></el-col>
              <el-col :span="3" style="white-space: nowrap;font-size:19px;font-weight: bolder">{{deliveryDate}}</el-col>
              <el-col :span="6" style="font-size:19px;font-weight: bolder"> {{deliveryId}} </el-col>
              <el-col :span="3"></el-col>
              <el-col :span="5" style="white-space: nowrap;font-size:19px;font-weight: bolder">{{deliveryDate}}</el-col>
            </el-row>
          </td>
        </tr>
        <tr style="height: 0.5cm"><td></td></tr>
        <tr style="height: 0.1cm"><td></td></tr>
        <tr style="margin-top: 20px">
          <td colspan="6">
            <el-row :gutter="20">
              <el-col :span="3"></el-col>
              <el-col :span="9" style="font-size: 21px;font-weight: bolder">{{delivery.customerName }}</el-col>
              <el-col :span="3"> </el-col>
              <el-col :span="9" style="font-size: 21px;font-weight: bolder;white-space: nowrap;"> {{delivery.project }}</el-col>
              <el-col :span="2"></el-col>
              <el-col :span="14" style="font-size: 19px;font-weight: bolder">{{delivery.customerName }}</el-col>
              <el-col :span="8" style="font-size: 19px;font-weight: bolder;white-space: nowrap;"> {{delivery.project }}</el-col>
            </el-row>
          </td>
        </tr>
        <tr style="height: 0.3cm"><td></td></tr>
        <tr>
          <td colspan="6">
            <el-row :gutter="20">
@@ -264,7 +263,7 @@
          </td>
        </tr>
        <tr style="height: 0.2cm"><td></td></tr>
        <tr style="height: 1cm"><td></td></tr>
@@ -272,29 +271,28 @@
      <tbody  >
        <tr v-for="(item,index) in page">
          <td style="width: 5cm">
            <el-input  class="textarea" type="textarea"
            <el-input  class="textarea bbb" type="textarea"
                       :autosize="{ minRows: 1, maxRows: 20 }"
                       v-model="item.DeliveryDetail.orderDetail.productName" />
          </td>
          <td style="width: 0.8cm"></td>
          <td style="width: 5cm">
            <el-input  class="textarea" type="textarea"
          <td style="width: 150px" >
            <el-input  class="textarea aaa" type="textarea"
                       style="font-weight: bolder;"
                       :autosize="{ minRows: 1, maxRows: 20 }"
                       v-model="item.DeliveryDetail.orderId" />
          </td>
          <td style="width: 60px">
          <td style="width: 65px">
            {{item.DeliveryDetail.quantity}}
          </td>
          <td style="width: 100px">
            <input  style="border: 0" v-model="item.DeliveryDetail.area">
          <td style="width: 100px" >
            <input  style="border: 0;width: 100px" v-model="item.DeliveryDetail.area">
          </td>
          <td
              v-if="props.type===1"
              style="width: 80px"
              v-if="props.type===1"
          >
            {{item.DeliveryDetail.price}}
          </td>
@@ -308,12 +306,11 @@
        <tr>
          <td></td>
          <td></td>
          <td></td>
          <td>
            {{getQuantitySum(pageIndex)}}
          </td>
          <td>
            <input  style="border: 0" :value="getAreaSum(pageIndex)">
            <input  style="border: 0;width: 100px" :value="getAreaSum(pageIndex)">
          </td>
          <td></td>
          <td v-if="props.type===1">
@@ -342,7 +339,7 @@
  width: 21cm;
}
table{
  width: 21cm
  width: 18.3cm
}
.content1{
@@ -366,13 +363,13 @@
@media print {
  #footsum{
    position: fixed;
    bottom: 4.2cm;
    bottom: 3.4cm;
    width: 100%; /* æˆ–者设置成具体的宽度 */
    font-size: 17px;
  }
  #footsum1{
    position: fixed;
    bottom: 1.8cm;
    bottom: 1cm;
    width: 100%; /* æˆ–者设置成具体的宽度 */
  }
}
@@ -383,21 +380,17 @@
--el-input-focus-border-width: 0px;
--el-input-hover-border-color: rgba(255,255,255,0.0);
--el-input-hover-border-width: 0px;
}
/*textarea {
  font-size: 16px;
  border:none;
  text-align: right;
  font-weight: bolder;
  width: 100%;
  height: 100%;
}*/
}
:deep(.el-textarea__inner){
  font-weight: bolder;
  color: #333333;
  font-family: 'Microsoft YaHei', '微软雅黑', sans-serif;
}
:deep(.aaa){
  width: 150px;
}
:deep(.bbb){
  width: 5cm;
}
</style>
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetLuoyangDetails.vue
@@ -201,15 +201,15 @@
    </el-row>
    <el-row id="footsum1" :gutter="20" >
      <el-col :span="2" ></el-col>
      <el-col :span="5" style="font-weight: bolder;font-size: 19px">{{ delivery.contacts }}</el-col>
      <el-col :span="5" style="font-weight: bolder;font-size: 19px">{{ delivery.contactNumber }}</el-col>
      <el-col :span="3" style="font-weight: bolder;font-size: 19px">{{ delivery.contacts }}</el-col>
      <el-col :span="7" style="font-weight: bolder;font-size: 19px">{{ delivery.contactNumber }}</el-col>
      <el-col :span="1" ></el-col>
      <el-col :span="11" style="font-weight: bolder;font-size: 19px">{{ delivery.deliveryAddress }}</el-col>
    </el-row>
    <table  class="content1" v-for="(page,pageIndex) in pageData" >
      <thead>
        <tr style="height: 3.2cm"><td></td></tr>
        <tr style="height: 3.6cm"><td></td></tr>
        <tr>
          <td colspan="6" >
@@ -221,24 +221,24 @@
                       height: 100%;font-size:19px;font-weight: bolder "/>
              </el-col>
              <el-col :span="5" style="font-size:19px;font-weight: bolder"> {{deliveryId}} </el-col>
              <el-col :span="5"></el-col>
              <el-col :span="3" style="white-space: nowrap;font-size:19px;font-weight: bolder">{{deliveryDate}}</el-col>
              <el-col :span="6"></el-col>
              <el-col :span="2" style="white-space: nowrap;font-size:19px;font-weight: bolder">{{deliveryDate}}</el-col>
            </el-row>
          </td>
        </tr>
        <tr style="height: 0.5cm"><td></td></tr>
        <tr style="height: 0.1cm"><td></td></tr>
        <tr style="margin-top: 20px">
          <td colspan="6">
            <el-row :gutter="20">
              <el-col :span="3"></el-col>
              <el-col :span="9" style="font-size: 21px;font-weight: bolder">{{delivery.customerName }}</el-col>
              <el-col :span="3"> </el-col>
              <el-col :span="9" style="font-size: 21px;font-weight: bolder;white-space: nowrap;"> {{delivery.project }}</el-col>
              <el-col :span="2"></el-col>
              <el-col :span="17" style="font-size: 17px;font-weight: bolder">{{delivery.customerName }}</el-col>
              <el-col :span="5" style="font-size: 17px;font-weight: bolder;white-space: nowrap;"> {{delivery.project }}</el-col>
            </el-row>
          </td>
        </tr>
        <tr style="height: 0.3cm"><td></td></tr>
        <tr style="height: 0.1cm"><td></td></tr>
        <tr>
          <td colspan="6">
            <el-row :gutter="20">
@@ -248,7 +248,7 @@
          </td>
        </tr>
        <tr style="height: 0.2cm"><td></td></tr>
        <tr style="height: 1cm"><td></td></tr>
@@ -257,21 +257,21 @@
      <template v-for="(items,index1) in page.DeliveryDetailList[0]">
        <tr>
          <td style="width: 20cm" :rowspan="page.id" v-if="index1===0">
          <td style="width: 4cm" :rowspan="page.id" v-if="index1===0">
            <el-input  class="textarea" type="textarea"
                       :autosize="{ minRows: 1, maxRows: 20 }"
                       v-model="page.DeliveryDetail.orderDetail.productName" />
          </td>
          <td style="width: 0.8cm"></td>
          <td style="width: 10cm">
          <td style="width: 2cm">
            <el-input  class="textarea" type="textarea"
                       style="font-weight: bolder;"
                       :autosize="{ minRows: 1, maxRows: 20 }"
                       v-model="items.width" />
          </td>
           <td style="width: 10cm">
           <td style="width: 2cm">
              <el-input  class="textarea" type="textarea"
                         style="font-weight: bolder;"
                         :autosize="{ minRows: 1, maxRows: 20 }"
@@ -282,7 +282,7 @@
            {{items.quantity}}
          </td>
          <td style="width: 100px">
            <input  style="border: 0" v-model="items.area">
            <input   style="border: 0;width: 100px" v-model="items.area">
          </td>
          <td
@@ -308,7 +308,7 @@
            {{getQuantitySum(pageIndex)}}
          </td>
          <td>
            <input  style="border: 0" :value="getAreaSum(pageIndex)">
            <input   style="border: 0;width: 100px" :value="getAreaSum(pageIndex)">
          </td>
          <td></td>
          <td v-if="props.type===1||props.type===3">
@@ -339,7 +339,7 @@
  width: 21cm;
}
table{
  width: 21cm
  width: 18.3cm
}
.content1{
@@ -363,13 +363,13 @@
@media print {
  #footsum{
    position: fixed;
    bottom: 4.2cm;
    bottom: 3.5cm;
    width: 100%; /* æˆ–者设置成具体的宽度 */
    font-size: 17px;
  }
  #footsum1{
    position: fixed;
    bottom: 1.8cm;
    bottom: 1cm;
    width: 100%; /* æˆ–者设置成具体的宽度 */
  }
}
north-glass-erp/northglass-erp/src/stores/sd/companySet/ÂåÑô±±²£.js
@@ -11,7 +11,7 @@
        address:'洛阳国家高新技术开发区',
        telephone:'0379-64312861',
        fax:'0379-64332066',
        errorArea:0.4,
        errorArea:0.5,
        widHeiLength:{//订单宽高长度
            regexp:/^(0|[1-9][0-9]{0,4}([.][0-9]{1,2})?)$/,//正则0.00-99999.99
            //regexp:/^(0|[1-9][0-9]{0,3}([.][0-9]{1,2})?)$/,//正则0.00-9999.99
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/SelectIngredientsStock.vue
@@ -328,6 +328,7 @@
    if ($grid) {
      switch (code) {
        case 'out': {
          $grid.clearFilter()
          const selectRecords = $grid.getCheckboxRecords()
@@ -395,7 +396,7 @@
        }
        case 'delete': {
          $grid.clearFilter()
          const selectRecords = $grid.getCheckboxRecords()
          if (selectRecords.length === 0) {
            ElMessage.warning(t('productStock.unselectedData'))
north-glass-erp/northglass-erp/src/views/pp/replenish/PrintReplenishFlowCard.vue
@@ -326,6 +326,7 @@
      filterMethod: filterChanged,
      width:110
    },
    {field: 'batch', width: 90, title: t('order.batch')},
    {
      field: 'order_number',
      title:  t('order.OrderNum'),
north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgressCombination.vue
@@ -109,15 +109,16 @@
request.post(`/report/workInProgressCombination/1/${total.pageSize}/${selectProcesses}/${inputVal}/${inputProject}/${optionVal}`, filterData.value).then((res) => {
  if (res.code == 200) {
    total.dataTotal = res.data.total.total*1
    total.pageTotal= res.data.total.pageTotal
    pageTotal.value = res.data.total
    total.value = res.data.total
    produceList = produceList.value.concat(deepClone(res.data.data))
    console.log(res.data)
    // total.dataTotal = res.data.total.total*1
    // total.pageTotal= res.data.total.pageTotal
    // pageTotal.value = res.data.total
    // total.value = res.data.total
    // produceList = produceList.value.concat(deepClone(res.data.data))
    titleSelectJson.value.processType = res.data.process
    titleSelectJson.value.processType.splice(0,1)
    titleSelectJson.value.processType.unshift(newItem.value)
    //xGrid.value.reloadData(produceList)
    xGrid.value.reloadData(produceList)
    gridOptions.loading = false
  } else {
    ElMessage.warning(res.msg)
@@ -175,14 +176,10 @@
    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
      total.value = res.data.total
      res.data.data.forEach(item => {
        // å¦‚æžœ shape å¯èƒ½æ˜¯å­—符串就用 ==,如果一定是数字就用 ===
        item.shape = (item.shape == 2) ? t('order.alien') : t('order.universalShape');
      });
      // total.dataTotal = res.data.total.total * 1
      // total.pageTotal = res.data.total.pageTotal
      // pageTotal.value = res.data.total
      // total.value = res.data.total
      xGrid.value.loadData(res.data.data)
      gridOptions.loading = false
    } else {
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -1538,6 +1538,22 @@
    return true;
  });
};
const changeGroup = (value)=> {
  //判断历史班组是否有此班组信息
  const exists = titleSelectJson.value.historyTeams.some(item => item.basic_name === value)
  if(! exists){
    titleSelectJson.value.historyTeams.push({
      basic_name: value,
      process: titleUploadData.value.thisProcess,
      basic_type: 'teamsgroups',
      id: 555
    })
  }
}
</script>
<template>
@@ -1667,6 +1683,7 @@
        <el-col :span="3">
          <el-select :disabled="groupChangeProcess"
                     v-model="titleUploadData.teamsGroupsName"
                     @change="changeGroup"
                     clearable
                     :placeholder="$t('reportingWorks.selectTeam')">
            <el-option
north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java
@@ -114,6 +114,10 @@
    Map<String,Float> workInProgressCombinationOrderFootSum(Integer offset, Integer pageSize, String orderId, String inputProject, String selectProcesses, WorkInProgressDTO workInProgressDTO);
    List<Map<String, Object>> getWorkInProgressCombination(String process, String laminating, String optionVal);
    List<String> selectProcess();
//    Map<String, Integer> getWorkInProgressTotal(
//                                                @Param("selectTime1") Date selectTime1, @Param("selectTime2") Date selectTime2,
north-glass-erp/src/main/java/com/example/erp/service/pp/ProductionSchedulingService.java
@@ -78,7 +78,7 @@
        List<ProductionScheduling> schedulinglist = JSONArray.parseArray(JSONObject.toJSONString(object.get("scheduling")), ProductionScheduling.class);
        if (!schedulinglist.isEmpty()) {
            for (ProductionScheduling productionScheduling : schedulinglist) {
             productionSchedulingMapper.insertSelective(schedulingId,productionScheduling.getOrderGlassDetail().getOrderId(),productionScheduling.getOrderNumber(),productionScheduling.getTechnologyNumber(),processes,productionScheduling.getSchedulingQuantity(),productionScheduling.getScheduledStartTime(),productionScheduling.getPlanEndTime(),productionScheduling.getNotes());
             productionSchedulingMapper.insertSelective(schedulingId,productionScheduling.getOrder().getOrderId(),productionScheduling.getOrderNumber(),productionScheduling.getTechnologyNumber(),processes,productionScheduling.getSchedulingQuantity(),productionScheduling.getScheduledStartTime(),productionScheduling.getPlanEndTime(),productionScheduling.getNotes());
            }
            return true;
        }
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
@@ -5,7 +5,6 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.erp.dto.pp.*;
import com.example.erp.entity.pp.DamageDetails;
import com.example.erp.entity.pp.Report;
import com.example.erp.entity.sd.BasicData;
import com.example.erp.entity.sd.OrderDetail;
@@ -14,17 +13,14 @@
import com.example.erp.mapper.pp.FlowCardMapper;
import com.example.erp.mapper.pp.ProductionSchedulingMapper;
import com.example.erp.mapper.pp.ReportMapper;
import com.example.erp.mapper.pp.ReportingWorkMapper;
import com.example.erp.mapper.sd.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.sql.Date;
import java.time.LocalDate;
import java.util.*;
import java.util.concurrent.Executor;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -42,6 +38,7 @@
    private final OrderDetailMapper orderDetailMapper;
    FlowCardMapper flowCardMapper;
    private ReportingWorkMapper reportingWorkMapper;
    //上工序报工班组
@@ -116,7 +113,11 @@
    }
    public ReportService(ReportMapper reportMapper, OrderProcessDetailMapper orderProcessDetailMapper, ProductionSchedulingMapper productionSchedulingMapper, FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, BasicDataMapper basicDataMapper, ProductDetailMapper productDetailMapper, OrderDetailMapper orderDetailMapper) {
    public ReportService(ReportMapper reportMapper, OrderProcessDetailMapper orderProcessDetailMapper,
                         ProductionSchedulingMapper productionSchedulingMapper, FlowCardMapper flowCardMapper,
                         OrderGlassDetailMapper orderGlassDetailMapper, BasicDataMapper basicDataMapper,
                         ProductDetailMapper productDetailMapper, OrderDetailMapper orderDetailMapper,
                         ReportingWorkMapper reportingWorkMapper) {
        this.reportMapper = reportMapper;
        this.orderProcessDetailMapper = orderProcessDetailMapper;
        this.productionSchedulingMapper = productionSchedulingMapper;
@@ -125,6 +126,7 @@
        this.basicDataMapper = basicDataMapper;
        this.productDetailMapper = productDetailMapper;
        this.orderDetailMapper = orderDetailMapper;
        this.reportingWorkMapper = reportingWorkMapper;
    }
    //流程卡进度方法
@@ -595,14 +597,30 @@
        if (selectProcesses.equals("全部")){
            selectProcesses="";
        }
        String laminating = "";
        Map<String, Object> map = new HashMap<>();
        List<WorkInProgressDTO> dataList2  =reportMapper.workInProgressMpdataList2(offset, pageSize,orderId, inputProject, selectProcesses, workInProgressDTO);
            List<WorkInProgressDTO> dataList1  =reportMapper.workInProgressMpdataList1(offset, pageSize,orderId, inputProject,  selectProcesses, workInProgressDTO);
            mergeTeamsGroupsName(dataList1, dataList2);
            map.put("data",dataList1);
           // map.put("total" ,reportMapper.workInProgressCombinationOrderFootSum(offset, pageSize,orderId, inputProject, selectProcesses, workInProgressDTO));
        map.put("total" ,reportMapper.workInProgressOrderFootSum(offset, pageSize,orderId, inputProject, selectProcesses, workInProgressDTO));
        // èŽ·å–æ‰€æœ‰å·¥åº
        List<String> processList  = reportMapper.selectProcess();
        // éåŽ†æ¯ä¸ªå·¥åºå¹¶è°ƒç”¨æ–°æ–¹æ³•
        List<Map<String, Object>> resultList = new ArrayList<>();
        if (selectProcesses!=""){
            laminating = reportingWorkMapper.getProcessLaminating(selectProcesses);
            List<Map<String, Object>> singleResult = reportMapper.getWorkInProgressCombination(selectProcesses,laminating,optionVal);
            resultList.addAll(singleResult);
        }else {
            for (String process : processList) {
                //获取报工工序是否为复合工程
                laminating = reportingWorkMapper.getProcessLaminating(process);
                List<Map<String, Object>> singleResult = reportMapper.getWorkInProgressCombination(process,laminating,optionVal);
                if (singleResult != null && !singleResult.isEmpty()) {
                    resultList.addAll(singleResult);
                }
            }
        }
        map.put("data",resultList);
        map.put("process", productionSchedulingMapper.selectProcess());
        return map;
    }
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -678,6 +678,7 @@
    <select id="getPrimaryList">
        select o.customer_name,
               o.project,
               if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
               #{process}                                         process,
               od.edging_type,
               #{glassChild}                                   as glass_child,
@@ -718,6 +719,7 @@
    <select id="getPrimaryLists">
        select o.customer_name,
               o.project,
               if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
               #{process}                                         process,
               od.edging_type,
               #{glassChild}                                   as glass_child,
@@ -1246,6 +1248,7 @@
               fc.process_id,
               o.customer_name,
               o.project,
               o.batch,
               fc.order_number,
               ogd.technology_number,
               ogd.glass_address,
@@ -1408,6 +1411,7 @@
    <select id="getPrimaryListMerge">
        select o.customer_name,
               o.project,
               if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
               ogd.process,
               od.edging_type,
               ogdc.concatenated_glass_child                   as glass_child,
@@ -1712,6 +1716,7 @@
    <select id="getPrimaryListRefund">
        select o.customer_name,
               o.project,
               if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
               ogd.process,
               od.edging_type,
               ogd.glass_child,
@@ -1797,6 +1802,7 @@
    <select id="getPrimaryListRework">
        select o.customer_name,
               o.project,
               if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
               ogd.process,
               od.edging_type,
               ogd.glass_child,
north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -2630,4 +2630,81 @@
        group by d.process
        ) as aa
    </select>
    <select id="selectProcess">
        SELECT basic_name
        FROM sd.basic_data as bd
        where bd.basic_category = 'process'
          and bd.basic_type = 'product'
        and basic_name!='切割'
    </select>
    <select id="getWorkInProgressCombination">
        select
            #{process} as thisProcess,
            if(#{optionVal} = 1,'',h.project) as project,
            SUM(h.quantity) as stockNum,
            SUM(h.glassArea) as stockArea,
            if(#{optionVal} = 1,'',h.childName) as glassName
        from (
                 SELECT g.*
                      ,GROUP_CONCAT(g.glass_child SEPARATOR '+')  as childName
                 from( SELECT f.*,
                              e.reporting_work_num-f.reporting_work_num as quantity,
                              (e.reporting_work_num-f.reporting_work_num)*f.area as glassArea
                       from (SELECT a.order_id,
                                    a.project,
                                    C.product_id,
                                    b.order_number,
                                    b.process_id,
                                    b.technology_number,
                                    b.reporting_work_num,
                                    d.`group` ,
                                    b.id,
                                    c.area,
                                    d.glass_child
                             FROM sd.`order` as a
                                      LEFT JOIN sd.order_process_detail as b
                                                on b.process = #{process} and a.order_id =b.order_id
                                      LEFT JOIN sd.order_detail as c
                                                on a.order_id = c.order_id and b.order_number =c.order_number
                                      left join sd.order_glass_detail as d
                                                on  d.order_id =a.order_id and d.order_number = b.order_number and d.technology_number = b.technology_number
                             where a.processing_card>0
                               and a.warehousing!=2
                                and (c.quantity-b.reporting_work_num)>0
                             GROUP BY  b.process_id, b.order_number,
                                 b.technology_number) as f
                                LEFT JOIN sd.order_process_detail as e
                                          on e.id=(f.id-1) and e.process_id = f.process_id and e.order_number = f.order_number and e.technology_number =f.technology_number
                       where
                           e.id is not null
                         and e.reporting_work_num-f.reporting_work_num>0 ) as g
                            <choose>
                                <when test="laminating == 'stepC'">
                                    GROUP BY g.process_id, g.order_number, g.`group`
                                </when>
                                <when test="laminating == 'stepD'">
                                    GROUP BY g.process_id, g.order_number
                                </when>
                                <otherwise>
                                    GROUP BY g.process_id, g.order_number, g.technology_number
                                </otherwise>
                            </choose>
             ) as h
        <choose>
            <when test="optionVal == 1">
                GROUP BY thisProcess
            </when>
            <otherwise>
                GROUP BY h.project,h.childName
            </otherwise>
        </choose>
    </select>
</mapper>