瀏覽代碼

盘存

master
yangpeilai 1 月之前
父節點
當前提交
5165776449

+ 2
- 2
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/invw/InvwObuDetailsRepo.java 查看文件

@@ -53,7 +53,7 @@ public interface InvwObuDetailsRepo extends AbstractJpaRepo<InvwObuDetails, Stri

//根据仓库编号和入库时间查询库存
@Query(nativeQuery = true,
value = "SELECT STORE_CODE, AGENCY_ID, BRAND, VERSION, COUNT(CARD_ID) " +
value = "SELECT STORE_CODE, AGENCY_ID, BRAND, VERSION, COUNT(OBU_ID) " +
"FROM INVW_OBU_DETAILS " +
"WHERE STORE_CODE = ?1 AND STATUS = 'NEW' " +
"AND INSERT_TIME <= TO_DATE(?2 , 'yyyy-mm-dd hh24:mi:ss') " +
@@ -61,7 +61,7 @@ public interface InvwObuDetailsRepo extends AbstractJpaRepo<InvwObuDetails, Stri
public List<Object[]> countByStoreCodeAndTime(String storeCode, String endTime);

@Query(nativeQuery = true,
value = "SELECT STORE_CODE, AGENCY_ID, BRAND, VERSION, COUNT(CARD_ID) " +
value = "SELECT STORE_CODE, AGENCY_ID, BRAND, VERSION, COUNT(OBU_ID) " +
"FROM INVW_OBU_DETAILS " +
"WHERE STORE_CODE = ?1 AND STATUS = 'NEW' " +
"AND INSERT_TIME > TO_DATE(?2 , 'yyyy-mm-dd hh24:mi:ss') AND INSERT_TIME <= TO_DATE(?3 , 'yyyy-mm-dd hh24:mi:ss') " +

+ 13
- 0
zhywpt-app-invw/src/main/java/cn/com/taiji/invw/dto/stocktaking/InvwStocktakingInfoDetailResponseDTO.java 查看文件

@@ -7,6 +7,7 @@ import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;
import java.util.List;

@ApiModel(description = "盘存详情响应")
@@ -14,6 +15,18 @@ import java.util.List;
@Setter
@Accessors(chain = true)
public class InvwStocktakingInfoDetailResponseDTO {
@ApiModelProperty(value = "仓库名称")
private String name;//仓库名称
@ApiModelProperty(value = "仓库编号")
private String storeCode;
@ApiModelProperty(value = "盘存开始时间/初期时间")
private LocalDateTime startTime;//盘存开始时间
@ApiModelProperty(value = "盘存结束时间/盘存时间")
private LocalDateTime endTime;//盘存结束时间
@ApiModelProperty(value = "盘存类型 0-系统自动盘存 1-手动盘存")
private Integer type;//类型0-系统自动盘存 1-手动盘存
@ApiModelProperty(value = "操作人")
private String openId;//操作人
@ApiModelProperty(value = "盘存详情")
List<InvwStocktakingInfoDetailModel> details;
}

+ 39
- 20
zhywpt-app-invw/src/main/java/cn/com/taiji/invw/manager/stocktaking/InvwStocktakingInfoManagerImpl.java 查看文件

@@ -11,9 +11,11 @@ import cn.com.taiji.core.entity.dict.log.OperateType;
import cn.com.taiji.core.entity.invw.InvwStocktakingInfo;
import cn.com.taiji.core.entity.invw.InvwStocktakingResult;
import cn.com.taiji.core.entity.invw.InvwWarehouse;
import cn.com.taiji.core.entity.user.AccountInfo;
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil;
import cn.com.taiji.core.manager.tools.minio.MinioUtil;
import cn.com.taiji.core.repo.jpa.invw.*;
import cn.com.taiji.core.repo.jpa.user.AccountInfoRepo;
import cn.com.taiji.core.repo.request.invw.InvwStocktakingInfoPageRequest;
import cn.com.taiji.invw.dto.stocktaking.*;
import cn.com.taiji.invw.manager.AbstractInvwManager;
@@ -61,6 +63,8 @@ public class InvwStocktakingInfoManagerImpl extends AbstractInvwManager implemen
private InvwTransferApplyRepo transferApplyRepo;
@Autowired
private InvwRebackApplyRepo rebackApplyRepo;
@Autowired
private AccountInfoRepo accountInfoRepo;

private static final DateTimeFormatter DF = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

@@ -173,7 +177,7 @@ public class InvwStocktakingInfoManagerImpl extends AbstractInvwManager implemen
List<InvwStocktakingInfoModel> stockInfoModels = insertStocktakingInfo(stockModels, startTime, req);
// 执行盘库
doStocktaking(stockInfoModels, storeCodes);
persistOperateLog(OperateType.STOCKTAKING_INFO, null, req.getOrderSource(), findOpenIdByToken(req.getAccessToken()), "库存盘存");
persistOperateLog(OperateType.STOCKTAKING_INFO, "-1", req.getOrderSource(), findOpenIdByToken(req.getAccessToken()), "库存盘存");
}

@Override
@@ -196,17 +200,28 @@ public class InvwStocktakingInfoManagerImpl extends AbstractInvwManager implemen
List<InvwStocktakingResult> results = stocktakingResultRepo.findByMainId(req.getId());
List<InvwStocktakingInfoDetailModel> details = new ArrayList<>();

// 公共属性
response.setStartTime(stocktakingInfo.getStartTime());
response.setEndTime(stocktakingInfo.getEndTime());
response.setType(stocktakingInfo.getType());
response.setOpenId(stocktakingInfo.getOpenId());
if(hasText(stocktakingInfo.getOpenId())) {
AccountInfo accountInfo = accountInfoRepo.findByOpenId(stocktakingInfo.getOpenId());
if(accountInfo != null){
response.setOpenId(accountInfo.getUserName());
}else {
response.setOpenId("未知");
}
}else {
response.setOpenId("系统自动运行");
}
response.setStoreCode(warehouse.getCode());
response.setName(warehouse.getName());

// 列表
for (InvwStocktakingResult result : results) {
InvwStocktakingInfoDetailModel model = new InvwStocktakingInfoDetailModel();
BeanUtils.copyProperties(result, model);

// 公共属性
model.setStartTime(stocktakingInfo.getStartTime());
model.setEndTime(stocktakingInfo.getEndTime());
model.setType(stocktakingInfo.getType());
model.setOpenId(stocktakingInfo.getOpenId());
model.setName(warehouse.getName());

details.add(model);
}
response.setDetails(details);
@@ -227,6 +242,7 @@ public class InvwStocktakingInfoManagerImpl extends AbstractInvwManager implemen
// 插入盘存信息
public List<InvwStocktakingInfoModel> insertStocktakingInfo(List<InvwStocktakingInfoStockModel> stockModels, LocalDateTime startTime, InvwStocktakingInfoStockRequestDTO req) throws ManagerException {
List<InvwStocktakingInfo> stocktakingInfos = new ArrayList<>();
String openId = findOpenIdByToken(req.getAccessToken());
for (InvwStocktakingInfoStockModel stockModel : stockModels) {
stockModel.valid();
InvwStocktakingInfo stocktakingInfo = new InvwStocktakingInfo();
@@ -235,7 +251,7 @@ public class InvwStocktakingInfoManagerImpl extends AbstractInvwManager implemen
stocktakingInfo.setStartTime(startTime);
stocktakingInfo.setCreateTime(startTime);
stocktakingInfo.setType(1);
stocktakingInfo.setOpenId(findOpenIdByToken(req.getAccessToken()));
stocktakingInfo.setOpenId(openId);
// stocktakingInfo.setOpenId("1");
stocktakingInfos.add(stocktakingInfo);
}
@@ -260,8 +276,8 @@ public class InvwStocktakingInfoManagerImpl extends AbstractInvwManager implemen
} catch (Exception e) {
logger.error("在storeCodes {}盘存过程中发生错误", storeCodes, e);
}
// });
});
});
// });
logger.info("盘存结束");
}

