chenlu
2025-02-12 33ef2b3bd1e97e392605ff4ca9a1b01f931cf447
Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
20个文件已修改
424 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/pp/PrintProcessStraight.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/CreateOutBound.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/SelectIngredientsStock.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabel1.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi1.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi2.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel1.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue 52 ●●●● 补丁 | 查看 | 原始文档 | 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/controller/sd/OrderController.java 4 ●●●● 补丁 | 查看 | 原始文档 | 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/mapper/sd/OrderMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/mm/MaterialInventory.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintProcessStraight.vue
@@ -286,12 +286,12 @@
        <td :colspan="1+item.processList.length*1">{{ itemTr.product_name }}</td>
      </tr>
      <tr>
        <td rowspan='2'>序号</td>
        <td rowspan='2' >宽*高</td>
        <td rowspan='2' >数量</td>
        <td rowspan='2'>备注</td>
        <td rowspan='2'>面积</td>
        <td v-for="(itemPr,index) in item.processList" :key="index" colspan="1">{{ itemPr.process }}</td>
        <td rowspan='2' style="font-size: 15px">序号</td>
        <td rowspan='2' style="font-size: 15px">宽*高</td>
        <td rowspan='2' style="font-size: 15px">数量</td>
        <td rowspan='2' style="font-size: 15px">备注</td>
        <td rowspan='2' style="font-size: 15px">面积</td>
        <td v-for="(itemPr,index) in item.processList" :key="index"  colspan="1">{{ itemPr.process }}</td>
      </tr>
      <tr>
        <template v-for=" n in item.processList.length">
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue
@@ -14,7 +14,7 @@
let props = defineProps({
  orderId:null
  orderId:null,
})
let productId=ref({
@@ -158,7 +158,7 @@
        <th style="text-align: left;border:none;font-weight: bold;font-size: 17px;" colspan="7">
          送货地址:<span>{{ data.order.deliveryAddress }}</span></th>
        <th style="text-align: left;border:none;font-weight: bold;font-size: 17px;" colspan="2">
          联系电话:<span>{{ data.order.contactNumber }}</span></th>
          联系电话:<span><input class="contactNumber" type="text" v-model="data.order.contactNumber"/></span></th>
      </tr>
      </thead>
@@ -321,6 +321,13 @@
.day-in{
  height: 30px;
}
.contactNumber{
  width: 150px;
  height:20px;
  border: none;
  box-shadow: none;
  font-size: 17px;
}
@media print {
  @page {
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/CreateOutBound.vue
@@ -296,11 +296,11 @@
            ElMessage.error(t('ingredientsStock.pleaseOutboundType'))
            return
          }
          const materialRequisitionPersonnel = titleUploadData.value.materialRequisitionPersonnel
          /*const materialRequisitionPersonnel = titleUploadData.value.materialRequisitionPersonnel
          if(materialRequisitionPersonnel === null || materialRequisitionPersonnel === undefined || materialRequisitionPersonnel === ''){
            ElMessage.error(t('ingredientsStock.pleaseMaterialRequisitionPersonnel'))
            return
          }
          }*/
          /*const materialRequisitionTeam = titleUploadData.value.materialRequisitionTeam
          if(materialRequisitionTeam === null || materialRequisitionTeam === undefined || materialRequisitionTeam === ''){
            ElMessage.error(t('ingredientsStock.pleaseMaterialRequisitionTeam'))
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/SelectIngredientsStock.vue
@@ -691,7 +691,7 @@
      />
      <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>-->
      <div>
      <div style="width: 200px;">
        <el-row>
          <el-select v-model="values" :placeholder="$t('ingredients.pleaseSelectACategory')" @change="selectInventoryWork">
            <el-option
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabel1.vue
@@ -36,9 +36,14 @@
const printType=route.query.printType
onMounted(() => {
  console.log(printType)
  if (localStorage.getItem('hasRefreshed')=="false") {
    localStorage.setItem('hasRefreshed', 'true');
    location.reload();
  }else{
    localStorage.setItem('hasRefreshed', 'false');
  }
  if(printType==1){
    request.post(`/processCard/getSelectPrintCustomLabel/${type}/1`, data.value).then((res) => {
    request.post(`/processCard/getSelectPrintCustomLabel2/${type}/1`, data.value).then((res) => {
      if (res.code == 200) {
        produceList.value = deepClone(res.data.title)
        list.value = deepClone(res.data.data)
@@ -234,7 +239,7 @@
  }
  @page {
    size: auto;  /* auto is the initial value */
    margin: 12mm 4mm 2mm 6mm;  /* this affects the margin in the printer settings */
    margin: 12mm 4mm 2mm 6mm !important;  /* this affects the margin in the printer settings */
  }
}
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi1.vue
@@ -36,8 +36,14 @@
const printType=route.query.printType
onMounted(() => {
  if (localStorage.getItem('hasRefreshed')=="false") {
    localStorage.setItem('hasRefreshed', 'true');
    location.reload();
  }else{
    localStorage.setItem('hasRefreshed', 'false');
  }
  if (printType == 1) {
    request.post(`/processCard/getSelectPrintCustomLabel/${type}/1`, data.value).then((res) => {
    request.post(`/processCard/getSelectPrintCustomLabel2/${type}/1`, data.value).then((res) => {
      if (res.code == 200) {
        produceList.value = deepClone(res.data.title)
        list.value = deepClone(res.data.data)
@@ -235,7 +241,7 @@
  }
  @page {
    size: auto;  /* auto is the initial value */
    margin: 2mm 2mm 2mm 2mm;  /* this affects the margin in the printer settings */
    margin: 2mm 2mm 2mm 2mm !important;  /* this affects the margin in the printer settings */
  }
}
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi2.vue
@@ -39,6 +39,12 @@
type.value = route.query.type
onMounted(() => {
  if (localStorage.getItem('hasRefreshed')=="false") {
    localStorage.setItem('hasRefreshed', 'true');
    location.reload();
  }else{
    localStorage.setItem('hasRefreshed', 'false');
  }
  if(projectNo.value!=null){
    request.post(`/processCard/getSelectPrintLabel/${projectNo.value}/${type.value}`).then((res) => {
      if (res.code == 200) {
@@ -277,16 +283,5 @@
@media print {
  div {
    page-break-inside: avoid;
  }
  @page {
    size: auto;  /* auto is the initial value */
    margin: 13mm 4mm 0mm 4mm;  /* this affects the margin in the printer settings */
  }
}
</style>
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
@@ -437,7 +437,7 @@
    // selectRecords.forEach(obj => {
    //   delete obj.print_status;
    // });
    let type = printType.value
    let type = tag.value.name
    let faceOrientation = stateValue.value
    let lableTypes = lableType.value
    let lableTitle = lableType.text
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue
@@ -33,6 +33,14 @@
onMounted(() => {
      if (localStorage.getItem('hasRefreshed')=="false") {
        // 设置标志,表示已经刷新过
        localStorage.setItem('hasRefreshed', 'true');
        // 执行刷新操作
        location.reload();
      }else{
        localStorage.setItem('hasRefreshed', 'false');
      }
  if(projectNo.value!=null){
    request.post(`/processCard/getSelectPrintLabel/${projectNo.value}/${type.value}`).then((res) => {
      if (res.code == 200) {
@@ -58,6 +66,7 @@
            }
          }
          console.log(labelList.value)
        } else {
          ElMessage.warning(res.msg)
          router.push("/login")
@@ -85,8 +94,6 @@
    }
  }
}
@@ -150,60 +157,32 @@
  <div id="printFlowCard" >
    <div v-if="type!=='3'" id="entirety" v-for="(item,id) in labelList" >
      <div class="row1" v-if="item.heat_layout_id!==null">
      <div class="row1" >
<!--        <div class="cell" v-if="item.heat_layout_id!==null"></div>-->
        <div class="cell" v-if="item.heat_layout_id!==undefined">{{ item.heat_layout_id }}/{{ item.heat_layout_sort }}</div>
        <span>{{ item.customer_name }}</span>&nbsp;
        <span>{{ item.order_id }}</span>&nbsp;
        <span v-if="item.process.includes('夹胶')">胶片</span>
        <span v-else-if="item.process.includes('中空')">中空</span>
        <span v-else-if="item.process.includes('百叶')">百叶</span>
        <span v-else></span>
        <div class="cell1" v-if="item.stock_id!=undefined">{{ item.stock_id }}</div>
      </div>
<!--      <div class="row2" v-else>
        <span>{{ item.customer_name }}</span>&nbsp;
        <span>{{ item.order_id }}</span>&nbsp;
        <span v-if="item.process.includes('夹胶')">胶片</span>
        <span v-else-if="item.process.includes('中空')">中空</span>
        <span v-else-if="item.process.includes('百叶')">百叶</span>
        <span v-else></span>
      </div>-->
      <div class="row3" v-if="item.other_columns!=null&&(JSON.parse(item.other_columns).S02!=null)">
        <span v-if="item.heat_layout_id!==null"  style="font-size: 6pt">
          ({{ item.heat_layout_id }}/{{ item.heat_layout_sort }})
          <template v-if="item.stock_id!=null">
              {{ item.stock_id }}
          </template>
        </span>
        {{JSON.parse(item.other_columns).S02}}={{item.quantity}}
      </div>
      <div class="row3" v-else>
        <span v-if="item.heat_layout_id!==null"  style="font-size: 6pt">
          ({{ item.heat_layout_id }}/{{ item.heat_layout_sort }})
          <template v-if="item.stock_id!=null">
              {{ item.stock_id }}
          </template>
        </span>
        {{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}}
      </div>
      <div class="row3" v-if="item.other_columns!=null&&(JSON.parse(item.other_columns).S02!=null)">{{JSON.parse(item.other_columns).S02}}={{item.quantity}}</div>
      <div class="row3" v-else>{{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}}</div>
      <div class="row5">
        <span style="white-space: pre-wrap;font-size: 6pt">{{ item.building_number?item.building_number.replace(/\r|\n|\s/g,''):'' }}</span>
        <span v-if="item.bend_radius!=null">R={{item.bend_radius}}</span>
        <br>
        <span v-if="company.showDeliveryCreator" >{{item.processing_note}}</span>
        <span v-else style="font-size: 6pt">{{item.processing_note}}</span>
        <span>{{item.project}}</span>&nbsp;
        <span>{{item.building_number}}</span>&nbsp;
        <span v-if="item.bend_radius!=null">R={{item.bend_radius}}</span>&nbsp;
      </div>
      <div class="row6">
        <span>{{item.glass_child}}</span>&nbsp;
        <span v-if="company.showDeliveryCreator" >{{item.processing_note}}</span>
        <span v-else style="font-size: 6pt">{{item.processing_note}}</span>
      </div>
      <div class="row5">
        <span>{{item.project}}</span>&nbsp;
      </div>
    </div>
@@ -212,36 +191,22 @@
    <template v-if="type==='3'"  v-for="(item,id) in labelList">
      <div v-if="type==='3'" id="entirety" v-for="n in item.quantity" >
        <div class="row1" >
<!--          <div class="cell" v-if="item.heat_layout_id!=null">{{ item.heat_layout_id }}/{{ item.heat_layout_sort }}</div>-->
        <div class="row1" v-if="item.heat_layout_id!=null">
          <div class="cell" v-if="item.heat_layout_id!=null">({{ item.heat_layout_id }}/{{ item.heat_layout_sort }})</div>
          <span style="font-size: 8pt">{{ item.customer_name }}</span>&nbsp;
<!--          <div class="cell1" v-if="item.stock_id!=null">{{ item.stock_id }}</div>-->
          <div class="cell1" v-if="item.stock_id!=null">{{ item.stock_id }}</div>
        </div>
<!--        <div class="row2" v-else>
        <div class="row2" v-else>
          <span style="font-size: 8pt">{{ item.customer_name }}</span>&nbsp;
        </div>-->
        </div>
        <div class="row2" style="font-size: 8pt" >{{item.order_id}}
          <span style="font-size: 8pt">{{ remarks }}</span>&nbsp;
        </div>
        <div class="row3" v-if="item.other_columns!=null&&(JSON.parse(item.other_columns).S02!=null)">
          <span v-if="item.heat_layout_id!==null"  style="font-size: 6pt">
          ({{ item.heat_layout_id }}/{{ item.heat_layout_sort }})
          <template v-if="item.stock_id!=null">
              {{ item.stock_id }}
          </template>
        </span>
          {{JSON.parse(item.other_columns).S02}}={{item.quantity}}
        </div>
        <div class="row3" v-else>
          <span v-if="item.heat_layout_id!==null"  style="font-size: 6pt">
            ({{ item.heat_layout_id }}/{{ item.heat_layout_sort }})
            <template v-if="item.stock_id!=null">
                {{ item.stock_id }}
            </template>
          </span>
          {{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}}
        </div>
        <div class="row3" v-if="item.other_columns!=null&&(JSON.parse(item.other_columns).S02!=null)">{{JSON.parse(item.other_columns).S02}}={{item.quantity}}</div>
        <div class="row3" v-else>{{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}}</div>
        <div class="row5">
          <span style="white-space: pre-wrap;font-size: 8pt">{{ item.building_number?item.building_number.replace(/\r|\n|\s/g,''):'' }}</span>
@@ -278,7 +243,7 @@
#entirety{
  text-align: center;
  width: 180px;
  height: 90px;
  height: 87px;
  margin-bottom: 10px;
  margin-right: 5px;
  overflow: hidden;
@@ -286,12 +251,12 @@
}
.row1 {
  font-size: 6pt;
  font-size: 8pt;
  font-weight: bold;
  height: 15px;
}
.row1 span {
  font-size: 8pt;
  font-size: 10pt;
  font-weight: bold;
}
.row2 span {
@@ -318,14 +283,14 @@
.row3 {
  margin-top: -5px;
  height: 15px;
  font-size: 13pt;
  height: 25px;
  font-size: 17pt;
  font-weight: bolder;
}
.row5 {
  margin-top: 5px;
  height: 18px;
  height: 15px;
  font-weight: bold;
  font-size: 6pt;
}
@@ -347,7 +312,7 @@
  position: absolute;
  font-weight: bold;
  margin-left: 5px;
  margin-top: -6px;
  margin-top: 20px;
  font-size: 6pt;
}
@@ -355,7 +320,7 @@
  position: absolute;
  font-weight: bold;
  margin-left: 158px;
  margin-top: -21px;
  margin-top: 0px;
}
.font-size {
  font-size: 6pt;
@@ -365,15 +330,6 @@
@media print {
  div {
    page-break-inside: avoid;
  }
  @page {
    size: auto;  /* auto is the initial value */
    margin: 13mm 4mm 0mm 4mm;  /* this affects the margin in the printer settings */
  }
}
</style>
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel1.vue
@@ -35,8 +35,14 @@
const printType=route.query.printType
onMounted(() => {
  if (localStorage.getItem('hasRefreshed')=="false") {
    localStorage.setItem('hasRefreshed', 'true');
    location.reload();
  }else{
    localStorage.setItem('hasRefreshed', 'false');
  }
  if (printType == 1) {
    request.post(`/processCard/getSelectPrintCustomLabel/${type}/1`, data.value).then((res) => {
    request.post(`/processCard/getSelectPrintCustomLabel2/${type}/1`, data.value).then((res) => {
      if (res.code == 200) {
        produceList.value = deepClone(res.data.title)
        list.value = deepClone(res.data.data)
@@ -229,7 +235,7 @@
  }
  @page {
    size: auto;  /* auto is the initial value */
    margin: 13mm 4mm 0mm 4mm;  /* this affects the margin in the printer settings */
    margin: 13mm 4mm 0mm 4mm !important;  /* this affects the margin in the printer settings */
  }
}
north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -34,9 +34,13 @@
  let sheetIndex = ref(-1)
  let orderType = ref("2")
  let filterData = ref({})
  let sortData = ref({
    field:'id',
    order:null
  })
  let orderList = ref([])
  let pageNum=ref(1)
  let total = reactive({
  let total = ref({
    pageTotal : 0,
    dataTotal : 0,
    pageSize : 50
@@ -63,6 +67,9 @@
    },
    filterConfig: {   //筛选配置项
      remote: true
    },
    sortConfig: {   //排序配置项
      remote: true//是否服务端排序
    },
    customConfig: {
      storage: true
@@ -164,7 +171,8 @@
          }
          const List = ["quantity",'goodsQuantity','area','perimeter','money']
          if (List.includes(column.field)) {
            return footSum(data, column.field)
            //return footSum(data, column.field)
            return total.value[column.field]
          }
          return ''
        })
@@ -308,15 +316,24 @@
    },
    cellClick({ row }){
      rowClickIndex.value = row
    },
    sortChange ({ field, order }) {
      sortData.value = {field,order}
      selectOrderList()
    }
  }
  const getOrderList = () => {
    //加载请求
    request.post(`/order/getOrderList/1/${total.pageSize}/${orderType.value}/${orderInfo.selectDate}`,filterData).then((res) => {
    const config = {
      filter: filterData.value,
      sort: sortData.value
    }
    request.post(`/order/getOrderList/1/${total.value.pageSize}/${orderType.value}/${orderInfo.selectDate}`,config).then((res) => {
      if(res.code==200){
        total.dataTotal = res.data.total.total*1
        total.pageTotal= res.data.total.pageTotal
        total.value = res.data.total
        /*total.dataTotal = res.data.total.dataTotal*1
        total.pageTotal= res.data.total.pageTotal*/
        orderInfo.selectDate = res.data.selectDate
        orderList.value = deepClone(res.data.data)
        xGrid.value.loadData(orderList.value)
@@ -349,10 +366,16 @@
    }else{
      filterData.value[column.property] = value
    }
    request.post(`/order/getOrderList/${pageNum.value}/${total.pageSize}/${orderType.value}/${orderInfo.selectDate}`,filterData.value).then((res) => {
    const config = {
      filter: filterData.value,
      sort: sortData.value
    }
    request.post(`/order/getOrderList/${pageNum.value}/${total.value.pageSize}/${orderType.value}/${orderInfo.selectDate}`,config).then((res) => {
      if(res.code==200){
        total.dataTotal = res.data.total.total*1
        total.pageTotal=parseInt(res.data.total)
        total.value = res.data.total
        /*total.dataTotal = res.data.total.total*1
        total.pageTotal=parseInt(res.data.total)*/
        pageNum.value=1
        orderList.value = deepClone(res.data.data)
        xGrid.value.loadData(orderList.value)
@@ -366,11 +389,16 @@
  //双击表格行
  const selectOrderList = ()=>{
    request.post(`/order/getOrderList/${pageNum.value}/${total.pageSize}/${orderType.value}/${orderInfo.selectDate}`
        ,filterData.value).then((res) => {
    const config = {
      filter: filterData.value,
      sort: sortData.value
    }
    request.post(`/order/getOrderList/${pageNum.value}/${total.value.pageSize}/${orderType.value}/${orderInfo.selectDate}`
        ,config).then((res) => {
      if(res.code==200){
        total.dataTotal = res.data.total.total*1
        total.pageTotal = res.data.total.pageTotal
        total.value = res.data.total
        /*total.dataTotal = res.data.total.total*1
        total.pageTotal = res.data.total.pageTotal*/
        orderInfo.selectDate=res.data.selectDate
        orderList.value = deepClone(res.data.data)
        xGrid.value.loadData(orderList.value)
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
@@ -214,7 +214,7 @@
        return Result.seccess(flowCardService.getSelectPrintLabelDetails(object));
    }
    @ApiOperation("打印自定义标签数据查询接口")
    @ApiOperation("打印自定义标签数据查询接口明细")
    @PostMapping("/getSelectPrintCustomLabel/{type}/{lableType}")
    public Result getSelectPrintCustomLabel( @PathVariable String type,
                                             @PathVariable Integer lableType,
@@ -223,6 +223,15 @@
    }
    @ApiOperation("打印自定义标签数据查询接口")
    @PostMapping("/getSelectPrintCustomLabel2/{type}/{lableType}")
    public Result getSelectPrintCustomLabel2( @PathVariable String type,
                                             @PathVariable Integer lableType,
                                             @RequestBody Map<String, Object> object) {
        return Result.seccess(flowCardService.getSelectPrintCustomLabelSv2(type,lableType,object));
    }
    @ApiOperation("复选框修改排版状态")
    @SaCheckPermission("selectProcessCard.review")
    @PostMapping("/updateComposing")
north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
@@ -72,8 +72,8 @@
    @ApiOperation("订单分页筛选查询")
    @SaCheckPermission("selectOrder.search")
    @PostMapping("/getOrderList/{pageNum}/{pageSize}/{orderType}/{selectDate}")
    public Result getOrderList(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable Integer orderType, @PathVariable List<String> selectDate, @RequestBody Order order)  {
        return Result.seccess(orderService.getOrderList(pageNum, pageSize, selectDate, order,orderType));
    public Result getOrderList(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable Integer orderType, @PathVariable List<String> selectDate, @RequestBody Map<String,Object> config)  {
        return Result.seccess(orderService.getOrderList(pageNum, pageSize, selectDate, config,orderType));
    }
    @ApiOperation("删除订单")
    @SaCheckPermission("selectOrder.delete")
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
@@ -107,6 +107,8 @@
    List<Map<String, Object>>  getPrintCustomData(String processId, Integer orderNumber);
    List<Map<String, Object>>  getPrintCustomData2(String processId);
    Integer getPrintLabelCount(String processId, String technologyNumber);
    List<Map<String, String>> selectReplenishPrintMp(Date selectTime1, Date selectTime2, FlowCard flowCard);
north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java
@@ -14,8 +14,8 @@
    boolean updateOrderParameter(@Param("orderId") String orderId);
    List<Order> getOrderList(Integer offset, Integer pageSize, String startDate, String endDate, Order order, Integer orderType);
    Map<String,Integer> getPageTotal(Integer offset, Integer pageSize, String startDate, String endDate, Order order , Integer orderType);
    List<Order> getOrderList(Integer offset, Integer pageSize, String startDate, String endDate, Order order, Integer orderType, String field, String orderBy);
    Map<String,Float> getPageTotal(Integer offset, Integer pageSize, String startDate, String endDate, Order order , Integer orderType);
    boolean reviewOrderById(String id, Integer status, String userId, String userName);
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -553,6 +553,42 @@
        return map;
    }
    public Map<String, Object> getSelectPrintCustomLabelSv2(String type, Integer lableType, Map<String, Object> object) {
        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
            if (lableType != 2){//成品标签
                for (FlowCard flowCard : flowCardList) {
                    String processId = flowCard.getProcessId();
                    // 检查是否已经处理过该 processId,如果处理过则跳过
                    if (processedProcessIds.contains(processId)) {
                        continue;
                    }
                    Map<String, Object> itemmap = new HashMap<>();
                    itemmap.put("data", flowCardMapper.getPrintCustomData2(flowCard.getProcessId()));
                    list.add(itemmap);
                    // 将该 processId 加入已处理集合
                    processedProcessIds.add(processId);
                }
            }
            else{//小片标签
                for (FlowCard flowCard : flowCardList) {
                    Map<String, Object> itemmap = new HashMap<>();
                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getProcess()));
                    list.add(itemmap);
                }
            }
        }
        map.put("data", list);
        map.put("title", flowCardMapper.getPrintTitle(type));
        return map;
    }
    public Object getCustomLabelDetailSv(String name, String form, String id, FlowCard flowCard) {
        Map<String, Object> map = new HashMap<>();
        map.put("data", flowCardMapper.getCustomLabelDetailMp(name, form,id, flowCard));
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -31,6 +31,8 @@
import java.util.*;
import java.util.stream.Collectors;
import static org.apache.coyote.http11.Constants.a;
@Service
@DS("sd")
@Transactional(rollbackFor = Exception.class)
@@ -316,7 +318,7 @@
    }
    //查询获取列表
    public Map<String,Object> getOrderList(Integer pageNum, Integer pageSize, List<String> selectDate, Order order,Integer orderType) {
    public Map<String,Object> getOrderList(Integer pageNum, Integer pageSize, List<String> selectDate, Map<String,Object> config,Integer orderType) {
        Integer offset = (pageNum-1)*pageSize;
        String endDate = LocalDate.now().toString();
        String startDate = LocalDate.now().minusDays(15).toString();
@@ -328,9 +330,15 @@
                endDate = selectDate.get(1);
            }
        }
        JSONObject orderJson = new JSONObject(config);
        Order order = JSONObject.parseObject(JSONObject.toJSONString(orderJson.get("filter")), Order.class);
        Map<String,String> sortDate = (Map<String, String>) config.get("sort");
        String field = sortDate.get("field").replaceAll("(?<!^)([A-Z])", "_$1").toLowerCase();
        String orderBy = sortDate.get("order");
        System.out.println(field+"  "+orderBy);
        Map<String,Object> map = new HashMap<>();
        map.put("data",orderMapper.getOrderList(offset, pageSize, startDate, endDate, order,orderType));
        map.put("data",orderMapper.getOrderList(offset, pageSize, startDate, endDate, order,orderType, field, orderBy));
        map.put("total",orderMapper.getPageTotal(offset, pageSize, startDate, endDate, order,orderType));
        List<String> list = new ArrayList<>();
        list.add(startDate);
north-glass-erp/src/main/resources/mapper/mm/MaterialInventory.xml
@@ -84,7 +84,7 @@
        ou.id as useId,
        ou.project_no as projectNo,
        mi.inventory_quantity AS inventoryQuantity,
        mi.plan_quantity AS availableQuantity,
        mi.available_quantity AS availableQuantity,
        mi.plan_quantity AS planQuantity,
        mi.id,
        mi.inventory_organization as inventoryOrganization,
@@ -102,8 +102,7 @@
        ms.json from pp.optimize_use ou left join mm.material_inventory mi on ou.raw_stock_code=mi.id left join mm.material_store ms on mi.material_code=ms.id
        left join pp.optimize_project op on op.project_no=ou.project_no
        <where>
            mi.plan_quantity>0 and op.state>=100 and
            date(ou.create_time)>=#{startDate} and date(ou.create_time) &lt;= #{endDate}
            mi.plan_quantity>0 and op.state>=100 and ou.state=1
        </where>
        order by ou.id desc
@@ -112,16 +111,14 @@
    <select id="getSelectMaterialInventoryEngineeringDatePageTotal">
        select
        CEILING(count(id)/#{pageSize}) as 'pageTotal',
        count(id) as 'total'
        from
        pp.optimize_use ou
        CEILING(count(ou.id)/#{pageSize}) as 'pageTotal',
        count(ou.id) as 'total'
        from pp.optimize_use ou left join mm.material_inventory mi on ou.raw_stock_code=mi.id left join mm.material_store ms on mi.material_code=ms.id
        left join pp.optimize_project op on op.project_no=ou.project_no
        <where>
            ou.not_use_count>0 and ou.state=1 and
            date(ou.create_time)>=#{startDate} and date(ou.create_time) &lt;= #{endDate}
            mi.plan_quantity>0 and op.state>=100 and ou.state=1
        </where>
        limit #{offset},#{pageSize};
    </select>
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -1066,6 +1066,67 @@
        order by fc.process_id
    </select>
    <select id="getPrintCustomData2">
        select o.order_id                                            as orderId,
               project,
               customer_id                                           as customerId,
               o.customer_name                                       as customerName,
               order_type                                            as orderType,
               order_classify                                        as orderClassify,
               batch,
               o.icon,
               pack_type                                             as packType,
               delivery_date                                         as deliveryDate,
               al_type                                               as alType,
               money,
               contract_id                                           as contractId,
               customer_batch                                           customerBatch,
               contacts,
               delivery_address                                      as deliveryAddress,
               od.processing_note                                    as processingNote,
               width,
               height,
               fc.quantity,
               od.order_number                                       as orderNumber,
               fc.technology_number                                  as technologyNumber,
               od.building_number                                    as buildingNumber,
               od.product_name                                       as productName,
               od.edging_type                                        as edgingType,
               od.remarks,
               c.customer_abbreviation                               as customerAbbreviation,
               p.product_abbreviation                                as productAbbreviation,
               fc.process_id                                         as processId,
               o.create_time                                         as createTime,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS colourCeramicGlaze,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS remarks1,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS remarks2,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S06')) AS remarks3,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S07')) AS remarks4,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S08')) AS remarks5,
               p.remarks                                             as filmNumber,
               od.bend_radius                                        as bendRadius,
               od.other_columns,
               ogd.glass_child                                       as glassChild,
               ogd.glass_address                                     as glassAddress,
               JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color'))  AS color
        from sd.order as o
                 left join sd.order_detail as od on o.order_id = od.order_id
                 left join flow_card as fc on o.order_id = fc.order_id and
                                              od.order_number = fc.order_number
                 left join sd.product as p on p.id = od.product_id
                 left join sd.customer as c on c.id = o.customer_id
                 left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number and
                                                      pd.glass_sort = fc.technology_number
                 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
        where fc.process_id = #{processId}
        group by od.order_number
        order by fc.process_id
    </select>
    <select id="selectReplenishPrintMp">
        select fc.id,
               fc.order_id,
north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
@@ -102,8 +102,8 @@
    </update>
    
    <select id="getOrderList">
        select
            *,
       select * from (select
            o.*,
        ifnull(sum(fgi.quantity_available),0) as goodsQuantity
        from
            sd.`order` as o
@@ -196,16 +196,38 @@
            and o.processing_note REGEXP #{order.processingNote}
        </if>
        group by o.id
        order by o.id desc
        ) as acc
        order by
        <if test="orderBy == null ">
            id desc
        </if>
        <if test="orderBy == 'desc'">
            ${field} desc
        </if>
        <if test="orderBy == 'asc'">
            ${field}
        </if>
        limit #{offset},#{pageSize}
    </select>
    <select id="getPageTotal">
        select
            CEILING(count(o.id)/#{pageSize}) as 'pageTotal',
            count(o.id) as 'total'
            count(o.id) as 'dataTotal',
            sum(o.quantity) as quantity,
            sum(o.area) as area,
            sum(o.money) as money,
            ifnull(fgi.goodsQuantity ,0) as goodsQuantity ,
            ROUND(sum(perimeter),2) as perimeter,
            #{pageSize} as pageSize
        from
        `order` as o
        left join(
                    select order_id,
                           ifnull(sum(quantity_available),0) as goodsQuantity
                    from mm.finished_goods_inventory group by order_id
                    )  as  fgi
        on o.order_id = fgi.order_id
        where date (o.create_time)>=#{startDate} and date(o.create_time) &lt;= #{endDate}
            <if test="orderType!= null and orderType != 0">
                and o.create_order = #{orderType}