应收账单创建时间修改

This commit is contained in:
赵辉
2026-02-05 10:48:33 +08:00
parent 7f6d04e122
commit 37dd75622a
8 changed files with 205 additions and 1 deletions
@@ -299,6 +299,16 @@ public class ReconciliationApplicationService {
}
});
LoginUser loginUser = SecurityUtils.getLoginUser();
// 如果前端传递了创建时间,则使用该时间;否则使用当前时间
Date specifiedCreateTime = reconciliationDO.getCreateTime();
if (specifiedCreateTime != null) {
reconciliationDO.setCreateTime(specifiedCreateTime);
} else {
// 没有指定创建时间时,使用当前时间
reconciliationDO.setCreateTime(new Date());
}
reconciliationDO = reconciliationDomainService.insert(reconciliationDO);
if(reconciliationDO==null){
throw new ServiceException("订单出账-生成应收账单失败!");
@@ -771,4 +781,14 @@ public class ReconciliationApplicationService {
{
return reconciliationDomainService.editIsInvoice(innerNumber,isInvoice,invoiceId,invoiceMakeTime,applyNumber);
}
/**
* 根据订单ID列表查询RECONCILIATION_ORDER_DETAIL表中这些订单创建最早的日期
*
* @param orderIds 订单ID列表
* @return 最早创建日期
*/
public Date getEarliestCreateTimeByOrderIdList(List<String> orderIds) {
return reconciliationDomainService.getEarliestCreateTimeByOrderIdList(orderIds);
}
}
@@ -29,4 +29,9 @@ public interface ReconciliationMapper extends BaseMapper<Reconciliation>
Boolean delReconciliationByInnerNumber(@Param("innerNumber") String innerNumber);
Boolean delReconciliationDetailByInnerNumber(@Param("reconciliationId") Long reconciliationId);
/**
* 插入对账单并使用传入的createTime值
*/
void insertWithCreateTime(Reconciliation reconciliation);
}
@@ -129,7 +129,8 @@ public class ReconciliationImpl extends ServiceImpl<ReconciliationMapper, Reconc
public ReconciliationDO insert(ReconciliationDO reconciliationDO) {
Reconciliation reconciliation = new Reconciliation();
BeanUtils.copyProperties(reconciliationDO,reconciliation);
this.save(reconciliation);
// 使用自定义插入方法,确保传入的createTime被使用
reconciliationMapper.insertWithCreateTime(reconciliation);
reconciliationDO.setReconciliationId(reconciliation.getReconciliationId());
return reconciliationDO;
}
@@ -30,6 +30,11 @@ import java.util.List;
public class ReconciliationDO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty("对账单表id")
private Long reconciliationId;
@@ -172,5 +172,26 @@ public class ReconciliationDomainService {
return reconciliationService.editIsInvoice(innerNumber,isInvoice,invoiceId,invoiceMakeTime,applyNumber);
}
/**
* 根据订单ID列表查询RECONCILIATION_ORDER_DETAIL表中这些订单创建最早的日期
*
* @param orderIds 订单ID列表
* @return 最早创建日期
*/
public Date getEarliestCreateTimeByOrderIdList(List<String> orderIds) {
if (orderIds == null || orderIds.isEmpty()) {
return null;
}
LambdaQueryWrapper<ReconciliationOrderDetail> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(ReconciliationOrderDetail::getTmsOrderId, orderIds);
queryWrapper.eq(ReconciliationOrderDetail::getDelFlag, 1);
queryWrapper.orderByAsc(ReconciliationOrderDetail::getCreateTime);
List<ReconciliationOrderDetail> list = reconciliationOrderDetailService.list(queryWrapper);
if (list != null && !list.isEmpty()) {
return list.get(0).getCreateTime();
}
return null;
}
}
@@ -310,4 +310,18 @@ public class ReconciliationApi extends BaseController{
}
/**
* 根据订单ID列表查询RECONCILIATION_ORDER_DETAIL表中这些订单创建最早的日期
*
* @param orderIds 订单ID列表
* @return 最早创建日期
*/
@ApiOperation("根据订单ID列表查询RECONCILIATION_ORDER_DETAIL表中这些订单创建最早的日期")
@PostMapping("/getEarliestCreateTimeByOrderIds")
public AjaxResult getEarliestCreateTimeByOrderIds(@RequestBody List<String> orderIds)
{
Date earliestDate = reconciliationApplicationService.getEarliestCreateTimeByOrderIdList(orderIds);
return AjaxResult.success(earliestDate);
}
}