廖井涛
2 天以前 a8378db2feef3b08edc0a6594bec187051d3b754
Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
24个文件已修改
324 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintProcessReplenish.vue 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/order/OrderSizeCheck.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/order/UploadPicture.vue 45 ●●●●● 补丁 | 查看 | 原始文档 | 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/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/PrintProgressProcessCard.vue 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/ProcessCard.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderFileController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderFile.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderFileService.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue
@@ -82,13 +82,14 @@
          for (const group of list.value) {
            // éåŽ†æ¯ç»„ä¸­çš„æ•°æ®ï¼ˆæ›¿æ¢ j)
            for (const item of group.data) {
              console.log(item)
              const { quantity, newList } = item;
              // è·³è¿‡ quantity ä¸º 0 æˆ–无效的情况
              console.log(quantity)
              if (!quantity || quantity <= 0) continue;
              // å¤„理 newList:确保是数组,不足时用空对象兜底
              const safeNewList = Array.isArray(newList) ? newList : [];
              // å¾ªçޝ quantity æ¬¡ï¼Œæ·»åŠ æ•°æ®åˆ° lastList
              for (let k = 0; k < quantity; k++) {
                // æ·±æ‹·è´ item,避免重复引用(关键!)
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -92,7 +92,6 @@
        //流程卡
        request.post(`/processCard/getSelectPrinting/${merge}/${like}/${merges}/${props.flashback}/${compound}/${props.landingSequence}`, data.value).then((res) => {
          if (res.code == 200) {
            console.log(res.data.data)
            load(res.data.data)
          } else {
            ElMessage.warning(res.msg)
north-glass-erp/northglass-erp/src/components/pp/PrintProcessReplenish.vue
@@ -110,30 +110,41 @@
          }
          // ä½¿ç”¨ä¸€ä¸ªå¯¹è±¡æ¥å­˜å‚¨åˆå¹¶åŽçš„结果
          const mergedData = produceList.value.reduce((acc, item) => {
            const processId = item.detail[0].process_id;
            // detail ä¸ºç©ºç›´æŽ¥è·³è¿‡
            const firstDetail = item?.detail?.[0]
            if (!firstDetail) return acc
            // å¦‚果该 process_id å°šæœªåœ¨ acc ä¸­ï¼Œåˆå§‹åŒ–其数组
            if (!acc[processId]) {
              acc[processId] = {
            const processId = firstDetail.process_id
            const technologyNumber = firstDetail.technologyNumber
            const key = company.printReplenishMerge
                ? processId
                : `${processId}_${technologyNumber}`
            // åˆå§‹åŒ–分组
            if (!acc[key]) {
              acc[key] = {
                processId,
                technologyNumber,
                processList: item.processList,
                detailList: [],
                detail: item.detail
              };
              }
            }
            // åˆå¹¶ detailList
            acc[processId].detailList = acc[processId].detailList.concat(item.detailList);
            if (Array.isArray(item.detailList) && item.detailList.length) {
              acc[key].detailList.push(...item.detailList)
            }
            return acc;
          }, {});
            return acc
          }, {})
          // å°†åˆå¹¶åŽçš„对象转换回数组
          if (company.printReplenishMerge){
          //if (company.printReplenishMerge){
            produceList.value = Object.values(mergedData);
          }
          //}
           flowCardCount=produceList.value.length
          handleSummary()
north-glass-erp/northglass-erp/src/components/sd/order/OrderSizeCheck.vue
@@ -88,13 +88,12 @@
          })
          const errMap = await $grid.validate(true)
          if (errMap) {
            ElMessage.error(t('basicData.msg.checkoutLose'))
            return
          }
          //emit('getParent')
          emit('getParent')
          break
        }
      }
