bug-1502 钢构件订单条码打印调整
This commit is contained in:
parent
7eaaa716d9
commit
020881c450
|
|
@ -131,7 +131,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 搜索SAP订单
|
||||
*
|
||||
* @param request 请求参数
|
||||
*/
|
||||
@PostMapping("searchSAPOrder")
|
||||
|
|
@ -539,7 +538,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 导出托盘零件列表
|
||||
*
|
||||
* @param id 订单id
|
||||
*/
|
||||
@PostMapping("exportItems")
|
||||
|
|
@ -603,21 +601,11 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 导出零件标签PDF
|
||||
*
|
||||
* @param id 订单id
|
||||
* @param ids 零件id列表
|
||||
*/
|
||||
@GetMapping("exportItemPdf")
|
||||
public void exportItemPdf(HttpServletResponse response, @Valid @RequestParam @NotNull Long id) throws Exception {
|
||||
// 根据订单ID获取第一个托盘信息
|
||||
List<WmsStructuralPackageOrderTray> trays = structuralPackageOrderTrayService.getList(id);
|
||||
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(trays)).throwMessage("数据不存在");
|
||||
|
||||
WmsStructuralPackageOrderTray firstTray = trays.get(0);
|
||||
DeliverStructuralPackageOrderExtendVO trayVO = structuralPackageOrderTrayService.getInfo(firstTray.getId());
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(trayVO)).throwMessage("数据不存在");
|
||||
|
||||
// 获取该订单下的所有物料项,不再依赖托盘关联
|
||||
List<DeliverStructuralPackageOrderTrayItemVO> list = structuralPackageOrderTrayItemService.getListVOByOrderId(id);
|
||||
public void exportItemPdf(HttpServletResponse response, @RequestBody @NotEmpty List<Long> ids) throws Exception {
|
||||
List<DeliverStructuralPackageOrderTrayItemVO> list = structuralPackageOrderTrayItemService.getListVOByIds(ids);
|
||||
|
||||
List<DeliverStructuralPackageOrderTrayItemVO> datas = new ArrayList<>();
|
||||
for (DeliverStructuralPackageOrderTrayItemVO it : list) {
|
||||
|
|
@ -639,30 +627,18 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
}
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put("list", datas);
|
||||
variables.put("info", trayVO);
|
||||
String html = ThymeleafUtil.generator("/template/qrcode/", "spitem", ".html", variables);
|
||||
URL baseUrl = new ClassPathResource("template/qrcode/").getURL();
|
||||
PdfGeneratorUtil.generatePdf(trayVO.getExternalOrderNo() + "-" + trayVO.getWorkbenchCode() + "标签", html, baseUrl.toString(), response);
|
||||
PdfGeneratorUtil.generatePdf("零件标签"+DateTimeUtil.format(LocalDateTime.now(),"yyyyMMddHHmmss"), html, baseUrl.toString(), response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出零件标签图片ZIP
|
||||
*
|
||||
* @param id 订单id
|
||||
* @param ids 零件id列表
|
||||
*/
|
||||
@GetMapping(value = "exportItemImageZip", produces = "application/zip")
|
||||
public ResponseEntity<byte[]> exportItemImageZip(HttpServletResponse response, @Valid @RequestParam @NotNull Long id) throws Exception {
|
||||
// 获取订单信息
|
||||
DeliverStructuralPackageOrderVO orderVO = structuralPackageOrderService.getInfo(id);
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(orderVO)).throwMessage("数据不存在");
|
||||
|
||||
// 获取第一个托盘信息用于生成标签
|
||||
List<WmsStructuralPackageOrderTray> trays = structuralPackageOrderTrayService.getList(id);
|
||||
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(trays)).throwMessage("数据不存在");
|
||||
DeliverStructuralPackageOrderExtendVO trayVO = structuralPackageOrderTrayService.getInfo(trays.get(0).getId());
|
||||
|
||||
// 直接根据订单ID获取物料项列表,不再依赖托盘关联
|
||||
List<DeliverStructuralPackageOrderTrayItemVO> list = structuralPackageOrderTrayItemService.getListVOByOrderId(id);
|
||||
public ResponseEntity<byte[]> exportItemImageZip(@RequestBody @NotEmpty List<Long> ids) throws Exception {
|
||||
List<DeliverStructuralPackageOrderTrayItemVO> list = structuralPackageOrderTrayItemService.getListVOByIds(ids);
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
try (ZipOutputStream zos = new ZipOutputStream(baos)) {
|
||||
int index = 0;
|
||||
|
|
@ -674,14 +650,14 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
vo.setQrCodeId(code + "-" + (i + 1));
|
||||
vo.setQrCode(vo.getQrCodeId() + "^" + it.getMaterialNo() + "_1");
|
||||
vo.setQrCodeImage(QRCodeUtil.generateQRCodeBase64(vo.getQrCode(), 200, 200));
|
||||
addEntry(zos, index, vo, trayVO);
|
||||
addEntry(zos, index, vo);
|
||||
}
|
||||
if (it.getShipmentNum().remainder(BigDecimal.ONE).compareTo(BigDecimal.ZERO) > 0) {
|
||||
DeliverStructuralPackageOrderTrayItemVO vo = BeanUtil.copy(it, DeliverStructuralPackageOrderTrayItemVO.class);
|
||||
vo.setQrCodeId(code + "-" + (it.getShipmentNum().intValue() + 1));
|
||||
vo.setQrCode(vo.getQrCodeId() + "^" + it.getMaterialNo() + "_" + it.getShipmentNum().remainder(BigDecimal.ONE));
|
||||
vo.setQrCodeImage(QRCodeUtil.generateQRCodeBase64(vo.getQrCode(), 200, 200));
|
||||
addEntry(zos, index, vo, trayVO);
|
||||
addEntry(zos, index, vo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -692,10 +668,9 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
return new ResponseEntity<>(zipBytes, headers, HttpStatus.OK);
|
||||
}
|
||||
|
||||
private void addEntry(ZipOutputStream zos, int index, DeliverStructuralPackageOrderTrayItemVO vo, DeliverStructuralPackageOrderExtendVO trayVO) throws Exception {
|
||||
private void addEntry(ZipOutputStream zos, int index, DeliverStructuralPackageOrderTrayItemVO vo) throws Exception {
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put("item", vo);
|
||||
variables.put("info", trayVO);
|
||||
variables.put("index", index);
|
||||
String html = ThymeleafUtil.generator("/template/qrcode/", "spitem-label", ".html", variables);
|
||||
ZipEntry entry = new ZipEntry(vo.getQrCodeId() + ".png");
|
||||
|
|
@ -707,7 +682,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 导出托盘标签PDF
|
||||
*
|
||||
* @param id 订单id
|
||||
*/
|
||||
@GetMapping("exportTrayPdf")
|
||||
|
|
@ -736,7 +710,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 导出托盘标签图片(多个托盘合并为一张长图)
|
||||
*
|
||||
* @param id 订单id
|
||||
*/
|
||||
@GetMapping(value = "exportTrayImage", produces = MediaType.IMAGE_PNG_VALUE)
|
||||
|
|
@ -777,7 +750,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 导出齐套标签PDF
|
||||
*
|
||||
* @param id 订单id
|
||||
*/
|
||||
@GetMapping("exportQiTaoPdf")
|
||||
|
|
@ -808,7 +780,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 导出齐套标签图片
|
||||
*
|
||||
* @param id 订单id
|
||||
*/
|
||||
@GetMapping(value = "exportQiTaoImage", produces = MediaType.IMAGE_PNG_VALUE)
|
||||
|
|
@ -863,7 +834,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 打包托盘(PDA使用)
|
||||
*
|
||||
* @param request 请求参数
|
||||
*/
|
||||
@Transactional
|
||||
|
|
@ -921,7 +891,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 保存物料二维码扫描记录
|
||||
*
|
||||
* @param qrCodes 二维码列表
|
||||
* @param type 类型
|
||||
*/
|
||||
|
|
@ -948,7 +917,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 退回到未打包
|
||||
*
|
||||
* @param orderId 订单id
|
||||
*/
|
||||
@Transactional
|
||||
|
|
@ -979,7 +947,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 创建送货单
|
||||
*
|
||||
* @param orderIds 订单id集合
|
||||
*/
|
||||
@Transactional
|
||||
|
|
@ -1069,7 +1036,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 搜索送货单
|
||||
*
|
||||
* @param request 查询参数
|
||||
*/
|
||||
@PostMapping("searchDeliverOrder")
|
||||
|
|
@ -1079,7 +1045,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 获取送货单详情信息
|
||||
*
|
||||
* @param id 送货单ID
|
||||
*/
|
||||
@GetMapping("getDeliverOrderInfo")
|
||||
|
|
@ -1089,7 +1054,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 导出送货单
|
||||
*
|
||||
* @param id 送货单id
|
||||
*/
|
||||
@GetMapping("exportDeliverOrder")
|
||||
|
|
@ -1136,7 +1100,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 根据送货单号查询订单信息(PDA使用)
|
||||
*
|
||||
* @param orderNo 送货单号
|
||||
*/
|
||||
@GetMapping("getInfoByDeliverOrderNo")
|
||||
|
|
@ -1179,7 +1142,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 线下收货
|
||||
*
|
||||
* @param itemIds 零件项id列表
|
||||
*/
|
||||
@Transactional
|
||||
|
|
@ -1208,7 +1170,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
|
||||
/**
|
||||
* 收货(PDA使用)
|
||||
*
|
||||
* @param request 请求参数
|
||||
*/
|
||||
@Transactional
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@
|
|||
<table>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<div th:text="|${item.packageDesc}(${info.supplierCode})|" class="title">
|
||||
<div th:text="|${item.packageDesc}(${item.supplierCode})|" class="title">
|
||||
833-33-07-NF左踏板连接架(00001016NF左踏板连接架NF左踏板连接架
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@
|
|||
<table>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<div th:text="|${item.packageDesc}(${info.supplierCode})|" class="name">
|
||||
<div th:text="|${item.packageDesc}(${item.supplierCode})|" class="name">
|
||||
833-33-07-NF左踏板连接架(0000101627)833-33-07-NF左踏板连接架NF左踏板连接架NF左踏板连接架(0000101627)
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
|||
|
|
@ -119,4 +119,9 @@ public class DeliverStructuralPackageOrderTrayItemVO implements Serializable {
|
|||
* 二维码id
|
||||
*/
|
||||
private String qrCodeId;
|
||||
|
||||
/**
|
||||
* 供应商编码
|
||||
*/
|
||||
private String supplierCode;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,4 +25,6 @@ public interface WmsStructuralPackageOrderTrayItemMapper extends BaseMapper<WmsS
|
|||
* 根据订单ID获取物料项列表(不依赖托盘关联)
|
||||
*/
|
||||
List<DeliverStructuralPackageOrderTrayItemVO> getListByOrderId(Long orderId);
|
||||
|
||||
List<DeliverStructuralPackageOrderTrayItemVO> getListVOByIds(List<Long> ids);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderTrayItemVO;
|
|||
import com.nflg.wms.repository.entity.WmsStructuralPackageOrderTrayItem;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -36,4 +37,6 @@ public interface IWmsStructuralPackageOrderTrayItemService extends IService<WmsS
|
|||
* 根据订单ID获取物料项列表(不依赖托盘关联)
|
||||
*/
|
||||
List<DeliverStructuralPackageOrderTrayItemVO> getListVOByOrderId(@Valid @NotNull Long orderId);
|
||||
|
||||
List<DeliverStructuralPackageOrderTrayItemVO> getListVOByIds(List<Long> ids);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,4 +59,9 @@ public class WmsStructuralPackageOrderTrayItemServiceImpl extends ServiceImpl<Wm
|
|||
public List<DeliverStructuralPackageOrderTrayItemVO> getListVOByOrderId(Long orderId) {
|
||||
return baseMapper.getListByOrderId(orderId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DeliverStructuralPackageOrderTrayItemVO> getListVOByIds(List<Long> ids) {
|
||||
return baseMapper.getListVOByIds(ids);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,4 +33,20 @@
|
|||
where o.id=#{orderId}
|
||||
order by oti.id
|
||||
</select>
|
||||
|
||||
<select id="getListVOByIds" resultType="com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderTrayItemVO">
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY oti.id) AS "index",m.image,m.drawing_no,oti.*,ot."no" as "tray_no",ot."state",
|
||||
sp."no" as "package_no",sp."name" as "package_desc",us.supplier_code
|
||||
FROM wms_structural_package_order o
|
||||
INNER JOIN wms_structural_package_order_tray_item oti ON o."id"=oti.order_id
|
||||
LEFT JOIN wms_structural_package_order_tray ot ON oti.tray_id=ot."id"
|
||||
LEFT JOIN wms_structural_package sp ON o.package_id=sp."id"
|
||||
LEFT JOIN wms_material m ON oti.material_no=m."no" and oti."version"=m."version"
|
||||
LEFT JOIN user_supplier us ON us."id"=o.supplier_id
|
||||
where oti."id" IN
|
||||
<foreach item="id" collection="ids" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
order by oti.id
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue