|
|
@@ -19,12 +19,14 @@ import com.ydtech.modules.order.entity.api.zj.response.ModelQueryResponse;
|
|
|
import com.ydtech.modules.order.entity.api.zm.constants.TimeConstants;
|
|
|
import com.ydtech.modules.order.entity.config.ZjConfigureParameters;
|
|
|
import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
|
|
|
+import com.ydtech.modules.order.entity.vo.VehicleAndVesselTax;
|
|
|
import com.ydtech.modules.order.entity.vo.zj.ZjQuoteAccidentVo;
|
|
|
import com.ydtech.modules.order.utils.InsuranceTimeProcessing;
|
|
|
import io.swagger.annotations.ApiModel;
|
|
|
import io.swagger.annotations.ApiModelProperty;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.Data;
|
|
|
+import lombok.Getter;
|
|
|
import lombok.NoArgsConstructor;
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
@@ -128,7 +130,7 @@ public class CalculatePremiumRequest implements Serializable {
|
|
|
this.orderOrigin = zjConfigureParameters.getAppKey();
|
|
|
this.proposalAreaCode = zjConfigureParameters.getProposalAreaCode();
|
|
|
this.proposalCityCode = zjConfigureParameters.getProposalCityCode();
|
|
|
- this.taxRelifInfo = new TaxRelifInfoDTO();
|
|
|
+ this.taxRelifInfo = new TaxRelifInfoDTO(quoteInfoVo.getVehicleAndVesselTax());
|
|
|
}
|
|
|
|
|
|
public void modificationOfVehicleType(ModelQueryResponse.VehicleModelInfosDTO vehicleModelInfosDTO) {
|
|
|
@@ -400,22 +402,128 @@ public class CalculatePremiumRequest implements Serializable {
|
|
|
@NoArgsConstructor
|
|
|
@Data
|
|
|
public static class TaxRelifInfoDTO implements Serializable {
|
|
|
+
|
|
|
private static final long serialVersionUID = 3760117003983918836L;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 减免税凭证号 减免税时必传
|
|
|
+ */
|
|
|
+ @JsonProperty("extendChar2")
|
|
|
+ private String extendChar2;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 减免税方案代码 减免税时必传 (P 比例减免;E 免税)
|
|
|
+ */
|
|
|
+ @JsonProperty("freeRateText")
|
|
|
+ private String freeRateText;
|
|
|
+ /**
|
|
|
+ * 减免比例 减免税时必传
|
|
|
+ */
|
|
|
+ @JsonProperty("taxRelief")
|
|
|
+ private String taxRelief;
|
|
|
+ /**
|
|
|
+ * 减免税原因代码 减免税时必传
|
|
|
+ */
|
|
|
+ @JsonProperty("relifReason")
|
|
|
+ private String relifReason;
|
|
|
+ /**
|
|
|
+ * 开具税务机关代码 减免完税时必传
|
|
|
+ */
|
|
|
+ @JsonProperty("taxComCode")
|
|
|
+ private String taxComCode;
|
|
|
+ /**
|
|
|
+ * 开具凭证的税务机关名称 减免完税时必传
|
|
|
+ */
|
|
|
+ @JsonProperty("taxComName")
|
|
|
+ private String taxComName;
|
|
|
+ /**
|
|
|
+ * 完税凭证填发日期 完税时必传
|
|
|
+ */
|
|
|
+ @JsonProperty("taxDocumentDate")
|
|
|
+ private String taxDocumentDate;
|
|
|
+ /**
|
|
|
+ * 开具完税凭证地区代码 完税时必传
|
|
|
+ */
|
|
|
+ @JsonProperty("taxPaidAreaCode")
|
|
|
+ private String taxPaidAreaCode;
|
|
|
+ /**
|
|
|
+ * 完税凭证号 完税时必传
|
|
|
+ */
|
|
|
+ @JsonProperty("paidFreeCertificate")
|
|
|
+ private String paidFreeCertificate;
|
|
|
+ /**
|
|
|
+ * 纳税人名称 完税时必传
|
|
|
+ */
|
|
|
+ @JsonProperty("taxpayerName")
|
|
|
+ private String taxpayerName;
|
|
|
+ /**
|
|
|
+ * 纳税人证件类型 完税时必传
|
|
|
+ */
|
|
|
+ @JsonProperty("taxpayerIdentifier")
|
|
|
+ private String taxpayerIdentifier;
|
|
|
+ /**
|
|
|
+ * 纳税人证件号码 完税时必传
|
|
|
+ */
|
|
|
+ @JsonProperty("identifyNumber")
|
|
|
+ private String identifyNumber;
|
|
|
/**
|
|
|
* 车船税标志
|
|
|
* 1-正常交税;
|
|
|
* 2-免税;
|
|
|
* 3-减税;
|
|
|
* 4-完税
|
|
|
- * (北京地区:
|
|
|
- * 01-已完税;
|
|
|
- * 02-免税;
|
|
|
- * 03-未缴税;
|
|
|
- * 04-已申报未入库;
|
|
|
- * 05-不在征收范围)
|
|
|
*/
|
|
|
@JsonProperty("taxRelifFlag")
|
|
|
- private String taxRelifFlag = "1";
|
|
|
+ private String taxRelifFlag;
|
|
|
+
|
|
|
+ // 免税
|
|
|
+ private static final String TAX_EXEMPTION = "2";
|
|
|
+ // 减税
|
|
|
+ private static final String TAX_REDUCTION = "3";
|
|
|
+
|
|
|
+ public TaxRelifInfoDTO(VehicleAndVesselTax vehicleAndVesselTax) {
|
|
|
+ String flag = vehicleAndVesselTax.getTaxRelifFlag();
|
|
|
+ switch (flag) {
|
|
|
+ case TAX_EXEMPTION:
|
|
|
+ this.freeRateText = FreeRateText.FRT_E.getCode();
|
|
|
+ this.taxRelief = "1";
|
|
|
+ break;
|
|
|
+ case TAX_REDUCTION:
|
|
|
+ this.freeRateText = FreeRateText.FRT_P.getCode();
|
|
|
+ this.taxRelief = vehicleAndVesselTax.getTaxRelief();
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ this.extendChar2 = vehicleAndVesselTax.getExtendChar2();
|
|
|
+
|
|
|
+ this.relifReason = vehicleAndVesselTax.getRelifReason();
|
|
|
+ this.taxComCode = vehicleAndVesselTax.getTaxComCode();
|
|
|
+ this.taxComName = vehicleAndVesselTax.getTaxComName();
|
|
|
+ this.taxDocumentDate = vehicleAndVesselTax.getTaxDocumentDate();
|
|
|
+ this.taxPaidAreaCode = vehicleAndVesselTax.getTaxPaidAreaCode();
|
|
|
+ this.paidFreeCertificate = vehicleAndVesselTax.getPaidFreeCertificate();
|
|
|
+ this.taxpayerName = vehicleAndVesselTax.getTaxpayerName();
|
|
|
+ this.taxpayerIdentifier = vehicleAndVesselTax.getTaxpayerIdentifier();
|
|
|
+
|
|
|
+ this.identifyNumber = vehicleAndVesselTax.getIdentifyNumber();
|
|
|
+ this.taxRelifFlag = flag;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Getter
|
|
|
+ @AllArgsConstructor
|
|
|
+ public enum FreeRateText {
|
|
|
+
|
|
|
+ FRT_P("P", "比例减免"),
|
|
|
+ FRT_E("E", "免税");
|
|
|
+
|
|
|
+ // 编号
|
|
|
+ private final String code;
|
|
|
+ // 说明
|
|
|
+ private final String desc;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|