north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -1,7 +1,7 @@ <script setup> import request from "@/utils/request" import {ElDatePicker, ElMessage} from "element-plus" import {nextTick, onMounted, onUnmounted, reactive, ref, watch} from "vue" import {nextTick, onMounted, onUnmounted, reactive, ref, watch, computed } from "vue" import {Search} from "@element-plus/icons-vue" import {useRouter} from 'vue-router' import {changeFilterEvent, filterChanged} from "@/hook" @@ -277,148 +277,171 @@ } } // 原始图片数组 picture // 1. 按 orderNumber 分组 const pictureMap = computed(() => { const map = {} picture.value.forEach(p => { if (!map[p.orderNumber]) map[p.orderNumber] = [] map[p.orderNumber].push(p) }) return map }) // 2. 根据流程卡 detailList 合并序号对应图片 const getPicturesByDetailList = (detailList) => { let pics = [] detailList.forEach(d => { const num = d.order_number if (pictureMap.value[num]) { pics = pics.concat(pictureMap.value[num]) } }) return pics } </script> <template> <!-- <el-button id="printButton" @click="printFlowCard();">{{ $t('basicData.print') }}</el-button>--> <div id="printFlowCard"> <table v-for="(item,id) in produceList" id="contentTable" :key="id" style="border-bottom: none"> <thead> <tr v-for="(itemFlow,index) in item.detail" :key="index"> <td colspan="31"> <div style="float: left;"><img id="img-pic" style="width: 42px;height: 32px" src="@/assets/northGlass.ico" alt=""><input style="border: none;font-size: 28px;width: 70px;margin: 5px "/></div> <div id="bj" v-if="printFc=='true'" style="float: right;font-size: 28px">{{ id + 1 }}</div> <div id="bj" v-else style="float: right;font-size: 28px"></div> <div>{{ company.companyName }}</div> <div id="contentDiv" v-for="(item,id) in produceList" :key="id"> <table id="contentTable" style="border-bottom: none"> <thead> <tr v-for="(itemFlow,index) in item.detail" :key="index"> <td colspan="31"> <div style="float: left;"><img id="img-pic" style="width: 42px;height: 32px" src="@/assets/northGlass.ico" alt=""><input style="border: none;font-size: 28px;width: 70px;margin: 5px "/></div> <div id="bj" v-if="printFc=='true'" style="float: right;font-size: 28px">{{ id + 1 }}</div> <div id="bj" v-else style="float: right;font-size: 28px"></div> <div>{{ company.companyName }}</div> <div> 生产流程卡<span style="font-weight: bold" v-if="printProject!=null">({{ printProject }})</span> <span style="font-weight: bold" v-if="props.compound!=null">({{ props.compound }}层同架)</span> </div> <div style="font-weight: bolder;display: flex;justify-content:space-between"> <div> 生产流程卡<span style="font-weight: bold" v-if="printProject!=null">({{ printProject }})</span> <span style="font-weight: bold" v-if="props.compound!=null">({{ props.compound }}层同架)</span> </div> <div style="font-weight: bolder;display: flex;justify-content:space-between"> <div> 打印人:{{user.user.userName}} 时间:{{formattedTime}} <span style="font-weight: bolder;" > 打印人:{{user.user.userName}} 时间:{{formattedTime}} <span style="font-weight: bolder;" > 总数量:{{itemFlow.orderQuantity}} 总面积:{{itemFlow.orderArea}} </span> <span style="font-weight: bolder;" > <span style="font-weight: bolder;" > 打印总数量:{{totalQuantity}} 打印总面积:{{totalArea}} </span> </div> <div> <span v-if="name=='天津北玻玻璃工业技术有限公司(TJBB-QR7.1-01)'" style="font-size: 10px">{{itemFlow.otherRemarks}}</span> {{itemFlow.rack}} 流程卡号: {{ itemFlow.process_id }}/{{ itemFlow.technologyNumber }} 共 {{ item.count }} 架 </div> </div> </td> </tr> <tr v-for="(items,index) in item.detail" :key="index"> <td class="tdNowrap">客户名称:</td> <td colspan="2">{{ items.customer_name }}</td> <td class="tdNowrap">项目名称:</td> <td colspan="4" style="min-width: 250px;">{{ items.projectBatch }}</td> <td class="tdNowrap">工艺流程:</td> <td :colspan="2+item.processList.length*2" style="width: 500px">{{ items.process }}</td> </tr> <tr v-for="(itemTr,index) in item.detail" :key="index"> <td class="tdNowrap">磨边类型:</td> <td v-if="name=='天津北玻玻璃工业技术有限公司(TJBB-QR7.1-01)'" colspan="2">{{ itemTr.other_remarks }}</td> <td v-else colspan="2">{{ itemTr.edging_type }}</td> <td class="tdNowrap">单片名称:</td> <td colspan="4">{{ itemTr.glass_child }}</td> <td class="tdNowrap">产品名称:</td> <td :colspan="2+item.processList.length*2">{{ itemTr.product_name }}</td> </tr> <tr> <td rowspan='2'>序号</td> <td rowspan='2'>图号</td> <td rowspan='2'>编号</td> <td rowspan="2">小片顺序</td> <td v-if="name=='浙江巨星嘉泰新材料有限公司'" rowspan='2' style="width: 90px">宽(弧长)*高</td> <td v-else rowspan='2' style="width: 90px">宽*高</td> <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="2">{{ itemPr.process }}</td> </tr> <tr> <template v-for=" n in item.processList.length"> <td>{{ company.printLabel.printFlowCard.patch }}</td> <td>{{ company.printLabel.printFlowCard.lackOf }}</td> </template> </tr> </thead> <tbody> <div> <span v-if="name=='天津北玻玻璃工业技术有限公司(TJBB-QR7.1-01)'" style="font-size: 10px">{{itemFlow.otherRemarks}}</span> {{itemFlow.rack}} 流程卡号: {{ itemFlow.process_id }}/{{ itemFlow.technologyNumber }} 共 {{ item.count }} 架 </div> </div> </td> </tr> <tr v-for="(items,index) in item.detail" :key="index"> <td class="tdNowrap">客户名称:</td> <td colspan="2">{{ items.customer_name }}</td> <td class="tdNowrap">项目名称:</td> <td colspan="4" style="min-width: 250px;">{{ items.projectBatch }}</td> <td class="tdNowrap">工艺流程:</td> <td :colspan="2+item.processList.length*2" style="width: 500px">{{ items.process }}</td> </tr> <tr v-for="(itemTr,index) in item.detail" :key="index"> <td class="tdNowrap">磨边类型:</td> <td v-if="name=='天津北玻玻璃工业技术有限公司(TJBB-QR7.1-01)'" colspan="2">{{ itemTr.other_remarks }}</td> <td v-else colspan="2">{{ itemTr.edging_type }}</td> <td class="tdNowrap">单片名称:</td> <td colspan="4">{{ itemTr.glass_child }}</td> <td class="tdNowrap">产品名称:</td> <td :colspan="2+item.processList.length*2">{{ 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' style="width: 90px">宽(弧长)*高</td> <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="2">{{ itemPr.process }}</td> </tr> <tr> <template v-for=" n in item.processList.length"> <td>{{ company.printLabel.printFlowCard.patch }}</td> <td>{{ company.printLabel.printFlowCard.lackOf }}</td> </template> </tr> </thead> <tbody> <tr v-for="(itemDatile,index) in item.detailList" :key="index"> <td>{{ itemDatile.order_number }}</td> <td>{{ itemDatile.mapNumber }}</td> <td v-if="name=='金华福喜天成玻璃有限公司'">{{ itemDatile.building_number }}</td> <td v-else>{{ itemDatile.s01Value }}</td> <td>{{ itemDatile.technology_number }}</td> <td>{{ itemDatile.child_width }}</td> <td class="item" style="width: 60px;height: 100%;"> <input v-model="itemDatile.quantity" style="width: 100%;height: 100%;font-weight: bold;" @keyup="handleSummary()"/> </td> <td>{{ itemDatile.total_area }}</td> <td>{{ itemDatile.perimeter }}</td> <td>{{ itemDatile.bend_radius }}</td> <td v-if="name!='金华福喜天成玻璃有限公司'" style="white-space: normal; word-break: break-all; word-wrap: break-word;">{{ itemDatile.remarks }}</td> <td v-else>{{ itemDatile.remarks }}</td> <template v-for=" n in item.processList.length"> <td></td> <td></td> </template> </tr> <tr style="height: 14px"> <td v-for="(itemsum,index) in item.detail" :key="index" colspan="31"> 数量: <label>{{ itemsum.quantity }}</label> 面积: <label>{{ itemsum.gross_area }}</label> 重量: <label>{{ parseFloat(itemsum.weight.toFixed(2)) }}</label> </td> </tr> <tr v-for="(itemtextarea,index) in item.detail" :key="index"> <tr v-for="(itemDatile,index) in item.detailList" :key="index"> <td>{{ itemDatile.order_number }}</td> <td>{{ itemDatile.mapNumber }}</td> <td v-if="name=='金华福喜天成玻璃有限公司'">{{ itemDatile.building_number }}</td> <td v-else>{{ itemDatile.s01Value }}</td> <td>{{ itemDatile.technology_number }}</td> <td>{{ itemDatile.child_width }}</td> <td class="item" style="width: 60px;height: 100%;"> <input v-model="itemDatile.quantity" style="width: 100%;height: 100%;font-weight: bold;" @keyup="handleSummary()"/> </td> <td>{{ itemDatile.total_area }}</td> <td>{{ itemDatile.perimeter }}</td> <td>{{ itemDatile.bend_radius }}</td> <td>{{ itemDatile.remarks }}</td> <template v-for=" n in item.processList.length"> <td></td> <td></td> </template> </tr> <tr style="height: 14px"> <td v-for="(itemsum,index) in item.detail" :key="index" colspan="31"> 数量: <label>{{ itemsum.quantity }}</label> 面积: <label>{{ itemsum.gross_area }}</label> 重量: <label>{{ parseFloat(itemsum.weight.toFixed(2)) }}</label> </td> </tr> <tr v-for="(itemtextarea,index) in item.detail" :key="index"> <td>完工签名</td> <td>完工签名</td> <td colspan="2"></td> <td colspan="2"></td> <td colspan="2"></td> <td colspan="2"></td> <td colspan="2"></td> <template v-for=" n in item.processList.length"> <td colspan="2"></td> </template> </tr> <tr> <td>生产日期</td> <td colspan="2"></td> <td colspan="2"></td> <td colspan="2"></td> <td colspan="2"></td> <td colspan="2"></td> <template v-for=" n in item.processList.length"> <td colspan="2"></td> <td colspan="2"></td> <td colspan="2"></td> <td colspan="2"></td> <template v-for=" n in item.processList.length"> <td colspan="2"></td> </template> </tr> <tr> <td>生产日期</td> <td colspan="2"></td> <td colspan="2"></td> <td colspan="2"></td> <td colspan="2"></td> <td colspan="2"></td> <template v-for=" n in item.processList.length"> <td colspan="2"></td> </template> </tr> </template> </tr> <tr> <td>原片箱号</td> <td colspan="31"></td> </tr> <tr v-for="(qrCodeItem,index) in item.detail" :key="index"> <td colspan="31"> <tr> <td>原片箱号</td> <td colspan="31"></td> </tr> <tr v-for="(qrCodeItem,index) in item.detail" :key="index"> <td colspan="31"> <span style="display: flex;"> <span v-for="(qrCodeItems,index) in qrCodeItem.qrcodeList" :key="index" style="display: flex;width: 250px"> <div class='qrCode' style="width: 80px;height: 80px;"> @@ -429,32 +452,30 @@ }}</span> </span> </span> </td> </td> </tr> <tr v-if="company.remarkSwitch=='1'"> <td colspan="31"> <div style="display: flex;flex-wrap: wrap;"> <div class="nuber_xx" v-for="(itemremark,index) in item.remarkList" :key="index"> </tr> <tr v-if="company.remarkSwitch=='1'"> <td colspan="31"> <div style="display: flex;flex-wrap: wrap;"> <div class="nuber_xx" v-for="(itemremark,index) in item.remarkList" :key="index"> <span v-if="!(itemremark.S02==null&&itemremark.S03==null&&itemremark.S04==null&&itemremark.S05==null)"> 编号:{{itemremark.S01}} </span> <span v-if="itemremark.S02!=null&&itemremark.S02!=''">备注1:{{itemremark.S02}}</span> <span v-if="itemremark.S03!=null&&itemremark.S03!=''">备注2:{{itemremark.S03}}</span> <span v-if="itemremark.S04!=null&&itemremark.S04!=''">备注3:{{itemremark.S04}}</span> <span v-if="itemremark.S05!=null&&itemremark.S05!=''">备注4:{{itemremark.S05}}</span> </div> <span v-if="itemremark.S02!=null&&itemremark.S02!=''">备注1:{{itemremark.S02}}</span> <span v-if="itemremark.S03!=null&&itemremark.S03!=''">备注2:{{itemremark.S03}}</span> <span v-if="itemremark.S04!=null&&itemremark.S04!=''">备注3:{{itemremark.S04}}</span> <span v-if="itemremark.S05!=null&&itemremark.S05!=''">备注4:{{itemremark.S05}}</span> </div> </td> </tr> </tbody> <tfoot> </div> </td> </tr> </tbody> <tfoot> <tr v-for="(itemtextareas,index) in item.detail" :key="index"> <td colspan="31" style="width: 480px;height: 150px "> <div v-if="name=='浙江巨星嘉泰新材料有限公司'" style="width: 100%;height: 100%;text-align: left"><textarea style="height: 99%;width: 99%;border: none;;font-size: 16px;font-weight: bold;overflow: hidden;text-align: left;vertical-align: middle">{{itemtextareas.processing_note}}</textarea> </div> <div v-else style="width: 100%;height: 100%;text-align: left"><textarea style="height: 99%;width: 99%;border: none;;font-size: 14px;overflow: hidden;text-align: left;vertical-align: middle">{{itemtextareas.processing_note}}</textarea> <div style="width: 100%;height: 100%;text-align: left"><textarea style="height: 99%;width: 99%;border: none;;font-size: 16px;font-weight: bold;overflow: hidden;text-align: left;vertical-align: middle">{{itemtextareas.processing_note}}</textarea> </div> </td> </tr> @@ -468,16 +489,15 @@ </tr> </tfoot> </table> <el-image class="picture" v-for="(item,index) in picture" :src="item.imageBase64" :preview-src-list="[item.imageBase64]" fit="contain" style="max-height: 700px;" /> <el-image v-for="(img, index) in getPicturesByDetailList(item.detailList)" :key="index" :src="img.imageBase64" fit="contain" style="max-width: 400px;max-lines: 600px" /> </div> </div> </template> <style scoped> @@ -495,6 +515,10 @@ //font-weight: bolder; height: 600px; } #contentDiv { width: 100%; } #contentTable { border-collapse: collapse; border: 1px solid black; north-glass-erp/northglass-erp/src/stores/sd/order/orderInfo.js
@@ -85,6 +85,20 @@ list:[], data:{} } this.selectReportingWorksFilter={ list:ref([]), data:{ order: { project: '', batch:'' }, orderGlassDetail: { completedArea:'', wornArea:'' } } } this.selectProcessCardFilter={ list:[], data:{ north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -1706,10 +1706,11 @@ } //图片上传名称 const getUploadPicture = async (name, fileData) => { const getUploadPicture = async (name, fileData,fileJson) => { const row = xGrid.value.getCurrentRecord() row.fileName = name row.fileData = fileData row.fileJson = fileJson row.shape=2 ElMessage.success(t('basicData.msg.saveSuccess')) alienEditorVisible.value=false north-glass-erp/src/main/java/com/example/erp/controller/AppController.java
@@ -1,8 +1,11 @@ package com.example.erp.controller; import cn.dev33.satoken.annotation.SaCheckPermission; import com.example.erp.common.Result; import com.example.erp.dto.pp.WorkInProgressDTO; import com.example.erp.entity.pp.FlowCard; import com.example.erp.entity.sd.Order; import com.example.erp.entity.sd.OrderDetail; import com.example.erp.service.mm.FinishedGoodsInventoryService; import com.example.erp.service.mm.MaterialInventoryService; import com.example.erp.service.pp.ReportService; @@ -15,6 +18,7 @@ import java.time.LocalDate; import java.util.List; import java.util.Map; @RestController @RequestMapping("/app") @@ -54,8 +58,33 @@ @ApiOperation("半成品库存报表") @PostMapping("/getWorkInProgress/{selectProcesses}") public Result workInProgress(@PathVariable String selectProcesses,WorkInProgressDTO workInProgressDTO) { public Result getworkInProgress(@PathVariable String selectProcesses,WorkInProgressDTO workInProgressDTO) { return Result.success(reportService.workInProgressSv(1, 999999999, "", "", selectProcesses,"","", workInProgressDTO)); } @ApiOperation("可入库的成品查询接口") @PostMapping("/getSelectWarehousingList") public Result getSelectWarehousingList(@RequestBody String processId){ return Result.success(finishedGoodsInventoryService.getSelectWarehousingApp(processId)); } @ApiOperation("成品入库接口") @PostMapping("/addSelectWarehousing") public Result addSelectWarehousing( @RequestBody Map<String,Object> object){ return Result.success(finishedGoodsInventoryService.addSelectWarehousing(object)); } @ApiOperation("可发货的成品查询接口") @PostMapping("/getSelectDeliveryDetailList") public Result getSelectDeliveryDetailList(){ return Result.success(finishedGoodsInventoryService.getSelectDeliveryDetailApp()); } @ApiOperation("成品出库接口") @PostMapping("/addDeliveryDetail") public Result addDeliveryDetail( @RequestBody Map<String,Object> object){ return Result.success(finishedGoodsInventoryService.addDeliveryDetail(object)); } } north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderFile.java
@@ -16,6 +16,7 @@ private String orderNumber; private String fileName; private String fileData; private String fileJson; private String imageBase64; private LocalDateTime createTime; north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
@@ -78,6 +78,19 @@ return map; } public Map<String, Object> getSelectWarehousingApp(String processId) { Map<String, Object> map = new HashMap<>(); FlowCard flowCard=new FlowCard(); if(processId!=null){ flowCard.setProcessId(processId.substring(0,14)); map.put("data", finishedGoodsInventoryMapper.getSelectWarehousing(0, 999999999, flowCard)); map.put("total", finishedGoodsInventoryMapper.getSelectWarehousingPageTotal(0, 999999999, flowCard)); } return map; } public String addSelectWarehousing(Map<String,Object> object) { String saveState = "true"; Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); @@ -254,6 +267,14 @@ return map; } public Map<String, Object> getSelectDeliveryDetailApp() { Map<String, Object> map = new HashMap<>(); OrderDetail orderDetail=new OrderDetail(); map.put("data", finishedGoodsInventoryMapper.getSelectDeliveryDetail(0, 999999999, orderDetail)); map.put("total", finishedGoodsInventoryMapper.getSelectDeliveryDetailPageTotal(0, 999999999, orderDetail)); return map; } public String addDeliveryDetail(Map<String,Object> object) { String saveState = "true"; north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
@@ -746,6 +746,14 @@ JSONObject reportingWorkJson = new JSONObject(reportingWorkMap); ReportingWork reportingWork = JSONObject.parseObject(JSONObject.toJSONString(reportingWorkJson.get("title")), ReportingWork.class); List<ReportingWorkDetail> reportingWorkDetails = JSONArray.parseArray(JSONObject.toJSONString(reportingWorkJson.get("detail")), ReportingWorkDetail.class); ReportingWork reportingWork1 = reportingWorkMapper.selectOne(new LambdaQueryWrapper<ReportingWork>() .eq(ReportingWork::getReportingWorkId, reportingWork.getReportingWorkId())); reportingWork.setCreatorId(reportingWork1.getCreatorId()); reportingWork.setCreator(reportingWork1.getCreator()); reportingWork.setUpdateTime(LocalDateTime.now()); //查询该报工是否为报工转移订单 Integer transferState = reportingWorkMapper.selectReviewedState(reportingWork.getReportingWorkId()); if (transferState !=3){ @@ -1690,6 +1698,8 @@ stringRedisTemplate.rename(key, "upload:" + key); }); } }else{ return; } //添加暂停时间,方式获取map时,redis中数据还在变化 Thread.sleep(200); north-glass-erp/src/main/java/com/example/erp/service/sd/OrderFileService.java
@@ -33,7 +33,7 @@ result = orderDetails.stream() .collect(Collectors.collectingAndThen( Collectors.toMap( map -> map.get("order_id") + "_" + map.get("order_number"), map -> map.get("order_id"), map -> map, (existing, replacement) -> existing // 保留第一个出现的 ), @@ -42,13 +42,12 @@ //循环获取图片 List<OrderFile> orderFiles = new ArrayList<>(); for (Map<String,Object> obj : result) { OrderFile orderFile = orderFileMapper.selectOne(new QueryWrapper<OrderFile>() List<OrderFile> orderFile = orderFileMapper.selectList(new QueryWrapper<OrderFile>() .select("order_id, order_number, image_base64") .eq("order_id", obj.get("order_id")) .eq("order_number", obj.get("order_number")) ); if (orderFile != null){ orderFiles.add(orderFile); orderFiles.addAll(orderFile); } } return orderFiles; north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml
@@ -347,13 +347,13 @@ left join sd.`order` o on o.order_id = dd.order_id <where> and dd.delivery_detail_state=1 <if test="orderDetail.deliveryDetail.deliveryId != null and orderDetail.deliveryDetail.deliveryId != ''"> <if test="orderDetail.deliveryDetail != null and orderDetail.deliveryDetail.deliveryId != null and orderDetail.deliveryDetail.deliveryId != ''"> and dd.delivery_id regexp #{orderDetail.deliveryDetail.deliveryId} </if> <if test="orderDetail.deliveryDetail.orderId != null and orderDetail.deliveryDetail.orderId != ''"> <if test="orderDetail.deliveryDetail != null and orderDetail.deliveryDetail.orderId != null and orderDetail.deliveryDetail.orderId != ''"> and dd.order_id regexp #{orderDetail.deliveryDetail.orderId} </if> <if test="orderDetail.order.project != null and orderDetail.order.project != ''"> <if test="orderDetail.order != null and orderDetail.order.project != null and orderDetail.order.project != ''"> and o.project regexp #{orderDetail.order.project} </if> <if test="orderDetail.productId != null and orderDetail.productId != ''"> @@ -362,7 +362,7 @@ <if test="orderDetail.productName != null and orderDetail.productName != ''"> and od.product_name regexp #{orderDetail.productName} </if> <if test="orderDetail.delivery.customerName != null and orderDetail.delivery.customerName != ''"> <if test="orderDetail.delivery != null and orderDetail.delivery.customerName != null and orderDetail.delivery.customerName != ''"> and d.customer_name regexp #{orderDetail.delivery.customerName} </if> <if test="orderDetail.width != null and orderDetail.width != ''"> @@ -371,7 +371,7 @@ <if test="orderDetail.height != null and orderDetail.height != ''"> and od.height regexp REGEXP_REPLACE(#{orderDetail.height},'\\.0+$','') </if> <if test="orderDetail.delivery.quantity != null and orderDetail.delivery.quantity != ''"> <if test="orderDetail.delivery != null and orderDetail.delivery.quantity != null and orderDetail.delivery.quantity != ''"> and d.quantity regexp #{orderDetail.delivery.quantity} </if> <if test="orderDetail.warehouseNum != null and orderDetail.warehouseNum != ''"> @@ -380,19 +380,19 @@ <if test="orderDetail.buildingNumber != null and orderDetail.buildingNumber != ''"> and od.building_number regexp #{orderDetail.buildingNumber} </if> <if test="orderDetail.delivery.area != null and orderDetail.delivery.area != ''"> <if test="orderDetail.delivery != null and orderDetail.delivery.area != null and orderDetail.delivery.area != ''"> and d.area regexp REGEXP_REPLACE(#{orderDetail.delivery.area},'\\.0+$','') </if> <if test="orderDetail.deliveryDetail.orderNumber != null and orderDetail.deliveryDetail.orderNumber != ''"> <if test="orderDetail.deliveryDetail != null and orderDetail.deliveryDetail.orderNumber != null and orderDetail.deliveryDetail.orderNumber != ''"> and dd.order_number regexp #{orderDetail.deliveryDetail.orderNumber} </if> <if test="orderDetail.delivery.creator != null and orderDetail.delivery.creator != ''"> <if test="orderDetail.delivery != null and orderDetail.delivery.creator != null and orderDetail.delivery.creator != ''"> and d.creator regexp #{orderDetail.delivery.creator} </if> <if test="orderDetail.deliveryDetail.createTime != null and orderDetail.deliveryDetail.createTime != ''"> <if test="orderDetail.deliveryDetail != null and orderDetail.deliveryDetail.createTime != null and orderDetail.deliveryDetail.createTime != ''"> and dd.create_time regexp #{orderDetail.deliveryDetail.createTime} </if> <if test="orderDetail.deliveryDetail.deliveryDetailRemakes != null and orderDetail.deliveryDetail.deliveryDetailRemakes != ''"> <if test="orderDetail.deliveryDetail != null and orderDetail.deliveryDetail.deliveryDetailRemakes != null and orderDetail.deliveryDetail.deliveryDetailRemakes != ''"> and dd.delivery_detail_remakes regexp #{orderDetail.deliveryDetail.deliveryDetailRemakes} </if> </where> @@ -427,13 +427,13 @@ <where> and dd.delivery_detail_state=1 and d.delivery_state=2 <if test="orderDetail.deliveryDetail.deliveryId != null and orderDetail.deliveryDetail.deliveryId != ''"> <if test="orderDetail.deliveryDetail != null and orderDetail.deliveryDetail.deliveryId != null and orderDetail.deliveryDetail.deliveryId != ''"> and dd.delivery_id regexp #{orderDetail.deliveryDetail.deliveryId} </if> <if test="orderDetail.deliveryDetail.orderId != null and orderDetail.deliveryDetail.orderId != ''"> <if test="orderDetail.deliveryDetail != null and orderDetail.deliveryDetail.orderId != null and orderDetail.deliveryDetail.orderId != ''"> and dd.order_id regexp #{orderDetail.deliveryDetail.orderId} </if> <if test="orderDetail.order.project != null and orderDetail.order.project != ''"> <if test="orderDetail.order != null and orderDetail.order.project != null and orderDetail.order.project != ''"> and o.project regexp #{orderDetail.order.project} </if> <if test="orderDetail.productId != null and orderDetail.productId != ''"> @@ -442,7 +442,7 @@ <if test="orderDetail.productName != null and orderDetail.productName != ''"> and od.product_name regexp #{orderDetail.productName} </if> <if test="orderDetail.delivery.customerName != null and orderDetail.delivery.customerName != ''"> <if test="orderDetail.delivery != null and orderDetail.delivery.customerName != null and orderDetail.delivery.customerName != ''"> and d.customer_name regexp #{orderDetail.delivery.customerName} </if> <if test="orderDetail.width != null and orderDetail.width != ''"> @@ -451,7 +451,7 @@ <if test="orderDetail.height != null and orderDetail.height != ''"> and od.height regexp REGEXP_REPLACE(#{orderDetail.height},'\\.0+$','') </if> <if test="orderDetail.delivery.quantity != null and orderDetail.delivery.quantity != ''"> <if test="orderDetail.delivery != null and orderDetail.delivery.quantity != null and orderDetail.delivery.quantity != ''"> and d.quantity regexp #{orderDetail.delivery.quantity} </if> <if test="orderDetail.warehouseNum != null and orderDetail.warehouseNum != ''"> @@ -460,19 +460,19 @@ <if test="orderDetail.buildingNumber != null and orderDetail.buildingNumber != ''"> and od.building_number regexp #{orderDetail.buildingNumber} </if> <if test="orderDetail.delivery.area != null and orderDetail.delivery.area != ''"> <if test="orderDetail.delivery != null and orderDetail.delivery.area != null and orderDetail.delivery.area != ''"> and d.area regexp REGEXP_REPLACE(#{orderDetail.delivery.area},'\\.0+$','') </if> <if test="orderDetail.deliveryDetail.orderNumber != null and orderDetail.deliveryDetail.orderNumber != ''"> <if test="orderDetail.deliveryDetail != null and orderDetail.deliveryDetail.orderNumber != null and orderDetail.deliveryDetail.orderNumber != ''"> and dd.order_number regexp #{orderDetail.deliveryDetail.orderNumber} </if> <if test="orderDetail.delivery.creator != null and orderDetail.delivery.creator != ''"> <if test="orderDetail.delivery != null and orderDetail.delivery.creator != null and orderDetail.delivery.creator != ''"> and d.creator regexp #{orderDetail.delivery.creator} </if> <if test="orderDetail.deliveryDetail.createTime != null and orderDetail.deliveryDetail.createTime != ''"> <if test="orderDetail.deliveryDetail != null and orderDetail.deliveryDetail.createTime != null and orderDetail.deliveryDetail.createTime != ''"> and dd.create_time regexp #{orderDetail.deliveryDetail.createTime} </if> <if test="orderDetail.deliveryDetail.deliveryDetailRemakes != null and orderDetail.deliveryDetail.deliveryDetailRemakes != ''"> <if test="orderDetail.deliveryDetail != null and orderDetail.deliveryDetail.deliveryDetailRemakes != null and orderDetail.deliveryDetail.deliveryDetailRemakes != ''"> and dd.delivery_detail_remakes regexp #{orderDetail.deliveryDetail.deliveryDetailRemakes} </if> </where> @@ -733,43 +733,43 @@ o.order_id=fc.order_id <where> and fc.received_quantity <![CDATA[<]]> fc.min_inventory_quantity and o.create_order>0 <if test="flowCard.order.orderId != null and flowCard.order.orderId != ''"> <if test="flowCard.order != null and flowCard.order.orderId != null and flowCard.order.orderId != ''"> and o.order_id regexp #{flowCard.order.orderId} </if> <if test="flowCard.orderDetail.buildingNumber != null and flowCard.orderDetail.buildingNumber != ''"> <if test="flowCard.orderDetail != null and flowCard.orderDetail.buildingNumber != null and flowCard.orderDetail.buildingNumber != ''"> and od.building_number regexp #{flowCard.orderDetail.buildingNumber} </if> <if test="flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''"> <if test="flowCard.orderDetail != null and flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''"> and od.product_id regexp #{flowCard.orderDetail.productId} </if> <if test="flowCard.orderDetail.productName != null and flowCard.orderDetail.productName != ''"> <if test="flowCard.orderDetail != null and flowCard.orderDetail.productName != null and flowCard.orderDetail.productName != ''"> and od.product_name regexp #{flowCard.orderDetail.productName} </if> <if test="flowCard.orderDetail.width != null and flowCard.orderDetail.width != ''"> <if test="flowCard.orderDetail != null and flowCard.orderDetail.width != null and flowCard.orderDetail.width != ''"> and od.width regexp REGEXP_REPLACE(#{flowCard.orderDetail.width},'\\.0+$','') </if> <if test="flowCard.orderDetail.height != null and flowCard.orderDetail.height != ''"> <if test="flowCard.orderDetail != null and flowCard.orderDetail.height != null and flowCard.orderDetail.height != ''"> and od.height regexp REGEXP_REPLACE(#{flowCard.orderDetail.height},'\\.0+$','') </if> <if test="flowCard.order.creator != null and flowCard.order.creator != ''"> <if test="flowCard.order != null and flowCard.order.creator != null and flowCard.order.creator != ''"> and o.creator regexp #{flowCard.order.creator} </if> <if test="flowCard.order.project != null and flowCard.order.project != ''"> <if test="flowCard.order != null and flowCard.order.project != null and flowCard.order.project != ''"> and o.project regexp #{flowCard.order.project} </if> <if test="flowCard.orderNumber != null and flowCard.orderNumber != ''"> and fc.order_number regexp #{flowCard.orderNumber} </if> <if test="flowCard.orderDetail.quantity != null and flowCard.orderDetail.quantity != ''"> <if test="flowCard.orderDetail != null and flowCard.orderDetail.quantity != null and flowCard.orderDetail.quantity != ''"> and od.quantity regexp #{flowCard.orderDetail.quantity} </if> <if test="flowCard.inventoryQuantity != null and flowCard.inventoryQuantity != ''"> and fc.inventory_quantity regexp #{flowCard.inventoryQuantity} </if> <if test="flowCard.order.area != null and flowCard.order.area != ''"> <if test="flowCard.order != null and flowCard.order.area != null and flowCard.order.area != ''"> and o.area regexp REGEXP_REPLACE(#{flowCard.order.area},'\\.0+$','') </if> <if test="flowCard.order.batch != null and flowCard.order.batch != ''"> <if test="flowCard.order != null and flowCard.order.batch != null and flowCard.order.batch != ''"> and o.batch regexp #{flowCard.order.batch} </if> <if test="flowCard.processId != null and flowCard.processId != ''"> @@ -791,43 +791,43 @@ fc.order_id=od.order_id and fc.order_number=od.order_number inner join sd.`order` o on o.order_id=fc.order_id <where> and fc.received_quantity <![CDATA[<]]> fc.inventory_quantity and o.create_order>0 <if test="flowCard.order.orderId != null and flowCard.order.orderId != ''"> <if test="flowCard.order != null and flowCard.order.orderId != null and flowCard.order.orderId != ''"> and o.order_id regexp #{flowCard.order.orderId} </if> <if test="flowCard.orderDetail.buildingNumber != null and flowCard.orderDetail.buildingNumber != ''"> <if test="flowCard.orderDetail != null and flowCard.orderDetail.buildingNumber != null and flowCard.orderDetail.buildingNumber != ''"> and od.building_number regexp #{flowCard.orderDetail.buildingNumber} </if> <if test="flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''"> <if test="flowCard.orderDetail != null and flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''"> and od.product_id regexp #{flowCard.orderDetail.productId} </if> <if test="flowCard.orderDetail.productName != null and flowCard.orderDetail.productName != ''"> <if test="flowCard.orderDetail != null and flowCard.orderDetail.productName != null and flowCard.orderDetail.productName != ''"> and od.product_name regexp #{flowCard.orderDetail.productName} </if> <if test="flowCard.orderDetail.width != null and flowCard.orderDetail.width != ''"> <if test="flowCard.orderDetail != null and flowCard.orderDetail.width != null and flowCard.orderDetail.width != ''"> and od.width regexp REGEXP_REPLACE(#{flowCard.orderDetail.width},'\\.0+$','') </if> <if test="flowCard.orderDetail.height != null and flowCard.orderDetail.height != ''"> <if test="flowCard.orderDetail != null and flowCard.orderDetail.height != null and flowCard.orderDetail.height != ''"> and od.height regexp REGEXP_REPLACE(#{flowCard.orderDetail.height},'\\.0+$','') </if> <if test="flowCard.order.creator != null and flowCard.order.creator != ''"> <if test="flowCard.order != null and flowCard.order.creator != null and flowCard.order.creator != ''"> and o.creator regexp #{flowCard.order.creator} </if> <if test="flowCard.order.project != null and flowCard.order.project != ''"> <if test="flowCard.order != null and flowCard.order.project != null and flowCard.order.project != ''"> and o.project regexp #{flowCard.order.project} </if> <if test="flowCard.orderNumber != null and flowCard.orderNumber != ''"> and fc.order_number regexp #{flowCard.orderNumber} </if> <if test="flowCard.orderDetail.quantity != null and flowCard.orderDetail.quantity != ''"> <if test="flowCard.orderDetail != null and flowCard.orderDetail.quantity != null and flowCard.orderDetail.quantity != ''"> and od.quantity regexp #{flowCard.orderDetail.quantity} </if> <if test="flowCard.inventoryQuantity != null and flowCard.inventoryQuantity != ''"> and fc.inventory_quantity regexp #{flowCard.inventoryQuantity} </if> <if test="flowCard.order.area != null and flowCard.order.area != ''"> <if test="flowCard.order != null and flowCard.order.area != null and flowCard.order.area != ''"> and o.area regexp REGEXP_REPLACE(#{flowCard.order.area},'\\.0+$','') </if> <if test="flowCard.order.batch != null and flowCard.order.batch != ''"> <if test="flowCard.order != null and flowCard.order.batch != null and flowCard.order.batch != ''"> and o.batch regexp #{flowCard.order.batch} </if> <if test="flowCard.processId != null and flowCard.processId != ''"> north-glass-erp/src/test/java/com/example/erp/ErpApplicationTests.java
@@ -19,6 +19,8 @@ @Test void test() { int x =100; System.out.println(6.5+x/8); // stringRedisTemplate.opsForValue().set("test", "test"); // Object test = stringRedisTemplate.opsForValue().get("test"); }