fix(工序出站):打印接口

refs:#43702
This commit is contained in:
liaohechuan 2024-11-11 21:32:01 +08:00
parent 7c47bcfd45
commit 2675565ea2
5 changed files with 86 additions and 1 deletions

View File

@ -0,0 +1,12 @@
package com.foreverwin.nlv.wms.dto;
import lombok.Data;
@Data
public class PrintPortDTO {
private String site;
private String printName;
private String batchNumber;
private String tenantId;
private String userName;
}

View File

@ -0,0 +1,19 @@
package com.foreverwin.nlv.wms.feign;
import com.foreverwin.mom.common.core.constant.SecurityConstants;
import com.foreverwin.nlv.wms.dto.PrintPortDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
/**
* 打印微服务调用接口
*/
@FeignClient(contextId = "remotePrintService", value = "nlv-wms")
public interface RemotePrintService {
@PostMapping("/print-pda-bind/print")
void remotePrint(@RequestBody PrintPortDTO printPortDTO,
@RequestHeader(SecurityConstants.FROM) String from);
}

View File

@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.foreverwin.mom.common.core.util.R;
import com.foreverwin.mom.common.excel.annotation.ResponseExcel;
import com.foreverwin.mom.common.log.annotation.SysLog;
import com.foreverwin.mom.common.security.annotation.Inner;
import com.foreverwin.nlv.wms.dto.PrintPortDTO;
import com.foreverwin.nlv.wms.entity.PrintPdaBind;
import com.foreverwin.nlv.wms.service.PrintPdaBindService;
import io.swagger.annotations.Api;
@ -119,4 +121,17 @@ public class PrintPdaBindController {
public R getPrintList(@PathVariable String site) {
return R.ok(printPdaBindService.getPrintList(site));
}
/**
* 打印接口用
* @param printPortDTO 打印DTO
* @return R
*/
@ApiOperation(value = "打印接口用", notes = "打印接口用")
@SysLog("打印接口用" )
@PostMapping("/print")
@Inner(value = false)
public void print(@RequestBody PrintPortDTO printPortDTO) {
printPdaBindService.print(printPortDTO);
}
}

View File

@ -1,6 +1,7 @@
package com.foreverwin.nlv.wms.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.foreverwin.nlv.wms.dto.PrintPortDTO;
import com.foreverwin.nlv.wms.entity.PrintPdaBind;
import java.util.List;
@ -9,4 +10,6 @@ import java.util.Map;
public interface PrintPdaBindService extends IService<PrintPdaBind> {
List<Map<String, String>> getPrintList(String site);
void print(PrintPortDTO printPortDTO);
}

View File

@ -1,13 +1,20 @@
package com.foreverwin.nlv.wms.service.impl;
import cn.hutool.core.lang.UUID;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.foreverwin.mom.common.core.exception.BusinessException;
import com.foreverwin.nlv.wms.domain.PrintRequest;
import com.foreverwin.nlv.wms.dto.PrintPortDTO;
import com.foreverwin.nlv.wms.entity.PrintPdaBind;
import com.foreverwin.nlv.wms.mapper.PrintPdaBindMapper;
import com.foreverwin.nlv.wms.service.PrintPdaBindService;
import com.foreverwin.nlv.wms.service.PrintService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -19,8 +26,11 @@ import java.util.stream.Collectors;
* @description
*/
@Service
@AllArgsConstructor
public class PrintPdaBindServiceImpl extends ServiceImpl<PrintPdaBindMapper, PrintPdaBind> implements PrintPdaBindService {
private final PrintService printService;
@Override
public List<Map<String, String>> getPrintList(String site) {
List<PrintPdaBind> list = this.list(Wrappers.<PrintPdaBind>lambdaQuery().eq(PrintPdaBind::getSite, site).orderByAsc(PrintPdaBind::getPrintName));
@ -33,4 +43,30 @@ public class PrintPdaBindServiceImpl extends ServiceImpl<PrintPdaBindMapper, Pri
return map;
}).collect(Collectors.toList());
}
@Override
public void print(PrintPortDTO printPortDTO) {
List<Map<String, Object>> mapList = new ArrayList<>();
if (StrUtil.isBlank(printPortDTO.getPrintName())) {
throw BusinessException.build("打印机名称不能为空");
}
Map<String, Object> dataMap = new HashMap<>(16);
dataMap.put("batchNumber", printPortDTO.getBatchNumber());
mapList.add(dataMap);
PrintRequest printRequest = new PrintRequest();
printRequest.setSite(printPortDTO.getSite());
printRequest.setPrintData(mapList);
printRequest.setPrintName(printPortDTO.getPrintName());
printRequest.setUser(printPortDTO.getUserName());
printRequest.setPrintServer("");
printRequest.setLabelQty(Math.toIntExact(1));
printRequest.setTemplateName("TPBatcuNumber01");
printRequest.setTemplatePath("TPBatcuNumber01.lab");
printRequest.setTransactionId(UUID.randomUUID().toString());
printRequest.setShopOrder(null);
printRequest.setBarcodeNumber(null);
printRequest.setBarcodeType(null);
String printContent = printService.savePrintLog(printRequest, 1, 1, null);
printService.processAndSendPrintData(printPortDTO.getSite(), printContent, printPortDTO.getPrintName(), null);
}
}