diff --git a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java index 2bdbac92e..df99ecd9b 100644 --- a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java +++ b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java @@ -25,6 +25,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.util.List; + /** * 物料基础信息 Feign接口类 * @@ -84,4 +86,7 @@ public interface IBasicMaterialClient { @GetMapping(API_PREFIX+"/findEntityByName") BasicMaterialEntity findEntityByName(@RequestParam String productName); + + @GetMapping(API_PREFIX+"/findEntityByPid") + List findEntityByPid(@RequestParam Long pid); } diff --git a/blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicMaterialController.java b/blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicMaterialController.java index 88c2e8426..f83e833c8 100644 --- a/blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicMaterialController.java +++ b/blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicMaterialController.java @@ -90,6 +90,23 @@ public class BasicMaterialController extends BladeController { } + /** + * 查询子物料 + */ + @GetMapping("/findPidList") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "分页", notes = "传入basicMaterial") + public R> findPidList(@ApiIgnore @RequestParam Map basicMaterial) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(basicMaterial, BasicMaterialEntity.class); + queryWrapper.orderByDesc("create_time"); + if (Func.isNotEmpty(basicMaterial.get("pid"))){ + queryWrapper.lambda().eq(BasicMaterialEntity::getPid, Long.parseLong((String) basicMaterial.get("pid"))); + } + List pages = basicMaterialService.list( queryWrapper); + return R.data(pages); + } + + /** * 物料基础信息 自定义分页 */ diff --git a/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java b/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java index 897466b9c..3015cc634 100644 --- a/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java +++ b/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java @@ -31,6 +31,8 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import java.util.List; + /** * 物料基础信息 Feign实现类 * @@ -119,4 +121,13 @@ public class BasicMaterialClient implements IBasicMaterialClient { return one; } + /** + * @param pid + * @return + */ + @Override + public List findEntityByPid(Long pid) { + return basicMaterialService.list(Wrappers.query().lambda().eq(BasicMaterialEntity::getPid,pid)); + } + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleOweDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleOweDTO.java index 8c8aecc11..d553d0a38 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleOweDTO.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleOweDTO.java @@ -28,5 +28,6 @@ public class DistributionStockArticleOweDTO extends DistributionStockArticleEnti private String reservation; private String startDate; private String entDate; + private String isAll; private List warehouseIdList; } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml index bf1639cc0..102c7ff25 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml @@ -473,6 +473,8 @@ and ldsa.warehouse_entry_time between #{param.startDate} and #{param.entDate} + and ldsa.hand_quantity > 0 + and DATE(ldsa.warehouse_entry_time) = #{param.warehouseEntryTime} @@ -518,6 +520,8 @@ and ldsa.type_service like concat('%',#{param.typeService},'%') + and ldsa.type_service like concat('%',#{param.typeService},'%') + and ldsa.customer_name like concat('%',#{param.customerName},'%') diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java index db6e83031..0beb50a86 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java @@ -6842,6 +6842,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImplquery().lambda() + DistributionStockListEntity one2 = this.getOne(Wrappers.query().lambda() .eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getMaterialId()),DistributionStockListEntity::getMaterialId, distributionStockListDTO.getMaterialId()) .eq(DistributionStockListEntity::getPid, distributionStockListDTO.getId()) .eq(DistributionStockListEntity::getMarketId, distributionStockListDTO.getMarketId()) @@ -261,6 +261,8 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl materialByProductCode = basicMaterialClient.findEntityByPid(distributionStockListDTO.getId()); + if (Func.isEmpty(materialByProductCode)){ + a = materialByProductCode.size()+1; + } + basicMaterialEntity.setName(one.getDescriptionGoods()+"-"+a); + basicMaterialEntity.setProductCode(one.getCargoNumber()+"-"+a); basicMaterialEntity.setPackingSpecification(distributionStockListDTO.getCargoNorms()); basicMaterialEntity.setSku(distributionStockListDTO.getSku()); basicMaterialEntity.setPackageNum(distributionStockListDTO.getPackageNum() + ""); - basicMaterialEntity.setPackageNum(distributionStockListDTO.getPackageNum() + ""); basicMaterialEntity.setLogpmUnit(distributionStockListDTO.getCargoUnit()); - basicMaterialEntity.setPid(distributionStockListDTO.getMaterialId()); + basicMaterialEntity.setSpecification(distributionStockListDTO.getCargoNorms()); + basicMaterialEntity.setExtent("0"); + basicMaterialEntity.setBreadth("0"); + basicMaterialEntity.setAltitude("0"); + basicMaterialEntity.setVolume("0"); + basicMaterialEntity.setWeight("0"); + basicMaterialEntity.setPid(one.getMaterialId()); aLong = basicMaterialClient.addMaterial(basicMaterialEntity); }else { - aLong = materialByProductCode.getId(); + basicMaterialEntity = basicMaterialClient.getMaterialByProductCode(distributionStockListDTO.getCargoNumber()); + aLong = basicMaterialEntity.getId(); } if (Func.isNotEmpty(one)) { //生成新的库存品信息 @@ -309,6 +322,7 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl map = JSONObject.parseObject(JSONObject.toJSONString(stockListEntity), Map.class); + Map map = JSONObject.parseObject(JSONObject.toJSONString(stockListEntity), Map.class); map.put("id",disStockListDetailEntity.getId()); map.put("customerName",distributionReservationEntity.getConsignee()); map.put("customerTelephone",distributionReservationEntity.getDeliveryPhone()); diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java index 0f21d4569..c3b112f53 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java @@ -12,7 +12,6 @@ import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; -import org.springblade.system.feign.IUserClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -34,10 +33,6 @@ public class ReportBillLoadingController { private IReportBillLoadingAsyncService reportBillLoadingAsyncService; - - - - /** * 导出数据 */ diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java index 853d4b334..820cfc2e9 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java @@ -88,7 +88,7 @@ public class ReportDeliveryController extends BladeController { } @GetMapping("/details") - @ApiOperationSupport(order = 3) + @ApiOperationSupport(order = 5) @ApiOperation(value = "配送明细报表", notes = "配送明细报表") public R> detailsPage(ReportDetailVO vo, Query query) { IPage pages = reportDeliverService.detailsPage(vo, query); @@ -96,7 +96,7 @@ public class ReportDeliveryController extends BladeController { } @GetMapping("/exportDetails") - @ApiOperationSupport(order = 4) + @ApiOperationSupport(order = 6) @ApiOperation(value = "导出配送明细报表", notes = "导出配送明细报表") public void exportDetails(HttpServletResponse response, ReportDetailVO vo) { try { diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportStockController.java b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportStockController.java index fb763323d..91b9baeb0 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportStockController.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportStockController.java @@ -19,6 +19,7 @@ package com.logpm.report.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.logpm.report.service.ReportStockService; +import com.logpm.report.vo.ReportInStockVO; import com.logpm.report.vo.StockDetailsVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -65,4 +66,23 @@ public class ReportStockController extends BladeController { } } + @GetMapping("/inStocks") + @ApiOperationSupport(order = 3) + @ApiOperation(value = "库存入库明细", notes = "库存入库明细") + public R> inStocks(ReportInStockVO vo, Query query) { + IPage pages = stockService.inStocks(vo, query); + return R.data(pages); + } + + @GetMapping("/exportInStocks") + @ApiOperationSupport(order = 4) + @ApiOperation(value = "导出配送明细报表", notes = "导出配送明细报表") + public void exportInStocks(HttpServletResponse response, ReportInStockVO vo) { + try { + stockService.exportInStocks(response, vo); + } catch (Exception e) { + e.printStackTrace(); + } + } + } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapeer.java b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapeer.java index a8e5ff23b..1735f910f 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapeer.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapeer.java @@ -3,6 +3,7 @@ package com.logpm.report.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.logpm.report.vo.ReportInStockVO; import com.logpm.report.vo.StockDetailsVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -18,4 +19,6 @@ public interface ReportStockMapeer extends BaseMapper { List getDetailPage(IPage page,@Param("ew") QueryWrapper queryWrapper); + List getInStocks(IPage page,@Param("ew") QueryWrapper queryWrapper); + } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapper.xml b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapper.xml index dd498d904..ebd6d39f7 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapper.xml +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapper.xml @@ -3,7 +3,17 @@ + diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryInStocksReader.java b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryInStocksReader.java new file mode 100644 index 000000000..8cc8b1992 --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryInStocksReader.java @@ -0,0 +1,36 @@ +package com.logpm.report.reader; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.logpm.report.mapper.ReportStockMapeer; +import com.logpm.report.service.ExportReaderService; +import org.apache.poi.ss.formula.functions.T; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.List; + +/** + * + * @author zhaoqiaobo + * @create 2024-03-08 9:50 + */ +@Component +public class DeliveryInStocksReader implements ExportReaderService { + + @Resource + private ReportStockMapeer reportStockMapeer; + + @Override + public Long getCount(QueryWrapper query) { + Page page = new Page(1, 1); + reportStockMapeer.getInStocks(page, query); + return page.getTotal(); + } + + @Override + public List findList(Page page, QueryWrapper query) { + return reportStockMapeer.getInStocks(page,query); + } + +} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportStockService.java b/blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportStockService.java index f1505b53a..b05358041 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportStockService.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportStockService.java @@ -1,6 +1,7 @@ package com.logpm.report.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.logpm.report.vo.ReportInStockVO; import com.logpm.report.vo.StockDetailsVO; import org.springblade.core.mp.support.Query; @@ -17,4 +18,7 @@ public interface ReportStockService { void exportDetails(HttpServletResponse response, StockDetailsVO vo) throws InterruptedException, IOException; + IPage inStocks(ReportInStockVO vo, Query query); + + void exportInStocks(HttpServletResponse response, ReportInStockVO vo) throws InterruptedException, IOException; } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportStockServiceImpl.java b/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportStockServiceImpl.java index e29080bbd..b5a0283f0 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportStockServiceImpl.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportStockServiceImpl.java @@ -4,9 +4,11 @@ import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.report.mapper.ReportStockMapeer; +import com.logpm.report.reader.DeliveryInStocksReader; import com.logpm.report.reader.DeliveryStockReader; import com.logpm.report.service.ReportStockService; import com.logpm.report.util.ReportExcelUtil; +import com.logpm.report.vo.ReportInStockVO; import com.logpm.report.vo.StockDetailsVO; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Condition; @@ -27,6 +29,7 @@ public class ReportStockServiceImpl implements ReportStockService { private final ReportStockMapeer reportStockMapeer; private final DeliveryStockReader deliveryStockReader; + private final DeliveryInStocksReader inStocksReader; @Override public IPage detailsPage(StockDetailsVO vo, Query query) { @@ -37,10 +40,25 @@ public class ReportStockServiceImpl implements ReportStockService { } @Override - public void exportDetails(HttpServletResponse response,StockDetailsVO vo) throws InterruptedException, IOException { + public void exportDetails(HttpServletResponse response, StockDetailsVO vo) throws InterruptedException, IOException { Map stringObjectMap = BeanUtil.beanToMap(vo); QueryWrapper queryWrapper = Condition.getQueryWrapper(stringObjectMap, StockDetailsVO.class); new ReportExcelUtil().export(response, deliveryStockReader, StockDetailsVO.class, queryWrapper, "库存品表"); } + @Override + public IPage inStocks(ReportInStockVO vo, Query query) { + IPage page = Condition.getPage(query); + Map stringObjectMap = BeanUtil.beanToMap(vo); + QueryWrapper queryWrapper = Condition.getQueryWrapper(stringObjectMap, ReportInStockVO.class); + return page.setRecords(reportStockMapeer.getInStocks(page, queryWrapper)); + } + + @Override + public void exportInStocks(HttpServletResponse response, ReportInStockVO vo) throws InterruptedException, IOException { + Map stringObjectMap = BeanUtil.beanToMap(vo); + QueryWrapper queryWrapper = Condition.getQueryWrapper(stringObjectMap, ReportInStockVO.class); + new ReportExcelUtil().export(response, inStocksReader, ReportInStockVO.class, queryWrapper, "库存入库表"); + } + } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportInStockVO.java b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportInStockVO.java new file mode 100644 index 000000000..f9e195198 --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportInStockVO.java @@ -0,0 +1,71 @@ +package com.logpm.report.vo; + +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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 库存入库明细 + * @author zhaoqiaobo + * @create 2024-03-06 16:02 + */ +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +@ApiModel(value = "库存入库明细", description = "库存入库明细") +@Data +public class ReportInStockVO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "仓库") + @ExcelProperty("仓库") + private String warehouseName; + + @ApiModelProperty(value = "商场名称") + @ExcelProperty("商场名称") + private String marketName; + + @ApiModelProperty(value = "类型") + @ExcelProperty("类型") + private String serviceType; + + @ApiModelProperty(value = "物料编码") + @ExcelProperty("物料编码") + private String cargoNumber; + + @ApiModelProperty(value = "物料名称") + @ExcelProperty("物料名称") + private String descriptionGoods; + + @ApiModelProperty(value = "入库时间") + @ExcelProperty("入库时间") + private String warehousingTime; + + @ApiModelProperty(value = "运单号") + @ExcelProperty("运单号") + private String despatch; + + @ApiModelProperty(value = "订单自编码") + @ExcelProperty("订单自编码") + private String orderCode; + + @ApiModelProperty(value = "包条码") + @ExcelProperty("包条码") + private String packageCode; + + @ApiModelProperty(value = "入库数") + @ExcelProperty("入库数") + private String quantityStock; + + @ApiModelProperty(value = "货位信息") + @ExcelProperty("货位信息") + private String allocationTitle; + +}