package com.imed.costaccount.web; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.imed.costaccount.common.util.PageUtils; import com.imed.costaccount.common.util.Result; import com.imed.costaccount.common.util.UserContext; import com.imed.costaccount.model.CostAccountShare; import com.imed.costaccount.model.Responsibility; import com.imed.costaccount.model.User; import com.imed.costaccount.model.dto.AccountShareCopyDto; import com.imed.costaccount.model.dto.CostAccountShareEditDto; import com.imed.costaccount.model.dto.CostAccountShareSaveDto; import com.imed.costaccount.model.dto.ShareParamEditDto; import com.imed.costaccount.model.vo.CostShareParamStatusVO; import com.imed.costaccount.model.vo.ShareParamProportionVO; import com.imed.costaccount.service.CostAccountShareService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.Arrays; import java.util.List; /** * 责任中心成本对照表 * * @author KCYG * @date 2021-07-28 18:34:52 */ @RestController @RequestMapping("/costAccount/costaccountshare") @Api(tags = "成本分摊参数对应相关操作") public class CostAccountShareController { @Autowired private CostAccountShareService costAccountShareService; /** * 分页查询列表 */ @GetMapping("/list") @ApiOperation("分页获取责任中心成本数据") public Result list(@RequestParam(defaultValue = "1", value = "current") Integer current, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(value = "name", required = false) String name){ User user = (User) SecurityUtils.getSubject().getPrincipal(); Long hospId = user.getHospId(); PageUtils pageUtils = costAccountShareService.queryList(current,pageSize,name,hospId); return Result.ok(pageUtils); } /** * 获取相关的责任中心成本对照表数据 */ @GetMapping("/getCostAccountShare") @ApiOperation("根据成本分摊参数对应表的Id获取") public Result getCostAccountShare(Integer id){ CostAccountShare costAccountShare = costAccountShareService.getById(id); return Result.ok(costAccountShare); } /** * 保存 */ @PostMapping("/save") @ApiOperation("保存成本分摊参数对应数据") public Result save(@RequestBody @Valid CostAccountShareSaveDto costAccountShareSaveDto){ costAccountShareService.addCostAccountShare(costAccountShareSaveDto); return Result.ok(); } /** * 修改 */ @PostMapping("/update") @ApiOperation("修改成本分摊参数对应数据") public Result update(@RequestBody @Valid CostAccountShareEditDto costAccountShareEditDto){ costAccountShareService.updateByCostAccountShare(costAccountShareEditDto); return Result.ok(); } /** * 显示会计科目里面 */ /** * 在全部分摊参数里面显示当前责任中心已经存在的分摊参数 */ @GetMapping("/getAllShareParamStatusById") @ApiOperation("在全部分摊参数里面显示当前责任中心已经存在的分摊参数的状态") public Result getAllShareParamStatusById(@RequestParam(defaultValue = "1", value = "current") Integer current, @RequestParam(value = "pageSize", defaultValue = "2") Integer pageSize, Integer id){ User user = (User) SecurityUtils.getSubject().getPrincipal(); Long hospId = user.getHospId(); List costShareParamStatusVOList= costAccountShareService.getAllShareParamStatusById(id,hospId); Page page = new Page<>(current, pageSize); page.setRecords(costShareParamStatusVOList); PageUtils pageUtils = new PageUtils(page); pageUtils.setList(page.getRecords()); return Result.ok(pageUtils); } /** * 获取责任中心成本对应的分摊参数数据 */ @GetMapping("/getShareParamById") @ApiOperation("获取指定责任中心成本的分摊参数集合") public Result getShareParamById(Integer id){ User user = (User) SecurityUtils.getSubject().getPrincipal(); Long hospId = user.getHospId(); List shareParamProportionVOList = costAccountShareService.selectShareParamById(id,hospId); return Result.ok(shareParamProportionVOList); } /** * 进行分摊参数设置 */ @PostMapping("/updateShareParam") @ApiOperation("添加分摊参数设置") public Result updateShareParam(@RequestBody @Valid ShareParamEditDto shareParamEditDto){ costAccountShareService.updateShareParam(shareParamEditDto); return Result.ok(); } /** * 删除 */ @PostMapping("/delete") @ApiOperation("删除责任中心成本数据") public Result delete(@RequestBody Long[] ids){ costAccountShareService.removeByIds(Arrays.asList(ids)); return Result.ok(); } /** * 成本分摊参数设置对应复制 */ @PostMapping("/copyAccountShareData") @ApiOperation("复制成本分摊参数设置功能") public Result copyAccountShareData(@RequestBody @Valid AccountShareCopyDto accountShareCopyDto){ Long hospId = UserContext.getHospId(); costAccountShareService.copyAccountShareData(accountShareCopyDto,hospId); return Result.ok(); } /** * 获取指定类型的责任中心集合 分开计算还是合并计算 * @param accountShareId 分摊参数设置的Id */ @GetMapping("/getResponsibilityCalType") @ApiOperation("获取指定类型的责任中心集合") public Result getResponsibilityCalType(Long accountShareId){ Long hospId = UserContext.getHospId(); List responsibilityList= costAccountShareService.getResponsibilityCalType(accountShareId,hospId); return Result.ok(responsibilityList); } }