package com.nantian.cloud.jly.controller;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nantian.cloud.jly.entity.CheckGroupEpc;
import com.nantian.cloud.jly.entity.CheckGroupPersons;
import com.nantian.cloud.jly.service.CheckGroupEpcService;
import com.nantian.cloud.jly.service.CheckGroupPersonsService;
import com.nantian.cloud.jly.service.CheckGroupService;
import com.nantian.sc.cloud.common.core.util.R;
import com.nantian.sc.cloud.common.log.annotation.SysLog;
import com.nantian.sc.cloud.common.security.service.ScUser;
import com.nantian.sc.cloud.common.security.util.SecurityUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Date;
import java.util.List;


@RestController
@AllArgsConstructor
@Api(value = "checkGroupEpc", tags = "审查组成员对应企业")
@RequestMapping("/checkGroupEpc")
public class CheckGroupEpcController {

    private final CheckGroupService checkGroupService;

    @Autowired
    private CheckGroupEpcService checkGroupEpcService;

    /**
     * 分页查询
     *
     * @return
     */
    @SysLog("审查组成员对应企业-查询")
    @GetMapping("/getCheckGroupEpc")
    public R getCheckGroupEpc(String checkPlanId, String epc,String groupId) {
        return R.ok(checkGroupEpcService.queryEpc(checkPlanId,epc,groupId));
    }

    @SysLog("审查组成员对应企业-保存or更新")
    @PostMapping("/saveCheckGroupEpc")
    public R addcheckGroupPersons(@RequestBody List<CheckGroupEpc> checkGroupEpcs) {
        ScUser u = SecurityUtils.getUser();
        checkGroupEpcs.forEach(r -> {
            if (u.getId() != null) {
                r.setUserid(u.getId());
            }
            if (u.getDeptId() != null) {
                r.setDeptId(u.getDeptId());
            }
            r.setDelFlag("1");
            r.setUpdateTime(new Date());
        });
        CheckGroupEpc checkGroupEpc = checkGroupEpcs.stream().findFirst().orElse(null);
        checkGroupEpcService.deleteList(checkGroupEpc.getCheckPlanId(),checkGroupEpc.getGroupId());
        return R.ok(checkGroupEpcService.saveOrUpdateBatch(checkGroupEpcs));
    }

    /**
     * 删除数据
     *
     * @return
     */
    @SysLog("审查组成员对应企业-删除数据")
    @GetMapping("/delEpc")
    public R getCheckGroupEpc(String checkPlanId,String groupId) {
        checkGroupEpcService.deleteList(checkPlanId,groupId);
        return R.ok("删除");
    }

}
