|
|
|
|
@ -3,19 +3,16 @@ package com.zhehekeji.web.service;
|
|
|
|
|
import com.alibaba.excel.EasyExcel;
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
|
import com.zhehekeji.core.util.Assert;
|
|
|
|
|
import com.zhehekeji.web.entity.Stock;
|
|
|
|
|
import com.zhehekeji.web.entity.StockLog;
|
|
|
|
|
import com.zhehekeji.web.entity.CheckLog;
|
|
|
|
|
import com.zhehekeji.web.entity.Street;
|
|
|
|
|
import com.zhehekeji.web.mapper.StockLogMapper;
|
|
|
|
|
import com.zhehekeji.web.mapper.CheckLogMapper;
|
|
|
|
|
import com.zhehekeji.web.mapper.StockMapper;
|
|
|
|
|
import com.zhehekeji.web.pojo.category.PageSearch;
|
|
|
|
|
import com.zhehekeji.web.pojo.stock.*;
|
|
|
|
|
import com.zhehekeji.web.pojo.street.StreetType;
|
|
|
|
|
import io.swagger.models.auth.In;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@ -24,7 +21,6 @@ import org.springframework.util.StringUtils;
|
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@ -38,7 +34,7 @@ public class StockService {
|
|
|
|
|
@Resource
|
|
|
|
|
private StreetService streetService;
|
|
|
|
|
@Resource
|
|
|
|
|
private StockLogMapper logMapper;
|
|
|
|
|
private CheckLogMapper logMapper;
|
|
|
|
|
|
|
|
|
|
public void importExcel(MultipartFile file) {
|
|
|
|
|
log.info("import excel stock");
|
|
|
|
|
@ -298,12 +294,29 @@ public class StockService {
|
|
|
|
|
Stock stock = stockInfo(stockCheck);
|
|
|
|
|
Assert.isTrue(stock != null && stock.getId() != null, "该货位暂时没有记录");
|
|
|
|
|
Integer oldStatus = stock.getStatus();
|
|
|
|
|
stock.setStatus(StockStatus.SUCCESS.getStatus());
|
|
|
|
|
if(StockStatus.SUCCESS.getStatus().equals(oldStatus)){
|
|
|
|
|
return stock;
|
|
|
|
|
}
|
|
|
|
|
stock.setStatus(StockStatus.MANUAL.getStatus());
|
|
|
|
|
stockMapper.updateById(stock);
|
|
|
|
|
checkLog(stock, oldStatus, null, null);
|
|
|
|
|
checkLog(stock);
|
|
|
|
|
return stock;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
private CheckLogMapper checkLogMapper;
|
|
|
|
|
|
|
|
|
|
private void checkLog(Stock stock){
|
|
|
|
|
CheckLog checkLog = new CheckLog();
|
|
|
|
|
checkLog.setCheckNum(stock.getCheckNum());
|
|
|
|
|
checkLog.setPic(stock.getCheckPic());
|
|
|
|
|
checkLog.setShelveId(stock.getShelveId());
|
|
|
|
|
checkLog.setStatus(stock.getStatus());
|
|
|
|
|
checkLog.setCode(stock.getCode());
|
|
|
|
|
checkLog.setCreateTime(LocalDateTime.now());
|
|
|
|
|
checkLogMapper.insert(checkLog);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 人工核对
|
|
|
|
|
*
|
|
|
|
|
@ -322,41 +335,11 @@ public class StockService {
|
|
|
|
|
stock.setCategory(checkByMan.getCategory());
|
|
|
|
|
stock.setCount(checkByMan.getCount());
|
|
|
|
|
stockMapper.updateById(stock);
|
|
|
|
|
checkLog(stock, oldStatus, oldCategory, count);
|
|
|
|
|
checkLog(stock);
|
|
|
|
|
return stock;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 核对历史记录
|
|
|
|
|
*
|
|
|
|
|
* @param stock
|
|
|
|
|
* @param oldStatus
|
|
|
|
|
* @param oldCategory
|
|
|
|
|
* @param oldCount
|
|
|
|
|
*/
|
|
|
|
|
private void checkLog(Stock stock, Integer oldStatus, String oldCategory, Integer oldCount) {
|
|
|
|
|
StockLog stockLog = new StockLog();
|
|
|
|
|
BeanUtils.copyProperties(stock, stockLog);
|
|
|
|
|
Map<String, Object> map = new HashMap<>(8);
|
|
|
|
|
if (oldStatus != null) {
|
|
|
|
|
map.put("old_status", oldStatus);
|
|
|
|
|
}
|
|
|
|
|
if (!StringUtils.isEmpty(oldCategory)) {
|
|
|
|
|
map.put("old_category", oldCategory);
|
|
|
|
|
}
|
|
|
|
|
if (oldCount != null) {
|
|
|
|
|
map.put("old_count", oldCount);
|
|
|
|
|
}
|
|
|
|
|
map.put("new_status", stock.getStatus());
|
|
|
|
|
map.put("new_category", stock.getCategory());
|
|
|
|
|
map.put("new_count", stock.getCount());
|
|
|
|
|
stockLog.setContent(JSONObject.toJSONString(map));
|
|
|
|
|
stockLog.setCreateTime(LocalDateTime.now());
|
|
|
|
|
stockLog.setUserId(1);
|
|
|
|
|
stockLog.setUsername("wong");
|
|
|
|
|
// todo username
|
|
|
|
|
logMapper.insert(stockLog);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|