diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/StorageObject.java b/zi-wms-pda/src/main/java/com/cim/idm/model/StorageObject.java new file mode 100644 index 0000000..99995e2 --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/StorageObject.java @@ -0,0 +1,9 @@ +package com.cim.idm.model; + +import lombok.Data; + +@Data +public class StorageObject { + private String CODE; + private String NAME; +} diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/BSLabelServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/BSLabelServiceImpl.java index 58f948c..c483c7a 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/BSLabelServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/BSLabelServiceImpl.java @@ -1,5 +1,6 @@ package com.cim.idm.service.Impl; +import cn.hutool.core.text.CharSequenceUtil; import com.cim.idm.constants.CustomExceptionCode; import com.cim.idm.constants.MsgConstants; import com.cim.idm.constants.PolicyDef; @@ -10,13 +11,13 @@ import com.cim.idm.framework.exception.IDMFrameDBErrorSignal; import com.cim.idm.framework.orm.info.KeyInfo; import com.cim.idm.framework.orm.service.CommonServiceDAO; import com.cim.idm.framework.util.time.TimeStampUtil; -import com.cim.idm.model.BSLabel; -import com.cim.idm.model.BSLabelKey; -import com.cim.idm.model.LabelParameterObject; -import com.cim.idm.model.PrintRequest; +import com.cim.idm.model.*; import com.cim.idm.mwmsextend.generic.util.CommonUtil; import com.cim.idm.wmsextend.generic.errorHandler.CustomException; import com.cim.idm.wmsextend.generic.util.ObjectUtil; +import com.cim.idm.wmspackage.storage.StorageServiceProxy; +import com.cim.idm.wmspackage.storage.management.data.StorageSpec; +import com.cim.idm.wmspackage.storage.management.data.StorageSpecKey; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; @@ -848,6 +849,47 @@ public class BSLabelServiceImpl extends CommonServiceDAO im // // labelPrint(pgData, requestUrl, pr, params); // } + + /** + * 货位打印 + */ + public String storagePrint(StoragePrintDto data) throws IllegalArgumentException, CustomException { + // 获取数据 + StorageSpecKey storageSpecKey = new StorageSpecKey(); + storageSpecKey.setStorageName(data.getStorageName()); + storageSpecKey.setSiteName(data.getSiteName()); + StorageSpec storageSpec = null; + try { + storageSpec = StorageServiceProxy.getStorageSpecService().selectByKey(storageSpecKey); + } catch (Exception e) { + throw new CustomException("未找到该货位!"); + } + StorageObject storageObject = new StorageObject(); + storageObject.setCODE(storageSpec.getKey().getStorageName()); + storageObject.setNAME(storageSpec.getDescription()); + + // 打印机数据 + // 名称 + String printer = CharSequenceUtil.isEmpty(data.getPrinterName()) + ? getDefaultPrinter() : data.getPrinterName(); + // 地址 + String requestUrl = getRequestUrlByServer("LabelRequestURL"); + // 参数(BSLABELASSIGNPARAMETER 表中映射关系) + List params = getLabelAssignParameter("storageLabel001"); + // 模板 + String labelPath = "D:\\storage.btw"; + + // 打印请求 + PrintRequest pr = new PrintRequest(); + pr.setLibraryID(UUID.randomUUID().toString()); + pr.setAbsolutePath(labelPath); + pr.setCopies(1); + pr.setSerialNumbers(0); + pr.setStartingPosition(0); + pr.setPrinter(printer); + pr.setPrintRequestID(UUID.randomUUID().toString()); + return labelPrint(storageObject, requestUrl, pr, params); + } /** * rePrintArriveMaterial diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/LabelServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/LabelServiceImpl.java index 3b55873..a718ac6 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/LabelServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/LabelServiceImpl.java @@ -61,6 +61,18 @@ public class LabelServiceImpl implements LabelService { } return urlFull; } + + @Override + public String storagePrint(StoragePrintDto data) throws CustomException { + String urlFull = ""; + try { + urlFull = bsLabelService.storagePrint(data); + } catch (Exception e) { + e.printStackTrace(); + throw new CustomException( "标签打印异常... " + e.getMessage()); + } + return urlFull; + } @Override public void labelPrintTest1(LabelPrintDto1 data) throws CustomException { diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/LabelService.java b/zi-wms-pda/src/main/java/com/cim/idm/service/LabelService.java index eac1393..b913d38 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/LabelService.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/LabelService.java @@ -44,6 +44,12 @@ public interface LabelService { * @throws IllegalArgumentException 如果data为null。 */ String labelPrintTest(LabelPrintDto data) throws CustomException; + + /** + * 货位打印 + */ + String storagePrint(StoragePrintDto data) throws CustomException; + /** * 标签存量打印修改品名 */