| | |
| | | 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.repository.DepotRepository; |
| | | import com.fzzy.igds.repository.DepotStoreRepository; |
| | | import com.fzzy.igds.mapper.DepotMapper; |
| | | import com.fzzy.igds.mapper.DepotStoreMapper; |
| | | 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.data.domain.Page; |
| | | import org.springframework.data.domain.Pageable; |
| | | import org.springframework.data.jpa.domain.Specification; |
| | | import org.springframework.stereotype.Service; |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | |
| | | public class DepotStoreService { |
| | | |
| | | @Resource |
| | | private DepotStoreRepository depotStoreRepository; |
| | | private DepotStoreMapper depotStoreMapper; |
| | | @Resource |
| | | private DepotRepository depotRepository; |
| | | private DepotMapper depotMapper; |
| | | |
| | | /** |
| | | * JPA分页查询数据 |
| | | * |
| | | * @param specification |
| | | * @param pageable |
| | | * @return |
| | | */ |
| | | public Page<DepotStore> findAll(Specification<DepotStore> specification, Pageable pageable) { |
| | | return depotStoreRepository.findAll(specification, pageable); |
| | | 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", DateUtil.getCurZero(param.getStart())); |
| | | } |
| | | if (null != param.getEnd()) { |
| | | queryWrapper.le("update_time", DateUtil.getNextZero(param.getEnd())); |
| | | } |
| | | |
| | | depotStoreMapper.selectPage(page, queryWrapper); |
| | | } |
| | | |
| | | /** |
| | | * JPA更新保存数据 |
| | | * 更新保存数据 |
| | | * |
| | | * @param data |
| | | */ |
| | |
| | | if (StringUtils.isEmpty(data.getDeptId())) { |
| | | data.setDeptId(ContextUtil.subDeptId(null)); |
| | | } |
| | | data.setUpdateBy(ContextUtil.getLoginUserName()); |
| | | data.setUpdateTime(new Date()); |
| | | |
| | | data.setId(data.getDepotId() + "_" + DateFormatUtils.format(data.getStoreDate(), "yyyyMMddHHmmss") + "_" + DateFormatUtils.format(data.getUpdateTime(), "yyyyMMddHHmmss")); |
| | | data.setCreateTime(new Date()); |
| | | data.setRemark("系统生成"); |
| | | |
| | | depotStoreRepository.save(data); |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * JPA删除数据 |
| | | * 删除数据 |
| | | * |
| | | * @param data |
| | | * @return |
| | | */ |
| | | public String delDepotStore(DepotStore data) { |
| | | depotStoreRepository.delete(data); |
| | | depotStoreMapper.deleteById(data); |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * JPA获取仓库最后一条库存数据 |
| | | * 获取仓库最后一条库存数据 |
| | | * |
| | | * @param depotId |
| | | * @param time |
| | | * @return |
| | | */ |
| | | public DepotStore getLastData(String depotId, Date time) { |
| | | List<DepotStore> list = depotStoreRepository.getDataByDepotId(depotId, 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; |
| | | } |
| | |
| | | if (null == store.getUpdateTime()) store.setUpdateTime(new Date()); |
| | | if (null == store.getId()) store.setId(ContextUtil.generateId()); |
| | | |
| | | depotStoreRepository.save(store); |
| | | depotStoreMapper.insert(store); |
| | | |
| | | if (updateDepot) { |
| | | depotRepository.updateDepotStorage(store.getStorageReal(), store.getDepotId()); |
| | | UpdateWrapper<Depot> updateWrapper = new UpdateWrapper<>(); |
| | | updateWrapper.eq("id", store.getDepotId()).set("storage_real", store.getStorageReal()); |
| | | depotMapper.update(null, updateWrapper); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |