|
@@ -29,6 +29,7 @@ import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.time.Duration;
|
|
|
import java.time.Instant;
|
|
|
import java.time.LocalDateTime;
|
|
@@ -62,7 +63,6 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace
|
|
|
IContractPlaceNumberRelHisService contractPlaceNumberRelHisService;
|
|
|
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 分页查询
|
|
|
*/
|
|
@@ -114,9 +114,9 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace
|
|
|
if (CollectionUtil.isEmpty(records) && list.size() == 0) {
|
|
|
ContractPlaceNumberRelVO contractPlaceNumberRelVO = new ContractPlaceNumberRelVO();
|
|
|
contractPlaceNumberRelVO.setContractId(sysUser.getContractId());
|
|
|
- if(list.size() == 0) {
|
|
|
+ if (list.size() == 0) {
|
|
|
contractPlaceNumberRelVO.setAbledNum("1");
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
contractPlaceNumberRelVO.setAbledNum(String.valueOf(list.size()));
|
|
|
}
|
|
|
|
|
@@ -148,11 +148,25 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace
|
|
|
*/
|
|
|
@Override
|
|
|
public ContractPlaceNumberRelForm saveForm(@Valid ContractPlaceNumberRelForm form) {
|
|
|
- // // 获取该用户的协议 赋值协议名称
|
|
|
- // SysUser sysUser = userService.getOne(new LambdaQueryWrapper<SysUser>()
|
|
|
- // .eq(SysUser::getId, SecurityUtils.getUserId())
|
|
|
- // );
|
|
|
- // Contract contract = contractService.getOne(new LambdaQueryWrapper<Contract>().eq(Contract::getId, sysUser.getContractId()));
|
|
|
+ // 获取该用户的协议 赋值协议名称
|
|
|
+ SysUser sysUser = userService.getOne(new LambdaQueryWrapper<SysUser>()
|
|
|
+ .eq(SysUser::getId, SecurityUtils.getUserId())
|
|
|
+ );
|
|
|
+ Contract contract = contractService.getOne(new LambdaQueryWrapper<Contract>().eq(Contract::getId, sysUser.getContractId()));
|
|
|
+ // 日期格式化
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ String formattedStartDate = contract.getStartDate() != null ? sdf.format(contract.getStartDate()) : "无";
|
|
|
+ String formattedEndDate = contract.getEndDate() != null ? sdf.format(contract.getEndDate()) : "无";
|
|
|
+
|
|
|
+ // 2. 校验时间范围
|
|
|
+ Assert.isTrue(form.getStartTime() != null && form.getEndTime() != null, "开始时间和到期时间不能为空");
|
|
|
+ Assert.isTrue(!form.getStartTime().after(form.getEndTime()), "开始时间不能晚于到期时间");
|
|
|
+ Assert.isTrue(contract.getStartDate() == null || !form.getStartTime().before(contract.getStartDate()),
|
|
|
+ "启用时间应在协议生效时间[" + formattedStartDate + "至" + formattedEndDate + "]");
|
|
|
+ Assert.isTrue(contract.getEndDate() == null || !form.getEndTime().after(contract.getEndDate()),
|
|
|
+ "到期时间应在协议生效时间[" + formattedStartDate + "至" + formattedEndDate + "]");
|
|
|
+
|
|
|
+
|
|
|
// form.setContractName(contract.getContractName());
|
|
|
// 实体对象转换 form->entity
|
|
|
ContractPlaceNumberRel entity = converter.form2Entity(form);
|
|
@@ -274,12 +288,12 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace
|
|
|
if (CollectionUtil.isNotEmpty(list)) {
|
|
|
ContractPlaceNumberRel contractPlaceNumberRel = list.get(0);
|
|
|
long between = 0L;
|
|
|
- if(contractPlaceNumberRel.getStartTime().before(barnRecord.getInTime())){
|
|
|
+ if (contractPlaceNumberRel.getStartTime().before(barnRecord.getInTime())) {
|
|
|
between = DateUtil.between(barnRecord.getInTime(), new Date(), DateUnit.MINUTE);
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
between = DateUtil.between(contractPlaceNumberRel.getStartTime(), new Date(), DateUnit.MINUTE);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
HashMap<String, Object> map = new HashMap<>();
|
|
|
|
|
|
// 将 Date 转换为 Instant
|
|
@@ -289,6 +303,7 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace
|
|
|
LocalDateTime endTime = endTimeinstant.atZone(ZoneId.systemDefault()).toLocalDateTime();
|
|
|
map.put("denomination", Double.valueOf(between));
|
|
|
map.put("expireTime", endTime);
|
|
|
+ log.info("包租协议抵扣时长:", between, endTime);
|
|
|
return map;
|
|
|
}
|
|
|
return null;
|