采购单新增生成单据编号修改
This commit is contained in:
@@ -96,6 +96,8 @@ public class PurchaseBillDto implements Dto {
|
|||||||
private String deptSid;
|
private String deptSid;
|
||||||
@ApiModelProperty("创建部门")
|
@ApiModelProperty("创建部门")
|
||||||
private String deptName;
|
private String deptName;
|
||||||
|
@ApiModelProperty("组织编码")
|
||||||
|
private String orgCode;
|
||||||
|
|
||||||
@ApiModelProperty("采购单费用/预付款")
|
@ApiModelProperty("采购单费用/预付款")
|
||||||
private PurchaseBillAmountDto purchaseBillAmount;
|
private PurchaseBillAmountDto purchaseBillAmount;
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
package com.yxt.purchase.biz.purchasebill;
|
package com.yxt.purchase.biz.purchasebill;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||||
@@ -49,6 +50,7 @@ import com.yxt.purchase.biz.purchasebillextend.PurchaseBillExtendDto;
|
|||||||
import com.yxt.purchase.biz.purchasebillextend.PurchaseBillExtendService;
|
import com.yxt.purchase.biz.purchasebillextend.PurchaseBillExtendService;
|
||||||
import com.yxt.purchase.biz.purchaseflownode.PurchaseFlowNodeDto;
|
import com.yxt.purchase.biz.purchaseflownode.PurchaseFlowNodeDto;
|
||||||
import com.yxt.purchase.biz.purchaseflownode.PurchaseFlowNodeService;
|
import com.yxt.purchase.biz.purchaseflownode.PurchaseFlowNodeService;
|
||||||
|
import com.yxt.purchase.utils.Rule;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -168,6 +170,17 @@ public class PurchaseBillService extends MybatisBaseService<PurchaseBillMapper,
|
|||||||
List<PurchaseBillDetailDto> purchaseBillDetailList = dto.getPurchaseBillDetailList();
|
List<PurchaseBillDetailDto> purchaseBillDetailList = dto.getPurchaseBillDetailList();
|
||||||
List<PurchaseAppendixUrl> purchaseAppendixList = dto.getPurchaseAppendixList();
|
List<PurchaseAppendixUrl> purchaseAppendixList = dto.getPurchaseAppendixList();
|
||||||
if (StringUtils.isBlank(dtoSid)) {
|
if (StringUtils.isBlank(dtoSid)) {
|
||||||
|
//生成单据编号
|
||||||
|
String billNo = "";
|
||||||
|
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
|
||||||
|
billNo = "CGD" + dto.getOrgCode() + date;
|
||||||
|
String i = baseMapper.selectNum(billNo);
|
||||||
|
if (StringUtils.isNotBlank(i)) {
|
||||||
|
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
|
||||||
|
} else {
|
||||||
|
billNo = Rule.getBillNo(billNo, 0);
|
||||||
|
}
|
||||||
|
dto.setBillNo(billNo);
|
||||||
String sid = this.insertByDto(dto);
|
String sid = this.insertByDto(dto);
|
||||||
//保存采购单费用/预付款
|
//保存采购单费用/预付款
|
||||||
purchaseBillAmount.setBillSid(sid);
|
purchaseBillAmount.setBillSid(sid);
|
||||||
|
|||||||
45
src/main/java/com/yxt/purchase/utils/Rule.java
Normal file
45
src/main/java/com/yxt/purchase/utils/Rule.java
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
package com.yxt.purchase.utils;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.yxt.purchase.utils.domain.BillNo;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author dimengzhe
|
||||||
|
* @Date 2022/7/1 9:44
|
||||||
|
* @Description 规则
|
||||||
|
*/
|
||||||
|
public class Rule {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单据编号规则:单据名称大写首字母+分公司编码+年份+月份+4位顺序号
|
||||||
|
* 单据名称大写首字母+分公司编码+年份+月份
|
||||||
|
* 注意:品牌编码暂不用
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getBill(BillNo b) {
|
||||||
|
String billType = b.getBillType();
|
||||||
|
String orgCode = b.getOrgCode();
|
||||||
|
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
|
||||||
|
String bill = billType;
|
||||||
|
if (!StringUtils.isEmpty(orgCode)) {
|
||||||
|
bill = bill + orgCode;
|
||||||
|
}
|
||||||
|
bill = bill + date;
|
||||||
|
return bill;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成单据编号规则
|
||||||
|
*
|
||||||
|
* @param bill 单据名称大写首字母+分公司编码+年份+月份
|
||||||
|
* @param i 根据单据编号包含单据名称大写首字母+分公司编码+年份+月份查询出来的单据的个数
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getBillNo(String bill, int i) {
|
||||||
|
String num = String.format("%04d", i + 1); // 不足4位补0
|
||||||
|
String billNo = bill + num;
|
||||||
|
return billNo;
|
||||||
|
}
|
||||||
|
}
|
||||||
24
src/main/java/com/yxt/purchase/utils/domain/BillNo.java
Normal file
24
src/main/java/com/yxt/purchase/utils/domain/BillNo.java
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
package com.yxt.purchase.utils.domain;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author dimengzhe
|
||||||
|
* @Date 2022/7/1 9:46
|
||||||
|
* @Description
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class BillNo implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1598887042562656350L;
|
||||||
|
|
||||||
|
// @ApiModelProperty(value = "品牌编码")
|
||||||
|
// private String brandCode;
|
||||||
|
@ApiModelProperty(value = "单据名称首字母")
|
||||||
|
private String billType;
|
||||||
|
@ApiModelProperty(value = "分公司编码")
|
||||||
|
private String orgCode;
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user