添加功能
This commit is contained in:
parent
2937eeeab2
commit
58637851e4
|
|
@ -61,11 +61,6 @@
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-mail</artifactId>
|
<artifactId>spring-boot-starter-mail</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>cglib</groupId>
|
|
||||||
<artifactId>cglib</artifactId>
|
|
||||||
<scope>compile</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>commons-io</groupId>
|
<groupId>commons-io</groupId>
|
||||||
<artifactId>commons-io</artifactId>
|
<artifactId>commons-io</artifactId>
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.nflg.wms.admin.controller;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import cn.hutool.core.util.RandomUtil;
|
import cn.hutool.core.util.RandomUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.crypto.digest.DigestUtil;
|
import cn.hutool.crypto.digest.DigestUtil;
|
||||||
|
|
@ -20,8 +21,10 @@ import com.nflg.wms.common.pojo.ApiResult;
|
||||||
import com.nflg.wms.common.pojo.PageData;
|
import com.nflg.wms.common.pojo.PageData;
|
||||||
import com.nflg.wms.common.pojo.dto.PackageMaterialDTO;
|
import com.nflg.wms.common.pojo.dto.PackageMaterialDTO;
|
||||||
import com.nflg.wms.common.pojo.dto.SAPOrderDTO;
|
import com.nflg.wms.common.pojo.dto.SAPOrderDTO;
|
||||||
|
import com.nflg.wms.common.pojo.dto.SAPSyncFromDTO;
|
||||||
import com.nflg.wms.common.pojo.qo.*;
|
import com.nflg.wms.common.pojo.qo.*;
|
||||||
import com.nflg.wms.common.pojo.vo.*;
|
import com.nflg.wms.common.pojo.vo.*;
|
||||||
|
import com.nflg.wms.common.util.BeanUtil;
|
||||||
import com.nflg.wms.common.util.EecExcelUtil;
|
import com.nflg.wms.common.util.EecExcelUtil;
|
||||||
import com.nflg.wms.common.util.UserUtil;
|
import com.nflg.wms.common.util.UserUtil;
|
||||||
import com.nflg.wms.common.util.VUtil;
|
import com.nflg.wms.common.util.VUtil;
|
||||||
|
|
@ -35,6 +38,7 @@ import jakarta.validation.Valid;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.core.io.ClassPathResource;
|
import org.springframework.core.io.ClassPathResource;
|
||||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
@ -47,7 +51,6 @@ import java.io.InputStream;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
@ -55,6 +58,7 @@ import java.util.stream.Collectors;
|
||||||
/**
|
/**
|
||||||
* 钢构件订单管理
|
* 钢构件订单管理
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/deliver/order/package")
|
@RequestMapping("/deliver/order/package")
|
||||||
public class StructuralPackageOrderController extends BaseController {
|
public class StructuralPackageOrderController extends BaseController {
|
||||||
|
|
@ -89,6 +93,9 @@ public class StructuralPackageOrderController extends BaseController {
|
||||||
@Resource
|
@Resource
|
||||||
private IWmsStructuralPackageDeliverOrderMapService structuralPackageDeliverOrderMapService;
|
private IWmsStructuralPackageDeliverOrderMapService structuralPackageDeliverOrderMapService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IWmsStructuralPackageStorageTaskService structuralPackageStorageTaskService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 搜索SAP订单
|
* 搜索SAP订单
|
||||||
* @param request 请求参数
|
* @param request 请求参数
|
||||||
|
|
@ -141,7 +148,7 @@ public class StructuralPackageOrderController extends BaseController {
|
||||||
.setMaterialDesc(material.getName())
|
.setMaterialDesc(material.getName())
|
||||||
.setVersion(material.getVersion())
|
.setVersion(material.getVersion())
|
||||||
.setWeight(material.getWeight())
|
.setWeight(material.getWeight())
|
||||||
.setPlanNum(material.getNum().multiply(BigDecimal.valueOf(num)))
|
.setPlanNum(material.getNum()*num)
|
||||||
.setImage(material.getImage())
|
.setImage(material.getImage())
|
||||||
);
|
);
|
||||||
if (Objects.nonNull(material.getWeight())) {
|
if (Objects.nonNull(material.getWeight())) {
|
||||||
|
|
@ -194,7 +201,7 @@ public class StructuralPackageOrderController extends BaseController {
|
||||||
.setOrderId(order.getId())
|
.setOrderId(order.getId())
|
||||||
.setNo(it.getNo())
|
.setNo(it.getNo())
|
||||||
.setWeight(BigDecimal.ZERO)
|
.setWeight(BigDecimal.ZERO)
|
||||||
.setNum(BigDecimal.ZERO)
|
.setNum(0)
|
||||||
.setStation(it.getStation())
|
.setStation(it.getStation())
|
||||||
.setTray(it.getTray())).toList();
|
.setTray(it.getTray())).toList();
|
||||||
List<WmsStructuralPackageOrderTrayItem> items = new ArrayList<>();
|
List<WmsStructuralPackageOrderTrayItem> items = new ArrayList<>();
|
||||||
|
|
@ -204,8 +211,8 @@ public class StructuralPackageOrderController extends BaseController {
|
||||||
WmsStructuralPackageOrderTrayItem item = Convert.convert(WmsStructuralPackageOrderTrayItem.class, it);
|
WmsStructuralPackageOrderTrayItem item = Convert.convert(WmsStructuralPackageOrderTrayItem.class, it);
|
||||||
item.setOrderId(order.getId());
|
item.setOrderId(order.getId());
|
||||||
item.setTrayId(tray.getId());
|
item.setTrayId(tray.getId());
|
||||||
tray.setNum(tray.getNum().add(item.getPlanNum().multiply(BigDecimal.valueOf(order.getNum()))));
|
tray.setNum(tray.getNum()+(item.getPlanNum()*order.getNum()));
|
||||||
tray.setWeight(tray.getWeight().add(item.getPlanNum().multiply(it.getWeight())));
|
tray.setWeight(tray.getWeight().add(NumberUtil.mul(it.getWeight(),new BigDecimal(item.getPlanNum()))));
|
||||||
return item;
|
return item;
|
||||||
}).toList()
|
}).toList()
|
||||||
);
|
);
|
||||||
|
|
@ -391,12 +398,17 @@ public class StructuralPackageOrderController extends BaseController {
|
||||||
DeliverStructuralPackageOrderExtendVO trayVO = deliverStructuralPackageOrderTrayService.getInfo(id);
|
DeliverStructuralPackageOrderExtendVO trayVO = deliverStructuralPackageOrderTrayService.getInfo(id);
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(trayVO)).throwMessage("数据不存在");
|
VUtil.trueThrowBusinessError(Objects.isNull(trayVO)).throwMessage("数据不存在");
|
||||||
List<DeliverStructuralPackageOrderTrayItemVO> list = deliverStructuralPackageOrderTrayItemService.getListByTrayId(id);
|
List<DeliverStructuralPackageOrderTrayItemVO> list = deliverStructuralPackageOrderTrayItemService.getListByTrayId(id);
|
||||||
|
List<DeliverStructuralPackageOrderTrayItemVO> datas = new ArrayList<>();
|
||||||
for (DeliverStructuralPackageOrderTrayItemVO it : list) {
|
for (DeliverStructuralPackageOrderTrayItemVO it : list) {
|
||||||
it.setQrCode(com.nflg.wms.common.util.DateTimeUtil.format(LocalDate.now(),"yyyyMMdd")+RandomUtil.randomString(6) +"_"+it.getMaterialNo() + "_" + it.getTrayNo() + "_1");
|
for (int i = 0; i < it.getPlanNum(); i++) {
|
||||||
it.setQrCodeImage("data:image/png;base64," + Base64.getEncoder().encodeToString(QRCodeUtil.generateQRCode(it.getQrCode(), 200, 200)));
|
DeliverStructuralPackageOrderTrayItemVO vo = BeanUtil.copy(it, DeliverStructuralPackageOrderTrayItemVO.class);
|
||||||
|
vo.setQrCode(it.getId() + "-" + (i + 1) + "^" + it.getMaterialNo() + "_" + it.getTrayNo() + "_1");
|
||||||
|
vo.setQrCodeImage("data:image/png;base64," + Base64.getEncoder().encodeToString(QRCodeUtil.generateQRCode(vo.getQrCode(), 200, 200)));
|
||||||
|
datas.add(vo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Map<String, Object> variables = new HashMap<>();
|
Map<String, Object> variables = new HashMap<>();
|
||||||
variables.put("list", list);
|
variables.put("list", datas);
|
||||||
String html = ThymeleafUtil.generator("/template/qrcode/", "spitem", ".html", variables);
|
String html = ThymeleafUtil.generator("/template/qrcode/", "spitem", ".html", variables);
|
||||||
URL baseUrl = new ClassPathResource("template/qrcode/").getURL();
|
URL baseUrl = new ClassPathResource("template/qrcode/").getURL();
|
||||||
PdfGeneratorUtil.generatePdf(trayVO.getExternalOrderNo() + "-" + trayVO.getWorkbenchCode() + "标签", html, baseUrl.toString(), response);
|
PdfGeneratorUtil.generatePdf(trayVO.getExternalOrderNo() + "-" + trayVO.getWorkbenchCode() + "标签", html, baseUrl.toString(), response);
|
||||||
|
|
@ -439,7 +451,7 @@ public class StructuralPackageOrderController extends BaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据托盘号获取托盘信息(打包用)
|
* 根据托盘号获取托盘信息(PDA使用)
|
||||||
*/
|
*/
|
||||||
@GetMapping("getTrayInfoByNo")
|
@GetMapping("getTrayInfoByNo")
|
||||||
public ApiResult<DeliverStructuralPackageOrderTrayVO> getTrayInfoByNo(@Valid @RequestParam @NotBlank String trayNo){
|
public ApiResult<DeliverStructuralPackageOrderTrayVO> getTrayInfoByNo(@Valid @RequestParam @NotBlank String trayNo){
|
||||||
|
|
@ -459,13 +471,13 @@ public class StructuralPackageOrderController extends BaseController {
|
||||||
WmsStructuralPackageOrderTray tray = deliverStructuralPackageOrderTrayService.lambdaQuery().eq(WmsStructuralPackageOrderTray::getNo, request.getTrayNo()).one();
|
WmsStructuralPackageOrderTray tray = deliverStructuralPackageOrderTrayService.lambdaQuery().eq(WmsStructuralPackageOrderTray::getNo, request.getTrayNo()).one();
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(tray)).throwMessage("托盘不存在");
|
VUtil.trueThrowBusinessError(Objects.isNull(tray)).throwMessage("托盘不存在");
|
||||||
VUtil.trueThrowBusinessError(!Objects.equals(tray.getState(), OrderState.Unpackaged.getState())).throwMessage("请勿重复打包");
|
VUtil.trueThrowBusinessError(!Objects.equals(tray.getState(), OrderState.Unpackaged.getState())).throwMessage("请勿重复打包");
|
||||||
VUtil.trueThrowBusinessError(tray.getNum().compareTo(BigDecimal.valueOf(request.getQrCodes().size())) == 0).throwMessage("打包数量不足");
|
VUtil.trueThrowBusinessError(tray.getNum().compareTo(request.getQrCodes().size()) != 0).throwMessage("打包数量不足");
|
||||||
VUtil.trueThrowBusinessError(!deliverStructuralPackageOrderTrayService.lambdaUpdate()
|
VUtil.trueThrowBusinessError(!deliverStructuralPackageOrderTrayService.lambdaUpdate()
|
||||||
.set(WmsStructuralPackageOrderTray::getState, OrderState.Packaged.getState())
|
.set(WmsStructuralPackageOrderTray::getState, OrderState.Packaged.getState())
|
||||||
.set(WmsStructuralPackageOrderTray::getPackBy, UserUtil.getUserName())
|
.set(WmsStructuralPackageOrderTray::getPackBy, UserUtil.getUserName())
|
||||||
.set(WmsStructuralPackageOrderTray::getPackTime, LocalDateTime.now())
|
.set(WmsStructuralPackageOrderTray::getPackTime, LocalDateTime.now())
|
||||||
.eq(WmsStructuralPackageOrderTray::getState, OrderState.Unpackaged.getState())
|
.eq(WmsStructuralPackageOrderTray::getState, OrderState.Unpackaged.getState())
|
||||||
.eq(WmsStructuralPackageOrderTray::getTray, request.getTrayNo())
|
.eq(WmsStructuralPackageOrderTray::getNo, request.getTrayNo())
|
||||||
.update()).throwMessage("打包失败,请重试");
|
.update()).throwMessage("打包失败,请重试");
|
||||||
packageMaterialScanRecordRepository.saveAll(request.getQrCodes().stream().map(qrCode -> {
|
packageMaterialScanRecordRepository.saveAll(request.getQrCodes().stream().map(qrCode -> {
|
||||||
List<String> qrContents = StrUtil.split(qrCode, "^");
|
List<String> qrContents = StrUtil.split(qrCode, "^");
|
||||||
|
|
@ -519,7 +531,7 @@ public class StructuralPackageOrderController extends BaseController {
|
||||||
.throwMessage("采购单号必须一致");
|
.throwMessage("采购单号必须一致");
|
||||||
Long packageId = trays.get(0).getPackageId();
|
Long packageId = trays.get(0).getPackageId();
|
||||||
String externalOrderNo = trays.get(0).getExternalOrderNo();
|
String externalOrderNo = trays.get(0).getExternalOrderNo();
|
||||||
Long supplierId=trays.get(0).getSupplierId();
|
Long supplierId = trays.get(0).getSupplierId();
|
||||||
List<Long> tids = deliverStructuralPackageOrderTrayService.getIdsByMaterialAndExternalOrderNo(packageId, externalOrderNo);
|
List<Long> tids = deliverStructuralPackageOrderTrayService.getIdsByMaterialAndExternalOrderNo(packageId, externalOrderNo);
|
||||||
VUtil.trueThrowBusinessError(tids.size() != ids.size()).throwMessage("数据未齐套");
|
VUtil.trueThrowBusinessError(tids.size() != ids.size()).throwMessage("数据未齐套");
|
||||||
String deliverOrderNo = RandomUtil.randomString(10);
|
String deliverOrderNo = RandomUtil.randomString(10);
|
||||||
|
|
@ -532,6 +544,7 @@ public class StructuralPackageOrderController extends BaseController {
|
||||||
structuralPackageDeliverOrderMapService.saveBatch(ids.stream().map(id -> new WmsStructuralPackageDeliverOrderMap()
|
structuralPackageDeliverOrderMapService.saveBatch(ids.stream().map(id -> new WmsStructuralPackageDeliverOrderMap()
|
||||||
.setDeliverId(deliverOrder.getId())
|
.setDeliverId(deliverOrder.getId())
|
||||||
.setOrderId(id)).toList());
|
.setOrderId(id)).toList());
|
||||||
|
deliverStructuralPackageOrderTrayService.setStateByIds(ids, OrderState.InTransit);
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -545,12 +558,92 @@ public class StructuralPackageOrderController extends BaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据送货单号查询订单信息
|
* 根据送货单号查询订单信息(PDA使用)
|
||||||
* @param orderNo 送货单号
|
* @param orderNo 送货单号
|
||||||
*/
|
*/
|
||||||
@GetMapping("getInfoByExternalOrderNo")
|
@GetMapping("getInfoByExternalOrderNo")
|
||||||
public ApiResult<DeliverStructuralPackageOrderForPackageVO> getInfoByExternalOrderNo(@Valid @RequestParam @NotBlank String orderNo){
|
public ApiResult<DeliverStructuralPackageOrderForPackageVO> getInfoByExternalOrderNo(@Valid @RequestParam @NotBlank String orderNo) {
|
||||||
List<DeliverStructuralPackageOrderForPackageItemVO> datas=deliverStructuralPackageOrderService.getInfoByExternalOrderNo(orderNo);
|
List<DeliverStructuralPackageOrderForPackageItemVO> datas = deliverStructuralPackageOrderService.getInfoByExternalOrderNo(orderNo);
|
||||||
return ApiResult.success(new DeliverStructuralPackageOrderForPackageVO());
|
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(datas)).throwMessage("未找到数据");
|
||||||
|
datas.forEach(it -> {
|
||||||
|
it.setTrayNos(deliverStructuralPackageOrderTrayService.lambdaQuery()
|
||||||
|
.select(WmsStructuralPackageOrderTray::getNo)
|
||||||
|
.eq(WmsStructuralPackageOrderTray::getOrderId, it.getId())
|
||||||
|
.list()
|
||||||
|
.stream()
|
||||||
|
.map(WmsStructuralPackageOrderTray::getNo)
|
||||||
|
.toList());
|
||||||
|
//SAP
|
||||||
|
SAPMaterialInfoInOrderDTO dto1 = sapService.getMaterialInfoInOrder(it.getExternalOrderNo(), it.getSupplierCode(), it.getPackageNo());
|
||||||
|
if (Objects.isNull(dto1)) {
|
||||||
|
log.error("{},{},{}未从SAP的ZIM_004接口查询到数据", it.getExternalOrderNo(), it.getSupplierCode(), it.getPackageNo());
|
||||||
|
} else if (StrUtil.isBlank(dto1.getWarehouseNo())) {
|
||||||
|
log.error("{},{},{}未从SAP的ZIM_004接口查询仓库为空", it.getExternalOrderNo(), it.getSupplierCode(), it.getPackageNo());
|
||||||
|
} else {
|
||||||
|
it.setWarehouseNo(dto1.getWarehouseNo());
|
||||||
|
List<SAPSyncFromDTO> dtos = sapService.getStorage("1010", List.of(dto1.getWarehouseNo()), List.of(it.getPackageNo()), null, null);
|
||||||
|
if (CollectionUtil.isEmpty(dtos)) {
|
||||||
|
log.error("{},{},{}未从SAP的ZWM3A01接口查询到数据", "1010", dto1.getWarehouseNo(), it.getPackageNo());
|
||||||
|
} else {
|
||||||
|
it.setBinNos(dtos.get(0).getBinNos());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
DeliverStructuralPackageOrderForPackageVO vo = new DeliverStructuralPackageOrderForPackageVO();
|
||||||
|
vo.setItems(datas);
|
||||||
|
vo.setSupplierCode(datas.get(0).getSupplierCode());
|
||||||
|
vo.setSupplierName(datas.get(0).getSupplierName());
|
||||||
|
return ApiResult.success(vo);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货(PDA使用)
|
||||||
|
* @param request 请求参数
|
||||||
|
*/
|
||||||
|
@Transactional
|
||||||
|
@PostMapping("receive")
|
||||||
|
public ApiResult<Void> receive(@Valid @RequestBody @NotNull StructuralPackageOrderReceiveQO request) {
|
||||||
|
List<String> trayNos = deliverStructuralPackageOrderTrayService.lambdaQuery()
|
||||||
|
.select(WmsStructuralPackageOrderTray::getNo)
|
||||||
|
.eq(WmsStructuralPackageOrderTray::getOrderId, request.getId())
|
||||||
|
.list()
|
||||||
|
.stream()
|
||||||
|
.map(WmsStructuralPackageOrderTray::getNo)
|
||||||
|
.toList();
|
||||||
|
VUtil.trueThrowBusinessError(!new HashSet<>(trayNos).equals(new HashSet<>(request.getTrayNos())))
|
||||||
|
.throwMessage("托盘未齐套");
|
||||||
|
VUtil.trueThrowBusinessError(!deliverStructuralPackageOrderTrayService.lambdaQuery()
|
||||||
|
.eq(WmsStructuralPackageOrderTray::getOrderId, request.getId())
|
||||||
|
.eq(WmsStructuralPackageOrderTray::getState, OrderState.InTransit.getState())
|
||||||
|
.exists())
|
||||||
|
.throwMessage("没有需要收货的数据");
|
||||||
|
deliverStructuralPackageOrderTrayService.lambdaUpdate()
|
||||||
|
.set(WmsStructuralPackageOrderTray::getState, OrderState.Received.getState())
|
||||||
|
.set(WmsStructuralPackageOrderTray::getReceiveBy,UserUtil.getUserName())
|
||||||
|
.set(WmsStructuralPackageOrderTray::getReceiveTime, LocalDateTime.now())
|
||||||
|
.eq(WmsStructuralPackageOrderTray::getOrderId, request.getId())
|
||||||
|
.eq(WmsStructuralPackageOrderTray::getState, OrderState.InTransit.getState())
|
||||||
|
.update();
|
||||||
|
//创建上架任务
|
||||||
|
String deliverOrderNo = structuralPackageDeliverOrderService.getNoByOrderId(request.getId());
|
||||||
|
String taskNo = "NFS" + deliverOrderNo;
|
||||||
|
if (Objects.isNull(structuralPackageStorageTaskService.lambdaQuery().eq(WmsStructuralPackageStorageTask::getNo, taskNo).one())){
|
||||||
|
structuralPackageStorageTaskService.save(new WmsStructuralPackageStorageTask()
|
||||||
|
.setNo(taskNo)
|
||||||
|
.setSourceFrom(1)
|
||||||
|
.setSourceNo(deliverOrderNo)
|
||||||
|
.setCreateTime(LocalDateTime.now())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return ApiResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 搜索上架任务
|
||||||
|
* @param request 查询参数
|
||||||
|
*/
|
||||||
|
@PostMapping("searchStorageTask")
|
||||||
|
public ApiResult<PageData<WmsStructuralPackageStorageTask>> searchStorageTask(@Valid @RequestBody @NotNull StructuralPackageStorageTaskSearchQO request){
|
||||||
|
return ApiResult.success(structuralPackageStorageTaskService.search(request));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -13,4 +13,9 @@ public class SAPMaterialInfoInOrderDTO {
|
||||||
* 未收货数量
|
* 未收货数量
|
||||||
*/
|
*/
|
||||||
private BigDecimal transportNum;
|
private BigDecimal transportNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 仓库编号
|
||||||
|
*/
|
||||||
|
private String warehouseNo;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,15 +6,13 @@ import com.nflg.wms.admin.pojo.dto.SAPMaterialInfoInOrderDTO;
|
||||||
import com.nflg.wms.common.constant.STATE;
|
import com.nflg.wms.common.constant.STATE;
|
||||||
import com.nflg.wms.common.exception.NflgException;
|
import com.nflg.wms.common.exception.NflgException;
|
||||||
import com.nflg.wms.common.pojo.dto.SAPOrderDTO;
|
import com.nflg.wms.common.pojo.dto.SAPOrderDTO;
|
||||||
|
import com.nflg.wms.common.pojo.dto.SAPSyncFromDTO;
|
||||||
import com.sap.conn.jco.*;
|
import com.sap.conn.jco.*;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
|
|
@ -26,9 +24,57 @@ public class SapService {
|
||||||
@Resource
|
@Resource
|
||||||
private JCoRepository repository;
|
private JCoRepository repository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取库存信息
|
||||||
|
* @param factory 工厂编号
|
||||||
|
* @param warehouseNos 仓库编号列表
|
||||||
|
* @param beginTime 开始时间,格式yyyyMMdd
|
||||||
|
* @param endTime 结束时间,格式yyyyMMdd
|
||||||
|
*/
|
||||||
|
public List<SAPSyncFromDTO> getStorage(String factory, List<String> warehouseNos,List<String> materialNos, String beginTime, String endTime) {
|
||||||
|
Map<String, Object> parameters = new HashMap<>();
|
||||||
|
parameters.put("I_WERKS", factory);
|
||||||
|
parameters.put("I_TYPE", Objects.nonNull(beginTime) || Objects.nonNull(endTime) ? "I" : "A");
|
||||||
|
if (Objects.nonNull(beginTime)) {
|
||||||
|
parameters.put("S_DATE", beginTime);
|
||||||
|
}
|
||||||
|
if (Objects.nonNull(endTime)) {
|
||||||
|
parameters.put("E_DATE", endTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, List<Map<String, Object>>> tables = new HashMap<>();
|
||||||
|
List<Map<String, Object>> warehouses = new ArrayList<>();
|
||||||
|
warehouseNos.forEach(warehouseNo -> {
|
||||||
|
warehouses.add(Map.of("LGORT", warehouseNo));
|
||||||
|
});
|
||||||
|
tables.put("IT_LGORT", warehouses);
|
||||||
|
List<Map<String, Object>> materials = new ArrayList<>();
|
||||||
|
materialNos.forEach(materialNo -> {
|
||||||
|
materials.add(Map.of("MATNR", materialNo));
|
||||||
|
});
|
||||||
|
tables.put("IT_MATNR", materials);
|
||||||
|
|
||||||
|
JCoTable tOut = exec("ZWM3A01", parameters, tables);
|
||||||
|
|
||||||
|
List<SAPSyncFromDTO> result = new ArrayList<>();
|
||||||
|
for (int i = 0; i < tOut.getNumRows(); i++) {
|
||||||
|
tOut.setRow(i);
|
||||||
|
result.add(new SAPSyncFromDTO()
|
||||||
|
.setFactoryNo(tOut.getString("WERKS"))
|
||||||
|
.setMaterialNo(tOut.getString("MATNR"))
|
||||||
|
.setMaterialDesc(tOut.getString("MAKTX"))
|
||||||
|
.setWarehouseNo(tOut.getString("LGORT"))
|
||||||
|
.setWarehouseName(tOut.getString("LGOBE"))
|
||||||
|
.setBinNos(tOut.getString("LGPBE")))
|
||||||
|
;
|
||||||
|
}
|
||||||
|
log.debug("数据:{}", JSONUtil.toJsonStr(result));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取订单中物料的信息
|
* 获取订单中物料的信息
|
||||||
* @param orderNo 送货单号
|
* @param orderNo 采购单号
|
||||||
* @param supplierNo 供应商编号
|
* @param supplierNo 供应商编号
|
||||||
* @param materialNo 物料编号
|
* @param materialNo 物料编号
|
||||||
*/
|
*/
|
||||||
|
|
@ -42,7 +88,8 @@ public class SapService {
|
||||||
|
|
||||||
tOut.setRow(0);
|
tOut.setRow(0);
|
||||||
return new SAPMaterialInfoInOrderDTO()
|
return new SAPMaterialInfoInOrderDTO()
|
||||||
.setTransportNum(tOut.getBigDecimal("WSHSL"));
|
.setTransportNum(tOut.getBigDecimal("WSHSL"))
|
||||||
|
.setWarehouseNo(tOut.getString("LGORT"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -77,6 +124,10 @@ public class SapService {
|
||||||
return exec(functionName, parameters, null,"T_OUT");
|
return exec(functionName, parameters, null,"T_OUT");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private JCoTable exec(String functionName, Map<String, Object> parameters, Map<String, List<Map<String, Object>>> tables) {
|
||||||
|
return exec(functionName, parameters, tables,"T_OUT");
|
||||||
|
}
|
||||||
|
|
||||||
private JCoTable exec(String functionName, Map<String, Object> parameters, Map<String, List<Map<String, Object>>> tables,String outName) {
|
private JCoTable exec(String functionName, Map<String, Object> parameters, Map<String, List<Map<String, Object>>> tables,String outName) {
|
||||||
try {
|
try {
|
||||||
log.info("SAP functionName:{}",functionName);
|
log.info("SAP functionName:{}",functionName);
|
||||||
|
|
|
||||||
|
|
@ -226,7 +226,7 @@ public class StructuralPackageControllerService {
|
||||||
sb.append("数量无效;");
|
sb.append("数量无效;");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
materialDTO.setNum(new BigDecimal(dto.getNum()));
|
materialDTO.setNum(Integer.valueOf(dto.getNum()));
|
||||||
}
|
}
|
||||||
if (StrUtil.isBlank(dto.getWeight())) {
|
if (StrUtil.isBlank(dto.getWeight())) {
|
||||||
sb.append("重量不能为空;");
|
sb.append("重量不能为空;");
|
||||||
|
|
@ -334,7 +334,7 @@ public class StructuralPackageControllerService {
|
||||||
}else if (!NumberUtils.isCreatable(num)){
|
}else if (!NumberUtils.isCreatable(num)){
|
||||||
sb.append(StrUtil.format("第{}行数量无效;", row.getRowNum()));
|
sb.append(StrUtil.format("第{}行数量无效;", row.getRowNum()));
|
||||||
}else {
|
}else {
|
||||||
dto.setNum(new BigDecimal(num));
|
dto.setNum(Integer.valueOf(num));
|
||||||
}
|
}
|
||||||
num=row.getString(4);
|
num=row.getString(4);
|
||||||
if (StrUtil.isBlank(num)){
|
if (StrUtil.isBlank(num)){
|
||||||
|
|
@ -353,7 +353,7 @@ public class StructuralPackageControllerService {
|
||||||
});
|
});
|
||||||
VUtil.trueThrowBusinessError(!sb.isEmpty()).throwMessage("数据校验失败:"+ sb);
|
VUtil.trueThrowBusinessError(!sb.isEmpty()).throwMessage("数据校验失败:"+ sb);
|
||||||
packageInfo.setWeight(materials.stream()
|
packageInfo.setWeight(materials.stream()
|
||||||
.map(m -> m.getWeight().multiply(m.getNum()))
|
.map(m -> m.getWeight().multiply(new BigDecimal(m.getNum())))
|
||||||
.reduce(BigDecimal.ZERO, BigDecimal::add));
|
.reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
packageInfo.setMaterials(JSONUtil.toJsonStr(materials));
|
packageInfo.setMaterials(JSONUtil.toJsonStr(materials));
|
||||||
packageService.add(packageInfo);
|
packageService.add(packageInfo);
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,9 @@ import java.util.Objects;
|
||||||
public enum OrderState {
|
public enum OrderState {
|
||||||
|
|
||||||
Unpackaged((short) 0, "未打包"),
|
Unpackaged((short) 0, "未打包"),
|
||||||
Packaged((short) 1, "已打包");
|
Packaged((short) 1, "已打包"),
|
||||||
|
InTransit((short) 2, "在途"),
|
||||||
|
Received((short) 3, "已收货");
|
||||||
|
|
||||||
private final short state;
|
private final short state;
|
||||||
private final String description;
|
private final String description;
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ public class PackageMaterialDTO {
|
||||||
/**
|
/**
|
||||||
* 数量
|
* 数量
|
||||||
*/
|
*/
|
||||||
private BigDecimal num;
|
private Integer num;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 重量
|
* 重量
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ public class SAPSyncFromDTO {
|
||||||
private String materialDesc;
|
private String materialDesc;
|
||||||
private String warehouseNo;
|
private String warehouseNo;
|
||||||
private String warehouseName;
|
private String warehouseName;
|
||||||
private String binNo;
|
private String binNos;
|
||||||
|
|
||||||
public String getMaterialNo() {
|
public String getMaterialNo() {
|
||||||
return StrUtil.removeAllPrefix(materialNo, "0");
|
return StrUtil.removeAllPrefix(materialNo, "0");
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
package com.nflg.wms.common.pojo.qo;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class StructuralPackageOrderReceiveQO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wms订单ID
|
||||||
|
*/
|
||||||
|
@NotNull
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 该订单下包含的托盘号
|
||||||
|
*/
|
||||||
|
@NotEmpty
|
||||||
|
private List<String> trayNos;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
package com.nflg.wms.common.pojo.qo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class StructuralPackageStorageTaskSearchQO extends SearchBaseQO{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务单号
|
||||||
|
*/
|
||||||
|
private String taskNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 原始单号
|
||||||
|
*/
|
||||||
|
private String orderNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务类型,1:采购单入库
|
||||||
|
*/
|
||||||
|
private Integer type;
|
||||||
|
}
|
||||||
|
|
@ -3,10 +3,16 @@ package com.nflg.wms.common.pojo.vo;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class DeliverStructuralPackageOrderForPackageItemVO {
|
public class DeliverStructuralPackageOrderForPackageItemVO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wms订单ID
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 供应商代码
|
* 供应商代码
|
||||||
*/
|
*/
|
||||||
|
|
@ -37,6 +43,16 @@ public class DeliverStructuralPackageOrderForPackageItemVO {
|
||||||
*/
|
*/
|
||||||
private String packageDesc;
|
private String packageDesc;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 仓库编号
|
||||||
|
*/
|
||||||
|
private String warehouseNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 储位编号
|
||||||
|
*/
|
||||||
|
private String binNos;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 总重
|
* 总重
|
||||||
*/
|
*/
|
||||||
|
|
@ -51,4 +67,9 @@ public class DeliverStructuralPackageOrderForPackageItemVO {
|
||||||
* 托盘数量
|
* 托盘数量
|
||||||
*/
|
*/
|
||||||
private Integer trayNum;
|
private Integer trayNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 该订单下包含的托盘号
|
||||||
|
*/
|
||||||
|
private List<String> trayNos;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,12 @@ import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
import org.ttzero.excel.annotation.ExcelColumn;
|
import org.ttzero.excel.annotation.ExcelColumn;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Accessors
|
@Accessors
|
||||||
public class DeliverStructuralPackageOrderTrayItemVO {
|
public class DeliverStructuralPackageOrderTrayItemVO implements Serializable {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 序号
|
* 序号
|
||||||
|
|
@ -64,19 +65,19 @@ public class DeliverStructuralPackageOrderTrayItemVO {
|
||||||
* 计划数量
|
* 计划数量
|
||||||
*/
|
*/
|
||||||
@ExcelColumn(value = "计划数量",colIndex = 7)
|
@ExcelColumn(value = "计划数量",colIndex = 7)
|
||||||
private BigDecimal planNum;
|
private Integer planNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 出货数量
|
* 出货数量
|
||||||
*/
|
*/
|
||||||
@ExcelColumn(value = "出货数量",colIndex = 8)
|
@ExcelColumn(value = "出货数量",colIndex = 8)
|
||||||
private BigDecimal shipmentNum;
|
private Integer shipmentNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 入库数量
|
* 入库数量
|
||||||
*/
|
*/
|
||||||
@ExcelColumn(value = "入库数量",colIndex = 9)
|
@ExcelColumn(value = "入库数量",colIndex = 9)
|
||||||
private BigDecimal storeNum;
|
private Integer storeNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 状态
|
* 状态
|
||||||
|
|
|
||||||
|
|
@ -39,17 +39,17 @@ public class TrayItemVO {
|
||||||
/**
|
/**
|
||||||
* 计划数量
|
* 计划数量
|
||||||
*/
|
*/
|
||||||
private BigDecimal planNum;
|
private Integer planNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 出货数量
|
* 出货数量
|
||||||
*/
|
*/
|
||||||
private BigDecimal shipmentNum;
|
private Integer shipmentNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 入库数量
|
* 入库数量
|
||||||
*/
|
*/
|
||||||
private BigDecimal storeNum;
|
private Integer storeNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 图片
|
* 图片
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
package com.nflg.wms.common.util;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
|
||||||
|
public class BeanUtil {
|
||||||
|
|
||||||
|
public static <T> T copy(Object source, Class<T> clazz) {
|
||||||
|
String data= JSONUtil.toJsonStr(source);
|
||||||
|
return JSONUtil.toBean(data, clazz);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -63,7 +63,7 @@ public class WmsStructuralPackageOrderTray implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 数量
|
* 数量
|
||||||
*/
|
*/
|
||||||
private BigDecimal num;
|
private Integer num;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 打包人
|
* 打包人
|
||||||
|
|
@ -76,4 +76,28 @@ public class WmsStructuralPackageOrderTray implements Serializable {
|
||||||
*/
|
*/
|
||||||
@TableField(updateStrategy = FieldStrategy.ALWAYS)
|
@TableField(updateStrategy = FieldStrategy.ALWAYS)
|
||||||
private LocalDateTime packTime;
|
private LocalDateTime packTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建送货单人
|
||||||
|
*/
|
||||||
|
@TableField(updateStrategy = FieldStrategy.ALWAYS)
|
||||||
|
private String sendBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建送货单时间
|
||||||
|
*/
|
||||||
|
@TableField(updateStrategy = FieldStrategy.ALWAYS)
|
||||||
|
private LocalDateTime sendTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货人
|
||||||
|
*/
|
||||||
|
@TableField(updateStrategy = FieldStrategy.ALWAYS)
|
||||||
|
private String receiveBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货时间
|
||||||
|
*/
|
||||||
|
@TableField(updateStrategy = FieldStrategy.ALWAYS)
|
||||||
|
private LocalDateTime receiveTime;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -64,17 +64,17 @@ public class WmsStructuralPackageOrderTrayItem implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 计划数量
|
* 计划数量
|
||||||
*/
|
*/
|
||||||
private BigDecimal planNum;
|
private Integer planNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 出货数量
|
* 出货数量
|
||||||
*/
|
*/
|
||||||
private BigDecimal shipmentNum;
|
private Integer shipmentNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 入库数量
|
* 入库数量
|
||||||
*/
|
*/
|
||||||
private BigDecimal storeNum;
|
private Integer storeNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 图片
|
* 图片
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
package com.nflg.wms.repository.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
import lombok.ToString;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@ToString
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@TableName("wms_structural_package_storage_task")
|
||||||
|
public class WmsStructuralPackageStorageTask implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务单号
|
||||||
|
*/
|
||||||
|
private String no;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 来源,1:采购单入库
|
||||||
|
*/
|
||||||
|
private Integer sourceFrom;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 来源单号
|
||||||
|
*/
|
||||||
|
private String sourceNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上架时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime storeTime;
|
||||||
|
}
|
||||||
|
|
@ -22,4 +22,6 @@ public interface WmsStructuralPackageDeliverOrderMapper extends BaseMapper<WmsSt
|
||||||
IPage<StructuralPackageDeliverOrderVO> search(StructuralPackageDeliverOrderSearchQO request, List<Long> externalOrderIds, Page<?> objectPage);
|
IPage<StructuralPackageDeliverOrderVO> search(StructuralPackageDeliverOrderSearchQO request, List<Long> externalOrderIds, Page<?> objectPage);
|
||||||
|
|
||||||
List<Long> getIdsByExternalOrderNo(String externalOrderNo);
|
List<Long> getIdsByExternalOrderNo(String externalOrderNo);
|
||||||
|
|
||||||
|
String getNoByOrderId(Long id);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.nflg.wms.repository.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.nflg.wms.common.pojo.qo.StructuralPackageStorageTaskSearchQO;
|
||||||
|
import com.nflg.wms.repository.entity.WmsStructuralPackageStorageTask;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
public interface WmsStructuralPackageStorageTaskMapper extends BaseMapper<WmsStructuralPackageStorageTask> {
|
||||||
|
|
||||||
|
IPage<WmsStructuralPackageStorageTask> search(StructuralPackageStorageTaskSearchQO request, Page<?> objectPage);
|
||||||
|
}
|
||||||
|
|
@ -19,4 +19,6 @@ import jakarta.validation.constraints.NotNull;
|
||||||
public interface IWmsStructuralPackageDeliverOrderService extends IService<WmsStructuralPackageDeliverOrder> {
|
public interface IWmsStructuralPackageDeliverOrderService extends IService<WmsStructuralPackageDeliverOrder> {
|
||||||
|
|
||||||
IPage<StructuralPackageDeliverOrderVO> search(@Valid @NotNull StructuralPackageDeliverOrderSearchQO request);
|
IPage<StructuralPackageDeliverOrderVO> search(@Valid @NotNull StructuralPackageDeliverOrderSearchQO request);
|
||||||
|
|
||||||
|
String getNoByOrderId(@NotNull Long id);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,14 @@ package com.nflg.wms.repository.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.nflg.wms.common.constant.OrderState;
|
||||||
import com.nflg.wms.common.pojo.qo.StructuralPackageOrderSearchByStateQO;
|
import com.nflg.wms.common.pojo.qo.StructuralPackageOrderSearchByStateQO;
|
||||||
import com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderExtendVO;
|
import com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderExtendVO;
|
||||||
import com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderTrayVO;
|
import com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderTrayVO;
|
||||||
import com.nflg.wms.repository.entity.WmsStructuralPackageOrderTray;
|
import com.nflg.wms.repository.entity.WmsStructuralPackageOrderTray;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -41,4 +43,6 @@ public interface IWmsStructuralPackageOrderTrayService extends IService<WmsStruc
|
||||||
DeliverStructuralPackageOrderTrayVO getInfoByNo(@Valid @NotBlank String trayNo);
|
DeliverStructuralPackageOrderTrayVO getInfoByNo(@Valid @NotBlank String trayNo);
|
||||||
|
|
||||||
List<Long> getIdsByMaterialAndExternalOrderNo(Long packageId, String externalOrderNo);
|
List<Long> getIdsByMaterialAndExternalOrderNo(Long packageId, String externalOrderNo);
|
||||||
|
|
||||||
|
void setStateByIds(@Valid @NotEmpty List<Long> ids, OrderState state);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
package com.nflg.wms.repository.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.nflg.wms.common.pojo.qo.StructuralPackageStorageTaskSearchQO;
|
||||||
|
import com.nflg.wms.repository.entity.WmsStructuralPackageStorageTask;
|
||||||
|
import jakarta.validation.Valid;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
public interface IWmsStructuralPackageStorageTaskService extends IService<WmsStructuralPackageStorageTask> {
|
||||||
|
|
||||||
|
IPage<WmsStructuralPackageStorageTask> search(@Valid @NotNull StructuralPackageStorageTaskSearchQO request);
|
||||||
|
}
|
||||||
|
|
@ -3,7 +3,6 @@ package com.nflg.wms.repository.service.impl;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.extra.cglib.CglibUtil;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.nflg.wms.common.pojo.PageData;
|
import com.nflg.wms.common.pojo.PageData;
|
||||||
import com.nflg.wms.common.pojo.qo.DepartmentAddQO;
|
import com.nflg.wms.common.pojo.qo.DepartmentAddQO;
|
||||||
|
|
@ -11,6 +10,7 @@ import com.nflg.wms.common.pojo.qo.DepartmentSearchQO;
|
||||||
import com.nflg.wms.common.pojo.qo.DepartmentUpdateQO;
|
import com.nflg.wms.common.pojo.qo.DepartmentUpdateQO;
|
||||||
import com.nflg.wms.common.pojo.vo.DepartmentSimpleVO;
|
import com.nflg.wms.common.pojo.vo.DepartmentSimpleVO;
|
||||||
import com.nflg.wms.common.pojo.vo.DepartmentVO;
|
import com.nflg.wms.common.pojo.vo.DepartmentVO;
|
||||||
|
import com.nflg.wms.common.util.BeanUtil;
|
||||||
import com.nflg.wms.common.util.UserUtil;
|
import com.nflg.wms.common.util.UserUtil;
|
||||||
import com.nflg.wms.common.util.VUtil;
|
import com.nflg.wms.common.util.VUtil;
|
||||||
import com.nflg.wms.repository.entity.Department;
|
import com.nflg.wms.repository.entity.Department;
|
||||||
|
|
@ -66,7 +66,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
||||||
public void update(DepartmentUpdateQO request) {
|
public void update(DepartmentUpdateQO request) {
|
||||||
Department dept1 = getById(request.getId());
|
Department dept1 = getById(request.getId());
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(dept1)).throwMessage("部门不存在");
|
VUtil.trueThrowBusinessError(Objects.isNull(dept1)).throwMessage("部门不存在");
|
||||||
Department dept2 = CglibUtil.copy(dept1, Department.class);
|
Department dept2 = BeanUtil.copy(dept1, Department.class);
|
||||||
dept2.setName(request.getName())
|
dept2.setName(request.getName())
|
||||||
.setParentId(request.getParentId())
|
.setParentId(request.getParentId())
|
||||||
.setUpdateBy(UserUtil.getUserName())
|
.setUpdateBy(UserUtil.getUserName())
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package com.nflg.wms.repository.service.impl;
|
package com.nflg.wms.repository.service.impl;
|
||||||
|
|
||||||
import cn.hutool.extra.cglib.CglibUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
@ -10,6 +9,7 @@ import com.nflg.wms.common.pojo.qo.RoleSearchQO;
|
||||||
import com.nflg.wms.common.pojo.qo.RoleUpdateQO;
|
import com.nflg.wms.common.pojo.qo.RoleUpdateQO;
|
||||||
import com.nflg.wms.common.pojo.vo.MenuVO;
|
import com.nflg.wms.common.pojo.vo.MenuVO;
|
||||||
import com.nflg.wms.common.pojo.vo.RoleVO;
|
import com.nflg.wms.common.pojo.vo.RoleVO;
|
||||||
|
import com.nflg.wms.common.util.BeanUtil;
|
||||||
import com.nflg.wms.common.util.VUtil;
|
import com.nflg.wms.common.util.VUtil;
|
||||||
import com.nflg.wms.repository.entity.Menu;
|
import com.nflg.wms.repository.entity.Menu;
|
||||||
import com.nflg.wms.repository.entity.Role;
|
import com.nflg.wms.repository.entity.Role;
|
||||||
|
|
@ -60,7 +60,7 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IR
|
||||||
public void update(RoleUpdateQO request, String userName) {
|
public void update(RoleUpdateQO request, String userName) {
|
||||||
Role role1 = getById(request.getId());
|
Role role1 = getById(request.getId());
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(role1)).throwMessage("角色不存在");
|
VUtil.trueThrowBusinessError(Objects.isNull(role1)).throwMessage("角色不存在");
|
||||||
Role role2 = CglibUtil.copy(role1, Role.class);
|
Role role2 = BeanUtil.copy(role1, Role.class);
|
||||||
role2.setCode(request.getCode())
|
role2.setCode(request.getCode())
|
||||||
.setName(request.getName())
|
.setName(request.getName())
|
||||||
.setEnable(request.getEnable())
|
.setEnable(request.getEnable())
|
||||||
|
|
@ -80,7 +80,7 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IR
|
||||||
public void enable(EnableQO request, String userName) {
|
public void enable(EnableQO request, String userName) {
|
||||||
Role role1 = getById(request.getId());
|
Role role1 = getById(request.getId());
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(role1)).throwMessage("角色不存在");
|
VUtil.trueThrowBusinessError(Objects.isNull(role1)).throwMessage("角色不存在");
|
||||||
Role role2 = CglibUtil.copy(role1, Role.class);
|
Role role2 = BeanUtil.copy(role1, Role.class);
|
||||||
role2.setEnable(request.getEnable())
|
role2.setEnable(request.getEnable())
|
||||||
.setUpdateBy(userName)
|
.setUpdateBy(userName)
|
||||||
.setUpdateTime(LocalDateTime.now());
|
.setUpdateTime(LocalDateTime.now());
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,6 @@ import com.nflg.wms.common.pojo.vo.StructuralPackageDeliverOrderVO;
|
||||||
import com.nflg.wms.repository.entity.WmsStructuralPackageDeliverOrder;
|
import com.nflg.wms.repository.entity.WmsStructuralPackageDeliverOrder;
|
||||||
import com.nflg.wms.repository.mapper.WmsStructuralPackageDeliverOrderMapper;
|
import com.nflg.wms.repository.mapper.WmsStructuralPackageDeliverOrderMapper;
|
||||||
import com.nflg.wms.repository.service.IWmsStructuralPackageDeliverOrderService;
|
import com.nflg.wms.repository.service.IWmsStructuralPackageDeliverOrderService;
|
||||||
import com.nflg.wms.repository.service.IWmsStructuralPackageOrderService;
|
|
||||||
import jakarta.annotation.Resource;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -26,9 +24,6 @@ import java.util.List;
|
||||||
@Service
|
@Service
|
||||||
public class WmsStructuralPackageDeliverOrderServiceImpl extends ServiceImpl<WmsStructuralPackageDeliverOrderMapper, WmsStructuralPackageDeliverOrder> implements IWmsStructuralPackageDeliverOrderService {
|
public class WmsStructuralPackageDeliverOrderServiceImpl extends ServiceImpl<WmsStructuralPackageDeliverOrderMapper, WmsStructuralPackageDeliverOrder> implements IWmsStructuralPackageDeliverOrderService {
|
||||||
|
|
||||||
@Resource
|
|
||||||
private IWmsStructuralPackageOrderService wmsStructuralPackageOrderService;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<StructuralPackageDeliverOrderVO> search(StructuralPackageDeliverOrderSearchQO request) {
|
public IPage<StructuralPackageDeliverOrderVO> search(StructuralPackageDeliverOrderSearchQO request) {
|
||||||
List<Long> externalOrderIds = null;
|
List<Long> externalOrderIds = null;
|
||||||
|
|
@ -37,4 +32,9 @@ public class WmsStructuralPackageDeliverOrderServiceImpl extends ServiceImpl<Wms
|
||||||
}
|
}
|
||||||
return baseMapper.search(request,externalOrderIds,new Page<>(request.getPage(),request.getPageSize()));
|
return baseMapper.search(request,externalOrderIds,new Page<>(request.getPage(),request.getPageSize()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNoByOrderId(Long id) {
|
||||||
|
return baseMapper.getNoByOrderId(id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,14 +4,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.nflg.wms.common.constant.OrderState;
|
||||||
import com.nflg.wms.common.pojo.qo.StructuralPackageOrderSearchByStateQO;
|
import com.nflg.wms.common.pojo.qo.StructuralPackageOrderSearchByStateQO;
|
||||||
import com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderExtendVO;
|
import com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderExtendVO;
|
||||||
import com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderTrayVO;
|
import com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderTrayVO;
|
||||||
|
import com.nflg.wms.common.util.UserUtil;
|
||||||
import com.nflg.wms.repository.entity.WmsStructuralPackageOrderTray;
|
import com.nflg.wms.repository.entity.WmsStructuralPackageOrderTray;
|
||||||
import com.nflg.wms.repository.mapper.WmsStructuralPackageOrderTrayMapper;
|
import com.nflg.wms.repository.mapper.WmsStructuralPackageOrderTrayMapper;
|
||||||
import com.nflg.wms.repository.service.IWmsStructuralPackageOrderTrayService;
|
import com.nflg.wms.repository.service.IWmsStructuralPackageOrderTrayService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -74,4 +77,15 @@ public class WmsStructuralPackageOrderTrayServiceImpl extends ServiceImpl<WmsStr
|
||||||
public List<Long> getIdsByMaterialAndExternalOrderNo(Long packageId, String externalOrderNo) {
|
public List<Long> getIdsByMaterialAndExternalOrderNo(Long packageId, String externalOrderNo) {
|
||||||
return baseMapper.getIdsByMaterialAndExternalOrderNo(packageId, externalOrderNo);
|
return baseMapper.getIdsByMaterialAndExternalOrderNo(packageId, externalOrderNo);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@Override
|
||||||
|
public void setStateByIds(List<Long> ids, OrderState state) {
|
||||||
|
lambdaUpdate()
|
||||||
|
.set(WmsStructuralPackageOrderTray::getState, state.getState())
|
||||||
|
.set(WmsStructuralPackageOrderTray::getSendBy, UserUtil.getUserName())
|
||||||
|
.set(WmsStructuralPackageOrderTray::getSendTime, LocalDateTime.now())
|
||||||
|
.eq(WmsStructuralPackageOrderTray::getState, state.getState() - 1)
|
||||||
|
.in(WmsStructuralPackageOrderTray::getId, ids)
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.nflg.wms.repository.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.nflg.wms.common.pojo.qo.StructuralPackageStorageTaskSearchQO;
|
||||||
|
import com.nflg.wms.repository.entity.WmsStructuralPackageStorageTask;
|
||||||
|
import com.nflg.wms.repository.mapper.WmsStructuralPackageStorageTaskMapper;
|
||||||
|
import com.nflg.wms.repository.service.IWmsStructuralPackageStorageTaskService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class WmsStructuralPackageStorageTaskServiceImpl extends ServiceImpl<WmsStructuralPackageStorageTaskMapper, WmsStructuralPackageStorageTask> implements IWmsStructuralPackageStorageTaskService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<WmsStructuralPackageStorageTask> search(StructuralPackageStorageTaskSearchQO request) {
|
||||||
|
return baseMapper.search(request,new Page<>(request.getPage(),request.getPageSize()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -34,4 +34,11 @@
|
||||||
inner join wms_structural_package_deliver_order_map om on o.id=om.order_id
|
inner join wms_structural_package_deliver_order_map om on o.id=om.order_id
|
||||||
where o.external_order_no like concat('%',#{externalOrderNo},'%')
|
where o.external_order_no like concat('%',#{externalOrderNo},'%')
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getNoByOrderId" resultType="java.lang.String">
|
||||||
|
select pdo.no
|
||||||
|
from wms_structural_package_deliver_order pdo
|
||||||
|
inner join wms_structural_package_deliver_order_map pdom on pdo.id=pdom.deliver_id
|
||||||
|
where pdom.order_id=#{id}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -60,14 +60,14 @@
|
||||||
order by id desc
|
order by id desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getInfoByExternalOrderNo"
|
<select id="getInfoByExternalOrderNo" resultType="com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderForPackageItemVO">
|
||||||
resultType="com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderForPackageItemVO">
|
SELECT o.*,m.no||wb."no" AS "workbench_code",us.supplier_code,us.supplier_name,sp."no" AS "package_no"
|
||||||
SELECT o.*,m.no||wb."no" AS "workbench_code",us.supplier_code,us.supplier_name,sp.order_no AS "package_order_no"
|
,sp."name" AS "package_desc"
|
||||||
,sp."no" AS "package_no",sp."name" AS "package_desc",m."no" AS "model_no"
|
|
||||||
FROM wms_structural_package_order o
|
FROM wms_structural_package_order o
|
||||||
LEFT JOIN wms_workbench wb ON o.workbench_id=wb."id"
|
LEFT JOIN wms_workbench wb ON o.workbench_id=wb."id"
|
||||||
LEFT JOIN user_supplier us ON o.supplier_id=us.user_id
|
LEFT JOIN wms_model m on o.model_id=m."id"
|
||||||
LEFT JOIN wms_structural_package sp ON o.package_id=sp."id"
|
LEFT JOIN user_supplier us ON o.supplier_id=us.user_id
|
||||||
|
LEFT JOIN wms_structural_package sp ON o.package_id=sp."id"
|
||||||
where o.external_order_no=#{orderNo}
|
where o.external_order_no=#{orderNo}
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.nflg.wms.repository.mapper.WmsStructuralPackageStorageTaskMapper">
|
||||||
|
|
||||||
|
<select id="search" resultType="com.nflg.wms.repository.entity.WmsStructuralPackageStorageTask">
|
||||||
|
select *
|
||||||
|
from wms_structural_package_storage_task
|
||||||
|
<where>
|
||||||
|
<if test="request.type != null">
|
||||||
|
and source_from=#{type}
|
||||||
|
</if>
|
||||||
|
<if test="request.taskNo != null and request.taskNo!=''">
|
||||||
|
and "no" like concat('%', #{request.taskNo}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="request.orderNo != null and request.orderNo!=''">
|
||||||
|
and source_no like concat('%', #{request.orderNo}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="request.startDate!=null">
|
||||||
|
and create_time >= #{request.startDate}
|
||||||
|
</if>
|
||||||
|
<if test="request.endDate!=null">
|
||||||
|
and create_time <= #{request.endDate}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
|
|
@ -33,7 +33,7 @@ public class CodeGeneratorTest {
|
||||||
)
|
)
|
||||||
.strategyConfig(builder -> {
|
.strategyConfig(builder -> {
|
||||||
builder
|
builder
|
||||||
.addInclude("wms_structural_package_deliver_order_map") //只生成指定表
|
.addInclude("wms_structural_package_storage_task") //只生成指定表
|
||||||
.entityBuilder().idType(IdType.ASSIGN_ID)
|
.entityBuilder().idType(IdType.ASSIGN_ID)
|
||||||
.enableLombok()
|
.enableLombok()
|
||||||
.enableChainModel()
|
.enableChainModel()
|
||||||
|
|
|
||||||
|
|
@ -98,7 +98,7 @@ public class SyncStorageFromSAPProcessor implements BasicProcessor {
|
||||||
for (DictionaryItem fy : dbFactorys) {
|
for (DictionaryItem fy : dbFactorys) {
|
||||||
log.info("处理工厂:{}", fy.getValue());
|
log.info("处理工厂:{}", fy.getValue());
|
||||||
try {
|
try {
|
||||||
List<SAPSyncFromDTO> list = sapService.SyncStorage(fy.getValue(), warehouseNos, beginDate, endDate);
|
List<SAPSyncFromDTO> list = sapService.getStorage(fy.getValue(), warehouseNos, beginDate, endDate);
|
||||||
if (CollectionUtil.isEmpty(list)) {
|
if (CollectionUtil.isEmpty(list)) {
|
||||||
log.info("没有获取到数据");
|
log.info("没有获取到数据");
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ public class SapService {
|
||||||
* @param beginTime 开始时间,格式yyyyMMdd
|
* @param beginTime 开始时间,格式yyyyMMdd
|
||||||
* @param endTime 结束时间,格式yyyyMMdd
|
* @param endTime 结束时间,格式yyyyMMdd
|
||||||
*/
|
*/
|
||||||
public List<SAPSyncFromDTO> SyncStorage(String factory, List<String> warehouseNos, String beginTime, String endTime) throws JCoException {
|
public List<SAPSyncFromDTO> getStorage(String factory, List<String> warehouseNos, String beginTime, String endTime) throws JCoException {
|
||||||
Map<String, Object> parameters = new HashMap<>();
|
Map<String, Object> parameters = new HashMap<>();
|
||||||
parameters.put("I_WERKS", factory);
|
parameters.put("I_WERKS", factory);
|
||||||
parameters.put("I_TYPE", Objects.nonNull(beginTime) || Objects.nonNull(endTime) ? "I" : "A");
|
parameters.put("I_TYPE", Objects.nonNull(beginTime) || Objects.nonNull(endTime) ? "I" : "A");
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ public class SapTestService {
|
||||||
for (DictionaryItem fy: dbFactorys){
|
for (DictionaryItem fy: dbFactorys){
|
||||||
log.info("处理工厂:{}", fy.getValue());
|
log.info("处理工厂:{}", fy.getValue());
|
||||||
try {
|
try {
|
||||||
List<SAPSyncFromDTO> list = sapService.SyncStorage(fy.getValue(), warehouseNos, beginDate, endDate);
|
List<SAPSyncFromDTO> list = sapService.getStorage(fy.getValue(), warehouseNos, beginDate, endDate);
|
||||||
if (CollectionUtil.isEmpty(list)) {
|
if (CollectionUtil.isEmpty(list)) {
|
||||||
log.info("没有获取到数据");
|
log.info("没有获取到数据");
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue