package cn.com.goldenwater.dcproj.controller.offline; import cn.com.goldenwater.core.web.BaseController; import cn.com.goldenwater.core.web.BaseResponse; import cn.com.goldenwater.dcproj.dto.DictDto; import cn.com.goldenwater.dcproj.model.*; import cn.com.goldenwater.dcproj.param.BisInspItemQuesInfoParam; import cn.com.goldenwater.dcproj.param.BisInspItemQuesNumParam; import cn.com.goldenwater.dcproj.param.ObjInspPblmsParam; import cn.com.goldenwater.dcproj.service.*; import cn.com.goldenwater.id.util.UuidUtil; 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.*; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author lhc * @date 2019/11/18 10:17 */ @Api(value = "单个督查对象离线数据上传", tags = "单个督查对象离线数据上传") @RestController @RequestMapping("/bis/insp/off/line") public class BisInspOffLineController extends BaseController { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired BisInspOffLineService bisInspOffLineService; @Autowired private OlBisInspOrgService olBisInspOrgService; @Autowired private ObjInspPblmsService objInspPblmsService; @Autowired private BisInspItemQuesNumService bisInspItemQuesNumService; @Autowired private BisInspItemQuesInfoService bisInspItemQuesInfoService; @ApiOperation(value = "添加离线数据上传") @RequestMapping(value = "/add", method = RequestMethod.POST) public BaseResponse insert(@ApiParam(name = "bisInspOffLine", value = "BisInspOffLine", required = true) @RequestBody BisInspOffLine bisInspOffLine) { String uuid = UuidUtil.uuid(); // 生成uuid bisInspOffLine.setId(uuid); int ret = bisInspOffLineService.insert(bisInspOffLine); return buildSuccessResponse(bisInspOffLine); } @ApiOperation(value = "根据ID删除离线数据上传") @RequestMapping(value = "delete/{id}", method = RequestMethod.POST) public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) { int ret = bisInspOffLineService.delete(id); return buildSuccessResponse(); } @ApiOperation(value = "更新离线数据上传信息") @RequestMapping(value = "/update", method = RequestMethod.POST) public BaseResponse update(@ApiParam(name = "bisInspOffLine", value = "BisInspOffLine", required = true) @RequestBody BisInspOffLine bisInspOffLine) { Assert.notNull(bisInspOffLine.getId(), "主键id为必填参数"); int ret = bisInspOffLineService.update(bisInspOffLine); return buildSuccessResponse(bisInspOffLine); } @ApiOperation(value = "根据ID获取离线数据上传(单表)") @RequestMapping(value = "/{id}", method = RequestMethod.GET) public BaseResponse get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) { BisInspOffLine bisInspOffLine = bisInspOffLineService.get(id); return buildSuccessResponse(bisInspOffLine); } @ApiOperation(value = "单个督查对象离线数据上传") @RequestMapping(value = "uploadOffLine/", method = RequestMethod.POST) public BaseResponse uploadOffLine(@RequestParam("file") MultipartFile file, BisInspOffLine bisInspOffLine) throws IOException, ClassNotFoundException { bisInspOffLine.setOrgId(getCurrentOrgId()); bisInspOffLine.setProvince(olBisInspOrgService.getProvince(bisInspOffLine.getOrgId())); if (bisInspOffLine.getGroupId() != null && bisInspOffLine.getPtype() != null && bisInspOffLine.getPersId() != null) { return buildSuccessResponse(bisInspOffLineService.uploadOffLine(file, bisInspOffLine)); } else { return buildFailResponse("缺少 组ID 或 类型 或上传人ID"); } } @ApiOperation(value = "单个督查对象关联基础信息") @RequestMapping(value = "offLineRation/", method = RequestMethod.POST) public BaseResponse offLineRlation(BisInspOffLine bisInspOffLine) { return buildSuccessResponse(bisInspOffLineService.offLineRlation(bisInspOffLine)); } @ApiOperation(value = "问题标准下载") @RequestMapping(value = "/downloadAll/{version}", method = RequestMethod.GET) public BaseResponse downloadAll(@PathVariable(required = true) String version) { DictDto dictDto=objInspPblmsService.findLastVersion("bzversion"); int inputVersion=Integer.parseInt(version); int nowVersion=Integer.parseInt(dictDto.getValue()); if(inputVersion>=nowVersion){ return buildSuccessResponse(nowVersion,"当前版本已是最新,无需下载"); } Map bzmap=new HashMap<>(); List objInspPblmsList=objInspPblmsService.findList(null); List bisInspItemQuesNums=bisInspItemQuesNumService.findList(null); List bisInspItemQuesInfos=bisInspItemQuesInfoService.findList(null); bzmap.put("code",nowVersion); bzmap.put("objInspPblmsList",objInspPblmsList); bzmap.put("bisInspItemQuesNumList",bisInspItemQuesNums); bzmap.put("bisInspItemQuesInfoList",bisInspItemQuesInfos); return buildSuccessResponse(nowVersion,"下载成功",bzmap); } @ApiOperation(value = "问题标准下载") @RequestMapping(value = "/download/{type}", method = RequestMethod.GET) public BaseResponse download(@PathVariable(required = true) String type) { Map bzmap=new HashMap<>(); OlBisInspOrg olBisInspOrg=olBisInspOrgService.get(getCurrentOrgId()); String orgId=""; if("1".equals(type)&& "1".equals(olBisInspOrg.getPblmLogo())){ orgId=olBisInspOrg.getOrgId(); } ObjInspPblmsParam inspPblmsParam=new ObjInspPblmsParam(); inspPblmsParam.setOrgId(orgId); inspPblmsParam.setType(type); List objInspPblmsList=objInspPblmsService.findList(inspPblmsParam); if(objInspPblmsList==null){ objInspPblmsList=new ArrayList<>(); } BisInspItemQuesNumParam inspItemQuesNumParam=new BisInspItemQuesNumParam(); inspItemQuesNumParam.setQuesSnOrg(orgId); List bisInspItemQuesNums=bisInspItemQuesNumService.findList(inspItemQuesNumParam); if(bisInspItemQuesNums==null){ bisInspItemQuesNums=new ArrayList<>(); } BisInspItemQuesInfoParam inspItemQuesInfoParam=new BisInspItemQuesInfoParam(); inspItemQuesInfoParam.setType(type); List bisInspItemQuesInfos=bisInspItemQuesInfoService.findList(inspItemQuesInfoParam); if(bisInspItemQuesInfos==null){ bisInspItemQuesInfos=new ArrayList<>(); } bzmap.put("objInspPblmsList",objInspPblmsList); bzmap.put("bisInspItemQuesNumList",bisInspItemQuesNums); bzmap.put("bisInspItemQuesInfoList",bisInspItemQuesInfos); return buildSuccessResponse(bzmap); } }