fix(工序出站):打印接口
refs:#43702
This commit is contained in:
parent
7c47bcfd45
commit
2675565ea2
@ -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;
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user