diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java index ce7869a8..2377580b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java @@ -13,6 +13,7 @@ import com.bonus.material.basic.ProjUsingRecordExports; import com.bonus.material.basic.domain.*; import com.bonus.material.basic.domain.vo.MaTypeSelectInfo; import com.bonus.material.basic.service.ComplexQueryService; +import com.bonus.material.ma.domain.Type; import com.bonus.system.api.domain.SysUser; import com.bonus.system.api.model.LoginUser; import io.swagger.annotations.Api; @@ -533,4 +534,30 @@ public class ComplexQueryController extends BaseController { ExcelUtil util = new ExcelUtil<>(ProjUsingRecordExports.class); util.exportExcel(response, exportList, "总在用工程明细"); } + + /** + * 运维管理---库存操作日志列表 + * @param bean + * @return + */ + @ApiOperation(value = "运维管理---库存操作日志列表") + @GetMapping("/getStorageNumLogList") + public AjaxResult getStorageNumLogList(Type bean) { + startPage(); + List pageList = complexQueryService.getStorageNumLogList(bean); + return AjaxResult.success(getDataTable(pageList)); + } + + /** + * 运维管理---库存操作日志列表--详情 + * @param bean + * @return + */ + @ApiOperation(value = "运维管理---库存操作日志列表--详情") + @GetMapping("/getStorageNumLogDetails") + public AjaxResult getStorageNumLogDetails(Type bean) { + startPage(); + List pageList = complexQueryService.getStorageNumLogDetails(bean); + return AjaxResult.success(getDataTable(pageList)); + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java index d52f502f..6fdbc48a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java @@ -2,6 +2,7 @@ package com.bonus.material.basic.mapper; import com.bonus.material.basic.domain.*; import com.bonus.material.basic.domain.vo.MaTypeSelectInfo; +import com.bonus.material.ma.domain.Type; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -197,4 +198,39 @@ public interface ComplexQueryMapper { * @return */ List getPartPersonNum(RetainedEquipmentInfo bean); + + /** + * 获取库存变化日志 + * @param bean + * @return + */ + List getStorageNumLogList(Type bean); + + /** + * 获取昨日库存数量 + * @param item + * @return + */ + Type getYesterdayStorageNum(Type item); + + /** + * 获取今日库存数量 + * @param item + * @return + */ + Type getNewStorageNum(Type item); + + /** + * 获取库存变化日志详情 + * @param bean + * @return + */ + List getStorageNumLogDetails(Type bean); + + /** + * 获取库存数量 + * @param item + * @return + */ + Type getTotalStorageNumLog(Type item); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/ComplexQueryService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/ComplexQueryService.java index 0335f21a..b1656e7f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/ComplexQueryService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/ComplexQueryService.java @@ -2,6 +2,7 @@ package com.bonus.material.basic.service; import com.bonus.material.basic.domain.*; import com.bonus.material.basic.domain.vo.MaTypeSelectInfo; +import com.bonus.material.ma.domain.Type; import java.util.List; @@ -137,4 +138,18 @@ public interface ComplexQueryService { * @return */ List getPartPersonNum(RetainedEquipmentInfo bean); + + /** + * 库存操作日志列表 + * @param bean + * @return + */ + List getStorageNumLogList(Type bean); + + /** + * 库存操作日志列表详情 + * @param bean + * @return + */ + List getStorageNumLogDetails(Type bean); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java index 6187f32e..d1978fe9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java @@ -9,6 +9,7 @@ import com.bonus.material.basic.domain.*; import com.bonus.material.basic.domain.vo.MaTypeSelectInfo; import com.bonus.material.basic.mapper.ComplexQueryMapper; import com.bonus.material.basic.service.ComplexQueryService; +import com.bonus.material.ma.domain.Type; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -705,4 +706,75 @@ public class ComplexQueryServiceImpl implements ComplexQueryService { bean.setUserId(userId); return complexQueryMapper.getPartPersonNum(bean); } + + @Override + public List getStorageNumLogList(Type bean) { + try { + List list = complexQueryMapper.getStorageNumLogList(bean); + for (Type item : list){ + /* 根据开始、结束时间,查询昨日库存、当日库存 + * 昨日库存是开始时间之前的库存,当前库存是结束时间的库存 + * 昨日库存逻辑梳理: + * 1、正常情况:查询开始日期之前日志表最后的库存 + * 2、如果开始日期之前表里没数据,查询开始日期之后该类型的第一条数据的开始库存 + * 3、如果开始之前和结束日期之后都没有此类型,则使用当前库存 + * 当前库存逻辑梳理: + * 1、正常情况:查询结束日期的库存 + * 2、如果结束日期没有数据,查询结束日期后,该类型的第一条数据的开始库存 + * 3、如果开始日期和结束日期都没有此类型,则使用当前库存 + */ + item.setStartTime(bean.getStartTime()); + item.setEndTime(bean.getEndTime()); + if (bean.getStartTime() != null && bean.getEndTime() != null){ + //昨日库存 + Type yesterdayStorageNum = complexQueryMapper.getYesterdayStorageNum(item); + if (yesterdayStorageNum != null){ + if (yesterdayStorageNum.getAfterStoreNum()!=null){ + item.setPreStoreNum(yesterdayStorageNum.getAfterStoreNum()); + } else { + item.setPreStoreNum(yesterdayStorageNum.getPreStoreNum()); + } + } else { + item.setPreStoreNum(item.getStorageNum()); + } + //当前库存 + Type storageNum = complexQueryMapper.getNewStorageNum(item); + if (storageNum != null){ + if (storageNum.getAfterStoreNum()!=null){ + item.setAfterStoreNum(storageNum.getAfterStoreNum()); + } else { + item.setAfterStoreNum(storageNum.getPreStoreNum()); + } + } else { + item.setAfterStoreNum(item.getStorageNum()); + } + } else { + //没有时间,查总的。昨日库存为第一条数据的改前库存,当前库存为最后一条数据的改后库存 + Type totalStorageNum = complexQueryMapper.getTotalStorageNumLog(item); + if (totalStorageNum != null){ + item.setPreStoreNum(totalStorageNum.getPreStoreNum()); + item.setAfterStoreNum(totalStorageNum.getAfterStoreNum()); + } else { + //为空的,则使用当前库存 + item.setPreStoreNum(item.getStorageNum()); + item.setAfterStoreNum(item.getStorageNum()); + } + } + } + return list; + } catch (Exception e) { + e.printStackTrace(); + return new ArrayList<>(); + } + } + + @Override + public List getStorageNumLogDetails(Type bean) { + try { + return complexQueryMapper.getStorageNumLogDetails(bean); + } catch (Exception e) { + e.printStackTrace(); + return new ArrayList<>(); + } + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Type.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Type.java index c7c73c77..36652036 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Type.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Type.java @@ -271,4 +271,29 @@ public class Type extends BaseEntity { @ApiModelProperty(value = "出库数量") private BigDecimal outNum; + + @ApiModelProperty(value = "设备第一级名称") + private String constructionType; + + @ApiModelProperty(value = "设备第二级名称") + private String materialType; + + @ApiModelProperty(value = "设备第四级名称") + private String typeModelName; + + @ApiModelProperty(value="开始时间") + private String startTime; + + @ApiModelProperty(value="结束时间") + private String endTime; + + @ApiModelProperty(value="修改后库存") + private BigDecimal afterStoreNum; + + @ApiModelProperty(value="昵称") + private String nickName; + + @ApiModelProperty(value="机具编码") + private String maCode; + } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml index 467f583e..89b5799c 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml @@ -1543,4 +1543,203 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + +