|  | @@ -0,0 +1,138 @@
 | 
	
		
			
				|  |  | +package com.ruoyi.warehouseBusiness.service.impl;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import com.ruoyi.common.utils.StringUtils;
 | 
	
		
			
				|  |  | +import com.ruoyi.warehouseBusiness.domain.BillnoDel;
 | 
	
		
			
				|  |  | +import com.ruoyi.warehouseBusiness.domain.BillnoSerial;
 | 
	
		
			
				|  |  | +import com.ruoyi.warehouseBusiness.mapper.BillnoDelMapper;
 | 
	
		
			
				|  |  | +import com.ruoyi.warehouseBusiness.mapper.BillnoSerialMapper;
 | 
	
		
			
				|  |  | +import com.ruoyi.warehouseBusiness.service.IBillnoSerialService;
 | 
	
		
			
				|  |  | +import org.apache.commons.lang3.time.DateFormatUtils;
 | 
	
		
			
				|  |  | +import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | +import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import java.util.Date;
 | 
	
		
			
				|  |  | +import java.util.List;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * 客户存货编号流水号Service业务层处理
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * @author ruoyi
 | 
	
		
			
				|  |  | + * @date 2020-12-23
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +@Service
 | 
	
		
			
				|  |  | +public class BillnoSerialServiceImpl implements IBillnoSerialService {
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private BillnoDelMapper billnoDelMapper;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private BillnoSerialMapper billnoSerialMapper;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public String getBillNo(String billType, Date time) {
 | 
	
		
			
				|  |  | +        String billNo = null;
 | 
	
		
			
				|  |  | +        BillnoDel billnoDel = new BillnoDel();
 | 
	
		
			
				|  |  | +        billnoDel.setBillType(billType);
 | 
	
		
			
				|  |  | +        List<BillnoDel> billnoDels = billnoDelMapper.selectBillnoDelList(billnoDel);
 | 
	
		
			
				|  |  | +        // 如果有数据在删除列表
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotEmpty(billnoDels)) {
 | 
	
		
			
				|  |  | +            billnoDelMapper.deleteBillnoDelById(billnoDels.get(0).getId());
 | 
	
		
			
				|  |  | +            billNo = billnoDels.get(0).getBillNo();
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            String yyyyMM = DateFormatUtils.format(time, "yyyyMM");
 | 
	
		
			
				|  |  | +            BillnoSerial billnoSerial = new BillnoSerial();
 | 
	
		
			
				|  |  | +            billnoSerial.setBillType(billType);
 | 
	
		
			
				|  |  | +            billnoSerial.setBillPrefix(yyyyMM);
 | 
	
		
			
				|  |  | +            BillnoSerial billnoSerials = billnoSerialMapper.selectBillnoSerial(billnoSerial);
 | 
	
		
			
				|  |  | +            if (StringUtils.isNotNull(billnoSerials)) {
 | 
	
		
			
				|  |  | +                if (billnoSerials.getSerial() <= 9) {
 | 
	
		
			
				|  |  | +                    billNo = "00" + billnoSerials.getSerial();
 | 
	
		
			
				|  |  | +                } else if (billnoSerials.getSerial() <= 99) {
 | 
	
		
			
				|  |  | +                    billNo = "0" + billnoSerials.getSerial();
 | 
	
		
			
				|  |  | +                } else if (billnoSerials.getSerial() <= 999) {
 | 
	
		
			
				|  |  | +                    billNo = "" + billnoSerials.getSerial();
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                billnoSerials.setSerial(billnoSerials.getSerial() + 1);
 | 
	
		
			
				|  |  | +                billnoSerialMapper.updateBillnoSerial(billnoSerials);
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                billNo = yyyyMM + "001";
 | 
	
		
			
				|  |  | +                billnoSerial.setSerial(1);
 | 
	
		
			
				|  |  | +                billnoSerialMapper.insertBillnoSerial(billnoSerials);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if ("SJRK".equals(billType)) {
 | 
	
		
			
				|  |  | +            billNo = "RK" + billNo;
 | 
	
		
			
				|  |  | +        } else if ("SJCK".equals(billType)) {
 | 
	
		
			
				|  |  | +            billNo = "CK" + billNo;
 | 
	
		
			
				|  |  | +        } else if ("CKDB".equals(billType)) {
 | 
	
		
			
				|  |  | +            billNo = "DB" + billNo;
 | 
	
		
			
				|  |  | +        } else if ("HQZY".equals(billType)) {
 | 
	
		
			
				|  |  | +            billNo = "HZ" + billNo;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return billNo;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 查询客户存货编号流水号
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param id 客户存货编号流水号ID
 | 
	
		
			
				|  |  | +     * @return 客户存货编号流水号
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public BillnoSerial selectBillnoSerialById(Long id) {
 | 
	
		
			
				|  |  | +        return billnoSerialMapper.selectBillnoSerialById(id);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 查询客户存货编号流水号列表
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param billnoSerial 客户存货编号流水号
 | 
	
		
			
				|  |  | +     * @return 客户存货编号流水号
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public List<BillnoSerial> selectBillnoSerialList(BillnoSerial billnoSerial) {
 | 
	
		
			
				|  |  | +        return billnoSerialMapper.selectBillnoSerialList(billnoSerial);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 新增客户存货编号流水号
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param billnoSerial 客户存货编号流水号
 | 
	
		
			
				|  |  | +     * @return 结果
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public int insertBillnoSerial(BillnoSerial billnoSerial) {
 | 
	
		
			
				|  |  | +        return billnoSerialMapper.insertBillnoSerial(billnoSerial);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 修改客户存货编号流水号
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param billnoSerial 客户存货编号流水号
 | 
	
		
			
				|  |  | +     * @return 结果
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public int updateBillnoSerial(BillnoSerial billnoSerial) {
 | 
	
		
			
				|  |  | +        return billnoSerialMapper.updateBillnoSerial(billnoSerial);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 批量删除客户存货编号流水号
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param ids 需要删除的客户存货编号流水号ID
 | 
	
		
			
				|  |  | +     * @return 结果
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public int deleteBillnoSerialByIds(Long[] ids) {
 | 
	
		
			
				|  |  | +        return billnoSerialMapper.deleteBillnoSerialByIds(ids);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 删除客户存货编号流水号信息
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param id 客户存货编号流水号ID
 | 
	
		
			
				|  |  | +     * @return 结果
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public int deleteBillnoSerialById(Long id) {
 | 
	
		
			
				|  |  | +        return billnoSerialMapper.deleteBillnoSerialById(id);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 |