一些优化
This commit is contained in:
parent
b2babc691d
commit
272555b84c
|
|
@ -308,19 +308,10 @@ public class InCostCenterBackController extends BaseController {
|
|||
InCostcenterBackInfoVO vo = inCostcenterBackTicketService.getInfo(id);
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(vo)).throwMessage("入库单不存在");
|
||||
vo.setItems(Convert.toList(InCostcenterBackInfoItemVO.class, inCostcenterBackTicketItemService.getList(id)));
|
||||
vo.getItems().forEach(item -> item.setLgort(vo.getLgort()));
|
||||
return ApiResult.success(vo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取入库单扫码记录
|
||||
* @param ticketItemId 入库单项ID
|
||||
* @return 扫码记录
|
||||
*/
|
||||
@GetMapping("getScanRecords")
|
||||
public ApiResult<List<InMaterialScanRecord>> getScanRecords(@Valid @RequestParam @NotNull Long ticketItemId) {
|
||||
return ApiResult.success(inMaterialScanRecordRespository.findByTicketItemId(ticketItemId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出退料单
|
||||
*/
|
||||
|
|
@ -355,20 +346,21 @@ public class InCostCenterBackController extends BaseController {
|
|||
InCostcenterBackInfoVO order = inCostcenterBackTicketService.getInfo(id);
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("退料入库单不存在");
|
||||
order.setNo(order.getTicketNo());
|
||||
List<WmsInCostcenterBackItem> list = inCostcenterBackTicketItemService.getList(id);
|
||||
List<InCostcenterBackItemVO> list = Convert.toList(InCostcenterBackItemVO.class, inCostcenterBackTicketItemService.getList(id));
|
||||
// InCostcenterBackInfoVO order = new InCostcenterBackInfoVO();
|
||||
// order.setNo(NoUtil.getOutCostcenterNo());
|
||||
// List<WmsInCostcenterBackItem> list = new ArrayList<>();
|
||||
// for (int i = 0, count = RandomUtil.randomInt(1, 100); i < count; i++) {
|
||||
// list.add(new WmsInCostcenterBackItem().setMatnr(RandomUtil.randomNumbers(11)).setMaktx("非金属联件和紧固件等 M6 DIN 982 不锈钢304"));
|
||||
// }
|
||||
list.forEach(item -> item.setLgort(order.getLgort()));
|
||||
Map<String, String> base = new HashMap<>();
|
||||
base.put("date", DateUtil.format(LocalDateTime.now(), "yyyy-MM-dd"));
|
||||
base.put("qrcode", QRCodeUtil.generateQRCodeBase64(order.getNo(), 100, 100));
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put("info", order);
|
||||
variables.put("base", base);
|
||||
variables.put("pages", PdfPageDTO.create(list, 17, new WmsInCostcenterBackItem()));
|
||||
variables.put("pages", PdfPageDTO.create(list, 17, new InCostcenterBackItemVO()));
|
||||
String html = ThymeleafUtil.generator("/template/", "成本中心退料单", ".html", variables);
|
||||
PdfGeneratorUtil.generatePdf("成本中心退料入库单" + order.getNo(), html, response);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -228,16 +228,6 @@ public class InProduceOrderController extends BaseController {
|
|||
return ApiResult.success(vo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取入库单扫码记录
|
||||
* @param itemId 项ID
|
||||
* @return 扫码记录
|
||||
*/
|
||||
@GetMapping("getScanRecords")
|
||||
public ApiResult<List<InMaterialScanRecord>> getScanRecords(@Valid @RequestParam @NotNull Long itemId) {
|
||||
return ApiResult.success(inMaterialScanRecordRespository.findByTicketItemId(itemId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @param id 订单ID
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ public class OutPurchaseController extends BaseController {
|
|||
.setEbelp(it.getEbelp())
|
||||
.setRetpo(it.getRetpo())
|
||||
.setMatnr(it.getMatnr())
|
||||
.setMaktx("")
|
||||
.setMaktx(it.getMaktx())
|
||||
.setErfmg(it.getNum())
|
||||
.setMeins(it.getMeins())
|
||||
.setCharg(it.getCharg())
|
||||
|
|
|
|||
|
|
@ -137,5 +137,13 @@ public class StructuralPackageController extends BaseController {
|
|||
public ApiResult<String> exportPdf(@Valid @RequestParam @NotNull Long id) throws Exception {
|
||||
return ApiResult.success(packageControllerService.exportPdf(id));
|
||||
}
|
||||
//
|
||||
// /**
|
||||
// * 导出老鼠图PDF
|
||||
// */
|
||||
// @GetMapping("exportPdf")
|
||||
// public void exportPdf(HttpServletResponse response,@Valid @RequestParam @NotNull Long id) throws Exception {
|
||||
// packageControllerService.exportPdf1(response,id);
|
||||
// }
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import cn.idev.excel.metadata.data.WriteCellData;
|
|||
import cn.idev.excel.write.metadata.WriteSheet;
|
||||
import cn.idev.excel.write.metadata.fill.FillConfig;
|
||||
import com.nflg.wms.admin.pojo.document.PackageMaterialScanRecord;
|
||||
import com.nflg.wms.admin.pojo.dto.PdfPageDTO;
|
||||
import com.nflg.wms.admin.pojo.dto.SAPMaterialInfoInOrderDTO;
|
||||
import com.nflg.wms.admin.repository.PackageMaterialScanRecordRepository;
|
||||
import com.nflg.wms.admin.service.BasdeSerialNumberControllerService;
|
||||
|
|
@ -425,8 +426,8 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
).toList();
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put("info", vo);
|
||||
variables.put("list", items);
|
||||
String html = ThymeleafUtil.generator("/template/", "StructuralPackage", ".html", variables);
|
||||
variables.put("pages", PdfPageDTO.create(items, 9, new PackageMaterialDTO()));
|
||||
String html = ThymeleafUtil.generator("/template/", "钢构件老鼠图", ".html", variables);
|
||||
// PdfGeneratorUtil.generatePdf(vo.getExternalOrderNo() + "-" + vo.getWorkbenchCode() + "老鼠图", html, response);
|
||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||
PdfGeneratorUtil.generatePdf(vo.getExternalOrderNo() + "-" + vo.getWorkbenchCode() + "老鼠图", html, outputStream);
|
||||
|
|
|
|||
|
|
@ -421,24 +421,22 @@ public class SapService {
|
|||
// 调用 SAP RFC 函数 ZWM00_MB112
|
||||
JCoFunction function = exec("ZWM00_MB112", parameters, tables);
|
||||
|
||||
// 处理返回表 T_RETURN,判断执行是否成功
|
||||
JCoTable returnTable = function.getTableParameterList().getTable("T_RETURN");
|
||||
log.info("SAP返回: {}", returnTable);
|
||||
VUtil.trueThrowBusinessError(returnTable.getNumRows() <= 0).throwMessage("SAP未返回结果状态");
|
||||
JCoParameterList parameterList = function.getExportParameterList();
|
||||
if (StrUtil.isBlank(parameterList.getString("E_MBLNR"))) {
|
||||
JCoTable returnTable = function.getTableParameterList().getTable("T_RETURN");
|
||||
VUtil.trueThrowBusinessError(returnTable.getNumRows() <= 0).throwMessage("SAP未返回结果状态");
|
||||
returnTable.setRow(0);
|
||||
VUtil.trueThrowBusinessError(StrUtil.equals(returnTable.getString("TYPE"), "E"))
|
||||
.throwMessage(returnTable.getString("MESSAGE"));
|
||||
return null;
|
||||
} else {
|
||||
C_MaterialReturnDTO result = new C_MaterialReturnDTO()
|
||||
.setEMblnr(parameterList.getString("E_MBLNR"))
|
||||
.setEMJahr(parameterList.getString("E_MJAHR"));
|
||||
|
||||
returnTable.setRow(0);
|
||||
VUtil.trueThrowBusinessError(StrUtil.equals(returnTable.getString("TYPE"), "E"))
|
||||
.throwMessage(returnTable.getString("MESSAGE"));
|
||||
|
||||
// 获取导出参数,构造返回结果对象
|
||||
JCoParameterList exportParam = function.getExportParameterList();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(exportParam)).throwMessage("无法获取到有效的物料凭证信息");
|
||||
C_MaterialReturnDTO result = new C_MaterialReturnDTO()
|
||||
.setEMblnr(exportParam.getString("E_MBLNR"))
|
||||
.setEMJahr(exportParam.getString("E_MJAHR"));
|
||||
|
||||
log.info("SAP返回物料凭证信息: MBLNR={}, MJAHR={}", result.getEMblnr(), result.getEMJahr());
|
||||
return result;
|
||||
log.info("SAP返回物料凭证信息: MBLNR={}, MJAHR={}", result.getEMblnr(), result.getEMJahr());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import cn.hutool.core.util.RandomUtil;
|
|||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.nflg.wms.admin.pojo.dto.PdfPageDTO;
|
||||
import com.nflg.wms.admin.pojo.dto.ZWM3A17DTO;
|
||||
import com.nflg.wms.admin.pojo.dto.ZWM3A17Item1DTO;
|
||||
import com.nflg.wms.admin.util.PdfGeneratorUtil;
|
||||
|
|
@ -409,14 +410,25 @@ public class StructuralPackageControllerService {
|
|||
vo.setQrCode(QRCodeUtil.generateQRCodeBase64(vo.getNo(), 100, 100));
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put("info", vo);
|
||||
variables.put("list", vo.getMaterialList());
|
||||
String html = ThymeleafUtil.generator("/template/", "StructuralPackage", ".html", variables);
|
||||
variables.put("pages", PdfPageDTO.create(vo.getMaterialList(), 9, new PackageMaterialDTO()));
|
||||
String html = ThymeleafUtil.generator("/template/", "钢构件老鼠图", ".html", variables);
|
||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||
PdfGeneratorUtil.generatePdf(vo.getNo() + "老鼠图", html, outputStream);
|
||||
InputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
|
||||
return fileUploadService.upload("tmp/sp/" + RandomUtil.randomString(10) + ".pdf", inputStream);
|
||||
}
|
||||
|
||||
// public void exportPdf1(HttpServletResponse response,@Valid @NotNull Long id) throws Exception {
|
||||
// PackageVO vo = packageService.getInfo(id);
|
||||
// VUtil.trueThrowBusinessError(Objects.isNull(vo)).throwMessage("数据不存在");
|
||||
// vo.setQrCode(QRCodeUtil.generateQRCodeBase64(vo.getNo(), 100, 100));
|
||||
// Map<String, Object> variables = new HashMap<>();
|
||||
// variables.put("info", vo);
|
||||
// variables.put("pages", PdfPageDTO.create(vo.getMaterialList(), 9, new PackageMaterialDTO()));
|
||||
// String html = ThymeleafUtil.generator("/template/", "钢构件老鼠图", ".html", variables);
|
||||
// PdfGeneratorUtil.generatePdf(vo.getNo() + "老鼠图", html, response);
|
||||
// }
|
||||
|
||||
@Transactional
|
||||
public void materialStorage(List<WmsInTaskItem> list, List<MaterialStorageItemQO> items) {
|
||||
items.forEach(this::syncStorage);
|
||||
|
|
|
|||
|
|
@ -1,78 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh-CN" xmlns:th="http://www.thymeleaf.org">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible" />
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
|
||||
<title>钢构包</title>
|
||||
<link href="../css/StructuralPackage.css" rel="stylesheet" type="text/css" />
|
||||
<style>
|
||||
body {
|
||||
font-size: 9px;
|
||||
font-family: SimSun, Arial, sans-serif;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="package-diagram">
|
||||
<div class="package-logo">
|
||||
<img src="../img/logo1.png" />
|
||||
</div>
|
||||
<table class="el-table el-table--small">
|
||||
<td class="el-table__cell">
|
||||
<table class="package-table el-table el-table--small"
|
||||
style="border-top: 1px solid #333333; border-bottom: none !important;">
|
||||
<tr>
|
||||
<td class="el-table__cell"><span>订单号:<span style="display: inline;" th:text="${info.externalOrderNo}"></span></span></td>
|
||||
<td class="el-table__cell"><span>行号:<span style="display: inline;" th:text="${info.rowNo}"></span></span></td>
|
||||
<td class="el-table__cell"><span>托盘号:<span style="display: inline;" th:text="${info.trayNo}"></span></span></td>
|
||||
<td class="el-table__cell" colspan="2"><span>供应商:<span style="display: inline;" th:text="${info.supplierName}"></span></span></td>
|
||||
<td class="el-table__cell" rowspan="3" style="text-align: center;width: 120px;">
|
||||
<img style="width: 100px;margin-top: 12px;" th:src="${info.qrCode}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="el-table__cell"><span>机型:<span style="display: inline;" th:text="${info.modelNos}"></span></span></td>
|
||||
<td class="el-table__cell"><span>版本:<span style="display: inline;" th:text="${info.version}"></span></span></td>
|
||||
<td class="el-table__cell"><span>机台号:<span style="display: inline;" th:text="${info.workbenchCode}"></span></span></td>
|
||||
<td class="el-table__cell"><span>种类:<span style="display: inline;" th:text="${info.cate}"></span></span></td>
|
||||
<td class="el-table__cell"><span>重量:<span style="display: inline;" th:text="${info.weight}"></span></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="el-table__cell"><span>物料号:<span style="display: inline;" th:text="${info.no}"></span></span></td>
|
||||
<td class="el-table__cell"><span>图号:<span style="display: inline;" th:text="${info.drawingNo}"></span></span></td>
|
||||
<td class="el-table__cell" colspan="2"><span>物料描述:<span style="display: inline;" th:text="${info.name}"></span></span></td>
|
||||
<td class="el-table__cell"><span>页码:</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
</table>
|
||||
<table class="el-table el-table--small">
|
||||
<td class="el-table__cell" th:each="item : ${list}">
|
||||
<table class="package-table el-table el-table--small">
|
||||
<tr>
|
||||
<td class="el-table__cell td-img" colspan="2"><img style="height: 100px;margin: 5px;" th:alt="${item.image}" th:src="${item.image}"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="el-table__cell"><span>SAP编码:<span style="display: inline;" th:text="${item.no}"></span></span></td>
|
||||
<td class="el-table__cell"><span>图号:<span style="display: inline;" th:text="${item.drawingNo}"></span></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="el-table__cell" colspan="2"><span>物料描述:<span style="display: inline;" th:text="${item.name}"></span></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="el-table__cell"><span>数量:<span style="display: inline;" th:text="${item.num}"></span></span></td>
|
||||
<td class="el-table__cell"><span>重量:<span style="display: inline;" th:text="${item.weight}"></span></span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -177,7 +177,7 @@
|
|||
<td th:text="${iterStat.count}">序号</td>
|
||||
<td th:text="${item.matnr}">物料号</td>
|
||||
<td th:text="${item.maktx}" class="col-left">非金属联件和紧固件等 M6 DIN 982 不锈钢304</td>
|
||||
<td th:text="${info.lgort}">收料库</td>
|
||||
<td th:text="${item.lgort}">收料库</td>
|
||||
<td th:text="${item.matkl}">物料组</td>
|
||||
<td th:text="${item.meins}">单位</td>
|
||||
<td th:text="${item.num}">1000.00</td>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,151 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh-CN" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<title>发货清单</title>
|
||||
<style>
|
||||
@page {
|
||||
size: A4 landscape;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: SimSun, serif;
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
.table-container {
|
||||
width: 100%;
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.table-row {
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
background: #fff;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
.table-cell {
|
||||
float: left;
|
||||
width: 20%;
|
||||
padding: 6px;
|
||||
box-sizing: border-box;
|
||||
border-top: 1px solid #ccc;
|
||||
border-left: 1px solid #ccc;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* 第一行加顶部边框 */
|
||||
.first-row .table-cell {
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
|
||||
/* 最后一行加底部边框 */
|
||||
.last-row .table-cell {
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
|
||||
/* 最后一列加右边框 */
|
||||
.last-col {
|
||||
border-right: 1px solid #ccc;
|
||||
}
|
||||
|
||||
/* 表头样式 */
|
||||
.header-cell {
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
font-size: 16pt;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.cell-center {
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="table-container">
|
||||
<div class="table-row first-row">
|
||||
<div class="table-cell header-cell last-col" style="width: 100%">发货清单</div>
|
||||
</div>
|
||||
<div class="table-row">
|
||||
<div class="table-cell" style="width: 35%">ZL-4.15(3-04)</div>
|
||||
<div class="table-cell" style="width: 35%">福建南方路面机械股份有限公司</div>
|
||||
<div class="table-cell" style="width: 15%">装车号:V01</div>
|
||||
<div class="table-cell last-col" style="width: 15%">001</div>
|
||||
</div>
|
||||
<div class="table-row">
|
||||
<div class="table-cell cell-center" style="width: 9%">订单号</div>
|
||||
<div class="table-cell" style="width: 11%">1172000</div>
|
||||
<div class="table-cell cell-center" style="width: 8%">发货员</div>
|
||||
<div class="table-cell" style="width: 8%">程慧芳</div>
|
||||
<div class="table-cell cell-center" style="width: 13%">办事处/代理商</div>
|
||||
<div class="table-cell" style="width: 11%">测试</div>
|
||||
<div class="table-cell cell-center" style="width: 9%">发货日期</div>
|
||||
<div class="table-cell" style="width: 11%">2025-08-04</div>
|
||||
<div class="table-cell cell-center" style="width: 9%">发运方式</div>
|
||||
<div class="table-cell last-col" style="width: 11%"> </div>
|
||||
</div>
|
||||
<div class="table-row">
|
||||
<div class="table-cell cell-center" style="width: 9%">设备编码</div>
|
||||
<div class="table-cell" style="width: 11%">22222222222</div>
|
||||
<div class="table-cell cell-center" style="width: 12%">收货人电话</div>
|
||||
<div class="table-cell" style="width: 40%">于文强18365529799</div>
|
||||
<div class="table-cell cell-center" style="width: 8%">货单号</div>
|
||||
<div class="table-cell last-col" style="width: 20%">0000</div>
|
||||
</div>
|
||||
<div class="table-row">
|
||||
<div class="table-cell cell-center" style="width: 9%">收货单位</div>
|
||||
<div class="table-cell" style="width: 40%">安徽华恒创远新材料有限责任公司</div>
|
||||
<div class="table-cell cell-center" style="width: 12%">签收人/电话</div>
|
||||
<div class="table-cell last-col" style="width: 39%">于文强18365529799</div>
|
||||
</div>
|
||||
<div class="table-row">
|
||||
<div class="table-cell cell-center" style="width: 9%">收货地址</div>
|
||||
<div class="table-cell" style="width: 71%">安徽华恒创远新材料有限责任公司</div>
|
||||
<div class="table-cell cell-center" style="width: 9%">收货日期</div>
|
||||
<div class="table-cell last-col" style="width: 11%">2025-08-04</div>
|
||||
</div>
|
||||
<div class="table-row">
|
||||
<div class="table-cell cell-center" style="width: 6%">司机</div>
|
||||
<div class="table-cell" style="width: 14%">于文强</div>
|
||||
<div class="table-cell cell-center" style="width: 8%">驾驶证</div>
|
||||
<div class="table-cell" style="width: 26%">51254685465465465</div>
|
||||
<div class="table-cell cell-center" style="width: 9%">车牌号</div>
|
||||
<div class="table-cell" style="width: 12%">粤A12345</div>
|
||||
<div class="table-cell cell-center" style="width: 10%">司机电话</div>
|
||||
<div class="table-cell last-col" style="width: 15%">18888888888</div>
|
||||
</div>
|
||||
<div class="table-row">
|
||||
<div class="table-cell cell-center" style="width: 6%">序号</div>
|
||||
<div class="table-cell cell-center" style="width: 14%">配件编码</div>
|
||||
<div class="table-cell cell-center" style="width: 34%">配件名称</div>
|
||||
<div class="table-cell cell-center" style="width: 12%">货位号</div>
|
||||
<div class="table-cell cell-center" style="width: 6%">单位</div>
|
||||
<div class="table-cell cell-center" style="width: 8%">数量</div>
|
||||
<div class="table-cell cell-center last-col" style="width: 20%">备注</div>
|
||||
</div>
|
||||
<div class="table-row" th:each="item : ${datas}">
|
||||
<div th:text="${item.index}" class="table-cell cell-center" style="width: 6%">1</div>
|
||||
<div class="table-cell cell-center" style="width: 14%">2100552783</div>
|
||||
<div class="table-cell" style="width: 34%">IH1213T.4 衬板6号</div>
|
||||
<div class="table-cell cell-center" style="width: 12%">E1-4-4</div>
|
||||
<div class="table-cell cell-center" style="width: 6%">PC</div>
|
||||
<div class="table-cell cell-center" style="width: 8%">20.000</div>
|
||||
<div class="table-cell last-col" style="width: 20%"> </div>
|
||||
</div>
|
||||
<div class="table-row last-row">
|
||||
<div class="table-cell" style="width: 6%"> </div>
|
||||
<div class="table-cell" style="width: 14%"> </div>
|
||||
<div class="table-cell" style="width: 34%"> </div>
|
||||
<div class="table-cell" style="width: 12%"> </div>
|
||||
<div class="table-cell" style="width: 6%"> </div>
|
||||
<div class="table-cell" style="width: 8%"> </div>
|
||||
<div class="table-cell last-col" style="width: 20%"> </div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,141 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh-CN" xmlns:th="http://www.thymeleaf.org">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<title>钢构件老鼠图</title>
|
||||
<style>
|
||||
@page {
|
||||
size: A4;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: SimSun, serif;
|
||||
font-size: 9pt;
|
||||
padding: 10px;
|
||||
margin: 0 auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.logo {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.logo img {
|
||||
height: 40px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
border: 1px solid #000;
|
||||
}
|
||||
|
||||
td {
|
||||
border: 1px solid #000;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
tr:first-child td {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
tr:last-child td {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
td:first-child {
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
td:last-child {
|
||||
border-right: none;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.data-item {
|
||||
width: 33.15%;
|
||||
float: left;
|
||||
border-right: 1px solid #000;
|
||||
}
|
||||
|
||||
.data-item-row-first {
|
||||
border-left: 1px solid #000;
|
||||
}
|
||||
|
||||
.cell-img {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
padding: 10px;
|
||||
height: auto;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cell-img img {
|
||||
vertical-align: middle; /* 防止图片底部留空隙 */
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.cell {
|
||||
border-bottom: 1px solid #000;
|
||||
padding: 8px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.container {
|
||||
page-break-after: always;
|
||||
}
|
||||
|
||||
.container:last-child {
|
||||
page-break-after: auto;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container" th:each="page,pageStat : ${pages}">
|
||||
<div class="logo"><img alt="" src="../img/logo1.png"/></div>
|
||||
<table>
|
||||
<tr>
|
||||
<td>订单号:<span th:text="${info.externalOrderNo}">12255665451615</span></td>
|
||||
<td>行号:<span th:text="${info.rowNo}">1111</span></td>
|
||||
<td>托盘号:<span th:text="${info.trayNo}">1111</span></td>
|
||||
<td colspan="2">供应商:<span th:text="${info.supplierName}">1111</span></td>
|
||||
<td rowspan="3" class="cell-img" style="width: 130px;">
|
||||
<img alt="" style="width: 100px;" th:src="${info.qrCode}" src="../img/logo1.png"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>机型:<span th:text="${info.modelNos}">12255665451615</span></td>
|
||||
<td>版本:<span th:text="${info.version}">1</span></td>
|
||||
<td>机台号:<span th:text="${info.workbenchCode}">1</span></td>
|
||||
<td>种类:<span th:text="${info.cate}">1</span></td>
|
||||
<td style="width: 80px;">总重:<span th:text="${info.weight}">348.41</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">物料号:<span th:text="${info.no}">2222222222</span> 图号:<span
|
||||
th:text="${info.drawingNo}">12255665451615</span> 描述:<span th:text="${info.name}">12255665451615</span>
|
||||
</td>
|
||||
<td>页码:<span th:text="${pageStat.count}">1</span>/<span th:text="${pageStat.size}">2</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="data-item" th:each="item,itemStat : ${page.datas}"
|
||||
th:classappend="${itemStat.index % 3 == 0} ? 'data-item-row-first'">
|
||||
<div class="cell" style="height: 200px;">
|
||||
<div class="cell-img">
|
||||
<img style="width: 200px;height: 180px;" alt=""
|
||||
th:src="${item.image?: 'http://192.168.163.83:9000/api/v1/buckets/nflg-wms/objects/download?preview=true&prefix=template%2Fnone.png&version_id=null'}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cell">SAP编码:<span th:text="${item.no}">2222222222</span> 图号:<span
|
||||
th:text="${item.drawingNo}">12255665451615</span></div>
|
||||
<div class="cell">名称:<span th:text="${item.name}">2222222222</span></div>
|
||||
<div class="cell">数量:<span th:text="${item.num}">1</span> 重量:<span
|
||||
th:text="${item.weight}">348.41</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -68,4 +68,6 @@ public class InCostcenterBackInfoItemVO {
|
|||
* 待退数量
|
||||
*/
|
||||
private BigDecimal left;
|
||||
|
||||
private String codeNum = "点击查看";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,71 @@
|
|||
package com.nflg.wms.common.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
public class InCostcenterBackItemVO {
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 订单id
|
||||
*/
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 物料组
|
||||
*/
|
||||
private String matkl;
|
||||
|
||||
/**
|
||||
* 物料号
|
||||
*/
|
||||
private String matnr;
|
||||
|
||||
/**
|
||||
* 物料描述
|
||||
*/
|
||||
private String maktx;
|
||||
|
||||
/**
|
||||
* 需求量
|
||||
*/
|
||||
private BigDecimal bdmng;
|
||||
|
||||
/**
|
||||
* 基本计量单位
|
||||
*/
|
||||
private String meins;
|
||||
|
||||
/**
|
||||
* 库存地点
|
||||
*/
|
||||
private String lgort;
|
||||
|
||||
/**
|
||||
* 库存仓位
|
||||
*/
|
||||
private String lgpbe;
|
||||
|
||||
/**
|
||||
* 项目文本
|
||||
*/
|
||||
private String sgtxt;
|
||||
|
||||
/**
|
||||
* 退料数量
|
||||
*/
|
||||
private BigDecimal num;
|
||||
|
||||
/**
|
||||
* 待退数量
|
||||
*/
|
||||
private BigDecimal left;
|
||||
|
||||
/**
|
||||
* 预留/相关需求的项目编号
|
||||
*/
|
||||
private String rspos;
|
||||
}
|
||||
|
|
@ -89,18 +89,18 @@ public class InCostcenterBackVO {
|
|||
*/
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* SAP 同步成功或失败
|
||||
*/
|
||||
private Boolean sapStatus;
|
||||
|
||||
/**
|
||||
* SAP同步失败原因
|
||||
*/
|
||||
private String sapError;
|
||||
|
||||
/**
|
||||
* 状态,0:待上架;1:上架中;2:已上架
|
||||
*/
|
||||
private Integer state;
|
||||
|
||||
/**
|
||||
* 物料凭证编号
|
||||
*/
|
||||
private String matDoc;
|
||||
|
||||
/**
|
||||
* 物料凭证年度
|
||||
*/
|
||||
private String docYear;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,6 +43,11 @@ public class ZWM3A05ItemVO {
|
|||
*/
|
||||
private String matnr;
|
||||
|
||||
/**
|
||||
* 物料描述(短文本)
|
||||
*/
|
||||
private String maktx;
|
||||
|
||||
/**
|
||||
* 批号
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="com.nflg.wms.repository.mapper.WmsInCostcenterBackTicketItemMapper">
|
||||
|
||||
<select id="getList" resultType="com.nflg.wms.repository.entity.WmsInCostcenterBackItem">
|
||||
SELECT icbti.id,icbti.num,icbi.*
|
||||
SELECT icbti.id,icbti.num,icbti.lgpbe,icbi.*
|
||||
FROM wms_in_costcenter_back_ticket_item icbti
|
||||
INNER JOIN wms_in_costcenter_back_item icbi ON icbti.order_item_id=icbi."id"
|
||||
WHERE icbti.ticket_id=#{id}
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@
|
|||
<mapper namespace="com.nflg.wms.repository.mapper.WmsInCostcenterBackTicketMapper">
|
||||
|
||||
<select id="getInfo" resultType="com.nflg.wms.common.pojo.vo.InCostcenterBackInfoVO">
|
||||
SELECT icbt.id,icbt."no" AS "ticket_no",icbt.create_by,icbt.create_time,icb.*
|
||||
SELECT icbt.id,icbt."no" AS "ticket_no",icbt.create_by,icbt.create_time,icbt.lgort,icb.*
|
||||
FROM wms_in_costcenter_back_ticket icbt
|
||||
INNER JOIN wms_in_costcenter_back icb ON icbt.order_id=icb."id"
|
||||
WHERE icbt."id"=#{id}
|
||||
</select>
|
||||
|
||||
<select id="search" resultType="com.nflg.wms.common.pojo.vo.InCostcenterBackVO">
|
||||
SELECT icbt.id,icbt."no" AS "ticket_no",icbt.create_by,icbt.create_time,icb.*
|
||||
SELECT icbt.id,icbt."no" AS "ticket_no",icbt.create_by,icbt.create_time,icbt.mat_doc,icbt.doc_year,icb.*
|
||||
FROM wms_in_costcenter_back_ticket icbt
|
||||
INNER JOIN wms_in_costcenter_back icb ON icbt.order_id=icb."id"
|
||||
<where>
|
||||
|
|
|
|||
Loading…
Reference in New Issue