feat:标签打印功能
This commit is contained in:
parent
b09ddaee31
commit
7f830deebf
@ -115,7 +115,6 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
|
|||||||
.antMatchers("/*/api-docs").anonymous()
|
.antMatchers("/*/api-docs").anonymous()
|
||||||
.antMatchers("/druid/**").anonymous()
|
.antMatchers("/druid/**").anonymous()
|
||||||
.antMatchers("/websocket/**").anonymous()
|
.antMatchers("/websocket/**").anonymous()
|
||||||
.antMatchers("/barcodePrint/printing/**").anonymous()
|
|
||||||
.antMatchers("/system/autocode/get/**").permitAll()
|
.antMatchers("/system/autocode/get/**").permitAll()
|
||||||
// 除上面外的所有请求全部需要鉴权认证
|
// 除上面外的所有请求全部需要鉴权认证
|
||||||
.anyRequest().authenticated()
|
.anyRequest().authenticated()
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.ktg.print.controller;
|
package com.ktg.print.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.ktg.common.constant.UserConstants;
|
import com.ktg.common.constant.UserConstants;
|
||||||
import com.ktg.common.core.domain.AjaxResult;
|
import com.ktg.common.core.domain.AjaxResult;
|
||||||
import com.ktg.common.utils.StringUtils;
|
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.dv.service.IDvMachineryService;
|
||||||
import com.ktg.mes.md.domain.MdItem;
|
import com.ktg.mes.md.domain.MdItem;
|
||||||
import com.ktg.mes.md.service.IMdItemService;
|
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.domain.WmBarcode;
|
||||||
import com.ktg.mes.wm.service.IWmBarcodeService;
|
import com.ktg.mes.wm.service.IWmBarcodeService;
|
||||||
import com.ktg.print.domain.PrintBarcodeModel;
|
import com.ktg.print.domain.PrintBarcodeModel;
|
||||||
@ -25,6 +33,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author yanshikui
|
* @author yanshikui
|
||||||
@ -41,6 +50,14 @@ public class PrintController {
|
|||||||
private IWmBarcodeService wmBarcodeService;
|
private IWmBarcodeService wmBarcodeService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IDvMachineryService iDvMachineryService;
|
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:
|
case UserConstants.BARCODE_TYPE_MACHINERY:
|
||||||
//设备标签打印
|
//设备标签打印
|
||||||
//封装模板数据
|
//封装模板数据
|
||||||
DvMachinery dvMachinery = null;
|
DvMachinery dvMachinery = null;
|
||||||
if (Optional.ofNullable(bussinessId).isPresent()) {
|
if (Optional.ofNullable(bussinessId).isPresent()) {
|
||||||
dvMachinery = iDvMachineryService.selectDvMachineryByMachineryId(bussinessId);
|
dvMachinery = iDvMachineryService.selectDvMachineryByMachineryId(bussinessId);
|
||||||
if (dvMachinery == null) {
|
if (dvMachinery == null) {
|
||||||
@ -162,13 +179,12 @@ public class PrintController {
|
|||||||
if (CollectionUtils.isEmpty(mBarcodes)) {
|
if (CollectionUtils.isEmpty(mBarcodes)) {
|
||||||
return AjaxResult.error("未查询到二维码信息!" + "(" + bussinessCode + ")");
|
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_;
|
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();
|
msg = PrintMessageProto.Printer.newBuilder().setEquipment(equipment).setDataType(dataType).setPrintInfo(printInfo).build();
|
||||||
break;
|
break;
|
||||||
@ -186,7 +202,62 @@ public class PrintController {
|
|||||||
break;
|
break;
|
||||||
case UserConstants.BARCODE_TYPE_PROCARD:
|
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<ProCard> 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<WmBarcode> 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<ProRouteProduct> 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<ProRouteProcess> 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:
|
case UserConstants.BARCODE_TYPE_WAREHOUSE:
|
||||||
// 仓库标签打印
|
// 仓库标签打印
|
||||||
//封装模板数据
|
//封装模板数据
|
||||||
|
Loading…
Reference in New Issue
Block a user