From 4449ca931e10cf7f41396049dbc1c4091df75159 Mon Sep 17 00:00:00 2001 From: caoyizhong <1270296080@qq.com> Date: Mon, 26 Jun 2023 15:56:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BD=AC=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/DistributionStockEntity.java | 105 ++++++++++++ .../feign/IDistributionStockClient.java | 49 ++++++ .../distribution/vo/DistributionStockVO.java | 35 ++++ blade-service/logpm-distribution/pom.xml | 10 +- .../DistributionStockArticleController.java | 13 +- .../DistributionStockController.java | 150 ++++++++++++++++++ .../dto/DistributionStockArticleDTO.java | 3 + .../dto/DistributionStockDTO.java | 34 ++++ .../excel/DistributionStockExcel.java | 135 ++++++++++++++++ .../feign/DistributionStockClient.java | 53 +++++++ .../mapper/DistributionStockMapper.java | 54 +++++++ .../mapper/DistributionStockMapper.xml | 41 +++++ .../IDistributionStockArticleService.java | 2 + .../service/IDistributionStockService.java | 52 ++++++ .../DistributionStockArticleServiceImpl.java | 124 ++++++++++++--- .../impl/DistributionStockServiceImpl.java | 54 +++++++ 16 files changed, 882 insertions(+), 32 deletions(-) create mode 100644 blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockEntity.java create mode 100644 blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockClient.java create mode 100644 blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockVO.java create mode 100644 blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockController.java create mode 100644 blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockDTO.java create mode 100644 blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionStockExcel.java create mode 100644 blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockClient.java create mode 100644 blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.java create mode 100644 blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.xml create mode 100644 blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockService.java create mode 100644 blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockServiceImpl.java diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockEntity.java new file mode 100644 index 000000000..f0415abc4 --- /dev/null +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockEntity.java @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.distribution.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.Date; +import lombok.EqualsAndHashCode; +import org.springblade.core.tenant.mp.TenantEntity; + +/** + * 库存品详情信息 实体类 + * + * @author cyz + * @since 2023-06-26 + */ +@Data +@TableName("logpm_distribution_stock") +@ApiModel(value = "DistributionStock对象", description = "库存品详情信息") +@EqualsAndHashCode(callSuper = true) +public class DistributionStockEntity extends TenantEntity { + + /** + * 预留1 + */ + @ApiModelProperty(value = "预留1") + private String reserve1; + /** + * 预留2 + */ + @ApiModelProperty(value = "预留2") + private String reserve2; + /** + * 预留3 + */ + @ApiModelProperty(value = "预留3") + private String reserve3; + /** + * 预留4 + */ + @ApiModelProperty(value = "预留4") + private String reserve4; + /** + * 预留5 + */ + @ApiModelProperty(value = "预留5") + private String reserve5; + /** + * 货位 + */ + @ApiModelProperty(value = "货位") + private String goodsAllocation; + /** + * 在库订单ID + */ + @ApiModelProperty(value = "在库订单ID") + private Long stockArticle; + /** + * 编码 + */ + @ApiModelProperty(value = "编码") + private String coding; + /** + * 状态 + */ + @ApiModelProperty(value = "状态") + private Integer conditions; + /** + * 货物名称 + */ + @ApiModelProperty(value = "货物名称") + private String goodsName; + /** + * 库存品ID + */ + @ApiModelProperty(value = "库存品ID") + private Long stockListId; + /** + * 拆包数 + */ + @ApiModelProperty(value = "拆包数") + private Integer unpackingQuantity; + /** + * 在库包件ID + */ + @ApiModelProperty(value = "在库包件ID") + private Long parcelListId; + +} diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockClient.java new file mode 100644 index 000000000..dc04dffbe --- /dev/null +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockClient.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.distribution.feign; + +import org.springblade.core.mp.support.BladePage; +import com.logpm.distribution.entity.DistributionStockEntity; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * 库存品详情信息 Feign接口类 + * + * @author cyz + * @since 2023-06-26 + */ +@FeignClient( + value = "blade-distributionStock" +) +public interface IDistributionStockClient { + + String API_PREFIX = "/client"; + String TOP = API_PREFIX + "/t111op"; + + /** + * 获取库存品详情信息列表 + * + * @param current 页号 + * @param size 页数 + * @return BladePage + */ + @GetMapping(TOP) + BladePage top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); + +} diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockVO.java new file mode 100644 index 000000000..d2b5eeddc --- /dev/null +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockVO.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.distribution.vo; + +import com.logpm.distribution.entity.DistributionStockEntity; +import org.springblade.core.tool.node.INode; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 库存品详情信息 视图实体类 + * + * @author cyz + * @since 2023-06-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class DistributionStockVO extends DistributionStockEntity { + private static final long serialVersionUID = 1L; + +} diff --git a/blade-service/logpm-distribution/pom.xml b/blade-service/logpm-distribution/pom.xml index 8c1ee6ad9..53b3c963a 100644 --- a/blade-service/logpm-distribution/pom.xml +++ b/blade-service/logpm-distribution/pom.xml @@ -37,11 +37,11 @@ blade-core-auto compile - - - - - + + org.springblade + logpm-basic-api + 3.1.0.RELEASE + org.springblade diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java index 0f45aae35..af148cd3a 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java @@ -16,6 +16,7 @@ */ package com.logpm.distribution.controller; +import com.logpm.distribution.dto.DistributionStockArticleDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -101,7 +102,7 @@ public class DistributionStockArticleController extends BladeController { } /** - * 配送在库订单 新增 + * 配送在库订单 转库存品 */ @PostMapping("/saveStock") @ApiOperationSupport(order = 4) @@ -110,6 +111,16 @@ public class DistributionStockArticleController extends BladeController { return R.status(distributionStockArticleService.saveStock(ids)); } + /** + * 配送在库订单包件转库存 新增 + */ + @PostMapping("/saveStockRow") + @ApiOperationSupport(order = 4) + @ApiOperation(value = "新增", notes = "传入distributionStockArticle") + public R saveStockRow(@Valid @RequestBody DistributionStockArticleDTO distributionStockArticleDTO) { + return R.status(distributionStockArticleService.saveStockRow(distributionStockArticleDTO)); + } + /** * 配送在库订单 修改 */ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockController.java new file mode 100644 index 000000000..b9836de6a --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockController.java @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.distribution.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import lombok.AllArgsConstructor; +import javax.validation.Valid; + +import org.springblade.core.secure.BladeUser; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springframework.web.bind.annotation.*; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.logpm.distribution.entity.DistributionStockEntity; +import com.logpm.distribution.vo.DistributionStockVO; +import com.logpm.distribution.excel.DistributionStockExcel; +import com.logpm.distribution.service.IDistributionStockService; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.tool.constant.BladeConstant; +import springfox.documentation.annotations.ApiIgnore; +import java.util.Map; +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +/** + * 库存品详情信息 控制器 + * + * @author cyz + * @since 2023-06-26 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/distributionStock") +@Api(value = "库存品详情信息", tags = "库存品详情信息接口") +public class DistributionStockController extends BladeController { + + private final IDistributionStockService distributionStockService; + + /** + * 库存品详情信息 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "详情", notes = "传入distributionStock") + public R detail(DistributionStockEntity distributionStock) { + DistributionStockEntity detail = distributionStockService.getOne(Condition.getQueryWrapper(distributionStock)); + return R.data(detail); + } + /** + * 库存品详情信息 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "分页", notes = "传入distributionStock") + public R> list(@ApiIgnore @RequestParam Map distributionStock, Query query) { + IPage pages = distributionStockService.page(Condition.getPage(query), Condition.getQueryWrapper(distributionStock, DistributionStockEntity.class)); + return R.data(pages); + } + + /** + * 库存品详情信息 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @ApiOperation(value = "分页", notes = "传入distributionStock") + public R> page(DistributionStockVO distributionStock, Query query) { + IPage pages = distributionStockService.selectDistributionStockPage(Condition.getPage(query), distributionStock); + return R.data(pages); + } + + /** + * 库存品详情信息 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @ApiOperation(value = "新增", notes = "传入distributionStock") + public R save(@Valid @RequestBody DistributionStockEntity distributionStock) { + return R.status(distributionStockService.save(distributionStock)); + } + + /** + * 库存品详情信息 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @ApiOperation(value = "修改", notes = "传入distributionStock") + public R update(@Valid @RequestBody DistributionStockEntity distributionStock) { + return R.status(distributionStockService.updateById(distributionStock)); + } + + /** + * 库存品详情信息 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @ApiOperation(value = "新增或修改", notes = "传入distributionStock") + public R submit(@Valid @RequestBody DistributionStockEntity distributionStock) { + return R.status(distributionStockService.saveOrUpdate(distributionStock)); + } + + /** + * 库存品详情信息 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @ApiOperation(value = "逻辑删除", notes = "传入ids") + public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { + return R.status(distributionStockService.deleteLogic(Func.toLongList(ids))); + } + + + /** + * 导出数据 + */ + @GetMapping("/export-distributionStock") + @ApiOperationSupport(order = 9) + @ApiOperation(value = "导出数据", notes = "传入distributionStock") + public void exportDistributionStock(@ApiIgnore @RequestParam Map distributionStock, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(distributionStock, DistributionStockEntity.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(DistributionStock::getTenantId, bladeUser.getTenantId()); + //} + queryWrapper.lambda().eq(DistributionStockEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = distributionStockService.exportDistributionStock(queryWrapper); + ExcelUtil.export(response, "库存品详情信息数据" + DateUtil.time(), "库存品详情信息数据表", list, DistributionStockExcel.class); + } + +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleDTO.java index 4292fe21b..51aca87da 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleDTO.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleDTO.java @@ -35,4 +35,7 @@ public class DistributionStockArticleDTO extends DistributionStockArticleEntity private static final long serialVersionUID = 1L; + private String ids; + + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockDTO.java new file mode 100644 index 000000000..621294a0f --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockDTO.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.distribution.dto; + +import com.logpm.distribution.entity.DistributionStockEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 库存品详情信息 数据传输对象实体类 + * + * @author cyz + * @since 2023-06-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class DistributionStockDTO extends DistributionStockEntity { + private static final long serialVersionUID = 1L; + +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionStockExcel.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionStockExcel.java new file mode 100644 index 000000000..7caa9d647 --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionStockExcel.java @@ -0,0 +1,135 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.distribution.excel; + + +import lombok.Data; + +import java.util.Date; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import java.io.Serializable; + + +/** + * 库存品详情信息 Excel实体类 + * + * @author cyz + * @since 2023-06-26 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class DistributionStockExcel implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 租户号 + */ + @ColumnWidth(20) + @ExcelProperty("租户号") + private String tenantId; + /** + * 是否已删除 + */ + @ColumnWidth(20) + @ExcelProperty("是否已删除") + private Integer isDeleted; + /** + * 预留1 + */ + @ColumnWidth(20) + @ExcelProperty("预留1") + private String reserve1; + /** + * 预留2 + */ + @ColumnWidth(20) + @ExcelProperty("预留2") + private String reserve2; + /** + * 预留3 + */ + @ColumnWidth(20) + @ExcelProperty("预留3") + private String reserve3; + /** + * 预留4 + */ + @ColumnWidth(20) + @ExcelProperty("预留4") + private String reserve4; + /** + * 预留5 + */ + @ColumnWidth(20) + @ExcelProperty("预留5") + private String reserve5; + /** + * 货位 + */ + @ColumnWidth(20) + @ExcelProperty("货位") + private String goodsAllocation; + /** + * 在库订单ID + */ + @ColumnWidth(20) + @ExcelProperty("在库订单ID") + private Long stockArticle; + /** + * 编码 + */ + @ColumnWidth(20) + @ExcelProperty("编码") + private String coding; + /** + * 状态 + */ + @ColumnWidth(20) + @ExcelProperty("状态") + private Integer conditions; + /** + * 货物名称 + */ + @ColumnWidth(20) + @ExcelProperty("货物名称") + private String goodsName; + /** + * 库存品ID + */ + @ColumnWidth(20) + @ExcelProperty("库存品ID") + private Long stockListId; + /** + * 拆包数 + */ + @ColumnWidth(20) + @ExcelProperty("拆包数") + private Integer unpackingQuantity; + /** + * 在库包件ID + */ + @ColumnWidth(20) + @ExcelProperty("在库包件ID") + private Long parcelListId; + +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockClient.java new file mode 100644 index 000000000..5896efff5 --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockClient.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.distribution.feign; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.support.BladePage; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import com.logpm.distribution.entity.DistributionStockEntity; +import com.logpm.distribution.service.IDistributionStockService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; + +/** + * 库存品详情信息 Feign实现类 + * + * @author cyz + * @since 2023-06-26 + */ +@ApiIgnore() +@RestController +@AllArgsConstructor +public class DistributionStockClient implements IDistributionStockClient { + + private final IDistributionStockService distributionStockService; + + @Override + @GetMapping(TOP) + public BladePage top(Integer current, Integer size) { + Query query = new Query(); + query.setCurrent(current); + query.setSize(size); + IPage page = distributionStockService.page(Condition.getPage(query)); + return BladePage.of(page); + } + +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.java new file mode 100644 index 000000000..1cf8c9760 --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.distribution.mapper; + +import com.logpm.distribution.entity.DistributionStockEntity; +import com.logpm.distribution.vo.DistributionStockVO; +import com.logpm.distribution.excel.DistributionStockExcel; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import java.util.List; + +/** + * 库存品详情信息 Mapper 接口 + * + * @author cyz + * @since 2023-06-26 + */ +public interface DistributionStockMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param distributionStock + * @return + */ + List selectDistributionStockPage(IPage page, DistributionStockVO distributionStock); + + + /** + * 获取导出数据 + * + * @param queryWrapper + * @return + */ + List exportDistributionStock(@Param("ew") Wrapper queryWrapper); + +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.xml new file mode 100644 index 000000000..046946c4c --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java index 779293284..92e3b3c54 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java @@ -17,6 +17,7 @@ package com.logpm.distribution.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.logpm.distribution.dto.DistributionStockArticleDTO; import com.logpm.distribution.entity.DistributionStockArticleEntity; import com.logpm.distribution.vo.DistributionStockArticleVO; import com.logpm.distribution.excel.DistributionStockArticleExcel; @@ -61,4 +62,5 @@ public interface IDistributionStockArticleService extends BaseService addIncrement(Map addvalueInfo); + Boolean saveStockRow(DistributionStockArticleDTO distributionStockArticleDTO); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockService.java new file mode 100644 index 000000000..3eeca6bb0 --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockService.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.distribution.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.logpm.distribution.entity.DistributionStockEntity; +import com.logpm.distribution.vo.DistributionStockVO; +import com.logpm.distribution.excel.DistributionStockExcel; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; +import java.util.List; + +/** + * 库存品详情信息 服务类 + * + * @author cyz + * @since 2023-06-26 + */ +public interface IDistributionStockService extends BaseService { + /** + * 自定义分页 + * + * @param page + * @param distributionStock + * @return + */ + IPage selectDistributionStockPage(IPage page, DistributionStockVO distributionStock); + + + /** + * 导出数据 + * + * @param queryWrapper + * @return + */ + List exportDistributionStock(Wrapper queryWrapper); + +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java index c604b9026..d8c09f30e 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java @@ -17,20 +17,23 @@ package com.logpm.distribution.service.impl; import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; -import com.logpm.distribution.entity.DistributionAddvalueEntity; -import com.logpm.distribution.entity.DistributionStockArticleEntity; -import com.logpm.distribution.entity.DistributionStockListEntity; -import com.logpm.distribution.service.IDistributionAddvalueService; -import com.logpm.distribution.service.IDistributionStockListService; +import com.logpm.basic.feign.IBasicTenantCodeClient; +import com.logpm.distribution.dto.DistributionStockArticleDTO; +import com.logpm.distribution.dto.DistributionStockDTO; +import com.logpm.distribution.entity.*; +import com.logpm.distribution.service.*; import com.logpm.distribution.vo.DistributionStockArticleVO; import com.logpm.distribution.excel.DistributionStockArticleExcel; import com.logpm.distribution.mapper.DistributionStockArticleMapper; -import com.logpm.distribution.service.IDistributionStockArticleService; +import com.sun.org.apache.xpath.internal.operations.Bool; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.RandomType; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -38,8 +41,10 @@ import org.springblade.core.mp.base.BaseServiceImpl; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Random; /** * 配送在库订单 服务实现类 @@ -54,8 +59,14 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl stockEntityList = new ArrayList<>(); + for (String s : split) { + //查询包件信息 + List list = distributionParcelListService.list(Wrappers.query().lambda() + .eq(DistributionParcelListEntity::getId, s) + ); + DistributionParcelListEntity distributionParcelListEntity = list.get(0); + distributionParcelListEntity.setConditions(2); + distributionParcelListService.updateById(distributionParcelListEntity); + //添加库存品订单 + List list1 = distributionStockListService.list(Wrappers.query().lambda() + .eq(DistributionStockListEntity::getStockArticleId, distributionStockArticleDTO.getId()) + ); + DistributionStockArticleEntity aLong = null; + if(list1.size() > 0){ + //存在 + + }else{ + //不存在 + aLong = addStockList(distributionStockArticleDTO.getId().toString()); + } +// String s1 = basicTenantCodeClient.shelfCode(AuthUtil.getTenantId(), "7"); + + + //添加库存品明细 + for (int i = 0; i < distributionParcelListEntity.getQuantity(); i++) { + String random = Func.random(15, RandomType.INT); + DistributionStockEntity distributionStock = new DistributionStockEntity(); + distributionStock.setStockArticle(distributionStockArticleDTO.getId()); + distributionStock.setParcelListId(distributionParcelListEntity.getId()); + distributionStock.setStockListId(list1.size() > 0 ? list1.get(0).getId() : aLong.getId()); + distributionStock.setConditions(1); + distributionStock.setGoodsName(aLong.getDescriptionGoods()); + distributionStock.setGoodsAllocation(distributionParcelListEntity.getGoodsAllocation()); +// distributionStock.setCoding(s1+random); + distributionStock.setCoding(random); + stockEntityList.add(distributionStock); + } + } + return distributionStockService.saveBatch(stockEntityList); + } + + /** + * + * @param s 订单id + * @return + */ + public DistributionStockArticleEntity addStockList(String s){ + //查询在库订单信息 + DistributionStockArticleEntity distributionStockArticleEntity = baseMapper.selectById(s); + DistributionStockListEntity distributionStockListEntity = new DistributionStockListEntity(); + distributionStockListEntity.setStockArticleId(Long.parseLong(s)); + distributionStockListEntity.setOrderSelfNumbering(distributionStockArticleEntity.getOrderSelfNumbering()); +// distributionStockListEntity.setIncomingBatch(); //入库批次号 + distributionStockListEntity.setDescriptionGoods(distributionStockArticleEntity.getDescriptionGoods()); +// distributionStockListEntity.setCargoNumber(); //货物编号 + distributionStockListEntity.setWarehouse(distributionStockArticleEntity.getWarehouse()); +// distributionStockListEntity.setMarket(); //商场 +// distributionStockListEntity.setCargoUnit(distributionStockArticleEntity.get); //货物单位 +// distributionStockListEntity.setShop(); //门店 +// distributionStockListEntity.setStorageLocation(); //库位信息 + distributionStockListEntity.setMallName(distributionStockArticleEntity.getMallName()); + distributionStockListEntity.setQuantityStock(distributionStockArticleEntity.getHandQuantity()); + distributionStockListEntity.setOutboundQuantity(distributionStockArticleEntity.getHandQuantity()); +// distributionStockListEntity.setDespatch(distributionStockArticleEntity.get);//车次号 + distributionStockListService.save(distributionStockListEntity); + return distributionStockArticleEntity; + } + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockServiceImpl.java new file mode 100644 index 000000000..7c8eb3967 --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockServiceImpl.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.distribution.service.impl; + +import com.logpm.distribution.entity.DistributionStockEntity; +import com.logpm.distribution.vo.DistributionStockVO; +import com.logpm.distribution.excel.DistributionStockExcel; +import com.logpm.distribution.mapper.DistributionStockMapper; +import com.logpm.distribution.service.IDistributionStockService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseServiceImpl; +import java.util.List; + +/** + * 库存品详情信息 服务实现类 + * + * @author cyz + * @since 2023-06-26 + */ +@Service +public class DistributionStockServiceImpl extends BaseServiceImpl implements IDistributionStockService { + + @Override + public IPage selectDistributionStockPage(IPage page, DistributionStockVO distributionStock) { + return page.setRecords(baseMapper.selectDistributionStockPage(page, distributionStock)); + } + + + @Override + public List exportDistributionStock(Wrapper queryWrapper) { + List distributionStockList = baseMapper.exportDistributionStock(queryWrapper); + //distributionStockList.forEach(distributionStock -> { + // distributionStock.setTypeName(DictCache.getValue(DictEnum.YES_NO, DistributionStock.getType())); + //}); + return distributionStockList; + } + +}