添加功能
This commit is contained in:
parent
6765075cbb
commit
8ac577a1f2
|
|
@ -9,10 +9,7 @@ import com.nflg.wms.common.pojo.ApiResult;
|
|||
import com.nflg.wms.common.pojo.PageData;
|
||||
import com.nflg.wms.common.pojo.dto.BomMaterialDTO;
|
||||
import com.nflg.wms.common.pojo.dto.GongZhuangTaiZhangExcelCheckDTO;
|
||||
import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangSearchQO;
|
||||
import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangUpdateQO;
|
||||
import com.nflg.wms.common.pojo.qo.*;
|
||||
import com.nflg.wms.common.util.DateTimeUtil;
|
||||
import com.nflg.wms.common.util.EecExcelUtil;
|
||||
import com.nflg.wms.common.util.UserUtil;
|
||||
|
|
@ -27,6 +24,7 @@ import com.nflg.wms.starter.service.FileUploadService;
|
|||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
|
@ -71,8 +69,8 @@ public class GongZhuangTaiZhangController extends BaseController {
|
|||
*/
|
||||
@PostMapping("add")
|
||||
public ApiResult<Void> add(@Valid @RequestBody GongZhuangTaiZhangAddQO request) {
|
||||
BomMaterialDTO materialDTO = bomMaterialService.getMaterialInfo(request.getNo());
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(materialDTO)).throwMessage("工装编号无效");
|
||||
// BomMaterialDTO materialDTO = bomMaterialService.getMaterialInfo(request.getNo());
|
||||
// VUtil.trueThrowBusinessError(Objects.isNull(materialDTO)).throwMessage("工装编号无效");
|
||||
gongzhuangTaizhangService.add(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
|
@ -110,7 +108,7 @@ public class GongZhuangTaiZhangController extends BaseController {
|
|||
* 导出模版
|
||||
*/
|
||||
@GetMapping("export")
|
||||
public void exportSelect(HttpServletResponse response) throws Exception {
|
||||
public void export(HttpServletResponse response) throws Exception {
|
||||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
||||
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("工装台账模板.xlsx", StandardCharsets.UTF_8));
|
||||
List<GongZhuangTaiZhangAddQO> datas = new ArrayList<>();
|
||||
|
|
@ -120,6 +118,19 @@ public class GongZhuangTaiZhangController extends BaseController {
|
|||
.writeTo(response.getOutputStream());
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出选中
|
||||
*/
|
||||
@GetMapping("exportSelect")
|
||||
public void exportSelect(HttpServletResponse response, @Valid @RequestBody @NotEmpty List<String> ids) throws Exception {
|
||||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
||||
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("工装台账.xlsx", StandardCharsets.UTF_8));
|
||||
List<GongZhuangTaiZhangAddQO> datas = Convert.toList(GongZhuangTaiZhangAddQO.class, gongzhuangTaizhangService.listByIds(ids));
|
||||
new Workbook()
|
||||
.addSheet(new ListSheet<>(datas))
|
||||
.writeTo(response.getOutputStream());
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入
|
||||
* @param file 文件
|
||||
|
|
@ -179,6 +190,15 @@ public class GongZhuangTaiZhangController extends BaseController {
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取检验记录列表
|
||||
* @param request 请求参数
|
||||
*/
|
||||
@PostMapping("getCheckList")
|
||||
public ApiResult<PageData<WmsGongzhuangTaizhangCheck>> getCheckList(GongZhuangTaiZhangCheckListQO request) {
|
||||
return ApiResult.success(gongzhuangTaizhangCheckService.search(request));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加检验记录
|
||||
* @param request 请求参数
|
||||
|
|
@ -191,6 +211,26 @@ public class GongZhuangTaiZhangController extends BaseController {
|
|||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改检验记录
|
||||
* @param request 请求参数
|
||||
*/
|
||||
@PostMapping("updateCheck")
|
||||
public ApiResult<Void> updateCheck(@Valid @RequestBody GongZhuangTaiZhangCheckUpdateQO request) {
|
||||
gongzhuangTaizhangCheckService.update(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除检验记录
|
||||
* @param ids 要删除的记录Id列表
|
||||
*/
|
||||
@PostMapping("deleteCheck")
|
||||
public ApiResult<Void> deleteCheck(@Valid @RequestBody @NotEmpty List<Long> ids) {
|
||||
gongzhuangTaizhangCheckService.removeBatchByIds(ids);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出检验模版
|
||||
*/
|
||||
|
|
@ -205,6 +245,19 @@ public class GongZhuangTaiZhangController extends BaseController {
|
|||
.writeTo(response.getOutputStream());
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出选中检验记录
|
||||
*/
|
||||
@GetMapping("exportCheckSelect")
|
||||
public void exportCheckSelect(HttpServletResponse response, @Valid @RequestBody @NotEmpty List<String> ids) throws Exception {
|
||||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
||||
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("工装检验明细.xlsx", StandardCharsets.UTF_8));
|
||||
List<GongZhuangTaiZhangCheckAddQO> datas = Convert.toList(GongZhuangTaiZhangCheckAddQO.class, gongzhuangTaizhangCheckService.listByIds(ids));
|
||||
new Workbook()
|
||||
.addSheet(new ListSheet<>(datas))
|
||||
.writeTo(response.getOutputStream());
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入检验记录
|
||||
* @param file 文件
|
||||
|
|
@ -238,10 +291,10 @@ public class GongZhuangTaiZhangController extends BaseController {
|
|||
if (Objects.isNull(dto.getNo())) {
|
||||
sb.append("工装编号不能为空;");
|
||||
} else {
|
||||
BomMaterialDTO materialDTO =bomMaterialService.getMaterialInfo(dto.getNo());
|
||||
if (Objects.isNull(materialDTO)){
|
||||
sb.append("工装编号无效;");
|
||||
}else {
|
||||
// BomMaterialDTO materialDTO =bomMaterialService.getMaterialInfo(dto.getNo());
|
||||
// if (Objects.isNull(materialDTO)){
|
||||
// sb.append("工装编号无效;");
|
||||
// }else {
|
||||
WmsGongzhuangTaizhang dbInfo = gongzhuangTaizhangService.lambdaQuery().eq(WmsGongzhuangTaizhang::getNo, dto.getNo()).one();
|
||||
if (Objects.isNull(dbInfo)) {
|
||||
sb.append("请先添加工装编号;");
|
||||
|
|
@ -249,7 +302,7 @@ public class GongZhuangTaiZhangController extends BaseController {
|
|||
info.setCreateBy(UserUtil.getUserName());
|
||||
info.setCreateTime(LocalDateTime.now());
|
||||
}
|
||||
}
|
||||
// }
|
||||
}
|
||||
dto.setError(sb.toString());
|
||||
infos.add(info);
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollectionUtil;
|
|||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.lang.Pair;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.crypto.digest.DigestUtil;
|
||||
|
|
@ -31,6 +30,7 @@ import com.nflg.wms.common.pojo.PageData;
|
|||
import com.nflg.wms.common.pojo.dto.PackageMaterialDTO;
|
||||
import com.nflg.wms.common.pojo.dto.SAPOrderDTO;
|
||||
import com.nflg.wms.common.pojo.dto.SAPSyncFromDTO;
|
||||
import com.nflg.wms.common.pojo.dto.StructuralPackageMaterialQRCodeContentDTO;
|
||||
import com.nflg.wms.common.pojo.qo.*;
|
||||
import com.nflg.wms.common.pojo.vo.*;
|
||||
import com.nflg.wms.common.util.*;
|
||||
|
|
@ -147,17 +147,21 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
public ApiResult<List<SAPOrderDTO>> searchSAPOrder(@Valid @RequestBody @NotNull SearchSAPOrderQO request) {
|
||||
List<SAPMaterialInfoInOrderDTO> orders = sapService.zim004(request.getOrderNo(), request.getSupplierNo(), request.getMaterialNo());
|
||||
UserSupplier supplier = userSupplierService.getByCode(request.getSupplierNo());
|
||||
List<SAPOrderDTO> datas = orders.stream().map(order -> new SAPOrderDTO()
|
||||
.setIndex(IdUtil.getSnowflakeNextId())
|
||||
.setOrderNo(order.getEbeln())
|
||||
.setSupplierName(supplier.getSupplierName())
|
||||
.setOrderRowNo(order.getEbelp())
|
||||
.setMaterialNo(order.getMatnr())
|
||||
.setMaterialDesc(order.getMaktx())
|
||||
.setOrderNum(order.getMenge())
|
||||
.setReceivedNum(order.getWemng())
|
||||
.setTransportNum(order.getTransportNum())
|
||||
.setLbprt(order.getLbprt())).toList();
|
||||
List<SAPOrderDTO> datas = orders.stream()
|
||||
.map(order -> new SAPOrderDTO()
|
||||
.setIndex(IdUtil.getSnowflakeNextId())
|
||||
.setOrderNo(order.getEbeln())
|
||||
.setSupplierName(supplier.getSupplierName())
|
||||
.setOrderRowNo(order.getEbelp())
|
||||
.setMaterialNo(order.getMatnr())
|
||||
.setMaterialDesc(order.getMaktx())
|
||||
.setOrderNum(order.getMenge())
|
||||
.setReceivedNum(order.getWemng())
|
||||
.setTransportNum(order.getTransportNum())
|
||||
.setLbprt(order.getLbprt())
|
||||
.setUnit(order.getMeins())
|
||||
)
|
||||
.toList();
|
||||
if (Objects.equals(request.getType(), 1)) {
|
||||
datas.forEach(it -> {
|
||||
if (StrUtil.equals("2", it.getLbprt()) || StrUtil.equals("4", it.getLbprt())) {
|
||||
|
|
@ -173,10 +177,10 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
*/
|
||||
@PostMapping("generateTray")
|
||||
public ApiResult<GenerateTrayVO> generateTray(@Valid @RequestBody @NotNull GenerateTrayQO request) {
|
||||
return ApiResult.success(generateTray(request.getPackageId(), request.getNum()));
|
||||
return ApiResult.success(generateTray(request.getPackageId(), request.getNum(), request.getOrderNum()));
|
||||
}
|
||||
|
||||
private GenerateTrayVO generateTray(Long packageId, Integer num) {
|
||||
private GenerateTrayVO generateTray(Long packageId, BigDecimal num, BigDecimal orderNum) {
|
||||
PackageVO packageVO = structuralPackageService.getInfo(packageId);
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(packageVO)).throwMessage("钢构包不存在");
|
||||
List<PackageMaterialDTO> materials = packageVO.getMaterialList();
|
||||
|
|
@ -202,7 +206,8 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
.setMaterialDesc(material.getName())
|
||||
.setVersion(material.getVersion())
|
||||
.setWeight(material.getWeight())
|
||||
.setPlanNum(material.getNum() * num)
|
||||
.setPlanNum(material.getNum().multiply(orderNum))
|
||||
.setShipmentNum(material.getNum().multiply(num))
|
||||
.setImage(material.getImage())
|
||||
);
|
||||
if (Objects.nonNull(material.getWeight())) {
|
||||
|
|
@ -239,7 +244,7 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
WmsStructuralPackageOrder order = Convert.convert(WmsStructuralPackageOrder.class, orderQO);
|
||||
order.setOrderNo(orderNo);
|
||||
deliverStructuralPackageOrderService.addOrUpdate(order);
|
||||
GenerateTrayVO trayVO = generateTray(orderQO.getPackageId(), orderQO.getNum());
|
||||
GenerateTrayVO trayVO = generateTray(orderQO.getPackageId(), orderQO.getNum(), orderQO.getPlanNum());
|
||||
if (Objects.nonNull(orderQO.getId())) {
|
||||
WmsStructuralPackageOrder o = deliverStructuralPackageOrderService.getById(orderQO.getId());
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(o)).throwMessage("订单不存在");
|
||||
|
|
@ -254,8 +259,8 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
.setId(IdUtil.getSnowflakeNextId())
|
||||
.setOrderId(order.getId())
|
||||
.setNo(it.getNo())
|
||||
.setWeight(BigDecimal.ZERO)
|
||||
.setNum(0)
|
||||
// .setWeight(BigDecimal.ZERO)
|
||||
// .setNum(0)
|
||||
.setStation(it.getStation())
|
||||
.setTray(it.getTray())).toList();
|
||||
List<WmsStructuralPackageOrderTrayItem> items = new ArrayList<>();
|
||||
|
|
@ -265,8 +270,8 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
WmsStructuralPackageOrderTrayItem item = Convert.convert(WmsStructuralPackageOrderTrayItem.class, it);
|
||||
item.setOrderId(order.getId());
|
||||
item.setTrayId(tray.getId());
|
||||
tray.setNum(tray.getNum() + (item.getPlanNum() * order.getNum()));
|
||||
tray.setWeight(tray.getWeight().add(NumberUtil.mul(it.getWeight(), new BigDecimal(item.getPlanNum()))));
|
||||
// tray.setNum(tray.getNum() + (item.getShipmentNum() * order.getNum()));
|
||||
// tray.setWeight(tray.getWeight().add(NumberUtil.mul(it.getWeight(), new BigDecimal(item.getPlanNum()))));
|
||||
return item;
|
||||
}).toList()
|
||||
);
|
||||
|
|
@ -425,7 +430,7 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
.setNo(item.getMaterialNo())
|
||||
.setDrawingNo(item.getDrawingNo())
|
||||
.setName(item.getMaterialDesc())
|
||||
.setNum(item.getPlanNum())
|
||||
.setNum(item.getShipmentNum())
|
||||
.setWeight(item.getWeight())
|
||||
).toList();
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
|
|
@ -450,12 +455,19 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
List<DeliverStructuralPackageOrderTrayItemVO> list = deliverStructuralPackageOrderTrayItemService.getListByTrayId(id);
|
||||
List<DeliverStructuralPackageOrderTrayItemVO> datas = new ArrayList<>();
|
||||
for (DeliverStructuralPackageOrderTrayItemVO it : list) {
|
||||
for (int i = 0; i < it.getPlanNum(); i++) {
|
||||
for (int i = 0, count = it.getShipmentNum().intValue(); i < count; i++) {
|
||||
DeliverStructuralPackageOrderTrayItemVO vo = BeanUtil.copy(it, DeliverStructuralPackageOrderTrayItemVO.class);
|
||||
vo.setQrCode(it.getId() + "-" + (i + 1) + "^" + it.getMaterialNo() + "_" + it.getTrayNo() + "_1");
|
||||
vo.setQrCodeImage(QRCodeUtil.generateQRCodeBase64(vo.getQrCode(), 200, 200));
|
||||
datas.add(vo);
|
||||
}
|
||||
|
||||
if (it.getShipmentNum().remainder(BigDecimal.ONE).compareTo(BigDecimal.ZERO) > 0) {
|
||||
DeliverStructuralPackageOrderTrayItemVO vo = BeanUtil.copy(it, DeliverStructuralPackageOrderTrayItemVO.class);
|
||||
vo.setQrCode(it.getId() + "-" + (it.getShipmentNum().intValue() + 1) + "^" + it.getMaterialNo() + "_" + it.getTrayNo() + "_" + it.getShipmentNum().remainder(BigDecimal.ONE));
|
||||
vo.setQrCodeImage(QRCodeUtil.generateQRCodeBase64(vo.getQrCode(), 200, 200));
|
||||
datas.add(vo);
|
||||
}
|
||||
}
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put("list", datas);
|
||||
|
|
@ -519,7 +531,19 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
WmsStructuralPackageOrderTray tray = deliverStructuralPackageOrderTrayService.lambdaQuery().eq(WmsStructuralPackageOrderTray::getNo, request.getTrayNo()).one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(tray)).throwMessage("托盘不存在");
|
||||
VUtil.trueThrowBusinessError(!Objects.equals(tray.getState(), OrderState.Unpackaged.getState())).throwMessage("请勿重复打包");
|
||||
VUtil.trueThrowBusinessError(tray.getNum().compareTo(request.getQrCodes().size()) != 0).throwMessage("打包数量不足");
|
||||
List<DeliverStructuralPackageOrderTrayItemVO> trayItemVOS = deliverStructuralPackageOrderTrayItemService.getListByTrayId(tray.getId());
|
||||
List<String> materialNos = new ArrayList<>();
|
||||
List<StructuralPackageMaterialQRCodeContentDTO> qrCodeDTOs = request.getQrCodes().stream().map(NoUtil::getStructuralPackageMaterialQRCodeContent).toList();
|
||||
trayItemVOS.forEach(it -> {
|
||||
if (it.getShipmentNum().compareTo(qrCodeDTOs.stream()
|
||||
.filter(qr -> StrUtil.equals(qr.getMaterialNo(), it.getMaterialNo()))
|
||||
.map(StructuralPackageMaterialQRCodeContentDTO::getNum)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add)) != 0) {
|
||||
materialNos.add(it.getMaterialNo());
|
||||
}
|
||||
});
|
||||
VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(materialNos))
|
||||
.throwMessage("以下物料的数量与托盘数量不一致:" + StrUtil.join(",", materialNos));
|
||||
VUtil.trueThrowBusinessError(!deliverStructuralPackageOrderTrayService.lambdaUpdate()
|
||||
.set(WmsStructuralPackageOrderTray::getState, OrderState.Packaged.getState())
|
||||
.set(WmsStructuralPackageOrderTray::getPackBy, UserUtil.getUserName())
|
||||
|
|
@ -712,7 +736,7 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
log.error("{},{},{}未从SAP的ZIM_004接口查询仓库为空", it.getExternalOrderNo(), it.getSupplierCode(), it.getPackageNo());
|
||||
} else {
|
||||
it.setWarehouseNo(dto.getWarehouseNo());
|
||||
it.setBinNos(binService.getBinNos(it.getPackageNo(),dto.getWerks(),dto.getWarehouseNo()));
|
||||
it.setBinNos(binService.getBinNos(it.getPackageNo(), dto.getWerks(), dto.getWarehouseNo()));
|
||||
}
|
||||
});
|
||||
DeliverStructuralPackageOrderForPackageVO vo = new DeliverStructuralPackageOrderForPackageVO();
|
||||
|
|
@ -761,7 +785,7 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
.setNoteNum(structuralPackageDeliverOrderService.getNoByOrderId(request.getId()))
|
||||
.setItemCode(order.getPackageNo())
|
||||
.setItemName(order.getPackageDesc())
|
||||
.setUnit("套")
|
||||
.setUnit(order.getUnit())
|
||||
.setIsQuality(false)
|
||||
.setUnqualifiedQty(BigDecimal.ZERO)
|
||||
.setQualifiedQty(BigDecimal.valueOf(order.getNum()))
|
||||
|
|
@ -818,8 +842,8 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
inTaskService.storage(request.getTaskNo());
|
||||
List<WmsInTaskItem> datas = inTaskItemService.getForIn(request);
|
||||
if (CollectionUtil.isNotEmpty(datas)) {
|
||||
for (WmsInTaskItem item:datas){
|
||||
materialStorageItem(task,item,request.getItems().stream()
|
||||
for (WmsInTaskItem item : datas) {
|
||||
materialStorageItem(task, item, request.getItems().stream()
|
||||
.filter(it -> StrUtil.equals(it.getMaterialNo(), item.getItemCode()))
|
||||
.findFirst()
|
||||
.get());
|
||||
|
|
@ -844,7 +868,7 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
item.setMatDoc103(pair.getValue().getKey());
|
||||
item.setDocYear103(pair.getValue().getValue());
|
||||
//保存库存信息
|
||||
saveInventory(item,total);
|
||||
saveInventory(item, total);
|
||||
item.setDataStatus((short) 3);
|
||||
item.setFailResult("");
|
||||
item.setStorageLocation(StrUtil.join(",", iqo.getBinNos()));
|
||||
|
|
@ -855,7 +879,7 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
maxAttempts = 5, // 最大重试次数(包括第一次调用)
|
||||
backoff = @Backoff(delay = 1000) // 重试间隔1秒
|
||||
)
|
||||
public void saveInventory(WmsInTaskItem item,BigDecimal total){
|
||||
public void saveInventory(WmsInTaskItem item, BigDecimal total) {
|
||||
WmsInventory inventory = inventoryService.lambdaQuery()
|
||||
.eq(WmsInventory::getMaterialNo, item.getItemCode())
|
||||
.eq(WmsInventory::getBatchNumber, item.getBatchNumber())
|
||||
|
|
@ -884,7 +908,7 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
private Pair<Pair<String, String>, Pair<String, String>> syncInToSAP(WmsInTask task, WmsInTaskItem item, BigDecimal total) {
|
||||
SAPMaterialInfoInOrderDTO zim004dto = sapService.zim004(item.getPoNum(), item.getSupplierNum(), item.getItemCode()).get(0);
|
||||
if (Objects.equals(task.getTaskFrom(), (short) 2) && item.getIsQuality()) {
|
||||
List<WmsSrmQualityInspection> qualityInspections=srmQualityInspectionService.lambdaQuery()
|
||||
List<WmsSrmQualityInspection> qualityInspections = srmQualityInspectionService.lambdaQuery()
|
||||
.eq(WmsSrmQualityInspection::getItemCode, item.getItemCode())
|
||||
.eq(WmsSrmQualityInspection::getPoNum, item.getPoNum())
|
||||
.list();
|
||||
|
|
@ -950,26 +974,26 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
.eq(WmsWarehouse::getFactoryId, factory.getId())
|
||||
.eq(WmsWarehouse::getNo, qo.getReceivedWarehouse())
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(warehouse)).throwMessage("仓库("+qo.getReceivedWarehouse()+")不存在");
|
||||
WmsStorage storage=storageService.lambdaQuery()
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(warehouse)).throwMessage("仓库(" + qo.getReceivedWarehouse() + ")不存在");
|
||||
WmsStorage storage = storageService.lambdaQuery()
|
||||
.eq(WmsStorage::getMaterialNo, qo.getMaterialNo())
|
||||
.eq(WmsStorage::getWarehouseId, warehouse.getId())
|
||||
.one();
|
||||
if (Objects.isNull(storage)){
|
||||
storage=new WmsStorage()
|
||||
if (Objects.isNull(storage)) {
|
||||
storage = new WmsStorage()
|
||||
.setWarehouseId(warehouse.getId())
|
||||
.setMaterialNo(qo.getMaterialNo())
|
||||
.setMaterialDesc(qo.getMaterialDesc())
|
||||
.setCreateBy(UserUtil.getUserName())
|
||||
.setCreateTime(LocalDateTime.now());
|
||||
storageService.save(storage);
|
||||
}else {
|
||||
} else {
|
||||
storageBinService.deleteByStorageId(storage.getId());
|
||||
}
|
||||
List<WmsBin> dbBins=wmsBinService.lambdaQuery().in(WmsBin::getNo, qo.getBinNos()).list();
|
||||
qo.getBinNos().forEach(binNo->{
|
||||
if (dbBins.stream().noneMatch(it -> StrUtil.equals(it.getNo(), binNo))){
|
||||
WmsBin bin=new WmsBin()
|
||||
List<WmsBin> dbBins = wmsBinService.lambdaQuery().in(WmsBin::getNo, qo.getBinNos()).list();
|
||||
qo.getBinNos().forEach(binNo -> {
|
||||
if (dbBins.stream().noneMatch(it -> StrUtil.equals(it.getNo(), binNo))) {
|
||||
WmsBin bin = new WmsBin()
|
||||
.setNo(binNo)
|
||||
.setName(binNo)
|
||||
.setWarehouseId(warehouse.getId())
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ import com.nflg.wms.starter.service.FileUploadService;
|
|||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
|
@ -48,7 +49,7 @@ import java.util.List;
|
|||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 工具物料管理
|
||||
* 工具台账管理
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/tool/material")
|
||||
|
|
@ -124,6 +125,19 @@ public class ToolMaterialController extends BaseController {
|
|||
.writeTo(response.getOutputStream());
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出选中
|
||||
*/
|
||||
@GetMapping("exportSelect")
|
||||
public void exportSelect(HttpServletResponse response, @Valid @RequestBody @NotEmpty List<String> ids) throws Exception {
|
||||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
||||
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("工具物料信息.xlsx", StandardCharsets.UTF_8));
|
||||
List<ToolMaterialAddQO> datas = Convert.toList(ToolMaterialAddQO.class, toolMaterialService.listByIds(ids));
|
||||
new Workbook()
|
||||
.addSheet(new ListSheet<>(datas))
|
||||
.writeTo(response.getOutputStream());
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入
|
||||
* @param file 文件
|
||||
|
|
@ -183,6 +197,15 @@ public class ToolMaterialController extends BaseController {
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取检验记录列表
|
||||
* @param request 请求参数
|
||||
*/
|
||||
@PostMapping("getCheckList")
|
||||
public ApiResult<PageData<WmsToolMaterialCheck>> getCheckList(GongZhuangTaiZhangCheckListQO request) {
|
||||
return ApiResult.success(toolMaterialCheckService.search(request));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加检验记录
|
||||
* @param request 请求参数
|
||||
|
|
@ -195,6 +218,26 @@ public class ToolMaterialController extends BaseController {
|
|||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改检验记录
|
||||
* @param request 请求参数
|
||||
*/
|
||||
@PostMapping("updateCheck")
|
||||
public ApiResult<Void> updateCheck(@Valid @RequestBody ToolMaterialCheckUpdateQO request) {
|
||||
toolMaterialCheckService.update(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除检验记录
|
||||
* @param ids 要删除的记录Id列表
|
||||
*/
|
||||
@PostMapping("deleteCheck")
|
||||
public ApiResult<Void> deleteCheck(@Valid @RequestBody @NotEmpty List<Long> ids) {
|
||||
toolMaterialCheckService.removeBatchByIds(ids);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出检验模版
|
||||
*/
|
||||
|
|
@ -209,6 +252,19 @@ public class ToolMaterialController extends BaseController {
|
|||
.writeTo(response.getOutputStream());
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出选中检验记录
|
||||
*/
|
||||
@GetMapping("exportCheckSelect")
|
||||
public void exportCheckSelect(HttpServletResponse response, @Valid @RequestBody @NotEmpty List<String> ids) throws Exception {
|
||||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
||||
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("工具检验明细.xlsx", StandardCharsets.UTF_8));
|
||||
List<ToolMaterialCheckAddQO> datas = Convert.toList(ToolMaterialCheckAddQO.class, toolMaterialCheckService.listByIds(ids));
|
||||
new Workbook()
|
||||
.addSheet(new ListSheet<>(datas))
|
||||
.writeTo(response.getOutputStream());
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入检验记录
|
||||
* @param file 文件
|
||||
|
|
@ -266,6 +322,15 @@ public class ToolMaterialController extends BaseController {
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取维修记录列表
|
||||
* @param request 请求参数
|
||||
*/
|
||||
@PostMapping("getMaintainList")
|
||||
public ApiResult<PageData<WmsToolMaterialMaintain>> getMaintainList(GongZhuangTaiZhangCheckListQO request) {
|
||||
return ApiResult.success(toolMaterialMaintainService.search(request));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加维修记录
|
||||
* @param request 请求参数
|
||||
|
|
@ -278,6 +343,26 @@ public class ToolMaterialController extends BaseController {
|
|||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改维修记录
|
||||
* @param request 请求参数
|
||||
*/
|
||||
@PostMapping("updateMaintain")
|
||||
public ApiResult<Void> updateMaintain(@Valid @RequestBody ToolMaterialMaintainUpdateQO request) {
|
||||
toolMaterialMaintainService.update(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除维修记录
|
||||
* @param ids 要删除的记录Id列表
|
||||
*/
|
||||
@PostMapping("deleteMaintain")
|
||||
public ApiResult<Void> deleteMaintain(@Valid @RequestBody @NotEmpty List<Long> ids) {
|
||||
toolMaterialMaintainService.removeBatchByIds(ids);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出维修模版
|
||||
*/
|
||||
|
|
@ -292,6 +377,19 @@ public class ToolMaterialController extends BaseController {
|
|||
.writeTo(response.getOutputStream());
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出选中维修记录
|
||||
*/
|
||||
@GetMapping("exportMaintainsSelect")
|
||||
public void exportMaintainsSelect(HttpServletResponse response, @Valid @RequestBody @NotEmpty List<String> ids) throws Exception {
|
||||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
||||
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("工具维修明细.xlsx", StandardCharsets.UTF_8));
|
||||
List<ToolMaterialMaintainAddQO> datas = Convert.toList(ToolMaterialMaintainAddQO.class, toolMaterialMaintainService.listByIds(ids));
|
||||
new Workbook()
|
||||
.addSheet(new ListSheet<>(datas))
|
||||
.writeTo(response.getOutputStream());
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入维修记录
|
||||
* @param file 文件
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public class SAPCommonService {
|
|||
|
||||
public SAPSyncParamsDTO getMaterialInfoInOrder(String orderNo, String supplierNo, String materialNo) {
|
||||
//获取订单信息
|
||||
SAPMaterialInfoInOrderDTO materialInfoInOrder = sapService.zim004(orderNo, supplierNo, materialNo);
|
||||
SAPMaterialInfoInOrderDTO materialInfoInOrder = CollectionUtil.get(sapService.zim004(orderNo, supplierNo, materialNo), 0);
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(materialInfoInOrder)).throwMessage("无法获取到有效订单信息" + orderNo);
|
||||
|
||||
SAPSyncParamsDTO syncParams = new SAPSyncParamsDTO();
|
||||
|
|
|
|||
|
|
@ -226,7 +226,7 @@ public class StructuralPackageControllerService {
|
|||
sb.append("数量无效;");
|
||||
}
|
||||
else {
|
||||
materialDTO.setNum(Integer.valueOf(dto.getNum()));
|
||||
materialDTO.setNum(new BigDecimal(dto.getNum()));
|
||||
}
|
||||
if (StrUtil.isBlank(dto.getWeight())) {
|
||||
sb.append("重量不能为空;");
|
||||
|
|
@ -334,7 +334,7 @@ public class StructuralPackageControllerService {
|
|||
}else if (!NumberUtils.isCreatable(num)){
|
||||
sb.append(StrUtil.format("第{}行数量无效;", row.getRowNum()));
|
||||
}else {
|
||||
dto.setNum(Integer.valueOf(num));
|
||||
dto.setNum(new BigDecimal(num));
|
||||
}
|
||||
num=row.getString(4);
|
||||
if (StrUtil.isBlank(num)){
|
||||
|
|
@ -353,7 +353,7 @@ public class StructuralPackageControllerService {
|
|||
});
|
||||
VUtil.trueThrowBusinessError(!sb.isEmpty()).throwMessage("数据校验失败:"+ sb);
|
||||
packageInfo.setWeight(materials.stream()
|
||||
.map(m -> m.getWeight().multiply(new BigDecimal(m.getNum())))
|
||||
.map(m -> m.getWeight().multiply(m.getNum()))
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
packageInfo.setMaterials(JSONUtil.toJsonStr(materials));
|
||||
packageService.add(packageInfo);
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
|||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.nflg.wms.common.pojo.dto.MaterialQRCodeContentDTO;
|
||||
import com.nflg.wms.common.pojo.dto.StructuralPackageMaterialQRCodeContentDTO;
|
||||
import com.nflg.wms.common.util.DateTimeUtil;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
|
@ -77,6 +78,21 @@ public class NoUtil {
|
|||
.setSerialNo(CollectionUtil.get(contents, 8));
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析钢构件零件物料二维码内容
|
||||
* @param qrCode 二维码内容
|
||||
* @return 解析后的内容
|
||||
*/
|
||||
public static StructuralPackageMaterialQRCodeContentDTO getStructuralPackageMaterialQRCodeContent(String qrCode) {
|
||||
List<String> contents = StrUtil.split(qrCode, "_");
|
||||
List<String> c1s = StrUtil.split(CollectionUtil.get(contents, 0), "^");
|
||||
return new StructuralPackageMaterialQRCodeContentDTO()
|
||||
.setUniqNo(c1s.size() == 1 ? qrCode : CollectionUtil.get(c1s, 0))
|
||||
.setMaterialNo(c1s.size() == 1 ? CollectionUtil.get(c1s, 0) : CollectionUtil.get(c1s, 1))
|
||||
.setTrayNo(CollectionUtil.get(contents, 1))
|
||||
.setNum(new BigDecimal(CollectionUtil.get(contents, 2)));
|
||||
}
|
||||
|
||||
public static String getOutProduceTicketNo() {
|
||||
return "OPT" + DateTimeUtil.format(LocalDateTime.now(), "yyyyMMdd") + RandomUtil.randomNumbers(4);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public class PackageMaterialDTO {
|
|||
/**
|
||||
* 数量
|
||||
*/
|
||||
private Integer num;
|
||||
private BigDecimal num;
|
||||
|
||||
/**
|
||||
* 重量
|
||||
|
|
|
|||
|
|
@ -76,4 +76,9 @@ public class SAPOrderDTO {
|
|||
* 供应商名称
|
||||
*/
|
||||
private String supplierName;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
private String unit;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
package com.nflg.wms.common.pojo.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class StructuralPackageMaterialQRCodeContentDTO {
|
||||
|
||||
/**
|
||||
* 唯一编号
|
||||
*/
|
||||
private String uniqNo;
|
||||
|
||||
/**
|
||||
* 物料编号
|
||||
*/
|
||||
private String materialNo;
|
||||
|
||||
/**
|
||||
* 托盘编号
|
||||
*/
|
||||
private String trayNo;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
private BigDecimal num;
|
||||
}
|
||||
|
|
@ -4,6 +4,8 @@ import jakarta.validation.constraints.NotBlank;
|
|||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
public class GenerateTrayQO {
|
||||
|
||||
|
|
@ -17,5 +19,11 @@ public class GenerateTrayQO {
|
|||
* 数量
|
||||
*/
|
||||
@NotNull
|
||||
private Integer num;
|
||||
private BigDecimal num;
|
||||
|
||||
/**
|
||||
* 采购订单数量
|
||||
*/
|
||||
@NotNull
|
||||
private BigDecimal orderNum;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,12 +44,6 @@ public class GongZhuangTaiZhangAddQO {
|
|||
@ExcelColumn("机型")
|
||||
private String model;
|
||||
|
||||
/**
|
||||
* 入库时间
|
||||
*/
|
||||
@ExcelColumn("入库时间")
|
||||
private String inTime;
|
||||
|
||||
/**
|
||||
* 检验周期
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -15,6 +15,13 @@ public class GongZhuangTaiZhangCheckAddQO {
|
|||
@ExcelColumn("*工装编号")
|
||||
private String no;
|
||||
|
||||
/**
|
||||
* 工装名称
|
||||
*/
|
||||
@NotBlank
|
||||
@ExcelColumn("工装名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 检验时间
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class GongZhuangTaiZhangCheckListQO extends PageQO {
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
private String no;
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class GongZhuangTaiZhangCheckUpdateQO extends GongZhuangTaiZhangCheckAddQO {
|
||||
|
||||
@NotNull
|
||||
private Long id;
|
||||
}
|
||||
|
|
@ -9,4 +9,9 @@ public class GongZhuangTaiZhangSearchQO extends PageQO {
|
|||
* 工装编号
|
||||
*/
|
||||
private String no;
|
||||
|
||||
/**
|
||||
* 工装名称
|
||||
*/
|
||||
private String name;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
|
|
@ -41,7 +42,13 @@ public class PackageDeliverOrderSaveItemQO {
|
|||
* 数量
|
||||
*/
|
||||
@NotNull
|
||||
private Integer num;
|
||||
private BigDecimal num;
|
||||
|
||||
/**
|
||||
* 计划数量
|
||||
*/
|
||||
@NotNull
|
||||
private BigDecimal planNum;
|
||||
|
||||
/**
|
||||
* 总重
|
||||
|
|
@ -59,4 +66,10 @@ public class PackageDeliverOrderSaveItemQO {
|
|||
*/
|
||||
@NotNull
|
||||
private Long modelId;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@NotBlank
|
||||
private String unit;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,13 @@ public class ToolMaterialCheckAddQO {
|
|||
@ExcelColumn("*物料号")
|
||||
private String no;
|
||||
|
||||
/**
|
||||
* 物料名称
|
||||
*/
|
||||
@NotBlank
|
||||
@ExcelColumn("*物料名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 检验时间
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ToolMaterialCheckUpdateQO extends ToolMaterialCheckAddQO {
|
||||
|
||||
@NotNull
|
||||
private Long id;
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import org.ttzero.excel.annotation.ExcelColumn;
|
||||
|
|
@ -14,6 +15,13 @@ public class ToolMaterialMaintainAddQO {
|
|||
@ExcelColumn("*物料号")
|
||||
private String no;
|
||||
|
||||
/**
|
||||
* 物料名称
|
||||
*/
|
||||
@NotBlank
|
||||
@ExcelColumn("*物料名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 维修时间
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ToolMaterialMaintainUpdateQO extends ToolMaterialMaintainAddQO {
|
||||
|
||||
@NotNull
|
||||
private Long id;
|
||||
}
|
||||
|
|
@ -65,19 +65,19 @@ public class DeliverStructuralPackageOrderTrayItemVO implements Serializable {
|
|||
* 计划数量
|
||||
*/
|
||||
@ExcelColumn(value = "计划数量",colIndex = 7)
|
||||
private Integer planNum;
|
||||
private BigDecimal planNum;
|
||||
|
||||
/**
|
||||
* 出货数量
|
||||
*/
|
||||
@ExcelColumn(value = "出货数量",colIndex = 8)
|
||||
private Integer shipmentNum;
|
||||
private BigDecimal shipmentNum;
|
||||
|
||||
/**
|
||||
* 入库数量
|
||||
*/
|
||||
@ExcelColumn(value = "入库数量",colIndex = 9)
|
||||
private Integer storeNum;
|
||||
private BigDecimal storeNum;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
|
|
|
|||
|
|
@ -39,6 +39,11 @@ public class DeliverStructuralPackageOrderVO {
|
|||
@ExcelColumn(value = "钢构包名称",colIndex = 5)
|
||||
private String packageDesc;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 钢构包种类
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -39,17 +39,17 @@ public class TrayItemVO {
|
|||
/**
|
||||
* 计划数量
|
||||
*/
|
||||
private Integer planNum;
|
||||
private BigDecimal planNum;
|
||||
|
||||
/**
|
||||
* 出货数量
|
||||
*/
|
||||
private Integer shipmentNum;
|
||||
private BigDecimal shipmentNum;
|
||||
|
||||
/**
|
||||
* 入库数量
|
||||
*/
|
||||
private Integer storeNum;
|
||||
private BigDecimal storeNum = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* 图片
|
||||
|
|
|
|||
|
|
@ -62,11 +62,6 @@ public class WmsGongzhuangTaizhang implements Serializable {
|
|||
*/
|
||||
private String model;
|
||||
|
||||
/**
|
||||
* 入库时间
|
||||
*/
|
||||
private String inTime;
|
||||
|
||||
/**
|
||||
* 检验周期
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -42,6 +42,11 @@ public class WmsStructuralPackageOrder implements Serializable {
|
|||
*/
|
||||
private Long packageId;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 期望交期
|
||||
*/
|
||||
|
|
@ -65,7 +70,12 @@ public class WmsStructuralPackageOrder implements Serializable {
|
|||
/**
|
||||
* 数量
|
||||
*/
|
||||
private Short num;
|
||||
private BigDecimal num;
|
||||
|
||||
/**
|
||||
* 计划数量
|
||||
*/
|
||||
private BigDecimal planNum;
|
||||
|
||||
/**
|
||||
* 总重
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import lombok.ToString;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
|
|
@ -55,15 +54,15 @@ public class WmsStructuralPackageOrderTray implements Serializable {
|
|||
*/
|
||||
private Short state;
|
||||
|
||||
/**
|
||||
* 总重
|
||||
*/
|
||||
private BigDecimal weight;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
private Integer num;
|
||||
// /**
|
||||
// * 总重
|
||||
// */
|
||||
// private BigDecimal weight;
|
||||
//
|
||||
// /**
|
||||
// * 数量
|
||||
// */
|
||||
// private BigDecimal num;
|
||||
|
||||
/**
|
||||
* 打包人
|
||||
|
|
|
|||
|
|
@ -64,17 +64,17 @@ public class WmsStructuralPackageOrderTrayItem implements Serializable {
|
|||
/**
|
||||
* 计划数量
|
||||
*/
|
||||
private Integer planNum;
|
||||
private BigDecimal planNum;
|
||||
|
||||
/**
|
||||
* 出货数量
|
||||
*/
|
||||
private Integer shipmentNum;
|
||||
private BigDecimal shipmentNum;
|
||||
|
||||
/**
|
||||
* 入库数量
|
||||
*/
|
||||
private Integer storeNum;
|
||||
private BigDecimal storeNum;
|
||||
|
||||
/**
|
||||
* 图片
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
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.GongZhuangTaiZhangCheckAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckListQO;
|
||||
import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckUpdateQO;
|
||||
import com.nflg.wms.repository.entity.WmsGongzhuangTaizhangCheck;
|
||||
import jakarta.validation.Valid;
|
||||
|
||||
|
|
@ -16,4 +19,8 @@ import jakarta.validation.Valid;
|
|||
public interface IWmsGongzhuangTaizhangCheckService extends IService<WmsGongzhuangTaizhangCheck> {
|
||||
|
||||
void add(@Valid GongZhuangTaiZhangCheckAddQO request);
|
||||
|
||||
void update(@Valid GongZhuangTaiZhangCheckUpdateQO request);
|
||||
|
||||
IPage<WmsGongzhuangTaizhangCheck> search(GongZhuangTaiZhangCheckListQO request);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
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.GongZhuangTaiZhangCheckListQO;
|
||||
import com.nflg.wms.common.pojo.qo.ToolMaterialCheckAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.ToolMaterialCheckUpdateQO;
|
||||
import com.nflg.wms.repository.entity.WmsToolMaterialCheck;
|
||||
import jakarta.validation.Valid;
|
||||
|
||||
|
|
@ -16,4 +19,8 @@ import jakarta.validation.Valid;
|
|||
public interface IWmsToolMaterialCheckService extends IService<WmsToolMaterialCheck> {
|
||||
|
||||
void add(@Valid ToolMaterialCheckAddQO request);
|
||||
|
||||
void update(@Valid ToolMaterialCheckUpdateQO request);
|
||||
|
||||
IPage<WmsToolMaterialCheck> search(GongZhuangTaiZhangCheckListQO request);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
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.GongZhuangTaiZhangCheckListQO;
|
||||
import com.nflg.wms.common.pojo.qo.ToolMaterialMaintainAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.ToolMaterialMaintainUpdateQO;
|
||||
import com.nflg.wms.repository.entity.WmsToolMaterialMaintain;
|
||||
import jakarta.validation.Valid;
|
||||
|
||||
|
|
@ -16,4 +19,8 @@ import jakarta.validation.Valid;
|
|||
public interface IWmsToolMaterialMaintainService extends IService<WmsToolMaterialMaintain> {
|
||||
|
||||
void add(@Valid ToolMaterialMaintainAddQO request);
|
||||
|
||||
void update(@Valid ToolMaterialMaintainUpdateQO request);
|
||||
|
||||
IPage<WmsToolMaterialMaintain> search(GongZhuangTaiZhangCheckListQO request);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
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.GongZhuangTaiZhangCheckAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckListQO;
|
||||
import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckUpdateQO;
|
||||
import com.nflg.wms.common.util.UserUtil;
|
||||
import com.nflg.wms.repository.entity.WmsGongzhuangTaizhangCheck;
|
||||
import com.nflg.wms.repository.mapper.WmsGongzhuangTaizhangCheckMapper;
|
||||
|
|
@ -13,9 +17,8 @@ import java.time.LocalDateTime;
|
|||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
|
|
@ -24,9 +27,23 @@ public class WmsGongzhuangTaizhangCheckServiceImpl extends ServiceImpl<WmsGongzh
|
|||
|
||||
@Override
|
||||
public void add(GongZhuangTaiZhangCheckAddQO request) {
|
||||
WmsGongzhuangTaizhangCheck info= Convert.convert(WmsGongzhuangTaizhangCheck.class, request);
|
||||
WmsGongzhuangTaizhangCheck info = Convert.convert(WmsGongzhuangTaizhangCheck.class, request);
|
||||
info.setCreateBy(UserUtil.getUserName());
|
||||
info.setCreateTime(LocalDateTime.now());
|
||||
save(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(GongZhuangTaiZhangCheckUpdateQO request) {
|
||||
WmsGongzhuangTaizhangCheck info = Convert.convert(WmsGongzhuangTaizhangCheck.class, request);
|
||||
info.setCreateBy(null);
|
||||
info.setCreateTime(null);
|
||||
updateById(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<WmsGongzhuangTaizhangCheck> search(GongZhuangTaiZhangCheckListQO request) {
|
||||
return lambdaQuery().eq(WmsGongzhuangTaizhangCheck::getNo, request.getNo())
|
||||
.page(new Page<>(request.getPage(), request.getPageSize()));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ public class WmsGongzhuangTaizhangServiceImpl extends ServiceImpl<WmsGongzhuangT
|
|||
public IPage<WmsGongzhuangTaizhang> search(GongZhuangTaiZhangSearchQO request) {
|
||||
return lambdaQuery()
|
||||
.like(StrUtil.isNotBlank(request.getNo()), WmsGongzhuangTaizhang::getNo, request.getNo())
|
||||
.like(StrUtil.isNotBlank(request.getName()), WmsGongzhuangTaizhang::getName, request.getName())
|
||||
.page(new Page<>(request.getPage(), request.getPageSize()));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
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.GongZhuangTaiZhangCheckListQO;
|
||||
import com.nflg.wms.common.pojo.qo.ToolMaterialCheckAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.ToolMaterialCheckUpdateQO;
|
||||
import com.nflg.wms.common.util.UserUtil;
|
||||
import com.nflg.wms.repository.entity.WmsToolMaterialCheck;
|
||||
import com.nflg.wms.repository.mapper.WmsToolMaterialCheckMapper;
|
||||
|
|
@ -29,4 +33,19 @@ public class WmsToolMaterialCheckServiceImpl extends ServiceImpl<WmsToolMaterial
|
|||
info.setCreateTime(LocalDateTime.now());
|
||||
save(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(ToolMaterialCheckUpdateQO request) {
|
||||
WmsToolMaterialCheck info = Convert.convert(WmsToolMaterialCheck.class, request);
|
||||
info.setNo(null);
|
||||
info.setCreateBy(null);
|
||||
info.setCreateTime(null);
|
||||
updateById(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<WmsToolMaterialCheck> search(GongZhuangTaiZhangCheckListQO request) {
|
||||
return lambdaQuery().eq(WmsToolMaterialCheck::getNo, request.getNo())
|
||||
.page(new Page<>(request.getPage(), request.getPageSize()));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
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.GongZhuangTaiZhangCheckListQO;
|
||||
import com.nflg.wms.common.pojo.qo.ToolMaterialMaintainAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.ToolMaterialMaintainUpdateQO;
|
||||
import com.nflg.wms.common.util.UserUtil;
|
||||
import com.nflg.wms.repository.entity.WmsToolMaterialMaintain;
|
||||
import com.nflg.wms.repository.mapper.WmsToolMaterialMaintainMapper;
|
||||
|
|
@ -29,4 +33,19 @@ public class WmsToolMaterialMaintainServiceImpl extends ServiceImpl<WmsToolMater
|
|||
info.setCreateTime(LocalDateTime.now());
|
||||
save(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(ToolMaterialMaintainUpdateQO request) {
|
||||
WmsToolMaterialMaintain info = Convert.convert(WmsToolMaterialMaintain.class, request);
|
||||
info.setNo(null);
|
||||
info.setCreateBy(null);
|
||||
info.setCreateTime(null);
|
||||
updateById(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<WmsToolMaterialMaintain> search(GongZhuangTaiZhangCheckListQO request) {
|
||||
return lambdaQuery().eq(WmsToolMaterialMaintain::getNo, request.getNo())
|
||||
.page(new Page<>(request.getPage(), request.getPageSize()));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -161,8 +161,8 @@ public class SRMController extends BaseController {
|
|||
.setUnit(request.getUnit())
|
||||
.setUnqualifiedQty(request.getUnqualifiedQty())
|
||||
.setQualifiedQty(request.getQualifiedQty())
|
||||
.setSerialNumber(String.valueOf(request.getSerialNum()))
|
||||
.setSerialNumber(String.valueOf(request.getSerialNum()))
|
||||
// .setSerialNumber(String.valueOf(request.getSerialNum()))
|
||||
// .setSerialNumber(String.valueOf(request.getSerialNum()))
|
||||
.setLineNumber(String.valueOf(request.getLineNumber()))
|
||||
.setNoteNum(request.getNoteNum())
|
||||
.setInspectionOrder(request.receiveNum)
|
||||
|
|
|
|||
Loading…
Reference in New Issue