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.domain.InoutStockChange; import com.fzzy.igds.mapper.InoutStockChangeMapper; 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/08 17:48 */ @Slf4j @Service public class InoutStockChangeService { @Resource private InoutStockChangeMapper inoutStockChangeMapper; public void listPageData(Page page, InoutStockChange param) { QueryWrapper 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.getDepotIdIn())){ queryWrapper.eq("depot_id_in", param.getDepotIdIn()); } if(StringUtils.isNotBlank(param.getDepotIdOut())){ queryWrapper.eq("depot_id_out", param.getDepotIdOut()); } if (null != param.getChangeStartDate()) { queryWrapper.ge("change_date", DateUtil.getCurZero(param.getChangeStartDate())); } if (null != param.getChangeEndDate()) { queryWrapper.le("change_date", DateUtil.getNextZero(param.getChangeEndDate())); } inoutStockChangeMapper.selectPage(page, queryWrapper); } /** * 保存数据 * @param data */ public void saveData(InoutStockChange 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(getStrId(data.getDeptId(), data.getChangeDate())); data.setCreateBy(ContextUtil.getLoginUserName()); data.setCreateTime(new Date()); } data.setUpdateBy(ContextUtil.getLoginUserName()); data.setUpdateTime(new Date()); inoutStockChangeMapper.insert(data); } /** * 删除数据 * @param data * @return */ public String delData(InoutStockChange data) { inoutStockChangeMapper.deleteById(data); return null; } /** * 获取主键ID * * @param deptId * @param deptId */ public String getStrId(String deptId, Date time) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("dept_id", deptId); queryWrapper.ge("change_date", DateUtil.getCurZero(time)); queryWrapper.le("change_date", DateUtil.getNextZero(time)); //ID倒序 queryWrapper.orderByDesc("id"); List list = inoutStockChangeMapper.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, 4); } }