Commit a47d4a9c authored by wei's avatar wei 🎱

ExtIncomeContractOldVO

parent 4ffca5b5
package com.yonde.dcs.plan.common.vo;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;
import java.time.LocalDateTime;
import java.util.ArrayList;
import cn.hutool.core.convert.Convert;
import com.yonde.dex.basedata.entity.annotation.XmlElementProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import lombok.ToString;
import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.math.BigInteger;
import org.springframework.data.annotation.Transient;
import lombok.experimental.Delegate;
import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.XmlAttribute;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.yonde.dex.basedata.entity.xmladapters.LocalDateTimeXmlAdapter;
import lombok.Data;
import com.yonde.dex.basedata.entity.annotation.*;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import com.yonde.dex.basedata.entity.vo.IdOnlyVO;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference;
import com.yonde.dex.basedata.entity.data.VersionRelationType;
import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOHolder;
import com.yonde.dex.basedata.entity.vo.DxIdVOEmbeddable;
import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOEmbeddable;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractVO;
import com.yonde.dex.basedata.entity.vo.IdVO;
import com.yonde.dex.context.plugin.common.entity.DxContextVOEmbeddable;
import com.yonde.dex.context.plugin.common.entity.DxContextVOHolder;
import com.yonde.dex.basedata.entity.users.DxUserVO;
/**
* @description: ExtContractExpenses-VO
......@@ -92,7 +69,7 @@ public class ExtContractExpensesVO extends IdOnlyVO implements IdVO ,DxContextVO
*/
@ReferenceProperty(baseProperty = "extIncomeContractId")
@VersionProperty(curVersion = VersionRelationType.NONE, refVersion = VersionRelationType.NONE)
private ExtIncomeContractVO extIncomeContract;
private ExtIncomeContractOldVO extIncomeContract;
/**
* 收入合同
......
package com.yonde.dcs.plan.common.vo;
import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.time.LocalDateTime;
import java.util.ArrayList;
import cn.hutool.core.convert.Convert;
import com.yonde.dex.basedata.entity.annotation.XmlElementProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import lombok.ToString;
import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.math.BigInteger;
import org.springframework.data.annotation.Transient;
import lombok.experimental.Delegate;
import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.XmlAttribute;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.yonde.dex.basedata.entity.xmladapters.LocalDateTimeXmlAdapter;
import lombok.Data;
import com.yonde.dex.basedata.entity.annotation.*;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import com.yonde.dex.basedata.entity.vo.IdOnlyVO;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference;
import com.yonde.dex.basedata.entity.data.VersionRelationType;
import com.yonde.dex.basedata.entity.vo.DxIdVOEmbeddable;
import com.yonde.dex.basedata.entity.vo.IdVO;
import com.yonde.dex.secretcode.plugin.common.entity.DxSecretVOHolder;
import com.yonde.dex.secretcode.plugin.common.entity.DxSecretVOEmbeddable;
import com.yonde.dex.linkdata.plugin.common.DxLinkDataVOHolder;
import com.yonde.dex.linkdata.plugin.common.DxLinkDataVOEmbeddable;
import com.yonde.dex.basedata.entity.users.DxUserVO;
/**
* @description: ExtContractLink-VO
......@@ -48,7 +24,7 @@ import com.yonde.dex.basedata.entity.users.DxUserVO;
@EqualsAndHashCode(callSuper = true)
@Data
@ToString(callSuper = true)
public class ExtContractLinkVO extends IdOnlyVO implements IdVO ,DxLinkDataVOHolder<ExtIncomeContractVO, ExtSpendingContractVO> ,DxSecretVOHolder{
public class ExtContractLinkVO extends IdOnlyVO implements IdVO ,DxLinkDataVOHolder<ExtIncomeContractOldVO, ExtSpendingContractVO> ,DxSecretVOHolder{
public static final String DX_ID_EMBEDDABLE_PROP_NAME = "dxIdEmbeddable";
public static final String DX_SECRET_EMBEDDABLE_PROP_NAME = "dxSecretEmbeddable";
......@@ -73,7 +49,7 @@ public class ExtContractLinkVO extends IdOnlyVO implements IdVO ,DxLinkDataVOHol
*/
@DexEmbedded()
@JsonIgnore
private DxLinkDataVOEmbeddable<ExtIncomeContractVO, ExtSpendingContractVO> dxLinkDataEmbeddable;
private DxLinkDataVOEmbeddable<ExtIncomeContractOldVO, ExtSpendingContractVO> dxLinkDataEmbeddable;
}
......
package com.yonde.dcs.plan.common.vo;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;
import java.time.LocalDateTime;
import java.util.ArrayList;
import cn.hutool.core.convert.Convert;
import com.yonde.dex.basedata.entity.annotation.XmlElementProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import lombok.ToString;
import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.math.BigInteger;
import org.springframework.data.annotation.Transient;
import lombok.experimental.Delegate;
import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.XmlAttribute;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.yonde.dex.basedata.entity.xmladapters.LocalDateTimeXmlAdapter;
import lombok.Data;
import com.yonde.dex.basedata.entity.annotation.*;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import com.yonde.dex.basedata.entity.vo.IdOnlyVO;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference;
import com.yonde.dex.basedata.entity.data.VersionRelationType;
import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOHolder;
import com.yonde.dex.basedata.entity.vo.DxIdVOEmbeddable;
import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOEmbeddable;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractVO;
import com.yonde.dex.basedata.entity.vo.IdVO;
import com.yonde.dex.secretcode.plugin.common.entity.DxSecretVOHolder;
import com.yonde.dex.secretcode.plugin.common.entity.DxSecretVOEmbeddable;
import com.yonde.dex.context.plugin.common.entity.DxContextVOEmbeddable;
import com.yonde.dex.context.plugin.common.entity.DxContextVOHolder;
import com.yonde.dex.basedata.entity.users.DxUserVO;
/**
* @description: ExtExpectPayDetails-VO
......@@ -102,7 +79,7 @@ public class ExtExpectPayDetailsVO extends IdOnlyVO implements IdVO ,DxContextVO
*/
@ReferenceProperty(baseProperty = "extIncomeContractId")
@VersionProperty(curVersion = VersionRelationType.NONE, refVersion = VersionRelationType.NONE)
private ExtIncomeContractVO extIncomeContract;
private ExtIncomeContractOldVO extIncomeContract;
/**
* 收入合同
......
package com.yonde.dcs.plan.common.vo;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;
import java.time.LocalDateTime;
import java.util.ArrayList;
import cn.hutool.core.convert.Convert;
import com.yonde.dex.basedata.entity.annotation.XmlElementProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import lombok.ToString;
import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.math.BigInteger;
import org.springframework.data.annotation.Transient;
import lombok.experimental.Delegate;
import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.XmlAttribute;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.yonde.dex.basedata.entity.xmladapters.LocalDateTimeXmlAdapter;
import lombok.Data;
import com.yonde.dex.basedata.entity.annotation.*;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import com.yonde.dex.basedata.entity.vo.IdOnlyVO;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference;
import com.yonde.dex.basedata.entity.data.VersionRelationType;
import com.yonde.dcs.plan.common.vo.ExtContractExpensesVO;
import com.yonde.dex.basedata.entity.vo.DxIdVOEmbeddable;
import com.yonde.dex.secretcode.plugin.common.entity.DxSecretVOHolder;
import com.yonde.dex.context.plugin.common.entity.DxContextVOEmbeddable;
import com.yonde.dex.context.plugin.common.entity.DxContextVOHolder;
import com.yonde.dex.basedata.entity.users.DxUserVO;
import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOHolder;
import com.yonde.dcs.plan.common.vo.ExtExpectPayDetailsVO;
import com.yonde.dcs.plan.common.vo.ExtContractLinkVO;
import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOEmbeddable;
import com.yonde.dex.basedata.entity.vo.IdVO;
import com.yonde.dex.secretcode.plugin.common.entity.DxSecretVOEmbeddable;
import com.yonde.dcs.plan.common.vo.ExtIncomeDetailVO;
import com.yonde.dcs.plan.common.vo.ExtPaymentDetailsVO;
/**
* @description: ExtIncomeContract-VO
......@@ -52,11 +28,11 @@ import com.yonde.dcs.plan.common.vo.ExtPaymentDetailsVO;
* @version: V
* @date: 2024-8-15 9:25:36
**/
@JsonTypeInfo( use = JsonTypeInfo.Id.CLASS, property = "dxClassname", visible = true, defaultImpl = ExtIncomeContractVO.class)
@JsonTypeInfo( use = JsonTypeInfo.Id.CLASS, property = "dxClassname", visible = true, defaultImpl = ExtIncomeContractOldVO.class)
@EqualsAndHashCode(callSuper = true)
@Data
@ToString(callSuper = true)
public class ExtIncomeContractVO extends IdOnlyVO implements IdVO ,DxContextVOHolder ,DxLogicDeleteVOHolder ,DxSecretVOHolder{
public class ExtIncomeContractOldVO extends IdOnlyVO implements IdVO ,DxContextVOHolder ,DxLogicDeleteVOHolder ,DxSecretVOHolder{
public static final String DX_CONTEXT_EMBEDDABLE_PROP_NAME = "dxContextEmbeddable";
public static final String DX_ID_EMBEDDABLE_PROP_NAME = "dxIdEmbeddable";
......
package com.yonde.dcs.plan.common.vo;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;
import java.time.LocalDateTime;
import java.util.ArrayList;
import cn.hutool.core.convert.Convert;
import com.yonde.dex.basedata.entity.annotation.XmlElementProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import lombok.ToString;
import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.math.BigInteger;
import org.springframework.data.annotation.Transient;
import lombok.experimental.Delegate;
import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.XmlAttribute;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.yonde.dex.basedata.entity.xmladapters.LocalDateTimeXmlAdapter;
import lombok.Data;
import com.yonde.dex.basedata.entity.annotation.*;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import com.yonde.dex.basedata.entity.vo.IdOnlyVO;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference;
import com.yonde.dex.basedata.entity.data.VersionRelationType;
import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOHolder;
import com.yonde.dex.basedata.entity.vo.DxIdVOEmbeddable;
import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOEmbeddable;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractVO;
import com.yonde.dex.basedata.entity.vo.IdVO;
import com.yonde.dex.context.plugin.common.entity.DxContextVOEmbeddable;
import com.yonde.dex.context.plugin.common.entity.DxContextVOHolder;
import com.yonde.dcs.plan.common.vo.ExtIncomeBillInfoVO;
import com.yonde.dex.basedata.entity.users.DxUserVO;
/**
* @description: ExtIncomeDetail-VO
......@@ -116,7 +95,7 @@ public class ExtIncomeDetailVO extends IdOnlyVO implements IdVO ,DxContextVOHold
*/
@ReferenceProperty(baseProperty = "extIncomeContractId")
@VersionProperty(curVersion = VersionRelationType.NONE, refVersion = VersionRelationType.NONE)
private ExtIncomeContractVO extIncomeContract;
private ExtIncomeContractOldVO extIncomeContract;
/**
* 收入合同
......
package com.yonde.dcs.plan.common.vo;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;
import java.time.LocalDateTime;
import java.util.ArrayList;
import cn.hutool.core.convert.Convert;
import com.yonde.dex.basedata.entity.annotation.XmlElementProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import lombok.ToString;
import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.math.BigInteger;
import org.springframework.data.annotation.Transient;
import lombok.experimental.Delegate;
import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.XmlAttribute;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.yonde.dex.basedata.entity.xmladapters.LocalDateTimeXmlAdapter;
import lombok.Data;
import com.yonde.dex.basedata.entity.annotation.*;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import com.yonde.dex.basedata.entity.vo.IdOnlyVO;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference;
import com.yonde.dex.basedata.entity.data.VersionRelationType;
import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOHolder;
import com.yonde.dex.basedata.entity.vo.DxIdVOEmbeddable;
import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOEmbeddable;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractVO;
import com.yonde.dex.basedata.entity.vo.IdVO;
import com.yonde.dex.context.plugin.common.entity.DxContextVOEmbeddable;
import com.yonde.dex.context.plugin.common.entity.DxContextVOHolder;
import com.yonde.dex.basedata.entity.users.DxUserVO;
/**
* @description: ExtPaymentDetails-VO
......@@ -92,7 +69,7 @@ public class ExtPaymentDetailsVO extends IdOnlyVO implements IdVO ,DxContextVOHo
*/
@ReferenceProperty(baseProperty = "extIncomeContractId")
@VersionProperty(curVersion = VersionRelationType.NONE, refVersion = VersionRelationType.NONE)
private ExtIncomeContractVO extIncomeContract;
private ExtIncomeContractOldVO extIncomeContract;
/**
* 收入合同
......
......@@ -2,7 +2,7 @@ package com.yonde.dcs.plan.core.controller;
import org.springframework.stereotype.Controller;
import io.swagger.annotations.ApiOperation;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractVO;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractOldVO;
import org.springframework.beans.factory.annotation.Autowired;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.*;
......@@ -20,7 +20,7 @@ import com.yonde.dcs.plan.core.controller.shadow.ExtIncomeContractControllerShad
@RequestMapping("/ExtIncomeContract")
@ResponseBody()
@Controller(ExtIncomeContractController.BEAN_NAME)
public class ExtIncomeContractController<V extends ExtIncomeContractVO, S extends ExtIncomeContractService<V>> extends ExtIncomeContractControllerShadow<V, S> {
public class ExtIncomeContractController<V extends ExtIncomeContractOldVO, S extends ExtIncomeContractService<V>> extends ExtIncomeContractControllerShadow<V, S> {
@Autowired
private ExtIncomeContractService extIncomeContractService;
......@@ -30,7 +30,7 @@ public class ExtIncomeContractController<V extends ExtIncomeContractVO, S extend
@GetMapping("/calculateIncome/{id}")
public ApiResult calculateIncome(@PathVariable Long id) {
//通过收入基本属性id获取多个收入信息
ExtIncomeContractVO extIncomeContract = extIncomeContractService.calculateIncome(id);
ExtIncomeContractOldVO extIncomeContract = extIncomeContractService.calculateIncome(id);
return ApiResult.ok(extIncomeContract);
}
......
package com.yonde.dcs.plan.core.controller.shadow;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import java.util.List;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractVO;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Autowired;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.*;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractOldVO;
import com.yonde.dcs.plan.core.service.ExtIncomeContractService;
import com.yonde.dcs.plan.core.service.impl.ExtIncomeContractServiceImpl;
import com.yonde.dex.basedata.entity.api.ApiResult;
import javax.annotation.Resource;
import com.yonde.dex.baseweb.AbstractBaseController;
......@@ -20,7 +13,7 @@ import com.yonde.dex.baseweb.AbstractBaseController;
* @version: V
* @date: 2024-7-26 9:34:06
**/
public class ExtIncomeContractControllerShadow<V extends ExtIncomeContractVO, S extends ExtIncomeContractService<V>> implements AbstractBaseController<V, S>{
public class ExtIncomeContractControllerShadow<V extends ExtIncomeContractOldVO, S extends ExtIncomeContractService<V>> implements AbstractBaseController<V, S>{
public static final String BEAN_NAME = "extIncomeContractController";
......
package com.yonde.dcs.plan.core.service;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractVO;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractOldVO;
import com.yonde.dcs.plan.core.service.shadow.ExtIncomeContractServiceShadow;
/**
* @description: ExtIncomeContract-service
......@@ -8,14 +8,14 @@ import com.yonde.dcs.plan.core.service.shadow.ExtIncomeContractServiceShadow;
* @version: V
* @date: 2024-7-26 9:34:06
**/
public interface ExtIncomeContractService<V extends ExtIncomeContractVO> extends ExtIncomeContractServiceShadow<V> {
public interface ExtIncomeContractService<V extends ExtIncomeContractOldVO> extends ExtIncomeContractServiceShadow<V> {
/**
* 计算收入明细
*
* @param id
*/
ExtIncomeContractVO calculateIncome(Long id);
ExtIncomeContractOldVO calculateIncome(Long id);
/**
* 深度查询收入合同
......@@ -23,7 +23,7 @@ public interface ExtIncomeContractService<V extends ExtIncomeContractVO> extends
* @param
* @return
*/
ExtIncomeContractVO findRecursionExtIncomeContractVO(Long id);
ExtIncomeContractOldVO findRecursionExtIncomeContractVO(Long id);
/**
* 根据年份计算到款金额
......@@ -31,7 +31,7 @@ public interface ExtIncomeContractService<V extends ExtIncomeContractVO> extends
* @param year
* @return
*/
void calculateIncomeByYear(Long id, String year, ExtIncomeContractVO extIncomeContractVO);
void calculateIncomeByYear(Long id, String year, ExtIncomeContractOldVO extIncomeContractOldVO);
/**
......
package com.yonde.dcs.plan.core.service.impl;
import com.yonde.dcs.plan.common.vo.ExtDisReocredLinkVO;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractVO;
import com.yonde.dcs.plan.common.vo.ExtPlanVO;
import com.yonde.dcs.plan.core.service.AutoTaskService;
import com.yonde.dcs.plan.core.service.ExtDisReocredLinkService;
......@@ -15,25 +14,19 @@ import com.yonde.dex.dao.service.util.DxPageUtils;
import com.yonde.dex.user.common.vo.DxOrganizationVO;
import com.yonde.dex.user.common.vo.DxUserInfoVO;
import com.yonde.dex.user.feign.DxUserInfoFeign;
import lombok.val;
import org.springframework.stereotype.Service;
import io.swagger.annotations.ApiOperation;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import com.yonde.dcs.plan.common.vo.ExtDistributeRecordVO;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Autowired;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import com.yonde.dcs.plan.core.service.ExtDistributeRecordService;
import com.yonde.dcs.plan.core.repository.ExtDistributeRecordRepository;
import com.yonde.dcs.plan.entity.po.ExtDistributeRecord;
import javax.annotation.Resource;
/**
* @description: ExtDistributeRecord-ServiceImpl
......
......@@ -8,31 +8,25 @@ import com.yonde.dcs.plan.core.service.ExtPaymentDetailsService;
import com.yonde.dex.basedata.data.search.SearchItem;
import com.yonde.dex.basedata.data.search.SearchItems;
import com.yonde.dex.basedata.data.search.SearchQueryCondition;
import com.yonde.dex.basedata.entity.api.ApiResult;
import com.yonde.dex.basedata.entity.data.DxPageImpl;
import com.yonde.dex.basedata.entity.data.OperatorType;
import com.yonde.dex.dao.service.util.DxPageUtils;
import lombok.val;
import org.springframework.stereotype.Service;
import io.swagger.annotations.ApiOperation;
import java.math.BigDecimal;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractVO;
import org.springframework.beans.factory.annotation.Qualifier;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractOldVO;
import org.springframework.beans.factory.annotation.Autowired;
import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import com.yonde.dcs.plan.core.service.ExtIncomeContractService;
import com.yonde.dcs.plan.core.repository.ExtIncomeContractRepository;
import com.yonde.dcs.plan.entity.po.ExtIncomeContract;
import javax.annotation.Resource;
/**
* @description: ExtIncomeContract-ServiceImpl
......@@ -42,7 +36,7 @@ import javax.annotation.Resource;
**/
@Slf4j
@Service(ExtIncomeContractServiceImpl.BEAN_NAME)
public class ExtIncomeContractServiceImpl<V extends ExtIncomeContractVO> implements ExtIncomeContractService<V>{
public class ExtIncomeContractServiceImpl<V extends ExtIncomeContractOldVO> implements ExtIncomeContractService<V>{
public static final String BEAN_NAME = "extIncomeContractServiceImpl";
......@@ -55,9 +49,9 @@ public class ExtIncomeContractServiceImpl<V extends ExtIncomeContractVO> impleme
@Override
@Transactional
public ExtIncomeContractVO calculateIncome(Long id) {
ExtIncomeContractVO extIncomeContractVO = this.findRecursionExtIncomeContractVO(id);
List<ExtIncomeDetailVO> extIncomeDetails = extIncomeContractVO.getExtIncomeDetails();
public ExtIncomeContractOldVO calculateIncome(Long id) {
ExtIncomeContractOldVO extIncomeContractOldVO = this.findRecursionExtIncomeContractVO(id);
List<ExtIncomeDetailVO> extIncomeDetails = extIncomeContractOldVO.getExtIncomeDetails();
//金额List累加
BigDecimal bigss = BigDecimal.ZERO;
//定义所有支付进度安排金额list
......@@ -72,29 +66,29 @@ public class ExtIncomeContractServiceImpl<V extends ExtIncomeContractVO> impleme
}
}
//已到款=已到账金额之和
extIncomeContractVO.setPaid(bigss);
extIncomeContractOldVO.setPaid(bigss);
//待拨付 = 合同额 或 审价额 -已到款
BigDecimal subtract = BigDecimal.ZERO;
BigDecimal trialPrice = extIncomeContractVO.getTrialPrice();
BigDecimal contractPrice = extIncomeContractVO.getContractPrice();
BigDecimal trialPrice = extIncomeContractOldVO.getTrialPrice();
BigDecimal contractPrice = extIncomeContractOldVO.getContractPrice();
if (trialPrice != null) {
subtract = BigDecimalUtil.subtract(trialPrice, bigss);
} else {
subtract = BigDecimalUtil.subtract(contractPrice, bigss);
}
extIncomeContractVO.setToBedisbursed(subtract.intValue());
extIncomeContractVO.setOperator(OperatorType.MODIFY);
extIncomeContractOldVO.setToBedisbursed(subtract.intValue());
extIncomeContractOldVO.setOperator(OperatorType.MODIFY);
//todo wq:暂时将extIncomeContractVO 强转为V类型
ExtIncomeContractVO extIncomeContractVO1 = this.saveRecursion((V) extIncomeContractVO);
return extIncomeContractVO1;
ExtIncomeContractOldVO extIncomeContractOldVO1 = this.saveRecursion((V) extIncomeContractOldVO);
return extIncomeContractOldVO1;
}
@Override
public ExtIncomeContractVO calculateIncomeByYear(Long id, String year) {
ExtIncomeContractVO extIncomeContractVO = this.findRecursionExtIncomeContractVO(id);
public ExtIncomeContractOldVO calculateIncomeByYear(Long id, String year) {
ExtIncomeContractOldVO extIncomeContractOldVO = this.findRecursionExtIncomeContractVO(id);
//通过收入基本属性id获取多个收入信息
this.calculateIncomeByYear(id, year,extIncomeContractVO);
return extIncomeContractVO;
this.calculateIncomeByYear(id, year, extIncomeContractOldVO);
return extIncomeContractOldVO;
}
......@@ -106,7 +100,7 @@ public class ExtIncomeContractServiceImpl<V extends ExtIncomeContractVO> impleme
*/
@Override
public ExtIncomeContractVO findRecursionExtIncomeContractVO(Long id) {
public ExtIncomeContractOldVO findRecursionExtIncomeContractVO(Long id) {
SearchQueryCondition query = SearchQueryCondition.builder()
.openProp(SearchQueryCondition.builder().name("extIncomeDetails").build())
.openProp(SearchQueryCondition.builder().name("paymentDetailss").build())
......@@ -116,22 +110,22 @@ public class ExtIncomeContractServiceImpl<V extends ExtIncomeContractVO> impleme
//DxPageImpl<ExtIncomeContractVO> dexPage = this.findRecursion(query);
DxPageImpl<V> dexPage = this.findRecursion(query);
if (!CollectionUtils.isEmpty(dexPage.getContent())) {
ExtIncomeContractVO incomeContractVO = DxPageUtils.getFirst(dexPage);
ExtIncomeContractOldVO incomeContractVO = DxPageUtils.getFirst(dexPage);
return incomeContractVO;
}
return new ExtIncomeContractVO();
return new ExtIncomeContractOldVO();
}
@Override
public void calculateIncomeByYear(Long id, String year, ExtIncomeContractVO extIncomeContractVO) {
List<ExtIncomeDetailVO> extIncomeDetails = extIncomeContractVO.getExtIncomeDetails();
public void calculateIncomeByYear(Long id, String year, ExtIncomeContractOldVO extIncomeContractOldVO) {
List<ExtIncomeDetailVO> extIncomeDetails = extIncomeContractOldVO.getExtIncomeDetails();
//定义所以支付进度安排金额list
List<BigDecimal> payAmoutList = new ArrayList<>();
//year为空就是事件方法调用
if (StringUtils.isEmpty(year)) {
List<ExtPaymentDetailsVO> paymentDetailss = extIncomeContractVO.getExtPaymentDetailss();
List<ExtPaymentDetailsVO> paymentDetailss = extIncomeContractOldVO.getExtPaymentDetailss();
if (!CollectionUtils.isEmpty(paymentDetailss)) {
paymentDetailss.stream().forEach(item -> {
item.setOperator(OperatorType.MODIFY);
......@@ -143,7 +137,7 @@ public class ExtIncomeContractServiceImpl<V extends ExtIncomeContractVO> impleme
ExtPaymentDetailsVO paymentDetailsVO = new ExtPaymentDetailsVO();
paymentDetailsVO.setExtIncomeContractId(id);
paymentDetailsVO.setExtIncomeContractIdType("ExtIncomeContract");
paymentDetailsVO.setExtIncomeContract(extIncomeContractVO);
paymentDetailsVO.setExtIncomeContract(extIncomeContractOldVO);
paymentDetailsVO.setYears(String.valueOf(year));
paymentDetailsVO.setAmount(calPaymentAmount(year, extIncomeDetails));
paymentDetailsVO.setOperator(OperatorType.ADD);
......@@ -183,8 +177,8 @@ public class ExtIncomeContractServiceImpl<V extends ExtIncomeContractVO> impleme
*/
@Override
public String reCalculIncomeById(Long id) {
ExtIncomeContractVO extIncomeContractVO = this.findRecursionExtIncomeContractVO(id);
this.calculateIncomeByYear(id, null, extIncomeContractVO);
ExtIncomeContractOldVO extIncomeContractOldVO = this.findRecursionExtIncomeContractVO(id);
this.calculateIncomeByYear(id, null, extIncomeContractOldVO);
return "ok";
}
......
package com.yonde.dcs.plan.core.service.shadow;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractVO;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractOldVO;
import com.yonde.dcs.plan.feign.ExtIncomeContractServiceFeign;
import com.yonde.dex.dao.service.BaseIdEntityService;
import com.yonde.dex.logicdelete.plugin.core.service.LogicDeleteService;
......@@ -10,6 +10,6 @@ import com.yonde.dex.logicdelete.plugin.core.service.LogicDeleteService;
* @version: V
* @date: 2024-7-26 9:34:06
**/
public interface ExtIncomeContractServiceShadow<V extends ExtIncomeContractVO> extends ExtIncomeContractServiceFeign<V>, BaseIdEntityService<V> ,LogicDeleteService<V> {
public interface ExtIncomeContractServiceShadow<V extends ExtIncomeContractOldVO> extends ExtIncomeContractServiceFeign<V>, BaseIdEntityService<V> ,LogicDeleteService<V> {
}
package com.yonde.dcs.plan.feign;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractVO;
import com.yonde.dex.basedata.entity.api.ApiResult;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractOldVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
......@@ -16,16 +15,16 @@ import com.yonde.dcs.plan.feign.shadow.ExtIncomeContractServiceFeignShadow;
**/
@Api(tags = "ExtIncomeContract-FEIGN")
@FeignClient(value = "${dcs.feign.INET-PLAN}", path = "/ExtIncomeContract")
public interface ExtIncomeContractServiceFeign<V extends ExtIncomeContractVO> extends ExtIncomeContractServiceFeignShadow<V> {
public interface ExtIncomeContractServiceFeign<V extends ExtIncomeContractOldVO> extends ExtIncomeContractServiceFeignShadow<V> {
@ApiOperation(value = "合同收入计算", notes = "合同收入计算", httpMethod = "GET")
@GetMapping("/calculateIncome/{id}")
ExtIncomeContractVO calculateIncome(@PathVariable("id") Long id);
ExtIncomeContractOldVO calculateIncome(@PathVariable("id") Long id);
@ApiOperation(value = "xxx年到款计算", notes = "xxx年到款计算", httpMethod = "GET")
@GetMapping("/calculateIncome")
ExtIncomeContractVO calculateIncomeByYear(@RequestParam("id") Long id, @RequestParam("year") String year);
ExtIncomeContractOldVO calculateIncomeByYear(@RequestParam("id") Long id, @RequestParam("year") String year);
@ApiOperation(value = "重新计算收入到款", notes = "重新计算收入到款", httpMethod = "GET")
......
package com.yonde.dcs.plan.feign.shadow;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractVO;
import io.swagger.annotations.Api;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import com.yonde.dcs.plan.common.vo.ExtIncomeContractOldVO;
import com.yonde.dex.dao.service.remotes.BaseFeign;
import com.yonde.dex.logicdelete.plugin.feign.LogicDeleteFeign;
......@@ -13,7 +10,7 @@ import com.yonde.dex.logicdelete.plugin.feign.LogicDeleteFeign;
* @version: V
* @date: 2024-7-26 9:34:06
**/
public interface ExtIncomeContractServiceFeignShadow<V extends ExtIncomeContractVO> extends BaseFeign<V> ,LogicDeleteFeign<V> {
public interface ExtIncomeContractServiceFeignShadow<V extends ExtIncomeContractOldVO> extends BaseFeign<V> ,LogicDeleteFeign<V> {
String BEAN_NAME = "extIncomeContractServiceFeign";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment