凭证模板日期

This commit is contained in:
jinbooks_dev
2025-06-17 16:00:49 +08:00
parent 5e28eb62d9
commit 6d0d396cf9
5 changed files with 42 additions and 5 deletions

View File

@ -80,6 +80,9 @@
<el-form-item label="名称" prop="name" :required="true">
<el-input style="width: 300px" v-model="form.name" placeholder="请输入名称"/>
</el-form-item>
<el-form-item label="日期" prop="voucherDate" :required="true">
<el-input-number style="width: 300px" v-model="form.voucherDate" placeholder="请输入日期0是月末" :min="1" :max="31"/>
</el-form-item>
<el-form-item label="分类" prop="category" :required="true">
<el-select v-model="form.category" placeholder="选择" style="width: 300px">
<el-option label="期末" value="1"></el-option>

View File

@ -77,6 +77,11 @@ public class VoucherTemplate extends BaseEntity implements Serializable {
@JsonFormat(shape = JsonFormat.Shape.STRING)
Integer voucherType;
/**
* 默认凭证日期为月份的第几天0为月末
*/
Integer voucherDate;
/**
* 字头:“记”、“收”、“付”、“转”等
*/

View File

@ -324,7 +324,6 @@ public class EmployeeSalaryServiceImpl extends ServiceImpl<EmployeeSalaryMapper,
String currentTerm = configSysService.getCurrentTerm(bookId);
Date monthEndDate = configSysService.getCurrentTermLastDate(bookId);
int year = Integer.parseInt(currentTerm.split("-")[0]);
int month = Integer.parseInt(currentTerm.split("-")[1]);
@ -337,6 +336,20 @@ public class EmployeeSalaryServiceImpl extends ServiceImpl<EmployeeSalaryMapper,
if(voucherTemplate == null) {
return Message.failed("凭证模板["+tplCode+"]未设置!");
}
Date voucherDate = null;
if(voucherTemplate.getVoucherDate().equals(0)) {
voucherDate = configSysService.getCurrentTermLastDate(bookId);
}else if(0 < voucherTemplate.getVoucherDate() && voucherTemplate.getVoucherDate()< 31 ){
String voucherDateString = "";
if(voucherTemplate.getVoucherDate() < 10) {
voucherDateString = currentTerm+"-0"+voucherTemplate.getVoucherDate();
}else {
voucherDateString = currentTerm+"-"+voucherTemplate.getVoucherDate();
}
voucherDate = DateUtils.parse(voucherDateString, DateUtils.FORMAT_DATE_YYYY_MM_DD);
}
logger.debug("voucherTemplate {}", voucherTemplate);
LambdaQueryWrapper<VoucherTemplateItem> itemLqw = Wrappers.lambdaQuery();
itemLqw.eq(VoucherTemplateItem::getRelatedId, voucherTemplate.getRelatedId());
@ -385,7 +398,7 @@ public class EmployeeSalaryServiceImpl extends ServiceImpl<EmployeeSalaryMapper,
Employee employee = employeeMapper.selectById(salary.getEmployeeId());
VoucherChangeDto voucherChangeDto = createVoucherChangeDto(book, bookId, monthEndDate, year, month, debitAmount);
VoucherChangeDto voucherChangeDto = createVoucherChangeDto(book, bookId, voucherDate, year, month, debitAmount);
voucherChangeDto.setRemark(voucherTemplate.getRemark().replace("{yyyy}", year + "").replace("{mm}", month + "").replace("{name}", employee.getDisplayName()));
voucherChangeDto.setItems(voucherItems);
voucherChangeDto.setStatus(VoucherStatusEnum.DRAFT.getValue());

View File

@ -45,6 +45,7 @@ import com.jinbooks.persistence.mapper.SettlementMapper;
import com.jinbooks.persistence.mapper.VoucherTemplateItemMapper;
import com.jinbooks.persistence.mapper.VoucherTemplateMapper;
import com.jinbooks.persistence.service.*;
import com.jinbooks.util.DateUtils;
import lombok.extern.slf4j.Slf4j;
@ -120,11 +121,23 @@ public class SettlementCarryServiceImpl extends ServiceImpl<SettlementMapper, Se
BigDecimal debitAmount = BigDecimal.ZERO;
BigDecimal creditAmount = BigDecimal.ZERO;
Date monthEndDate = configSysService.getCurrentTermLastDate(bookId);
Date voucherDate = null;
if(voucherTemplate.getVoucherDate().equals(0)) {
voucherDate = configSysService.getCurrentTermLastDate(bookId);
}else if(0 < voucherTemplate.getVoucherDate() && voucherTemplate.getVoucherDate()< 31 ){
String voucherDateString = "";
if(voucherTemplate.getVoucherDate() < 10) {
voucherDateString = currentTerm+"-0"+voucherTemplate.getVoucherDate();
}else {
voucherDateString = currentTerm+"-"+voucherTemplate.getVoucherDate();
}
voucherDate =DateUtils.parse(voucherDateString, DateUtils.FORMAT_DATE_YYYY_MM_DD);
}
int year = Integer.parseInt(currentTerm.split("-")[0]);
int month = Integer.parseInt(currentTerm.split("-")[1]);
VoucherChangeDto voucherChangeDto = createVoucherChangeDto(book, bookId, voucherTemplate.getWordHead(), monthEndDate, year, month, debitAmount);
VoucherChangeDto voucherChangeDto = createVoucherChangeDto(book, bookId, voucherTemplate.getWordHead(), voucherDate, year, month, debitAmount);
voucherChangeDto.setRemark(voucherTemplate.getRemark().replace("{yyyy}", year + "").replace("{mm}", month + ""));
List<VoucherItemChangeDto> voucherItems = new ArrayList<>();

View File

@ -13,4 +13,7 @@ DROP COLUMN `salary_voucher_id`,
DROP COLUMN `accrual_voucher_id`;
DROP TABLE `jinbooks`.`jbx_employee_salary_voucher_rule_template`, `jinbooks`.`jbx_employee_salary_voucher_rule`;
DROP TABLE `jinbooks`.`jbx_employee_salary_voucher_rule_template`, `jinbooks`.`jbx_employee_salary_voucher_rule`;
ALTER TABLE `jinbooks`.`jbx_voucher_template`
ADD COLUMN `voucher_date` SMALLINT NULL DEFAULT 0 COMMENT '默认凭证日期为月份的第几天0为月末' AFTER `voucher_type`;