czt
9 天以前 db67639449287bcec461916a7dca6003ee5dd03c
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java
@@ -1,22 +1,19 @@
package com.fzzy.igds.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.data.NoticeDto;
import com.fzzy.igds.data.NoticeParam;
import com.fzzy.igds.mapper.InoutNoticeMapper;
import com.fzzy.igds.repository.InoutNoticeInRepository;
import com.fzzy.igds.repository.InoutNoticeOutRepository;
import com.fzzy.igds.mapper.InoutNoticeInMapper;
import com.fzzy.igds.mapper.InoutNoticeOutMapper;
import com.fzzy.igds.domain.InoutNoticeIn;
import com.fzzy.igds.domain.InoutNoticeOut;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
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 com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@@ -31,35 +28,76 @@
public class InoutNoticeService {
    @Resource
    private InoutNoticeInRepository noticeInRepository;
    private InoutNoticeInMapper noticeInMapper;
    @Resource
    private InoutNoticeOutRepository noticeOutRepository;
    @Resource
    private InoutNoticeMapper noticeMapper;
    private InoutNoticeOutMapper noticeOutMapper;
    /*----------------------入库通知单信息-------------------------*/
    /**
     * JPA分页查询数据
     *
     * @param specification
     * @param pageable
     * @return
     * 分页查询数据
     * @param page
     * @param param
     */
    public Page<InoutNoticeIn> queryAllNoticeIn(Specification<InoutNoticeIn> specification, Pageable pageable) {
        return noticeInRepository.findAll(specification, pageable);
    public void pageQueryIn(Page<InoutNoticeIn> page, NoticeParam param) {
        QueryWrapper<InoutNoticeIn> queryWrapper = new QueryWrapper<>();
        if(null == param) {
            param = new NoticeParam();
        }
        param.setCompanyId(ContextUtil.getCompanyId());
        queryWrapper.eq("company_id", param.getCompanyId());
        if(StringUtils.isNotBlank(param.getCustomerName())){
            queryWrapper.like("customer_name", param.getCustomerName());
        }
        if(StringUtils.isNotBlank(param.getFoodVariety())){
            queryWrapper.like("food_variety", param.getFoodVariety());
        }
        if(StringUtils.isNotBlank(param.getCompleteStatus())){
            queryWrapper.like("complete_status", param.getCompleteStatus());
        }
        noticeInMapper.selectPage(page, queryWrapper);
    }
    /**
     * JPA查询数据
     * @param companyId
     * @param deptId
     * 根据条件查询
     * @return
     */
    public List<InoutNoticeIn> listNoticeIn(String companyId, String deptId) {
        return noticeInRepository.listNoticeIn(companyId, deptId, Constant.COMPLETE_STATUS_NONE);
    public List<InoutNoticeIn> getNoticeIn(NoticeParam param) {
        QueryWrapper<InoutNoticeIn> queryWrapper = new QueryWrapper<>();
        if(StringUtils.isNotBlank(param.getCompanyId())){
            queryWrapper.eq("company_id", param.getCompanyId());
        }
        if(StringUtils.isNotBlank(param.getDeptId())){
            queryWrapper.eq("dept_id", param.getDeptId());
        }
        if(StringUtils.isNotBlank(param.getCompleteStatus())){
            queryWrapper.eq("complete_status", param.getCompleteStatus());
        }
        if(StringUtils.isNotBlank(param.getKey())){
            queryWrapper.like("name", param.getKey());
        }
        queryWrapper.orderByDesc("create_time");
        return noticeInMapper.selectList(queryWrapper);
    }
    /**
     * jpa 获取信息
     * 根据条件查询
     * @param id
     * @return
     */
    public InoutNoticeIn getNoticeInOne(String id) {
        QueryWrapper<InoutNoticeIn> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("id", id);
        return noticeInMapper.selectOne(queryWrapper);
    }
    /**
     *  查询数据
     * @param companyId
     * @return
     */
@@ -67,58 +105,108 @@
        if (StringUtils.isEmpty(companyId)) {
            companyId = ContextUtil.getCompanyId();
        }
        return noticeInRepository.listNoticeIn(companyId, Constant.COMPLETE_STATUS_NONE);
        NoticeParam param = new NoticeParam();
        param.setCompanyId(companyId);
        param.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
        return this.getNoticeIn(param);
    }
    /**
     * JPA - 保存更新数据
     *  - 保存更新数据
     *
     * @param data
     * @return
     */
    public String saveOrUpdateIn(InoutNoticeIn data) {
        if (Constant.YN_Y.equals(data.getTag())) {
        if (null == data.getUpdateBy()) {
            data.setUpdateBy(ContextUtil.getLoginUserName());
            data.setUpdateTime(new Date());
            data.setCreateBy(ContextUtil.getLoginUserName());
            data.setCreateTime(new Date());
            data.setAuditStatus(Constant.COMPLETE_STATUS_NONE);
            data.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
            noticeInMapper.insert(data);
        } else {
            data.setUpdateBy(ContextUtil.getLoginUserName());
            data.setUpdateTime(new Date());
            noticeInMapper.updateById(data);
        }
        data.setUpdateBy(ContextUtil.getLoginUserName());
        data.setUpdateTime(new Date());
        noticeInRepository.save(data);
        return null;
    }
    /**
     * JPA - 删除数据
     *  - 删除数据
     *
     * @param data
     * @return
     */
    public String delDataIn(InoutNoticeIn data) {
        noticeInRepository.delete(data);
        noticeInMapper.deleteById(data);
        return null;
    }
    /*----------------------出库通知单信息-------------------------*/
    /**
     * JPA分页查询数据
     *
     * @param specification
     * @param pageable
     * @return
     * 分页查询数据
     * @param page
     * @param param
     */
    public Page<InoutNoticeOut> queryAllNoticeOut(Specification<InoutNoticeOut> specification, Pageable pageable) {
        return noticeOutRepository.findAll(specification, pageable);
    public void pageQueryOut(Page<InoutNoticeOut> page, NoticeParam param) {
        QueryWrapper<InoutNoticeOut> queryWrapper = new QueryWrapper<>();
        if(null == param) {
            param = new NoticeParam();
        }
        param.setCompanyId(ContextUtil.getCompanyId());
        queryWrapper.eq("company_id", param.getCompanyId());
        if(StringUtils.isNotBlank(param.getCustomerName())){
            queryWrapper.like("customer_name", param.getCustomerName());
        }
        if(StringUtils.isNotBlank(param.getFoodVariety())){
            queryWrapper.like("food_variety", param.getFoodVariety());
        }
        if(StringUtils.isNotBlank(param.getCompleteStatus())){
            queryWrapper.like("complete_status", param.getCompleteStatus());
        }
        noticeOutMapper.selectPage(page, queryWrapper);
    }
    /**
     * JPA查询数据
     * @param companyId
     * @param deptId
     * 根据条件查询
     * @return
     */
    public List<InoutNoticeOut> listNoticeOut(String companyId, String deptId) {
        return noticeOutRepository.listNoticeOut(companyId, deptId, Constant.COMPLETE_STATUS_NONE);
    public List<InoutNoticeOut> getNoticeOut(NoticeParam param) {
        QueryWrapper<InoutNoticeOut> queryWrapper = new QueryWrapper<>();
        if(StringUtils.isNotBlank(param.getCompanyId())){
            queryWrapper.eq("company_id", param.getCompanyId());
        }
        if(StringUtils.isNotBlank(param.getDeptId())){
            queryWrapper.eq("dept_id", param.getDeptId());
        }
        if(StringUtils.isNotBlank(param.getCompleteStatus())){
            queryWrapper.eq("complete_status", param.getCompleteStatus());
        }
        if(StringUtils.isNotBlank(param.getKey())){
            queryWrapper.like("name", param.getKey());
        }
        queryWrapper.orderByDesc("create_time");
        return noticeOutMapper.selectList(queryWrapper);
    }
    /**
     * 根据条件查询
     * @param id
     * @return
     */
    public InoutNoticeOut getNoticeOutOne(String id) {
        QueryWrapper<InoutNoticeOut> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("id", id);
        return noticeOutMapper.selectOne(queryWrapper);
    }
    /**
@@ -130,41 +218,48 @@
        if (StringUtils.isEmpty(companyId)) {
            companyId = ContextUtil.getCompanyId();
        }
        return noticeOutRepository.listNoticeOut(companyId, Constant.COMPLETE_STATUS_NONE);
        NoticeParam param = new NoticeParam();
        param.setCompanyId(companyId);
        param.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
        return this.getNoticeOut(param);
    }
    /**
     * JPA - 保存更新数据
     *  - 保存更新数据
     *
     * @param data
     * @return
     */
    public String saveOrUpdateOut(InoutNoticeOut data) {
        if (Constant.YN_Y.equals(data.getTag())) {
        if (null == data.getUpdateBy()) {
            data.setUpdateBy(ContextUtil.getLoginUserName());
            data.setUpdateTime(new Date());
            data.setCreateBy(ContextUtil.getLoginUserName());
            data.setCreateTime(new Date());
            data.setAuditStatus(Constant.COMPLETE_STATUS_NONE);
            data.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
            noticeOutMapper.insert(data);
        } else {
            data.setUpdateBy(ContextUtil.getLoginUserName());
            data.setUpdateTime(new Date());
            noticeOutMapper.updateById(data);
        }
        data.setUpdateBy(ContextUtil.getLoginUserName());
        data.setUpdateTime(new Date());
        noticeOutRepository.save(data);
        return null;
    }
    /**
     * JPA - 删除数据
     * 删除数据
     *
     * @param data
     * @return
     */
    public String delDataOut(InoutNoticeOut data) {
        noticeOutRepository.delete(data);
        noticeOutMapper.deleteById(data);
        return null;
    }
    /**
     * JPA - 根据ID获取通知单信息
     * 根据ID获取通知单信息
     * @param id
     * @param type
     * @return
@@ -175,10 +270,10 @@
        }
        NoticeDto noticeDto = new NoticeDto();
        if (Constant.TYPE_IN.equals(type)) {
            InoutNoticeIn noticeIn = noticeInRepository.getDataById(ContextUtil.getCompanyId(), ContextUtil.subDeptId(null), id);
            InoutNoticeIn noticeIn = this.getNoticeInOne(id);
            BeanUtils.copyProperties(noticeIn, noticeDto);
        } else {
            InoutNoticeOut noticeOut = noticeOutRepository.getDataById(ContextUtil.getCompanyId(), ContextUtil.subDeptId(null), id);
            InoutNoticeOut noticeOut = this.getNoticeOutOne(id);
            BeanUtils.copyProperties(noticeOut, noticeDto);
        }
        return noticeDto;
@@ -217,6 +312,7 @@
     * @return
     */
    public String reSumNoticeInComplete(NoticeParam param) {
        //TODO 待实现,后续根据需求进行实现
        if (StringUtils.isEmpty(param.getCustomerName())) {
            return "客户编码为空!";
        }
@@ -229,7 +325,6 @@
        if (StringUtils.isEmpty(param.getDeptId())) {
            param.setDeptId(ContextUtil.subDeptId(null));
        }
        noticeMapper.reSumNoticeInComplete(param);
        return null;
    }
@@ -249,7 +344,7 @@
        for (InoutNoticeOut noticeOut : noticeOutList) {
            param = new NoticeParam(noticeOut.getCompanyId(), noticeOut.getDeptId(), noticeOut.getDepotId(),
                    noticeOut.getCustomerId(), noticeOut.getFoodVariety(), noticeOut.getId());
                    noticeOut.getCustomerName(), noticeOut.getFoodVariety(), noticeOut.getId());
            log.info("开始更新出库通知单={}", param.toString());
@@ -266,6 +361,7 @@
     * @return
     */
    public String reSumNoticeOutComplete(NoticeParam param) {
        //TODO 待实现,后续根据需求进行实现
        if (StringUtils.isEmpty(param.getCustomerName())) {
            return "客户编码为空!";
        }
@@ -281,7 +377,6 @@
        if (StringUtils.isEmpty(param.getDeptId())) {
            param.setDeptId(ContextUtil.subDeptId(null));
        }
        noticeMapper.reSumNoticeOutComplete(param);
        return null;
    }