package com.ydtech.modules.fnc.controller;
import com.ydtech.core.page.HttpResult;
import com.ydtech.modules.base.controller.BaseController;
import com.ydtech.modules.fnc.entity.InsPlyIncome;
import com.ydtech.modules.fnc.entity.InsPlySettle;
import com.ydtech.modules.fnc.entity.InsPlySettleHx;
import com.ydtech.modules.fnc.service.InsPlyIncomeService;
import com.ydtech.modules.fnc.service.InsPlySettleService;
import com.ydtech.modules.fnc.vo.InsPlyIncomeVo;
import com.ydtech.modules.fnc.vo.InsPlySettleVo;
import com.ydtech.modules.order.entity.BasePageResult;
import com.ydtech.utils.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.util.List;
/**
*
* 月度结算单汇总表 前端控制器
*
*
* @author gws
* @since 2024-01-10
*/
@RestController
@Api(tags = "结算单管理")
@RequestMapping("/fnc/plySettle")
public class InsPlySettleController extends BaseController {
@Autowired
private InsPlyIncomeService insPlyIncomeService;
@Autowired
private InsPlySettleService insPlySettleService;
/**
* 结算单生成查询--有待结费用
* @return
*/
@PostMapping("/queryPly")
@ApiOperation(value = "[1]结算单生成页面--待结算保司费用清单查询")
public HttpResult> queryPly(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo) {
if(StringUtils.isNullOrEmpty(insPlyIncomeVo.getCompanyId())){
return HttpResult.error("保险公司必传");
}
if(StringUtils.isNullOrEmpty(insPlyIncomeVo.getDeptId())){
insPlyIncomeVo.setDeptId(getDeptId());
}
insPlyIncomeVo.setFlag("0");
HttpResult> result=insPlyIncomeService.queryplyIncome(insPlyIncomeVo);
return result;
}
/**
*结算单生成
* @return
*/
@ApiOperation(value = "[2]结算单生成页面--结算单生成")
@PostMapping("/generateSettle")
public HttpResult generateSettleAndDetail(@RequestBody List plyList){
HttpResult result = null;
try {
result = insPlySettleService.generateSettleAndDetail(plyList);
} catch (Exception e) {
result = HttpResult.error("结算单生成失败!"+e.getMessage());
e.printStackTrace();
}
return result;
}
/**
*结算单查询
* @return
*/
@ApiOperation(value = "[3]结算单查询")
@PostMapping("/selectSettle")
public HttpResult> selectSettle(@RequestBody InsPlySettleVo settle){
return insPlySettleService.selectSettle(settle);
}
/**
*结算单查询
* @return
*/
@ApiOperation(value = "[4]结算单明细查询")
@PostMapping("/selectSettleDetail")
public HttpResult> selectSettleDetail(@RequestBody InsPlySettleVo settle){
return insPlySettleService.selectSettleDetail(settle);
}
/**
*结算单核销
* @return
*/
@ApiOperation(value = "[5]结算单核销")
@PostMapping("/hxSettle")
public HttpResult enterSettle( @RequestBody InsPlySettleHx insPlySettleHx){
HttpResult result = null;
try {
result = insPlySettleService.hxSettle(insPlySettleHx);
} catch (Exception e) {
result = HttpResult.error("结算单确认时发生错误!"+e.getMessage());
e.printStackTrace();
}
return result;
}
/**
*结算单核销明细查询
* @return
*/
@ApiOperation(value = "[6]结算单核销明细查询")
@PostMapping("/queryHxDetail")
public HttpResult queryHxDetail( @RequestBody String settleno){
HttpResult result = null;
try {
result = insPlySettleService.queryHxDetail(settleno);
} catch (Exception e) {
result = HttpResult.error("系统错误!"+e.getMessage());
e.printStackTrace();
}
return result;
}
}