廖井涛
2025-02-18 62af65df5cb991a29fcca1be433c1fdddff03b78
流程卡合架功能完善
7个文件已修改
255 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/pp/SelectProcessCardDetail.vue 69 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/SelectIngredientsStock.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/SelectProcessCardDetail.vue
@@ -117,7 +117,7 @@
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'}
    },
    {field: 'rack',width:100, title: t('架号'), editRender: {name: 'input', attrs: {placeholder: ''}},  slots: {filter: 'num1_filter'}},
    {field: 'rack',width:100, title: t('架号'),  slots: {filter: 'num1_filter'}},
    {field: 'technology_number', title: t('processCard.technologyNumber'),},
    {
      field: 'product_id',
@@ -144,6 +144,8 @@
  toolbarConfig: {
    buttons: [
      {code: 'update', name: t('合架'), status: 'primary'},
      {code: 'save', name: t('保存'), status: 'primary'},
      {code: 'clear', name: t('删除'), status: 'primary'},
    ],
  },
@@ -164,25 +166,66 @@
          const $table = xGrid.value
          if ($table) {
            const selectRecords = $table.getCheckboxRecords()
            if (selectRecords.length == 0) {
            if (selectRecords.length === 0) {
              ElMessage.warning(t('processCard.pleaseCheckTheRequiredData'))
              return;
            }
            let a
            selectRecords.forEach((item) => {
              if(arr.length===0){
                let a='A1'
                a='A1'
                item.rack=a
                arr.push(a)
              }else{
                let a='A'+arr.length
                item.rack=a
                arr.push(a)
              }
              }else{
                if(item.rack==null){
                  a='A'+(arr.length+1)
                  item.rack=a
                }
              }
            })
            if(!arr.includes(a)){
              arr.push(a)
            }
          }
          return;
        }
        case 'clear': {
          const $table = xGrid.value
          if ($table) {
            $table.getTableData().fullData.forEach((item) => {
                item.rack=null
            })
          }
          return;
        }
        case 'save': {
          const $table = xGrid.value
          if ($table) {
            const selectRecords = $table.getCheckboxRecords()
            if (selectRecords.length === 0) {
              ElMessage.warning(t('processCard.pleaseCheckTheRequiredData'))
              return;
            }
            let composingData = ref({
              composing: selectRecords,
            })
            request.post("/processCard/updateProcessCardRack", composingData.value).then((res) => {
              if (res.code == 200 && res.data === true) {
                ElMessage.success(t('basicData.msg.saveSuccess'))
                router.push({
                  path: '/main/processCard/SelectProcessCard',
                  query: {random: Math.random()}
                })
              } else {
                ElMessage.warning(t('basicData.msg.deleteFail'))
              }
            })
          }
          return;
@@ -194,11 +237,7 @@
}
const checkBoxConfig = ({ records, row }) => {
  /*if(row.checked){
    console.log(111)
  }else{
    console.log(222)
  }*/
}
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/SelectIngredientsStock.vue
@@ -802,7 +802,7 @@
      </div>
      <div>
        <el-row>
            <el-select v-model="value" :placeholder="$t('ingredientsStock.pleaseSelectACategory')" @change="getStoreWork">
            <el-select v-model="value" style="width: 200px" :placeholder="$t('ingredientsStock.pleaseSelectACategory')" @change="getStoreWork">
              <el-option
                  v-for="item in options"
                  :key="item.value"
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -628,29 +628,57 @@
          if(result){
            const dataList = xGrid.value.getTableData().visibleData
            const val = getNestedProperty(dataList[result.start],result.cell)+""
            if(!/\d$/.test(val)){
              const matches = val.match(/\D/g);
              const a= val.lastIndexOf(matches[matches.length - 1])
            const numbersArr = []
            const regex = /\d+/g
            let match
            while ((match = regex.exec(val))) {
              numbersArr.push({ number: match[0], index: match.index });
            }
            let numbers=numbersArr[numbersArr.length-1]
            var subStr1 = val.substring(numbers.index);
            var subStr2 = val.substring(0, numbers.index);
            let number = parseInt(subStr1)
            var reg =new RegExp(number,"g")
            dataList.forEach((item,index) =>{
              if(index>=result.start ){
                let newStr = subStr1.replace(reg, number);
                if(parseInt(newStr)>9){
                  newStr=parseInt(newStr)
                }
                setNestedValue(item,result.cell,subStr2+newStr)
                number=number+1
              const numbersArr = []
              const regex = /\d+/g
              let match
              while ((match = regex.exec(val))) {
                numbersArr.push({ number: match[0], index: match.index });
              }
              let numbers=numbersArr[numbersArr.length-1]
              var subStr1 = val.substring(numbers.index);
              var subStr2 = val.substring(0, numbers.index);
              var subStr3 = val.substring(a);
              let number = parseInt(subStr1)
              var reg =new RegExp(number,"g")
              dataList.forEach((item,index) =>{
                if(index>=result.start ){
                  let newStr = subStr1.replace(reg, number);
                  if(parseInt(newStr)>9){
                    newStr=parseInt(newStr)
                  }
                  setNestedValue(item,result.cell,subStr2+newStr+subStr3)
                  number=number+1
                }
            })
              })
            }else{
              const numbersArr = []
              const regex = /\d+/g
              let match
              while ((match = regex.exec(val))) {
                numbersArr.push({ number: match[0], index: match.index });
              }
              let numbers=numbersArr[numbersArr.length-1]
              var subStr1 = val.substring(numbers.index);
              var subStr2 = val.substring(0, numbers.index);
              let number = parseInt(subStr1)
              var reg =new RegExp(number,"g")
              dataList.forEach((item,index) =>{
                if(index>=result.start ){
                  let newStr = subStr1.replace(reg, number);
                  if(parseInt(newStr)>9){
                    newStr=parseInt(newStr)
                  }
                  setNestedValue(item,result.cell,subStr2+newStr)
                  number=number+1
                }
              })
            }
          }
          computedMoney(result.cell)
@@ -662,36 +690,59 @@
          if (result) {
            const dataList = xGrid.value.getTableData().visibleData
            const val = getNestedProperty(dataList[result.start], result.cell)+""
            const numbersArr = []
            const regex = /\d+/g
            let match
            while ((match = regex.exec(val))) {
              numbersArr.push({ number: match[0], index: match.index });
            }
            let numbers=numbersArr[numbersArr.length-1]
            var subStr1 = val.substring(numbers.index);
            var subStr2 = val.substring(0, numbers.index);
            let number = parseInt(subStr1)
            var reg =new RegExp(number,"g")
            dataList.forEach((item,index) =>{
              if(index >= result.start && index <= result.end){
                let newStr = subStr1.replace(reg, number);
                if(parseInt(newStr)>9){
                  newStr=parseInt(newStr)
                }
                setNestedValue(item,result.cell,subStr2+newStr)
                number=number+1
              }
            if(!/\d$/.test(val)){
              const matches = val.match(/\D/g);
              const a= val.lastIndexOf(matches[matches.length - 1])
            })
            /*let numbers = parseInt(val.match(/(\d+)$/))
            const string=val.replace(/\d+$/, '')
            dataList.forEach((item, index) => {
              if (index >= result.start && index <= result.end) {
                setNestedValue(item, result.cell, string + numbers)
                numbers = numbers + 1
              const numbersArr = []
              const regex = /\d+/g
              let match
              while ((match = regex.exec(val))) {
                numbersArr.push({ number: match[0], index: match.index });
              }
            })*/
              let numbers=numbersArr[numbersArr.length-1]
              var subStr1 = val.substring(numbers.index);
              var subStr2 = val.substring(0, numbers.index);
              var subStr3 = val.substring(a);
              let number = parseInt(subStr1)
              var reg =new RegExp(number,"g")
              dataList.forEach((item,index) =>{
                if(index >= result.start && index <= result.end){
                  let newStr = subStr1.replace(reg, number);
                  if(parseInt(newStr)>9){
                    newStr=parseInt(newStr)
                  }
                  setNestedValue(item,result.cell,subStr2+newStr+subStr3)
                  number=number+1
                }
              })
            }else{
              const numbersArr = []
              const regex = /\d+/g
              let match
              while ((match = regex.exec(val))) {
                numbersArr.push({ number: match[0], index: match.index });
              }
              let numbers=numbersArr[numbersArr.length-1]
              var subStr1 = val.substring(numbers.index);
              var subStr2 = val.substring(0, numbers.index);
              let number = parseInt(subStr1)
              var reg =new RegExp(number,"g")
              dataList.forEach((item,index) =>{
                if(index >= result.start && index <= result.end){
                  let newStr = subStr1.replace(reg, number);
                  if(parseInt(newStr)>9){
                    newStr=parseInt(newStr)
                  }
                  setNestedValue(item,result.cell,subStr2+newStr)
                  number=number+1
                }
              })
            }
          }
          computedMoney(result.cell)
@@ -1424,8 +1475,8 @@
          xGrid.value.clearEdit()
          let rowNext = row
          delete rowNext._X_ROW_KEY
          xGrid.value.insertAt(rowNext, xGrid.value.getTableData.length || -1)
          //xGrid.value.insertAt({}, xGrid.value.getTableData.length || -1)
          //xGrid.value.insertAt(rowNext, xGrid.value.getTableData.length || -1)
          xGrid.value.insertAt({}, xGrid.value.getTableData.length || -1)
        }
        const nextRow = xGrid.value.getTableData().fullData[nextRowIndex]
        xGrid.value.setCurrentRow(nextRow)
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
@@ -433,4 +433,11 @@
            @RequestBody Map<String, Object> object) {
        return Result.seccess(flowCardService.flowCardDetail(object));
    }
    @ApiOperation("保存流程卡合架")
    @PostMapping("/updateProcessCardRack")
    public Result updateProcessCardRack(
            @RequestBody Map<String, Object> object) {
        return Result.seccess(flowCardService.updateProcessCardRack(object));
    }
}
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
@@ -90,6 +90,8 @@
    Boolean updateComposing(String processId);
    Boolean updateProcessCardRack(String processId,String technologyNumber,Integer orderNumber,String rack);
    List<Map<String, String>> getPrintLabel(String projectNo);
    List<Map<String, String>> getPrintLabel2(String projectNo);
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -484,6 +484,20 @@
        }
    }
    public Boolean updateProcessCardRack(Map<String, Object> object) {
        List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("composing")), FlowCard.class);
        if (!flowCardList.isEmpty()) {
            for (FlowCard flowCard : flowCardList) {
                flowCardMapper.updateProcessCardRack(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getOrderNumber(),flowCard.getRack());
            }
            return true;
        }
        else {
            return false;
        }
    }
    public Map<String, Object> getSelectPrintLabelSv(String projectNo,String type) {
        Map<String, Object> map = new HashMap<>();
        if(Objects.equals(type, "1")){
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -69,7 +69,7 @@
        if(a.layout_status=0,'不可排版',if(a.layout_status=1,'可排版','已排版')) as layout_status,
        a.merge,
        a.rack
        from (select id,order_id,process_id,order_number, quantity,founder,max(layout_status) as layout_status,create_time,merge,rack from flow_card
        from (select id,order_id,process_id,order_number, quantity,founder,max(layout_status) as layout_status,create_time,max(merge) as merge,rack from flow_card
        group by process_Id,order_number) as a
        left join sd.`order` as b on a.order_Id=b.order_id
        left join sd.order_detail as c on a.order_Id=c.order_id and a.order_Number=c.order_number
@@ -825,6 +825,13 @@
        update flow_card as fc
        set fc.layout_status=1
        where fc.process_id = #{processId}
    </update>
    <!--    复选框修改流程卡合架-->
    <update id="updateProcessCardRack">
        update flow_card as fc
        set fc.rack=#{rack}
        where fc.process_id = #{processId} and fc.technology_number=#{technologyNumber} and order_number=#{orderNumber}
    </update>
    <select id="getPrintLabel">
@@ -2844,6 +2851,7 @@
        a.order_id,
        a.process_id,
        a.technology_number,
        a.order_number,
        c.product_id,
        c.product_name,
        b.project,