package cn.com.goldenwater.dcproj.controller.plansd; import cn.com.goldenwater.dcproj.model.AttAdBase; import cn.com.goldenwater.dcproj.model.BisInspAllRlationPers; import cn.com.goldenwater.dcproj.model.BisInspGroupArrangementTm; import cn.com.goldenwater.dcproj.model.BisInspPlanDp; import cn.com.goldenwater.dcproj.service.*; import cn.com.goldenwater.core.web.BaseController; import cn.com.goldenwater.core.web.BaseResponse; import cn.com.goldenwater.dcproj.utils.AdLevelUtil; import cn.com.goldenwater.dcproj.utils.Constant; import cn.com.goldenwater.dcproj.utils.DateUtils; import cn.com.goldenwater.dcproj.utils.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.util.*; /** * @author hjp * @date 2022-8-31 */ @Api(value = "详细分组安排 市县填报时间表管理",tags="详细分组安排 市县填报时间表管理") @RestController @RequestMapping("/bis/insp/gaTm") public class BisInspGroupArrangementTmController extends BaseController { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private BisInspGroupArrangementTmService bisInspGroupArrangementTmService; @Autowired private OlBisInspOrgService olBisInspOrgService; @Autowired private BisInspAllRlationPersService bisInspAllRlationPersService; @Autowired private BisInspPlanDpService bisInspPlanDpService; @Autowired private AttAdBaseService attAdBaseService; @ApiOperation(value = "添加、修改详细分组安排 市县填报时间表") @RequestMapping(value = "", method = RequestMethod.POST) public BaseResponse insert(@ApiParam(name = "bisInspGroupArrangementTm", value = "BisInspGroupArrangementTm", required = true) @RequestBody BisInspGroupArrangementTm bisInspGroupArrangementTm) { Assert.notNull(bisInspGroupArrangementTm.getStm(), "开始时间为必填参数"); Assert.notNull(bisInspGroupArrangementTm.getEtm(), "结束时间为必填参数"); String addvcd = AdLevelUtil.getAddvcd(olBisInspOrgService.getProvince(getCurrentOrgId())); bisInspGroupArrangementTm.setAddVcd(addvcd); int ret = 0; BisInspGroupArrangementTm tm = bisInspGroupArrangementTmService.get(addvcd); if (Objects.isNull(tm)){ ret = bisInspGroupArrangementTmService.insert(bisInspGroupArrangementTm); }else { bisInspGroupArrangementTm.setId(tm.getId()); ret = bisInspGroupArrangementTmService.update(bisInspGroupArrangementTm); } return buildSuccessResponse(bisInspGroupArrangementTm); } @ApiOperation(value = "根据区域获取市县填报时间") @RequestMapping(value = "/obj", method = RequestMethod.GET) public BaseResponse obj() { return buildSuccessResponse(bisInspGroupArrangementTmService.get(AdLevelUtil.getAddvcd(olBisInspOrgService.getProvince(getCurrentOrgId())))); } /** * * @return true 有权限 false 没有权限 */ @ApiOperation(value = "判断山东用户计划添加按钮权限") @RequestMapping(value = "/purview", method = RequestMethod.GET) public BaseResponse purview() { BisInspAllRlationPers byId = bisInspAllRlationPersService.getById(getCurrentPersId()); String planDpId = byId.getPlanDpId(); if (StringUtils.isBlank(planDpId)) { return buildSuccessResponse(Boolean.FALSE); } BisInspPlanDp dp = bisInspPlanDpService.get(planDpId); if (Objects.isNull(dp)) { return buildSuccessResponse(Boolean.FALSE); } //判断是监督处 if (StringUtils.equals(Constant.STRING_TWO, dp.getDpType())) { return buildSuccessResponse(Boolean.TRUE); } return buildSuccessResponse(Boolean.FALSE); } /** * @return true 可以填报 false 不可以填报 */ @ApiOperation(value = "判断当前用户是否市县人员是否超过填报时间") @RequestMapping(value = "/exceed", method = RequestMethod.GET) public BaseResponse exceed() { AttAdBase byAdcode = attAdBaseService.getByAdcode(olBisInspOrgService.getRlProvince(getCurrentOrgId())); //判断是否 市 县 if (StringUtils.equalsAny(byAdcode.getAdGrad(), Constant.STRING_THREE, Constant.STRING_FORE)) { BisInspGroupArrangementTm tm = bisInspGroupArrangementTmService.get(AdLevelUtil.getAddvcd(olBisInspOrgService.getProvince(getCurrentOrgId()))); if (Objects.isNull(tm)) { return buildSuccessResponse(Boolean.FALSE); } Date nowTime = DateUtils.Str2Date(DateUtils.Date2Str(new Date())); Date startTime = DateUtils.Str2Date(DateUtils.Date2Str(tm.getStm())); Date endTime = DateUtils.Str2Date(DateUtils.Date2Str(tm.getEtm())); return buildSuccessResponse(DateUtils.isEffectiveDate(nowTime, startTime, endTime)); } else { return buildSuccessResponse(Boolean.TRUE); } } /** * @return true 是 false 否 */ @ApiOperation(value = "判断当前用户是否市县人员") @RequestMapping(value = "/whetherTheCityOrCounty", method = RequestMethod.GET) public BaseResponse whetherTheCityOrCounty() { return buildSuccessResponse(attAdBaseService.whetherTheCityOrCounty(getCurrentOrgId())); } }