一些优化

This commit is contained in:
曹鹏飞 2025-09-08 18:32:45 +08:00
parent 3e02bd0895
commit 5751392131
44 changed files with 217 additions and 134 deletions

View File

@ -439,6 +439,7 @@ public class OutProduceController extends BaseController {
Map<String, List<MaterialQRCodeContentDTO>> dmaps = dtos.stream().collect(Collectors.groupingBy(MaterialQRCodeContentDTO::getKey));
Zwm3a10VO vo = sapService.zwm3A10(new Zwm3a10QO()
.setAufnr(order.getAufnr())
.setType(order.getType() == 0 ? "A" : "B")
.setInput1(dmaps.values().stream().map(its -> {
WmsOutProduceItem item = datas.stream().filter(d -> StrUtil.equals(d.getMatnr(), its.get(0).getMaterialNo())).findFirst().get();
return new Zwm3a10Input1QO()

View File

@ -21,10 +21,10 @@ import com.nflg.wms.admin.util.ThymeleafUtil;
import com.nflg.wms.common.pojo.ApiResult;
import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.dto.AllocationOrderDTO;
import com.nflg.wms.common.pojo.dto.InventoryDTO;
import com.nflg.wms.common.pojo.dto.MaterialQRCodeContentDTO;
import com.nflg.wms.common.pojo.qo.*;
import com.nflg.wms.common.pojo.vo.*;
import com.nflg.wms.common.util.PageUtil;
import com.nflg.wms.common.util.UserUtil;
import com.nflg.wms.common.util.VUtil;
import com.nflg.wms.repository.entity.WmsTransferCompany;
@ -82,33 +82,10 @@ public class TransferCompanyController extends BaseController {
* 查询SAP订单数据
*/
@PostMapping("searchSAP")
public ApiResult<List<AllocationOrderDTO>> searchSAP0(@Valid @RequestBody AllocationOrderQO request) {
public ApiResult<PageData<AllocationOrderDTO>> searchSAP0(@Valid @RequestBody AllocationOrderQO request) {
List<AllocationOrderDTO> datas = sapService.zwm3a15(request);
return ApiResult.success(PageUtil.Page(datas, request.getPage(), request.getPageSize()));
// return ApiResult.success(sapService.zwm3a15(request));
List<AllocationOrderDTO> vos = new ArrayList<>();
for (int i = 0, count = RandomUtil.randomInt(3, 30); i < count; i++) {
vos.add(new AllocationOrderDTO()
.setMatnr(RandomUtil.randomNumbers(11))
.setEbeln(RandomUtil.randomNumbers(10))
.setEbelp(RandomUtil.randomNumbers(5))
.setMaktx(RandomUtil.randomString(20))
.setLgort(RandomUtil.randomNumbers(4))
.setLgfsb1(RandomUtil.randomNumbers(4))
.setWamng(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
.setTxz01(RandomUtil.randomString(20))
.setWerks(RandomUtil.randomNumbers(4))
.setReswk("1010")
.setLgobe(RandomUtil.randomString(20))
.setLgpro(RandomUtil.randomString(20))
.setLgpbe1(RandomUtil.randomString(20))
.setLgpbe(RandomUtil.randomString(20))
.setEkgrp(RandomUtil.randomString(10))
.setMeins(RandomUtil.randomString(2))
.setLabst(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
.setSqsl(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("30")))
.setSqsl2(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("30")))
);
}
return ApiResult.success(vos);
}
/**
@ -134,15 +111,15 @@ public class TransferCompanyController extends BaseController {
order.setCreateTime(LocalDateTime.now());
transferCompanyService.save(order);
items.forEach(item -> {
//TODO 需要移除
inventoryService.in(List.of(new InventoryDTO()
.setMaterialNo(item.getMatnr())
.setWarehouseNo(item.getLgfsb1())
.setFactoryNo(item.getReswk())
.setBatchNumber(DateUtil.format(DateUtil.date(), "yyyyMMdd"))
.setNum(item.getNum())
)
);
// //TODO 需要移除
// inventoryService.in(List.of(new InventoryDTO()
// .setMaterialNo(item.getMatnr())
// .setWarehouseNo(item.getLgfsb1())
// .setFactoryNo(item.getReswk())
// .setBatchNumber(DateUtil.format(DateUtil.date(), "yyyyMMdd"))
// .setNum(item.getNum())
// )
// );
BigDecimal max = inventoryService.getNumOne(item.getReswk(), item.getLgfsb1(), item.getMatnr());
VUtil.trueThrowBusinessError(item.getNum().compareTo(max) > 0)
.throwMessage("物料" + item.getMatnr() + "的申请数量超出库存限制");
@ -416,22 +393,25 @@ public class TransferCompanyController extends BaseController {
*/
@GetMapping("export")
public void export(HttpServletResponse response, @Valid @RequestParam @NotNull Long id) throws Exception {
// WmsTransferCompany order = transferCompanyService.getById(id);
// VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("转储单不存在");
// List<WmsTransferCompanyItem> list = transferCompanyItemService.getList(id);
WmsTransferCompany order = new WmsTransferCompany();
order.setNo(NoUtil.getTransferCompanyNo());
List<WmsTransferCompanyItem> list = new ArrayList<>();
for (int i = 0, count = RandomUtil.randomInt(1, 100); i < count; i++) {
list.add(new WmsTransferCompanyItem().setMatnr(RandomUtil.randomNumbers(11)).setMaktx("非金属联件和紧固件等 M6 DIN 982 不锈钢304"));
}
WmsTransferCompany order = transferCompanyService.getById(id);
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("转储单不存在");
List<TransferCompanyItemVO> list = Convert.toList(TransferCompanyItemVO.class, transferCompanyItemService.getList(id));
// WmsTransferCompany order = new WmsTransferCompany();
// order.setNo(NoUtil.getTransferCompanyNo());
// List<WmsTransferCompanyItem> list = new ArrayList<>();
// for (int i = 0, count = RandomUtil.randomInt(1, 100); i < count; i++) {
// list.add(new WmsTransferCompanyItem().setMatnr(RandomUtil.randomNumbers(11)).setMaktx("非金属联件和紧固件等 M6 DIN 982 不锈钢304"));
// }
list.forEach(it -> {
it.setEbeln(order.getEbeln());
});
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 WmsTransferCompanyItem()));
variables.put("pages", PdfPageDTO.create(list, 17, new TransferCompanyItemVO()));
String html = ThymeleafUtil.generator("/template/", "转储单", ".html", variables);
PdfGeneratorUtil.generatePdf("转储单" + order.getNo(), html, response);
}

View File

@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import com.nflg.wms.admin.pojo.document.OutMaterialScanRecord;
import com.nflg.wms.admin.pojo.dto.PdfPageDTO;
@ -22,6 +21,7 @@ import com.nflg.wms.common.pojo.dto.TransferOrderDTO;
import com.nflg.wms.common.pojo.dto.ZWM00MB113DTO;
import com.nflg.wms.common.pojo.qo.*;
import com.nflg.wms.common.pojo.vo.*;
import com.nflg.wms.common.util.PageUtil;
import com.nflg.wms.common.util.UserUtil;
import com.nflg.wms.common.util.VUtil;
import com.nflg.wms.repository.entity.WmsTransferFactory;
@ -82,31 +82,32 @@ public class TransferFactoryController extends BaseController {
* 查询SAP领料订单数据
*/
@PostMapping("searchSAP")
public ApiResult<List<TransferOrderDTO>> searchSAP0(@Valid @RequestBody TransferOrderQO request) {
// return ApiResult.success(sapService.zwm3a16(request));
List<TransferOrderDTO> vos = new ArrayList<>();
for (int i = 0, count = RandomUtil.randomInt(3, 30); i < count; i++) {
vos.add(new TransferOrderDTO()
.setMatnr(RandomUtil.randomNumbers(11))
.setWerks(RandomUtil.randomString(4))
.setLgort(RandomUtil.randomString(4))
.setMaktx(RandomUtil.randomString(20))
.setAufnr(RandomUtil.randomNumbers(10))
.setMenge(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
.setNum(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
.setUmlgo(RandomUtil.randomNumbers(10))
.setBdmng(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
.setMeins(RandomUtil.randomString(2))
.setSgtxt(RandomUtil.randomString(20))
.setLgpbe(RandomUtil.randomString(4))
.setBwart(RandomUtil.randomString(4))
.setBudat(DateUtil.format(DateUtil.date(), "yyyyMMdd"))
.setZeile(RandomUtil.randomNumbers(10))
.setBdmng1(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("30")))
.setEnmng(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
);
}
return ApiResult.success(vos);
public ApiResult<PageData<TransferOrderDTO>> searchSAP0(@Valid @RequestBody TransferOrderQO request) {
List<TransferOrderDTO> datas = sapService.zwm3a16(request);
return ApiResult.success(PageUtil.Page(datas, request.getPage(), request.getPageSize()));
// List<TransferOrderDTO> vos = new ArrayList<>();
// for (int i = 0, count = RandomUtil.randomInt(3, 30); i < count; i++) {
// vos.add(new TransferOrderDTO()
// .setMatnr(RandomUtil.randomNumbers(11))
// .setWerks(RandomUtil.randomString(4))
// .setLgort(RandomUtil.randomString(4))
// .setMaktx(RandomUtil.randomString(20))
// .setAufnr(RandomUtil.randomNumbers(10))
// .setMenge(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setNum(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setUmlgo(RandomUtil.randomNumbers(10))
// .setBdmng(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setMeins(RandomUtil.randomString(2))
// .setSgtxt(RandomUtil.randomString(20))
// .setLgpbe(RandomUtil.randomString(4))
// .setBwart(RandomUtil.randomString(4))
// .setBudat(DateUtil.format(DateUtil.date(), "yyyyMMdd"))
// .setZeile(RandomUtil.randomNumbers(10))
// .setBdmng1(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("30")))
// .setEnmng(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// );
// }
// return ApiResult.success(vos);
}
/**
@ -132,15 +133,15 @@ public class TransferFactoryController extends BaseController {
order.setCreateTime(LocalDateTime.now());
transferFactoryService.save(order);
items.forEach(item -> {
//TODO 需要移除
inventoryService.in(List.of(new InventoryDTO()
.setMaterialNo(item.getMatnr())
.setWarehouseNo(item.getLgort())
.setFactoryNo(item.getWerks())
.setBatchNumber(DateUtil.format(DateUtil.date(), "yyyyMMdd"))
.setNum(item.getNum())
)
);
// //TODO 需要移除
// inventoryService.in(List.of(new InventoryDTO()
// .setMaterialNo(item.getMatnr())
// .setWarehouseNo(item.getLgort())
// .setFactoryNo(item.getWerks())
// .setBatchNumber(DateUtil.format(DateUtil.date(), "yyyyMMdd"))
// .setNum(item.getNum())
// )
// );
BigDecimal max = inventoryService.getNumOne(item.getWerks(), item.getLgort(), item.getMatnr());
VUtil.trueThrowBusinessError(item.getNum().compareTo(max) > 0)
.throwMessage("物料" + item.getMatnr() + "的申请数量超出库存限制");
@ -210,6 +211,7 @@ public class TransferFactoryController extends BaseController {
.setRsnum(order.getRsnum())
.setMblnr(order.getMblnr())
.setBwart(order.getBwart())
.setLgort(order.getLgort())
.setItems(datas.stream()
.map(item -> new TransferFactoryPdaItemVO()
.setMatnr(item.getMatnr())
@ -217,8 +219,8 @@ public class TransferFactoryController extends BaseController {
.setUmlgo(order.getUmlgo())
.setLgort(order.getLgort())
.setNum(item.getLeft())
.setBinIn(storageService.getBinNos(item.getMatnr(), order.getWerks(), order.getUmlgo()))
.setBinOut(storageService.getBinNos(item.getMatnr(), order.getWerks(), order.getLgort()))
.setBinIn(StrUtil.join("/", storageService.getBinNos(item.getMatnr(), order.getWerks(), order.getUmlgo())))
.setBinOut(StrUtil.join("/", storageService.getBinNos(item.getMatnr(), order.getWerks(), order.getLgort())))
).toList()
)
);
@ -271,6 +273,7 @@ public class TransferFactoryController extends BaseController {
.setTicketItemId(pti.getId())
.setMaterialNo(materialNo)
.setUnit(item.getMeins())
.setRspos(item.getRspos())
.setContent(qrCode)
.setBatchNo(qrCodeContent.getBatchNo())
.setSerialNo(qrCodeContent.getSerialNo())
@ -313,8 +316,9 @@ public class TransferFactoryController extends BaseController {
.setLgort(ticket.getLgort())
.setUmlgo(ticket.getUmlgo())
.setNum(it.getNum())
.setBinIn(storageService.getBinNos(it.getMatnr(), ticket.getWerks(), ticket.getUmlgo()))
.setBinOut(storageService.getBinNos(it.getMatnr(), ticket.getWerks(), ticket.getLgort()))).toList())
.setBinIn(StrUtil.join("/", storageService.getBinNos(it.getMatnr(), ticket.getWerks(), ticket.getUmlgo())))
.setBinOut(StrUtil.join("/", storageService.getBinNos(it.getMatnr(), ticket.getWerks(), ticket.getLgort())))
).toList())
);
}
@ -353,29 +357,29 @@ public class TransferFactoryController extends BaseController {
.setNum(list.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add))
).toList()
);
List<TransferFactoryItemVO> ticketItems = transferFactoryTicketItemService.getList(ticket.getId());
ZWM00MB113DTO vo = sapService.zwm00_mb113(new ZWM00MB113QO()
.setIRsnum(ticket.getRsnum())
.setIUmlgo(ticket.getUmlgo())
.setT_list1(records.stream().collect(Collectors.groupingBy(OutMaterialScanRecord::getKey))
.values().stream().map(its -> new ZWM00MB113LIST1QO()
.setRspos(ticket.getRsnum())
.setMatnr(its.get(0).getMaterialNo())
.setErfmg(its.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add))
.setMeins(its.get(0).getUnit())
.setT_list1(ticketItems.stream().map(item -> new ZWM00MB113LIST1QO()
.setRspos(item.getRspos())
.setMatnr(item.getMatnr())
.setErfmg(item.getNum())
.setMeins(item.getMeins())
.setWerks(ticket.getWerks())
.setLgort(ticket.getLgort())).toList()
)
.setT_list2(records.stream()
.filter(record -> StrUtil.isNotBlank(record.getKey1()))
.collect(Collectors.groupingBy(OutMaterialScanRecord::getKey1))
.collect(Collectors.groupingBy(OutMaterialScanRecord::getKey6))
.values()
.stream()
.map(ls -> new ZWM00MB113LIST2QO()
.setRspos(ticket.getRsnum())
.setRspos(ls.get(0).getRspos())
.setSernr(ls.get(0).getSerialNo())
.setFlag("X")
)
.toList())
.toList()
)
);
transferFactoryTicketService.lambdaUpdate()
.set(WmsTransferFactoryTicket::getMatDoc, vo.getEMblnr())
@ -446,6 +450,10 @@ public class TransferFactoryController extends BaseController {
// for (int i = 0, count = RandomUtil.randomInt(1, 100); i < count; i++) {
// list.add(new TransferFactoryItemVO().setMatnr(RandomUtil.randomNumbers(11)).setMaktx("非金属联件和紧固件等 M6 DIN 982 不锈钢304"));
// }
list.forEach(it -> {
it.setLgort(order.getLgort());
it.setUmlgo(order.getUmlgo());
});
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));

View File

@ -97,6 +97,8 @@ public class OutMaterialScanRecord {
*/
private String ebelp;
private String rspos;
/**
* 扩展字段
*/
@ -146,4 +148,11 @@ public class OutMaterialScanRecord {
public String getKey5() {
return this.ebelp + "|" + this.serialNo;
}
@Transient
private String key6;
public String getKey6() {
return this.rspos + "|" + this.serialNo;
}
}

View File

@ -665,6 +665,7 @@ public class SapService {
// 构造函数调用所需的输入参数
Map<String, Object> parameters = new HashMap<>();
parameters.put("AUFNR", query.getAufnr());
parameters.put("I_TYPE", query.getType());
// 将构造好的表数据放入输入参数中
Map<String, List<Map<String, Object>>> tables = new HashMap<>();
@ -979,12 +980,10 @@ public class SapService {
VUtil.trueThrowBusinessError(!StrUtil.equals(exportParam.getString("E_TYPE"), "S"))
.throwMessage(exportParam.getString("E_MSG"));
JCoTable tOut = function.getTableParameterList().getTable("OUTPUT1");
log.info("SAP返回: {}", tOut);
// 将SAP返回的表数据转换为DTO对象列表
List<TransferOrderDTO> result = JCoUtil.toBeanList(tOut, TransferOrderDTO.class);
log.debug("数据:{}", JSONUtil.toJsonStr(result));
log.debug("数据OUTPUT1:{}", JSONUtil.toJsonStr(result));
log.info("SAP原始数据OUTPUT1: {}", tOut);
return result;
}
@ -1092,22 +1091,19 @@ public ZWM00MB113DTO zwm00_mb113(ZWM00MB113QO query) {
// 调用 SAP RFC 函数 ZWM00_MB112
JCoFunction function = exec("ZWM00_MB113", parameters, tables);
// 处理返回表 T_RETURN判断执行是否成功
JCoTable returnTable = function.getTableParameterList().getTable("T_RETURN");
VUtil.trueThrowBusinessError(returnTable.getNumRows() <= 0).throwMessage("获取Type信息有误");
returnTable.setRow(0);
VUtil.trueThrowBusinessError(!StrUtil.equals(returnTable.getString("TYPE"), "S"))
.throwMessage(returnTable.getString("MESSAGE"));
log.info("SAP返回: {}", returnTable);
// 获取导出参数构造返回结果对象
JCoParameterList exportParam = function.getExportParameterList();
VUtil.trueThrowBusinessError(Objects.isNull(exportParam)).throwMessage("无法获取到有效的物料凭证信息");
ZWM00MB113DTO result = new ZWM00MB113DTO()
if (StrUtil.isNotBlank(exportParam.getString("E_MJAHR"))) {
log.info("SAP返回物料凭证信息: MBLNR={}, MJAHR={}", exportParam.getString("E_MBLNR"), exportParam.getString("E_MJAHR"));
return new ZWM00MB113DTO()
.setEMjahr(exportParam.getString("E_MJAHR"))
.setEMblnr(exportParam.getString("E_MBLNR"));
log.info("SAP返回物料凭证信息: MBLNR={}, MJAHR={}", result.getEMblnr(), result.getEMjahr());
return result;
} else {
JCoTable returnTable = function.getTableParameterList().getTable("T_RETURN");
log.info("SAP返回: {}", returnTable);
returnTable.setRow(0);
throw new NflgException(STATE.BusinessError, "SAP错误" + returnTable.getString("MESSAGE"));
}
}
/**

View File

@ -267,7 +267,7 @@ public class UserControllerService {
public void resetPassword(@Valid UserResetPasswordQO request) {
User user = uService.getById(request.getId());
VUtil.trueThrowBusinessError(Objects.isNull(user)).throwMessage("用户不存在");
VUtil.trueThrowBusinessError(PASSWORDENCODER.matches(request.getOldPassword(), user.getPassword()))
VUtil.trueThrowBusinessError(!PASSWORDENCODER.matches(request.getOldPassword(), user.getPassword()))
.throwMessage("原密码不正确");
uService.update(new User()
.setId(request.getId())

View File

@ -178,8 +178,8 @@
<td th:text="${item.meins}">PC</td>
<td th:text="${item.bdmng}">10.00</td>
<td th:text="${item.num}">10.00</td>
<td th:text="${info.lgort}"></td>
<td th:text="${info.umlgo}"></td>
<td th:text="${item.lgort}"></td>
<td th:text="${item.umlgo}"></td>
<td th:text="${item.wempf}"></td>
</tr>
</table>

View File

@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>本中心领料</title>
<title>品/半成品入库</title>
<style>
@page {
size: A4 landscape; /* 横向 A4 */

View File

@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>生产领料出库</title>
<title>生产订单发料</title>
<style>
@page {
size: A4 landscape; /* 横向 A4 */

View File

@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>生产领料单</title>
<title>生产订单领料单</title>
<style>
@page {
size: A4 landscape; /* 横向 A4 */

View File

@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>转储</title>
<title>采购入(退)库</title>
<style>
@page {
size: A4 landscape; /* 横向 A4 */

View File

@ -177,7 +177,7 @@
<td style="width: 50px">实发数量</td>
</tr>
<tr class="filled-row" th:each="item,iterStat : ${page.datas}">
<td th:text="${info.ebeln}">7700070131</td>
<td th:text="${item.ebeln}">7700070131</td>
<td th:text="${item.ebelp}">10</td>
<td th:text="${item.matnr}">2100701424</td>
<td th:text="${item.maktx}" class="col-left">非金属联件和紧固件等 M6 DIN 982 不锈钢304</td>

View File

@ -1,5 +1,6 @@
package com.nflg.wms.common.pojo.dto;
import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.nflg.wms.common.util.BomUtil;
import com.nflg.wms.common.util.DateTimeUtil;
@ -34,11 +35,19 @@ public class AllocationOrderDTO{
*/
private String matnr;
public String getMatnr() {
return StrUtil.removeAllPrefix(matnr, "0");
}
/**
* 采购凭证的项目编号
*/
private String ebelp;
public String getEbelp() {
return StrUtil.removeAllPrefix(ebelp, "0");
}
/**
* 未发数量
*/

View File

@ -24,6 +24,10 @@ public class TransferOrderDTO {
*/
private String matnr;
public String getMatnr() {
return StrUtil.removeAllPrefix(matnr, "0");
}
/**
* 工位
*/

View File

@ -10,7 +10,7 @@ import java.util.Objects;
@Data
@Accessors(chain = true)
//转储单的查询参数
public class AllocationOrderQO {
public class AllocationOrderQO extends PageQO {
//工厂
private String werks;

View File

@ -12,7 +12,7 @@ import java.util.Objects;
@Data
@Accessors(chain = true)
//场内调拨清单的查询参数
public class TransferOrderQO {
public class TransferOrderQO extends PageQO {
//工厂
@NotBlank

View File

@ -14,6 +14,11 @@ public class Zwm3a10QO {
*/
private String aufnr;
/**
* A领料 B补料
*/
private String type;
/**
* 领料的明细
*/

View File

@ -87,6 +87,11 @@ public class InProduceBackTicketItemVO {
return BomUtil.changeMeins(meins);
}
/**
* 库存地点
*/
private String lgort2;
/**
* 库存仓位
*/

View File

@ -22,6 +22,11 @@ public class TransferCompanyItemVO {
*/
private String aedat;
/**
* 采购凭证号
*/
private String ebeln;
/**
* 采购凭证的项目编号
*/

View File

@ -105,4 +105,14 @@ public class TransferFactoryItemVO {
* 调库数量
*/
private BigDecimal num;
/**
* 调出仓
*/
private String lgort;
/**
* 调入仓
*/
private String umlgo;
}

View File

@ -4,7 +4,6 @@ import lombok.Data;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.util.Set;
@Data
@Accessors(chain = true)
@ -33,12 +32,12 @@ public class TransferFactoryPdaItemVO {
/**
* 调出储位
*/
private Set<String> binOut;
private String binOut;
/**
* 调入储位
*/
private Set<String> binIn;
private String binIn;
/**
* 数量

View File

@ -24,5 +24,10 @@ public class TransferFactoryPdaVO {
*/
private String bwart;
/**
* 库位
*/
private String lgort;
private List<TransferFactoryPdaItemVO> items;
}

View File

@ -1,5 +1,6 @@
package com.nflg.wms.common.pojo.vo;
import cn.hutool.core.util.StrUtil;
import lombok.Data;
import java.time.LocalDateTime;
@ -64,6 +65,15 @@ public class TransferFactoryTicketVO {
*/
private LocalDateTime createTime;
/**
* 状态0-未入库1-已入库
*/
private Integer state;
public Integer getState() {
return StrUtil.isBlank(updateBy) ? 0 : 1;
}
/**
* 最后更新人
*/

View File

@ -0,0 +1,9 @@
package com.nflg.wms.common.pojo.vo;
import lombok.Data;
@Data
public class TransferFactoryVO {
}

View File

@ -3,6 +3,7 @@ package com.nflg.wms.common.util;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nflg.wms.common.pojo.PageData;
import java.util.List;
import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Collectors;
@ -17,4 +18,13 @@ public class PageUtil {
pageData.setItems(page.getRecords().stream().map(mapper).filter(Objects::nonNull).collect(Collectors.toList()));
return pageData;
}
public static <T> PageData<T> Page(List<T> datas, Integer page, Integer pageSize) {
PageData<T> pageData = new PageData<>();
pageData.setPage(page);
pageData.setPageSize(pageSize);
pageData.setTotal(datas.size());
pageData.setItems(datas.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()));
return pageData;
}
}

View File

@ -36,5 +36,6 @@
AND icb."kostl" LIKE CONCAT('%',#{request.kostl},'%')
</if>
</where>
order by icbt.id desc
</select>
</mapper>

View File

@ -31,5 +31,6 @@
and create_time &lt;= #{request.endDate}
</if>
</where>
order by id desc
</select>
</mapper>

View File

@ -3,9 +3,10 @@
<mapper namespace="com.nflg.wms.repository.mapper.WmsInProduceBackTicketItemMapper">
<select id="getList" resultType="com.nflg.wms.common.pojo.vo.InProduceBackTicketItemVO">
SELECT ipbti.id,ipbti.num AS "in_num",ipbi.*
SELECT ipbti.id,ipbti.num,ipb.lgort2,ipbi.*
FROM wms_in_produce_back_ticket_item ipbti
INNER JOIN wms_in_produce_back_item ipbi ON ipbti.produce_back_item_id=ipbi."id"
inner join wms_in_produce_back ipb on ipb.id=ipbi.order_id
WHERE ipbti.ticket_id=#{id}
</select>
</mapper>

View File

@ -9,6 +9,7 @@
LEFT JOIN wms_warehouse wh ON wh."id"=icti.warehouse_id
LEFT JOIN dictionary_item di ON wh.factory_id=di."id"
WHERE ict.state=2 and icti.charge_user_id=#{userId}
order by icti.id desc
</select>
<select id="getInfo" resultType="com.nflg.wms.common.pojo.vo.InventoryCheckTaskItemVO">

View File

@ -19,6 +19,7 @@
and task_no like concat('%', #{request.no}, '%')
</if>
</where>
order by id desc
</select>
<select id="getMaterials" resultType="com.nflg.wms.common.pojo.vo.InventoryCheckTaskItemMaterialVO">

View File

@ -28,6 +28,7 @@
and o.material_no like concat('%', #{request.materialNo}, '%')
</if>
</where>
order by o.id desc
</select>
<select id="getList" resultType="com.nflg.wms.common.pojo.vo.DeliverNormalOrderVO">
@ -39,5 +40,6 @@
<foreach item="item" collection="ids" separator="," open="(" close=")">
#{item}
</foreach>
order by o.id desc
</select>
</mapper>

View File

@ -25,5 +25,6 @@
and create_time &lt;= #{request.endDate}
</if>
</where>
order by id desc
</select>
</mapper>

View File

@ -7,5 +7,6 @@
FROM wms_out_assistance_ticket_item oati
INNER JOIN wms_out_assistance_item oai ON oati.order_item_id=oai."id"
WHERE oati.ticket_id=#{id}
order by oati.id desc
</select>
</mapper>

View File

@ -26,6 +26,7 @@
and oat.create_time &lt;= #{request.endDate}
</if>
</where>
order by oat.id desc
</select>
<select id="getInfo" resultType="com.nflg.wms.common.pojo.vo.OutAssistanceInfoVO">

View File

@ -6,5 +6,6 @@
select *
from wms_out_costcenter_item
where order_id = #{id}
order by id desc
</select>
</mapper>

View File

@ -7,5 +7,6 @@
FROM wms_out_costcenter_ticket_item octi
INNER JOIN wms_out_costcenter_item oci ON octi.order_item_id=oci."id"
WHERE octi.ticket_id=#{id}
order by octi.id desc
</select>
</mapper>

View File

@ -29,6 +29,7 @@
and oc.kostl like concat('%', #{request.kostl}, '%')
</if>
</where>
order by oct.id desc
</select>
<select id="getInfo" resultType="com.nflg.wms.common.pojo.vo.OutCostcenterInfoVO">

View File

@ -15,5 +15,6 @@
select *
from wms_out_produce_item
where order_id=#{id}
order by id desc
</select>
</mapper>

View File

@ -7,5 +7,6 @@
FROM wms_out_produce_ticket_item opti
INNER JOIN wms_out_produce_item opi ON opti.produce_item_id=opi."id"
WHERE opti.ticket_id=#{id}
order by opti.id desc
</select>
</mapper>

View File

@ -19,6 +19,7 @@
<if test="request.endDate!=null">
and opt.create_time &lt;= #{request.endDate}
</if>
order by opt.id desc
</select>
<select id="getInfo" resultType="com.nflg.wms.common.pojo.vo.OutProduceTicketVO">

View File

@ -27,6 +27,7 @@
and t."binNos" like concat('%', #{request.binNo}, '%')
</if>
</where>
order by id desc
</select>
<select id="getList" resultType="com.nflg.wms.common.pojo.vo.StorageVO">

View File

@ -7,10 +7,10 @@
from wms_transfer_factory
<where>
<if test="request.startDate!=null">
and create_time >= #{request.startDate}
and bdter::date >= #{request.startDate}
</if>
<if test="request.endDate!=null">
and create_time &lt;= #{request.endDate}
and bdter::date &lt;= #{request.endDate}
</if>
<if test="request.no != null and request.no!=''">
and "no" like concat('%',#{request.no},'%')

View File

@ -3,7 +3,7 @@
<mapper namespace="com.nflg.wms.repository.mapper.WmsTransferFactoryTicketItemMapper">
<select id="getList" resultType="com.nflg.wms.common.pojo.vo.TransferFactoryItemVO">
select tfi.*
select tfti.id,tfti.num,tfi.*
from wms_transfer_factory_item tfi
inner join wms_transfer_factory_ticket_item tfti on tfi.id = tfti.order_item_id
where tfti.ticket_id = #{id}

View File

@ -3,15 +3,16 @@
<mapper namespace="com.nflg.wms.repository.mapper.WmsTransferFactoryTicketMapper">
<select id="search" resultType="com.nflg.wms.common.pojo.vo.TransferFactoryTicketVO">
SELECT tft."id",tft."no" AS "ticket_no",tft.create_by,tft.create_time,tft.doc_year,tft.mat_doc,tf.*
SELECT tft."id",tft."no" AS "ticket_no",tft.create_by,tft.create_time,tft.update_time,tft.update_by
,tft.doc_year,tft.mat_doc,tf.*
FROM wms_transfer_factory_ticket tft
INNER JOIN wms_transfer_factory tf ON tft.order_id=tf."id"
<where>
<if test="request.startDate!=null">
and tft.create_time >= #{request.startDate}
and tf.bdter::date >= #{request.startDate}
</if>
<if test="request.endDate!=null">
and tft.create_time &lt;= #{request.endDate}
and tf.bdter::date &lt;= #{request.endDate}
</if>
<if test="request.no != null and request.no!=''">
and tf."no" like concat('%',#{request.no},'%')