package com.ydtech.modules.fnc.controller;
import com.ydtech.aop.exception.DescribeException;
import com.ydtech.core.page.HttpResult;
import com.ydtech.modules.admin.model.vo.SysUserBankCardVO;
import com.ydtech.modules.base.controller.BaseController;
import com.ydtech.modules.fnc.entity.InsPlyIncome;
import com.ydtech.modules.fnc.entity.SettlementDocumentaryFeesEntity;
import com.ydtech.modules.fnc.service.InsPlyIncomeService;
import com.ydtech.modules.fnc.vo.InsPlyIncomeVo;
import com.ydtech.modules.fnc.vo.SettlementDocumentaryFeesVo;
import com.ydtech.modules.order.entity.BasePageResult;
import com.ydtech.modules.order.entity.InsOrders;
import com.ydtech.modules.order.entity.vo.OrderQueryVo;
import com.ydtech.utils.StringUtils;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.Period;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
*
* 保司结算手续费 前端控制器
*
*
* @author gws
* @since 2024-01-05
*/
@RestController
@Api(tags = "保司费用")
@RequestMapping("/fnc/plyFee")
public class InsPlyIncomeController extends BaseController {
@Autowired
private InsPlyIncomeService insPlyIncomeService;
/**
*
* @return
*/
@PostMapping("/queryPage")
@ApiOperation(value = "[1]保司费用查询")
public HttpResult> queryPage(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo) {
if(StringUtils.isNullOrEmpty(insPlyIncomeVo.getCompanyId())
&& StringUtils.isNullOrEmpty(insPlyIncomeVo.getStartDate())
&& StringUtils.isNullOrEmpty(insPlyIncomeVo.getEndDate())
&& StringUtils.isNullOrEmpty(insPlyIncomeVo.getLicenseno())
){
return HttpResult.error("查询条件不能全为空!");
}
if(!StringUtils.isNullOrEmpty(insPlyIncomeVo.getStartDate())
&&!StringUtils.isNullOrEmpty(insPlyIncomeVo.getEndDate())
&&Period.between(insPlyIncomeVo.getStartDate(),insPlyIncomeVo.getEndDate()).getDays()>100
){
return HttpResult.error("查询时间区间不能超过3个月!");
}
if(StringUtils.isNullOrEmpty(insPlyIncomeVo.getDeptId())){
insPlyIncomeVo.setDeptId(getDeptId());
}
HttpResult> result=insPlyIncomeService.queryplyIncome(insPlyIncomeVo);
return result;
}
@PostMapping("/query")
@ApiOperation(value = "[1]保司费用查询new")
public HttpResult> query(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo) {
HttpResult> result=insPlyIncomeService.queryNew(insPlyIncomeVo);
return result;
}
@PostMapping("/totalAmount")
@ApiModelProperty(value = "平台手续费合计金额")
public HttpResult>totalAmount(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo){
if(!CollectionUtils.isEmpty(insPlyIncomeVo.getSelectIds())){
HashMap result = insPlyIncomeService.totalAmount(insPlyIncomeVo.getSelectIds());
return HttpResult.ok(result);
}else {
return HttpResult.ok();
}
}
@PostMapping("/totalPinAmount")
@ApiModelProperty(value = "平台结算未结算接口")
public HttpResult>totalPinAmount(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo){
List result = insPlyIncomeService.totalPinAmount(insPlyIncomeVo);
return HttpResult.ok(result);
}
@PostMapping("/bxTotalAmount")
@ApiModelProperty(value = "保险手续费合计")
public HttpResultbxTotalPinAmount(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo){
InsPlyIncome result = insPlyIncomeService.bxTotalAmount(insPlyIncomeVo);
return HttpResult.ok(result);
}
@PutMapping("/balance")
@ApiModelProperty(value = "结算手续费")
public HttpResult