package com.fzzy.igds.service;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.fzzy.igds.data.IgdsBaseParam;
|
import com.fzzy.igds.domain.InoutLossOver;
|
import com.fzzy.igds.mapper.InoutLossOverMapper;
|
import com.fzzy.igds.utils.ContextUtil;
|
import com.fzzy.igds.utils.DateUtil;
|
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/12/19 09:05
|
*/
|
@Slf4j
|
@Service
|
public class InoutLossOverService {
|
|
@Resource
|
private InoutLossOverMapper inoutLossOverMapper;
|
|
/**
|
* 列表分页查询
|
* @param page
|
* @param param
|
*/
|
public void pageData(Page<InoutLossOver> page, IgdsBaseParam param) {
|
QueryWrapper<InoutLossOver> 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.getDepotId())){
|
queryWrapper.like("depot_id", param.getDepotId());
|
}
|
if(null != param.getStart()){
|
queryWrapper.ge("loss_time", DateUtil.getCurZero(param.getStart()));
|
}
|
if(null != param.getEnd()){
|
queryWrapper.le("loss_time", DateUtil.getNextZero(param.getEnd()));
|
}
|
|
inoutLossOverMapper.selectPage(page, queryWrapper);
|
}
|
|
/**
|
* 查询库区下所有信息
|
* @return
|
*/
|
public List<InoutLossOver> listData(String companyId, String deptId) {
|
|
QueryWrapper<InoutLossOver> queryWrapper = new QueryWrapper<>();
|
|
if(StringUtils.isNotBlank(companyId)){
|
queryWrapper.eq("company_id", companyId);
|
}
|
if(StringUtils.isNotBlank(deptId)){
|
queryWrapper.eq("dept_id", deptId);
|
}
|
queryWrapper.orderByDesc("id");
|
|
return inoutLossOverMapper.selectList(queryWrapper);
|
}
|
|
/**
|
* 保存数据
|
* @param data
|
*/
|
public void saveData(InoutLossOver data) {
|
if (StringUtils.isEmpty(data.getCompanyId())) {
|
data.setCompanyId(ContextUtil.getCompanyId());
|
}
|
if (StringUtils.isEmpty(data.getDeptId())) {
|
data.setDeptId(ContextUtil.subDeptId(null));
|
}
|
data.setUpdateBy(ContextUtil.getLoginUserName());
|
data.setUpdateTime(new Date());
|
if(StringUtils.isEmpty(data.getId())){
|
data.setId(getStrId(data.getLossTime()));
|
data.setCreateBy(ContextUtil.getLoginUserName());
|
data.setCreateTime(new Date());
|
inoutLossOverMapper.insert(data);
|
}else {
|
inoutLossOverMapper.updateById(data);
|
}
|
}
|
|
/**
|
* 获取主键ID
|
*
|
* @param time
|
*/
|
public String getStrId(Date time) {
|
|
QueryWrapper<InoutLossOver> queryWrapper = new QueryWrapper<>();
|
queryWrapper.ge("loss_time", DateUtil.getCurZero(time));
|
queryWrapper.le("loss_time", DateUtil.getNextZero(time));
|
queryWrapper.orderByDesc("id");
|
|
List<InoutLossOver> list = inoutLossOverMapper.selectList(queryWrapper);
|
String oldOrderId = null;
|
if (null != list && list.size() > 0) {
|
oldOrderId = list.get(0).getId().substring(8);
|
}
|
return DateFormatUtils.format(time, "yyyyMMdd") + ContextUtil.getOrderId(oldOrderId, 3);
|
}
|
|
/**
|
* 删除数据
|
* @param data
|
* @return
|
*/
|
public String delData(InoutLossOver data) {
|
inoutLossOverMapper.deleteById(data);
|
return null;
|
}
|
}
|