@@ -282,7 +298,7 @@ public class InvwStocktakingInfoManagerImpl extends AbstractInvwManager implemen
List<InvwStocktakingResultModel> incomeStat = getInStat(storeCode, lastDoneTime, info.getStartTime(), mainId);
//出库 (调拨出库、回收出库)
List<InvwStocktakingResultModel> outStat = getOutStat(storeCode, lastDoneTime, info.getStartTime(), mainId);
//实际用掉
//现在在库
List<InvwStocktakingResultModel> realityStat = getRealityStat(storeCode, lastDoneTime, info.getStartTime(), mainId);
//结存
List<InvwStocktakingResultModel> balanceStat = mergeResultList(bopStat, incomeStat, outStat, realityStat);
@@ -389,13 +405,13 @@ public class InvwStocktakingInfoManagerImpl extends AbstractInvwManager implemen
inMap.setVersion(model.getVersion());

//期初
if (NumberUtil.add(inMap.getInitCount(), model.getInitCount()) != null) {
inMap.setInitCount(NumberUtil.add(inMap.getInitCount(), model.getInitCount()).intValue());
}
//入库
// if (NumberUtil.add(inMap.getEnterCount(), model.getEnterCount()) != null) {
// inMap.setEnterCount(NumberUtil.add(inMap.getEnterCount(), model.getEnterCount()).intValue());
// if (NumberUtil.add(inMap.getInitCount(), model.getInitCount()) != null) {
// inMap.setInitCount(NumberUtil.add(inMap.getInitCount(), model.getInitCount()).intValue());
// }
//入库
if (NumberUtil.add(inMap.getEnterCount(), model.getEnterCount()) != null) {
inMap.setEnterCount(NumberUtil.add(inMap.getEnterCount(), model.getEnterCount()).intValue());
}
//出库
// if (NumberUtil.add(inMap.getTransferCount(), model.getTransferCount()) != null) {
// inMap.setTransferCount(NumberUtil.add(inMap.getTransferCount(), model.getTransferCount()).intValue());
@@ -491,7 +507,7 @@ public class InvwStocktakingInfoManagerImpl extends AbstractInvwManager implemen