north-glass-erp/northglass-erp/src/components/sd/order/UploadPicture.vue
@@ -24,6 +24,8 @@
  orderId:null,
  state:null
})
let imgWidth = ref(null)
let imgHeight = ref(null)
const form = reactive({
  format: 'png'
@@ -40,6 +42,8 @@
    }
    result.value = res.data
    conversionResult.value = res.data.imageBase64
    imgWidth.value = res.data.width
    imgHeight.value = res.data.height
  })
}
@@ -107,6 +111,22 @@
      ElMessage.warning(t("order.msg.pleaseUploadPicture1"))
      return
    }
    if(imgHeight.value ){
      const regex = /^(0|[1-9]\d{0,2}|1000)$/
      if(!regex.test(imgHeight.value)){
        ElMessage.warning(`height:0~1000`)
        return
      }
    }
    if(imgWidth.value ){
      const regex = /^(0|[1-9]\d{0,2}|1000)$/
      if(!regex.test(imgWidth.value)){
        ElMessage.warning(`width:0~1000`)
        return
      }
    }
    loadingFormats.value = true
    converting.value = true
@@ -124,7 +144,9 @@
    const data ={
      file:fileList.value[0].raw,
      name:fileList.value[0].raw.name
      name:fileList.value[0].raw.name,
      width:imgWidth.value || 1000,
      height:imgHeight.value || 700,
    }
    request.post(`/orderFile/updateOrderFileByOrderNumber/${props.orderId}/${props.rowIndex.orderNumber}`,data).then(res=>{
      if (res.code === '200') {
@@ -244,9 +266,27 @@
          {{$t("order.msg.pleaseUploadPicture10")}} <em>{{$t("order.msg.pleaseUploadPicture11")}}</em>
        </div>
        <template #tip>
          <div class="el-upload__tip" style="width: 30%;margin-left: 35%">
            <el-row>
              <el-col :span="12">
                <el-input
                    v-model.number="imgWidth"
                    placeholder="宽"/>
              </el-col>
              <el-col :span="12">
                <el-input
                    v-model.number="imgHeight"
                    placeholder="高"/>
              </el-col>
            </el-row>
          </div>
          <div class="el-upload__tip">
            {{$t("order.msg.pleaseUploadPicture12")}}
          </div>
        </template>
      </el-upload>
@@ -307,7 +347,7 @@
                    :src="conversionResult"
                    :preview-src-list="[conversionResult]"
                    fit="contain"
                    style="max-height: 600px;"
                    :style="{width: `${imgWidth}px`, height: `${imgHeight}px`}"
                >
<!--                  <template #error>-->
<!--                    <div class="image-slot">-->
@@ -418,6 +458,7 @@
  margin: 20px 0;
  display: flex;
  justify-content: center;
  overflow: auto;
}
.file-info {
north-glass-erp/northglass-erp/src/stores/sd/companySet/ÉϺ£±±²£.js
@@ -3,6 +3,7 @@
export default defineStore('companyInfo', {
    state: () => ({
        sizeCheck: false,//尺寸校验,true开启,false关闭
        position:{
            outside:'(内)',
            inside:'(外)',
north-glass-erp/northglass-erp/src/stores/sd/companySet/Ìì½ò±±²£.js
@@ -3,6 +3,7 @@
export default defineStore('companyInfo', {
    state: () => ({
        sizeCheck: false,//尺寸校验,true开启,false关闭
        position:{
            outside:'(内)',
            inside:'(外)',
north-glass-erp/northglass-erp/src/stores/sd/companySet/³£ÖݼªÀû.js
@@ -3,6 +3,7 @@
export default defineStore('companyInfo', {
    state: () => ({
        sizeCheck: false,//尺寸校验,true开启,false关闭
        position:{
            outside:'(内)',
            inside:'(外)',
north-glass-erp/northglass-erp/src/stores/sd/companySet/н®ºãöÎ.js
@@ -3,6 +3,7 @@
export default defineStore('companyInfo', {
    state: () => ({
        sizeCheck: false,//尺寸校验,true开启,false关闭
        position:{
            outside:'(内)',
            inside:'(外)',
north-glass-erp/northglass-erp/src/stores/sd/companySet/ÂåÑô±±²£.js
@@ -3,6 +3,7 @@
export default defineStore('companyInfo', {
    state: () => ({
        sizeCheck: false,//尺寸校验,true开启,false关闭
        position:{
            outside:'(内)',
            inside:'(外)',
north-glass-erp/northglass-erp/src/stores/sd/companySet/ÎÂÖݾÞÐÇ.js
@@ -3,6 +3,7 @@
export default defineStore('companyInfo', {
    state: () => ({
        sizeCheck: true,//尺寸校验,true开启,false关闭
        position:{
            outside:'(外)',
            inside:'(内)',
north-glass-erp/northglass-erp/src/stores/sd/companySet/½ð»ªÌì³É.js
@@ -3,6 +3,7 @@
export default defineStore('companyInfo', {
    state: () => ({
        sizeCheck: false,//尺寸校验,true开启,false关闭
        position:{
            outside:'(内)',
            inside:'(外)',
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProgressProcessCard.vue
@@ -15,6 +15,8 @@
import PrintProcess from "@/components/pp/PrintProcess.vue";
import PrintCustomLabelXJ from "@/components/pp/PrintCustomLabelTwo.vue";
import companyInfo from "@/stores/sd/companyInfo";
import {createTemplate} from "@/hook/createTemplateTag";
import {hiprint} from "vue-plugin-hiprint";
//语言获取
const { t } = useI18n()
let router=useRouter()
@@ -24,6 +26,8 @@
const dialogTableVisible = ref(false)
const dialogTableVisibleLabel = ref(false)
let lastList = ref([])
let props = defineProps({
  orderId:null
@@ -86,6 +90,84 @@
  }
})
//标签
let labelRow = ref({
  list: null,//勾选的数据
  faceOrientation: null,//内外面
  type: null,//标签模板
  lableType: null//标签类型
})
//选中内容
let selectRecords = ref(null)
//合片流程卡打印下拉选项
const printMerge = ref('')
const printMergeOptions = [{}]
//倒叙
let  flashback = ref(1)
//落架顺序
let landingSequence= ref(1)
//合架打印
let compound = ref(null)
const printContent = ref({
  id: 'child',
})
let hiprintTemplate = ref(null)
const printContentLabel = ref({
  id: 'childLabel',
})
const printContentLabelSemi = ref({
  id: 'childLabelSemi',
})
const changeTag = () => {
  hiprintTemplate.value = new hiprint.PrintTemplate({});
  hiprintTemplate.value.design("#hiprint-printTemplate1",{grid:true});
  const json = tag.value.value
  hiprintTemplate.value.update(json)
}
const printOrder = (type) => {
  printNumberLabel()
  const list = tag.value.value
  list.panels[0].printElements.forEach(element => {
    element.options.fontFamily = 'Arial'
    if( element.options.field !== undefined){
      if(type===3 ){
        element.options.hideTitle = true
      }
    }
    if(type!==3){
      element.options.hideTitle = false
      if( element.options.field === undefined){
        element.options.hideTitle = true
      }
    }
  })
  //hiprintTemplate.value.update(list)
  let object =  JSON.parse(JSON.stringify(lastList.value))
  //判断是否为表格
  let columnsNum = null
  if(list.panels[0].printElements[0].options.field==='table'){
    object = {table:lastList.value}
    columnsNum = (list.panels[0].printElements[0].options.gridColumns || 1)
  }
  //判断是否有 åµŒå¥—自定义纸张
  if(tag.value.tagHeight && tag.value.tagWidth){
    const print =createTemplate(list,object,tag.value.tagWidth,tag.value.tagHeight)
    hiprintTemplate.value.update(print.template)
    object = print.printData
  }
  hiprintTemplate.value.print(object)
}
//需要合并的列
let column = [1,3,8]
@@ -305,9 +387,9 @@
    //   delete obj.print_status;
    // });
    let type = tag.value.name
    let faceOrientation = stateValue.value
    let lableTypes = lableType.value
    let lableTitle = lableType.text
    let faceOrientation = ''
    let lableTypes = 1
    let lableTitle = ''
    if ($grid) {
      switch (code) {
          //打印流程卡
@@ -329,7 +411,7 @@
          printRow.value.printMergeVal = printMerge.value
          printRow.value.like = null
          printRow.value.merge = company.flowCardMerge
          printRow.value.printFc= printFc
          printRow.value.printFc= true
          printRow.value.flashback = flashback.value
          printRow.value.landingSequence=landingSequence.value
          printRow.value.compound = compound.value
@@ -356,7 +438,7 @@
              id += selectRecords[i].id + "|"
            }
          }
          lastList.value = []
          labelRow.value.list = JSON.stringify(selectRecords)
          labelRow.value.faceOrientation = faceOrientation
          labelRow.value.type = tag.value.name
@@ -385,6 +467,38 @@
const handleCellDblClick = ({ row, column, cell, $event }) => {
  VxeUI.clipboard.copy(row[column.property])
}
const selectRecordsData = ref({
  printList: []
})
// ç›‘听流程卡打印完成事件
const printNumber = () => {
  selectRecordsData.value.printList = selectRecords
  let printState = 0
  request.post(`/processCard/updatePrintState/${printState}`, selectRecordsData.value).then((res) => {
    if (res.code == 200 && res.data === true) {
    } else {
      ElMessage.warning(t('basicData.msg.saveFail'))
    }
  })
}
// ç›‘听标签打印完成事件
const printNumberLabel = () => {
  selectRecordsData.value.printList = selectRecords
  request.post(`/tagStyle/updatePrintNumber`, selectRecordsData.value).then((res) => {
    if (res.code == 200 && res.data === true) {
    } else {
      ElMessage.warning(t('basicData.msg.saveFail'))
    }
  })
}
</script>
@@ -429,6 +543,7 @@
          v-bind="gridOptions"
          :merge-cells="mergeCells"
          @cell-dblclick="handleCellDblClick"
          v-on="gridEvents"
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
@@ -534,6 +649,33 @@
  height: calc(100% - 35px);
}
:deep(#sizeCheck .el-dialog__body) {
  height: 90%;
  width: 100%;
}
:deep(#sizePrintCalrd .el-dialog__body) {
  height: 85%;
  width: 100%;
  overflow-y: auto;
}
:deep(#sizeCustom .el-dialog__body) {
  height: 85%;
  width: 100%;
  overflow-y: auto;
}
:deep(#sizeCustomSemi .el-dialog__body) {
  height: 85%;
  width: 100%;
  overflow-y: auto;
}
:deep(#titleStyle .el-dialog__body){
  height: 93%;
  width: 100%;
}
.vxe-grid {
  /* ç¦ç”¨æµè§ˆå™¨é»˜è®¤é€‰ä¸­ */
  -webkit-user-select: none;
north-glass-erp/northglass-erp/src/views/pp/processCard/ProcessCard.vue
@@ -28,7 +28,7 @@
        <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/processCard/productionScheduling' }">{{$t('processCard.scheduling')}}
        </el-breadcrumb-item>
        <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/processCard/selectPrintFlowCard' }" >{{ $t('basicData.print') }}</el-breadcrumb-item>
<!--        <el-breadcrumb-item @click="changeRouter(5)" :class="indexFlag===5?'indexTag':''" :to="{ path: '/main/processCard/printProgressProcessCard' }" >{{ $t('processCard.printProgressProcessCard') }}</el-breadcrumb-item>-->
        <el-breadcrumb-item @click="changeRouter(5)" :class="indexFlag===5?'indexTag':''" :to="{ path: '/main/processCard/printProgressProcessCard' }" >{{ $t('processCard.printProgressProcessCard') }}</el-breadcrumb-item>
        <el-breadcrumb-item @click="changeRouter(6)" :class="indexFlag===6?'indexTag':''" :to="{ path: '/main/processCard/selectPrintProject' }" >{{$t('processCard.engineeringPrinting')}}</el-breadcrumb-item>
        <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/processCard/selectPrintFlowCard' }" style="display: none">{{ $t('basicData.print') }}</el-breadcrumb-item>
      </el-breadcrumb>
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -477,9 +477,11 @@
              if (val<row.completedQuantityComputed){
                         //库存数量、已入库数量
                if (val>(row.inventory_quantity-row.received_quantity)){
                  if (totalQuantity-val>(row.inventory_quantity-row.received_quantity)){
                  return new Error(`val
                                  <=
                                  ${row.inventory_quantity-row.received_quantity}`)
                  }
                }else {
                  if (val < (row.inventory_quantity-row.received_quantity)){
                        //完工总数、本次完工数、已入库数量
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -85,6 +85,7 @@
  otherMoneyRemarks:'',
  processingNote:t('order.processingNote')+':',
  createOrder:0,
  sizeCheck:null,
  creatorId:userStore.user.userId,
  creator:userStore.user.userName,
})
@@ -1030,7 +1031,13 @@
        'name': t('order.saveHeader')}
      gridOptions.toolbarConfig.buttons.push(buttonTitle)
      //取消工艺按钮禁用
      if(!company.sizeCheck  || (company.sizeCheck && titleUploadData.value.sizeCheck === 1)){
      gridOptions.toolbarConfig.buttons[1].disabled = false
      }
      //工艺审核后保存按钮禁用
      if(res.data.order.processReview === 2){
        gridOptions.toolbarConfig.buttons[4].disabled = true
@@ -1383,7 +1390,19 @@
}
const gaveOrderSizeCheck = () => {
  reviewOrder(2)
  sizeCheck()
}
const sizeCheck = () => {
  request.post(`/order/sizeCheck/${titleUploadData.value.orderId}`).then(res =>{
    if(res.data===1){
      ElMessage.success(t('basicData.msg.ReviewSuccess'))
      router.push({
        path:'/main/order/createOrder',
        query:{
          orderId:titleUploadData.value.orderId,
          random:Math.random()}})
    }
  })
}
let projects = ref([])
north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
@@ -289,6 +289,12 @@
        return  Result.success(orderService.processAttributeConfig());
    }
    @ApiOperation("查询工艺属性配置")
    @PostMapping("/sizeCheck/{orderId}")
    @SaCheckPermission("createOrder.add")
    public Result sizeCheck(@PathVariable String orderId)  {
        return  orderService.sizeCheck(orderId);
    }
}
north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderFileController.java
@@ -22,10 +22,14 @@
    public Result updateOrderFileByOrderNumber(
            @RequestParam("file") MultipartFile file,
            @RequestParam("name") String name,
            @RequestParam("width") Float width,
            @RequestParam("height") Float height,
            @PathVariable String orderId,
            @PathVariable String orderNumber) throws IOException {
        return  Result.success(orderFileService.updateOrderFileByOrderNumber(file,name,orderId,orderNumber));
        return  Result.success(
                orderFileService.updateOrderFileByOrderNumber(file,name,orderId,orderNumber,width,height)
        );
    }
    @PostMapping("/getOrderFilePicture")
    public Result getOrderFilePicture(@RequestBody List<Map<String,Object>> orderDetails) throws NoSuchFieldException {
north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java
@@ -102,6 +102,7 @@
    private LocalDate updateTime;
    @ExcelProperty("修改版本号")
    private Integer version;
    private Integer sizeCheck;
    @TableField(select = false,exist = false)
    private Integer goodsQuantity;
    @TableField(select = false,exist = false)
north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderFile.java
@@ -18,6 +18,8 @@
    private  String fileData;
    private  String fileJson;
    private  String imageBase64;
    private  Float width;
    private  Float height;
    private LocalDateTime createTime;
}
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -741,7 +741,11 @@
                    Map<String, Object> itemmap = new HashMap<>();
                    Integer sumQuantity = flowCardMapper.getSumQuantity(flowCard.getOrderId());
                    List<Map<String, Object>> details = flowCardMapper.getPrintCustomData(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity());
                    Integer printQuantity = flowCard.getPrintQuantity();
                    if (printQuantity==null){
                        printQuantity=0;
                    }
                    List<Map<String, Object>> details = flowCardMapper.getPrintCustomData(flowCard.getProcessId(), flowCard.getOrderNumber(), printQuantity);
                    for (Map<String, Object> detail : details) {
                        detail.put("sumQuantity", sumQuantity);
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderFileService.java
@@ -53,29 +53,26 @@
       return orderFiles;
    }
    public Object updateOrderFileByOrderNumber(MultipartFile file,String name,String orderId,String orderNumber) throws IOException {
    public Object updateOrderFileByOrderNumber(MultipartFile file,String name,String orderId,String orderNumber,Float width,Float height) throws IOException {
       //判断是否规定的格式后缀名
        if(!isAllowedFile(name)){
           return null;
       }
        try (InputStream is = License.class.getResourceAsStream("/lisence.xml")) {
            String base64 = null;
            if(name.toLowerCase().endsWith(".dwg")){
                License license = new License();
                license.setLicense(is);
                // è°ƒç”¨Image类的Load方法来加载输入的DWG文件。
                Image image = Image.load(file.getInputStream());
                // åˆ›å»ºCadRasterizationOptions实例以启用CAD栅格化选项。
                CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
                // è®¾ç½®å®½åº¦
                rasterizationOptions.setPageWidth(1000);
                rasterizationOptions.setPageWidth(width);
                // è®¾ç½®é«˜åº¦
                rasterizationOptions.setPageHeight(700);
                rasterizationOptions.setPageHeight(height);
                // è°ƒç”¨è¿™ä¸ªsetEmbedBackground方法来设置背景色是否不等于输出格式的默认背景色
                //rasterizationOptions.setEmbedBackground(true);
                // ä¸ºç”Ÿæˆçš„图像创建一个PngOptions的实例,并将其分配给ImageOptionsBase类的实例。
@@ -94,10 +91,12 @@
            OrderFile orderFile = new OrderFile();
            orderFile.setImageBase64(base64);
            orderFile.setFileName(file.getName());
            orderFile.setFileName(name);
            orderFile.setOrderId(orderId);
            orderFile.setOrderNumber(orderNumber);
            orderFile.setFileData(Arrays.toString(file.getBytes()));
            orderFile.setWidth(width);
            orderFile.setHeight(height);
            OrderFile orderFileExist = orderFileMapper
                    .selectOne(new LambdaQueryWrapper<OrderFile>()
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -9,7 +9,9 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.example.erp.common.Constants;
import com.example.erp.common.Result;
import com.example.erp.dto.sd.OrderDTO;
import com.example.erp.dto.sd.OrderSearchDTO;
import com.example.erp.entity.sd.*;
@@ -1123,4 +1125,12 @@
        map.put("data",processList);
        return map;
    }
    public Result sizeCheck(String orderId) {
        return Result.success(
                orderMapper.update(null,
                        new UpdateWrapper<Order>().set("size_check",1).eq("order_id",orderId))
        );
    }
}
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -1156,19 +1156,19 @@
               od.processing_note                                    as processingNote,
               width,
               height,
               #{printQuantity}  as quantity,
               if(#{printQuantity}>0 ,#{printQuantity},fc.quantity)  as quantity,
               CONCAT(
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
                       ' X ',
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
                       ' = ',#{printQuantity} )      as size,
                       ' = ',if(#{printQuantity}>0 ,#{printQuantity},fc.quantity) )      as size,
               CONCAT(
                   od.order_number,')      ',
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
                       ' X ',
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
                       ' = ',#{printQuantity} )      as numberSize,
                       ' = ',if(#{printQuantity}>0 ,#{printQuantity},fc.quantity) )      as numberSize,
            CONCAT(
            od.order_number,')','   ',
            TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
@@ -3979,7 +3979,8 @@
        c.print_status,
        c.print_number,
        o.project,
        o.customer_name
        o.customer_name,
        b.process
        from pp.flow_card as c
        left join