package com.fzzy.igds.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.fzzy.igds.constant.Constant; import com.fzzy.igds.data.BaseResp; import com.fzzy.igds.data.IgdsBaseParam; import com.fzzy.igds.domain.InoutNoticeIn; import com.fzzy.igds.domain.PledgeContract; import com.fzzy.igds.mapper.PledgeContractMapper; 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.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; @Slf4j @Service public class PledgeContractService { @Resource private PledgeContractMapper pledgeContractMapper; public List listAll(IgdsBaseParam param) { if (null == param) param = new IgdsBaseParam(); if (StringUtils.isEmpty(param.getCompanyId())) { param.setCompanyId(ContextUtil.getCompanyId()); } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("company_id", param.getCompanyId()); if (StringUtils.isNotEmpty(param.getName())) { queryWrapper.like("name", param.getName()); } if (StringUtils.isNotEmpty(param.getBankId())) { queryWrapper.eq("pledge_bank", param.getBankId()); } if (StringUtils.isNotEmpty(param.getDeptId())) { queryWrapper.eq("pledge_dept", param.getDeptId()); } //根据仓库ID匹配 if (StringUtils.isNotEmpty(param.getDepotId())) { queryWrapper.like("depot_ids", param.getDepotId()); } queryWrapper.orderByDesc("update_time"); return pledgeContractMapper.selectList(queryWrapper); } /** * 根据条件查询 * @param id * @return */ public PledgeContract getOne(String id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("id", id); return pledgeContractMapper.selectOne(queryWrapper); } /** * 根据仓库ID获取质押信息 * @param param 参数 * @return 质押信息 */ public PledgeContract getByDepotId(IgdsBaseParam param) { if (null == param) return null; List list = listAll(param); if (null == list || list.isEmpty()) return null; return list.get(0); } public BaseResp addData(PledgeContract pledgeContract) { if (StringUtils.isEmpty(pledgeContract.getId())) { pledgeContract.setId(ContextUtil.generateOrderId("PC")); } pledgeContract.setCompanyId(ContextUtil.getCompanyId()); pledgeContract.setUpdateBy(ContextUtil.getLoginUserName()); pledgeContract.setUpdateTime(new Date()); pledgeContract.setCreateBy(ContextUtil.getLoginUserName()); pledgeContract.setCreateTime(new Date()); return pledgeContractMapper.insert(pledgeContract) > 0 ? BaseResp.success() : BaseResp.error("添加失败"); } public BaseResp updateData(PledgeContract pledgeContract) { pledgeContract.setUpdateBy(ContextUtil.getLoginUserName()); pledgeContract.setUpdateTime(new Date()); return pledgeContractMapper.updateById(pledgeContract) > 0 ? BaseResp.success() : BaseResp.error("更新失败"); } public BaseResp deleteData(PledgeContract pledgeContract) { return pledgeContractMapper.deleteById(pledgeContract) > 0 ? BaseResp.success() : BaseResp.error("删除失败"); } /** * 获取质押有效期内的合同信息 * @param curTime * @return */ public List getContractByPledge(Date curTime) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("company_id", ContextUtil.getCompanyId()); //未解押 queryWrapper.like("status", Constant.YN_N); //质押期间 queryWrapper.le("pledge_start", curTime); queryWrapper.ge("pledge_end", curTime); queryWrapper.orderByDesc("update_time"); return pledgeContractMapper.selectList(queryWrapper); } }