private List<InvwStocktakingResultModel> getRealityStat(String storeCode, LocalDateTime lastDoneTime, LocalDateTime startTime, String mainId) {
List<InvwStocktakingResultModel> result = new ArrayList<>();
//查询卡签实际在库库存
//查询卡签实际在库库存
List<Object[]> cardDetails = null;
List<Object[]> obuDetails = null;
// if (lastDoneTime == null) {
@@ -620,6 +636,9 @@ public class InvwStocktakingInfoManagerImpl extends AbstractInvwManager implemen
//求和该仓库
vo.setInitCount(results.stream().mapToInt(InvwStocktakingResult::getInitCount).sum());
vo.setBalanceCount(results.stream().mapToInt(InvwStocktakingResult::getBalanceCount).sum());
}else {
vo.setInitCount(0);
vo.setBalanceCount(0);
}
vo.setStartTime(stocktakingInfo.getStartTime());
vo.setEndTime(stocktakingInfo.getEndTime());

+ 0
- 9
zhywpt-app-invw/src/main/java/cn/com/taiji/invw/model/stocktaking/InvwStocktakingInfoDetailModel.java 查看文件

@@ -14,15 +14,6 @@ import java.time.LocalDateTime;
@Accessors(chain = true)
public class InvwStocktakingInfoDetailModel {

@ApiModelProperty(value = "盘存开始时间/初期时间")
private LocalDateTime startTime;//盘存开始时间
@ApiModelProperty(value = "盘存结束时间/盘存时间")
private LocalDateTime endTime;//盘存结束时间
@ApiModelProperty(value = "盘存类型 0-系统自动盘存 1-手动盘存")
private Integer type;//类型0-系统自动盘存 1-手动盘存
@ApiModelProperty(value = "操作人")
private String openId;//操作人

@ApiModelProperty(value = "盘存明细ID")
private String id;
@ApiModelProperty(value = "仓库编号")

Loading…
取消
儲存