From 7f830deebf1aa702fd52b27478b293cd4cbdd990 Mon Sep 17 00:00:00 2001 From: yanshikui Date: Mon, 25 Nov 2024 12:03:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=A0=87=E7=AD=BE=E6=89=93=E5=8D=B0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ktg/framework/config/SecurityConfig.java | 1 - .../ktg/print/controller/PrintController.java | 87 +++++++++++++++++-- 2 files changed, 79 insertions(+), 9 deletions(-) diff --git a/ktg-framework/src/main/java/com/ktg/framework/config/SecurityConfig.java b/ktg-framework/src/main/java/com/ktg/framework/config/SecurityConfig.java index f685286..7d19bb5 100644 --- a/ktg-framework/src/main/java/com/ktg/framework/config/SecurityConfig.java +++ b/ktg-framework/src/main/java/com/ktg/framework/config/SecurityConfig.java @@ -115,7 +115,6 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter .antMatchers("/*/api-docs").anonymous() .antMatchers("/druid/**").anonymous() .antMatchers("/websocket/**").anonymous() - .antMatchers("/barcodePrint/printing/**").anonymous() .antMatchers("/system/autocode/get/**").permitAll() // 除上面外的所有请求全部需要鉴权认证 .anyRequest().authenticated() diff --git a/ktg-print/src/main/java/com/ktg/print/controller/PrintController.java b/ktg-print/src/main/java/com/ktg/print/controller/PrintController.java index 5a63421..15e27a9 100644 --- a/ktg-print/src/main/java/com/ktg/print/controller/PrintController.java +++ b/ktg-print/src/main/java/com/ktg/print/controller/PrintController.java @@ -1,5 +1,6 @@ package com.ktg.print.controller; +import cn.hutool.core.collection.CollectionUtil; import com.ktg.common.constant.UserConstants; import com.ktg.common.core.domain.AjaxResult; import com.ktg.common.utils.StringUtils; @@ -7,6 +8,13 @@ import com.ktg.mes.dv.domain.DvMachinery; import com.ktg.mes.dv.service.IDvMachineryService; import com.ktg.mes.md.domain.MdItem; import com.ktg.mes.md.service.IMdItemService; +import com.ktg.mes.pro.domain.ProCard; +import com.ktg.mes.pro.domain.ProRouteProcess; +import com.ktg.mes.pro.domain.ProRouteProduct; +import com.ktg.mes.pro.mapper.ProRouteMapper; +import com.ktg.mes.pro.mapper.ProRouteProductMapper; +import com.ktg.mes.pro.service.IProCardService; +import com.ktg.mes.pro.service.IProRouteProcessService; import com.ktg.mes.wm.domain.WmBarcode; import com.ktg.mes.wm.service.IWmBarcodeService; import com.ktg.print.domain.PrintBarcodeModel; @@ -25,6 +33,7 @@ import java.util.List; import java.util.Map; import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; +import java.util.stream.Collectors; /** * @author yanshikui @@ -41,6 +50,14 @@ public class PrintController { private IWmBarcodeService wmBarcodeService; @Autowired private IDvMachineryService iDvMachineryService; + @Autowired + private IProCardService iProCardService; + @Autowired + private ProRouteProductMapper proRouteProductMapper; + @Autowired + private ProRouteMapper proRouteMapper; + @Autowired + private IProRouteProcessService iProRouteProcessService; /** @@ -136,7 +153,7 @@ public class PrintController { case UserConstants.BARCODE_TYPE_MACHINERY: //设备标签打印 //封装模板数据 - DvMachinery dvMachinery = null; + DvMachinery dvMachinery = null; if (Optional.ofNullable(bussinessId).isPresent()) { dvMachinery = iDvMachineryService.selectDvMachineryByMachineryId(bussinessId); if (dvMachinery == null) { @@ -162,13 +179,12 @@ public class PrintController { if (CollectionUtils.isEmpty(mBarcodes)) { return AjaxResult.error("未查询到二维码信息!" + "(" + bussinessCode + ")"); } - WmBarcode mBarcode = mBarcodes.get(0); - String equipmentCode = dvMachinery.getMachineryCode(); - String equipmentName = dvMachinery.getMachineryName(); - String specificationAndModel_1 = dvMachinery.getMachinerySpec(); - String param1 = mBarcode.getBarcodeUrl(); dataType = PrintMessageProto.Printer.DataType.Equipment_; - PrintMessageProto.Printer.Equipment equipment = PrintMessageProto.Printer.Equipment.newBuilder().setEquipmentCode(equipmentCode).setEquipmentName(equipmentName).setSpecificationAndModel(specificationAndModel_1).setParam(param1).build(); + PrintMessageProto.Printer.Equipment equipment = PrintMessageProto.Printer.Equipment.newBuilder(). + setEquipmentCode(dvMachinery.getMachineryCode()). + setEquipmentName(dvMachinery.getMachineryName()). + setSpecificationAndModel(dvMachinery.getMachinerySpec()). + setParam(mBarcodes.get(0).getBarcodeUrl()).build(); // 构造对应的消息对象 msg = PrintMessageProto.Printer.newBuilder().setEquipment(equipment).setDataType(dataType).setPrintInfo(printInfo).build(); break; @@ -186,7 +202,62 @@ public class PrintController { break; case UserConstants.BARCODE_TYPE_PROCARD: //流转卡标签打印 - + //封装模板数据 + ProCard proCard = null; + if (Optional.ofNullable(bussinessId).isPresent()) { + proCard = iProCardService.selectProCardByCardId(bussinessId); + if (proCard == null) { + return AjaxResult.error("条码内容数据为空!" + "(" + bussinessId + ")"); + } + } else if (StringUtils.isNotEmpty(bussinessCode)) { + ProCard pcParam = new ProCard(); + pcParam.setCardCode(bussinessCode); + List mList = iProCardService.selectProCardList(pcParam); + if (CollectionUtils.isEmpty(mList)) { + return AjaxResult.error("条码内容数据为空!" + "(" + bussinessCode + ")"); + } + proCard = mList.get(0); + } else { + return AjaxResult.error("缺少业务参数!"); + } + //二维码信息查询 + WmBarcode pcBarcode = new WmBarcode(); + pcBarcode.setBussinessId(proCard.getCardId()); + pcBarcode.setBussinessCode(proCard.getCardCode()); + pcBarcode.setBarcodeType(UserConstants.BARCODE_TYPE_PROCARD); + List pcBarcodes = wmBarcodeService.selectWmBarcodeList(pcBarcode); + if (CollectionUtils.isEmpty(pcBarcodes)) { + return AjaxResult.error("未查询到二维码信息!" + "(" + bussinessCode + ")"); + } + //TODO + Long routeId =-1L,processId = -1L; + ProRouteProduct proRouteProduct = new ProRouteProduct(); + proRouteProduct.setItemId(proCard.getItemId()); + List products = proRouteProductMapper.selectProRouteProductList(proRouteProduct); + if(CollectionUtil.isNotEmpty(products)){ + products = products.stream().filter(i -> proRouteMapper.selectProRouteByRouteId(i.getRouteId()).getEnableFlag().equals(UserConstants.YES)).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(products)){ + routeId = products.get(0).getRouteId(); + } + } + ProRouteProcess proRouteProcess =new ProRouteProcess(); + proRouteProcess.setRouteId(routeId); + String processingProcedure = ""; + List proList = iProRouteProcessService.selectProRouteProcessList(proRouteProcess); + for (ProRouteProcess process:proList) { + processingProcedure = processingProcedure + "," + process.getProcessName(); + } + dataType = PrintMessageProto.Printer.DataType.Printing_OfCirculation; + PrintMessageProto.Printer.PrintingOfCirculation printingOfCirculation = PrintMessageProto.Printer.PrintingOfCirculation.newBuilder(). + setWorkOrderNumber(proCard.getWorkorderCode()). + setMaterialCode(proCard.getItemCode()). + setMaterialName(proCard.getItemName()). + setSpecificationAndModel(proCard.getSpecification()==null?"":proCard.getSpecification()). + setProcessingProcedure(processingProcedure). + setParam(pcBarcodes.get(0).getBarcodeUrl()).build(); + // 构造对应的消息对象 + msg = PrintMessageProto.Printer.newBuilder().setPrintingOfCirculation(printingOfCirculation).setDataType(dataType).setPrintInfo(printInfo).build(); + break; case UserConstants.BARCODE_TYPE_WAREHOUSE: // 仓库标签打印 //封装模板数据