采购单新增生成单据编号修改
This commit is contained in:
@@ -96,6 +96,8 @@ public class PurchaseBillDto implements Dto {
|
||||
private String deptSid;
|
||||
@ApiModelProperty("创建部门")
|
||||
private String deptName;
|
||||
@ApiModelProperty("组织编码")
|
||||
private String orgCode;
|
||||
|
||||
@ApiModelProperty("采购单费用/预付款")
|
||||
private PurchaseBillAmountDto purchaseBillAmount;
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
package com.yxt.purchase.biz.purchasebill;
|
||||
|
||||
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.metadata.IPage;
|
||||
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.purchaseflownode.PurchaseFlowNodeDto;
|
||||
import com.yxt.purchase.biz.purchaseflownode.PurchaseFlowNodeService;
|
||||
import com.yxt.purchase.utils.Rule;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -168,6 +170,17 @@ public class PurchaseBillService extends MybatisBaseService<PurchaseBillMapper,
|
||||
List<PurchaseBillDetailDto> purchaseBillDetailList = dto.getPurchaseBillDetailList();
|
||||
List<PurchaseAppendixUrl> purchaseAppendixList = dto.getPurchaseAppendixList();
|
||||
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);
|
||||
//保存采购单费用/预付款
|
||||
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