package com.fzzy.igds.service;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.fzzy.igds.data.IgdsBaseParam;
|
import com.fzzy.igds.domain.Depot;
|
import com.fzzy.igds.domain.DepotStore;
|
import com.fzzy.igds.mapper.DepotMapper;
|
import com.fzzy.igds.mapper.DepotStoreMapper;
|
import com.fzzy.igds.utils.ContextUtil;
|
import com.ruoyi.common.utils.StringUtils;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
import org.springframework.stereotype.Service;
|
import javax.annotation.Resource;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @Description
|
* @Author CZT
|
* @Date 2025/11/27 13:44
|
*/
|
@Slf4j
|
@Service
|
public class DepotStoreService {
|
|
@Resource
|
private DepotStoreMapper depotStoreMapper;
|
@Resource
|
private DepotMapper depotMapper;
|
|
public void listPageData(Page<DepotStore> page, IgdsBaseParam param) {
|
QueryWrapper<DepotStore> queryWrapper = new QueryWrapper<>();
|
|
param.setCompanyId(ContextUtil.getCompanyId());
|
param.setDeptId(ContextUtil.subDeptId(null));
|
queryWrapper.eq("company_id", param.getCompanyId());
|
queryWrapper.eq("dept_id", param.getDeptId());
|
|
if (StringUtils.isNotBlank(param.getName())) {
|
queryWrapper.eq("depot_id", param.getName());
|
}
|
if (null != param.getStart()) {
|
queryWrapper.ge("update_time", param.getStart());
|
}
|
if (null != param.getEnd()) {
|
queryWrapper.le("update_time", param.getEnd());
|
}
|
|
depotStoreMapper.selectPage(page, queryWrapper);
|
}
|
|
/**
|
* 更新保存数据
|
*
|
* @param data
|
*/
|
public void saveDepotStore(DepotStore data) {
|
if (StringUtils.isEmpty(data.getCompanyId())) {
|
data.setCompanyId(ContextUtil.getCompanyId());
|
}
|
if (StringUtils.isEmpty(data.getDeptId())) {
|
data.setDeptId(ContextUtil.subDeptId(null));
|
}
|
if (StringUtils.isEmpty(data.getId())) {
|
data.setId(data.getDepotId() + "_" + DateFormatUtils.format(data.getStoreDate(), "yyyyMMddHHmmss") + "_" + DateFormatUtils.format(data.getUpdateTime(), "yyyyMMddHHmmss"));
|
data.setCreateTime(new Date());
|
data.setRemark("系统生成");
|
data.setUpdateBy(ContextUtil.getLoginUserName());
|
data.setUpdateTime(new Date());
|
depotStoreMapper.insert(data);
|
}else{
|
data.setUpdateBy(ContextUtil.getLoginUserName());
|
data.setUpdateTime(new Date());
|
depotStoreMapper.updateById(data);
|
}
|
}
|
|
/**
|
* 删除数据
|
*
|
* @param data
|
* @return
|
*/
|
public String delDepotStore(DepotStore data) {
|
depotStoreMapper.deleteById(data);
|
return null;
|
}
|
|
/**
|
* 获取仓库最后一条库存数据
|
*
|
* @param depotId
|
* @param time
|
* @return
|
*/
|
public DepotStore getLastData(String depotId, Date time) {
|
|
QueryWrapper<DepotStore> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("depot_id", depotId);
|
queryWrapper.ge("create_time", time);
|
queryWrapper.le("create_time", time);
|
queryWrapper.orderByDesc("create_time");
|
|
List<DepotStore> list = depotStoreMapper.selectList(queryWrapper);
|
|
if (null == list || list.isEmpty()) {
|
return null;
|
}
|
return list.get(0);
|
}
|
|
public void addDepotStore(DepotStore store, boolean updateDepot) {
|
if (null == store.getUpdateTime()) store.setUpdateTime(new Date());
|
if (null == store.getId()) store.setId(ContextUtil.generateId());
|
|
depotStoreMapper.insert(store);
|
|
if (updateDepot) {
|
UpdateWrapper<Depot> updateWrapper = new UpdateWrapper<>();
|
updateWrapper.eq("id", store.getDepotId()).set("storage_real", store.getStorageReal());
|
depotMapper.update(null, updateWrapper);
|
}
|
}
|
|
}
|