package com.steerinfo.ems.tmaintenance.controller; import com.steerinfo.auth.utils.JwtUtil; import com.steerinfo.ems.Utils.DateUtils; import com.steerinfo.ems.tmaintenancefile.model.TMaintenanceFile; import com.steerinfo.ems.tmaintenancefile.service.ITMaintenanceFileService; import com.steerinfo.ems.tsubmitted.model.TSubmitted; import com.steerinfo.framework.controller.BaseRESTfulController; import com.steerinfo.framework.controller.RESTfulResult; import com.steerinfo.framework.service.pagehelper.PageList; import com.steerinfo.framework.utils.collection.ListUtils; import com.steerinfo.ems.tmaintenance.model.TMaintenance; import com.steerinfo.ems.tmaintenance.service.ITMaintenanceService; import com.steerinfo.ftp.uploadfile.utils.FtpFileUtil; import com.steerinfo.ftp.uploadfile.utils.IDutils; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.*; import java.math.BigDecimal; import java.util.stream.Collectors; /** * TMaintenance RESTful接口: * @author generator * @version 1.0-SNAPSHORT 2022-06-09 09:13 * 类描述 * 修订历史: * 日期:2022-06-09 * 作者:generator * 参考: * 描述:TMaintenance RESTful接口 * @see null * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved. */ @RestController @RequestMapping("/${api.version}/tmaintenances") public class TMaintenanceController extends BaseRESTfulController { /** 文件保存路径 */ public static final String FILE_DIR = "/static/"; @Autowired ITMaintenanceService tMaintenanceService; @Autowired private FtpFileUtil ftpFileUtil; @Autowired ITMaintenanceFileService tMaintenanceFileService; @ApiOperation(value="获取列表", notes="分页查询") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer") }) //@RequiresPermissions("tmaintenance:view") @GetMapping(value = "/") public RESTfulResult list(@RequestParam HashMap parmas,Integer pageNum, Integer pageSize){ PageList list = tMaintenanceService.queryForPage(parmas, pageNum, pageSize); return success(list); } @ApiOperation(value="获取列表", notes="分页模糊查询") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer") }) @GetMapping(value = "/like/") public RESTfulResult listLike(@RequestParam HashMap parmas,Integer pageNum, Integer pageSize){ PageList list = tMaintenanceService.queryLikeForPage(parmas, pageNum, pageSize); return success(list); } @ApiOperation(value="创建", notes="根据TMaintenance对象创建") @ApiImplicitParam(name = "tMaintenance", value = "详细实体tMaintenance", required = true, dataType = "TMaintenance") //@RequiresPermissions("tmaintenance:create") @PostMapping(value = "/") public RESTfulResult add(@ModelAttribute TMaintenance model){ TMaintenance tMaintenance = tMaintenanceService.add(model); return success(tMaintenance); } @ApiOperation(value="获取详细信息", notes="根据url的id来获取详细信息") @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String") //@RequiresPermissions("tmaintenance:view") @GetMapping(value = "/{id}") public RESTfulResult get(@PathVariable String id){ TMaintenance tMaintenance = tMaintenanceService.getById(id); return success(tMaintenance); } @ApiOperation(value="更新详细信息", notes="根据url的id来指定更新对象,并根据传过来的tMaintenance信息来更新详细信息") @ApiImplicitParams({ @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String"), @ApiImplicitParam(name = "tMaintenance", value = "详细实体tMaintenance", required = true, dataType = "TMaintenance") }) //@RequiresPermissions("tmaintenance:update") @PutMapping(value = "/{id}", produces = "application/json;charset=UTF-8") public RESTfulResult update(@PathVariable String id, @RequestBody TMaintenance model){ model.setId(id); TMaintenance tMaintenance = tMaintenanceService.modify(model); return success(tMaintenance); } @ApiOperation(value="删除", notes="根据url的id来指定删除对象") @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String") //@RequiresPermissions("tmaintenance:delete") @DeleteMapping(value = "/{id}")//String public RESTfulResult delete(@PathVariable String id){ List list = Arrays.asList(id.split(",")); if(ListUtils.isNotEmpty(list)) { List ids = ListUtils.convertList(list); tMaintenanceService.delete(ids); } return success(); } @ApiOperation(value = "创建", notes = "根据TMaintenance对象创建") @ApiImplicitParam(name = "tMaintenance", value = "详细实体tMaintenance", required = true, dataType = "TMaintenance") //@RequiresPermissions("tmaintenance:create") @PostMapping(value = "/addone") public RESTfulResult addone(@ModelAttribute TMaintenance model) { //丛前端获取申报日期,利用SimpleDateFormat类转换为字符串 String declaretime = model.getDeclaretime(); //将转换为字符串的日期进行截取,截取出月和日 String mouth = declaretime.substring(5, 7); String day = declaretime.substring(8, 10); Integer maxid = tMaintenanceService.MaxID(mouth); String id = model.getDeclareid() + mouth + "_" + day + "_" + maxid; model.setRecord(maxid); model.setDeclareid(id); TMaintenance tMaintenance = tMaintenanceService.add(model); return success(tMaintenance); } //查出所有数据 @GetMapping("/getAll") public RESTfulResult getall() { List tMaintenance = tMaintenanceService.selectAll(); return success(tMaintenance); } //逻辑删除 @PutMapping(value = "/del/{ids}") public RESTfulResult delectMes(@PathVariable String[] ids) { String dateid = DateUtils.getCurrentTime("yyyy-MM-dd HH:mm:ss"); int count = 0; for (int i = 0; i < ids.length; i++) { count = tMaintenanceService.deleMes(ids[i], dateid); } return success(count, "本次共删除" + count + "条数据"); } //取消提交 @PutMapping(value = "/updatecheck/{ids}") public RESTfulResult updatecheck(@PathVariable String[] ids) { String dateid = DateUtils.getCurrentTime("yyyy-MM-dd HH:mm:ss"); int count = 0; for (int i = 0; i < ids.length; i++) { count = tMaintenanceService.updatecheck(ids[i]); } return success(count, "本次共删除" + count + "条数据"); } //修改 @PutMapping(value = "/pus/") public RESTfulResult putMes(@ModelAttribute MultipartFile[] file, TMaintenance model, String del) { String datetime = DateUtils.getCurrentTime("yyyy-MM-dd HH:mm:ss"); if (model == null) { return failed(null, "参数错误!"); } TMaintenance tMaintenance = new TMaintenance(); String bid = model.getDeclareid(); model.setChargetime(datetime); tMaintenanceService.modify(model); String filesid = ""; if (file!=null){ for (int i = 0; i tMaintenance = tMaintenanceService.queryLike(parameters); return success(tMaintenance); } //批量 // @PutMapping(value = "/pusAll") // public RESTfulResult pusAll( String[] declareid,String billstatus) { // for (int i = 0; i list = tMaintenanceService.listLikeapproval(parmas, pageNum, pageSize); return success(list); } //审批分类查询 @GetMapping(value = "/likeapprovals/") public RESTfulResult listLikeapprovals(@RequestParam HashMap parmas, Integer pageNum, Integer pageSize) { PageList list = tMaintenanceService.listLikeapprovals(parmas, pageNum, pageSize); return success(list); } @PutMapping(value = "/pusAlla") public RESTfulResult pusAlla(@RequestBody TMaintenance[]params) { String datetime = DateUtils.getCurrentTime("yyyy-MM-dd"); for (int i = 0; i list = tMaintenanceService.approval(parmas, pageNum, pageSize); return success(list); } //根据报工状态改变审核单状态 @PostMapping("/upstate/") public RESTfulResult upstate(@RequestParam HashMap tSubmitted){ TMaintenance tMaintenance = new TMaintenance(); String declareid= tSubmitted.get("declareid"); String state = tSubmitted.get("state"); tMaintenance.setDeclareid(declareid); tMaintenance.setBillstatus(state); Integer count = tMaintenanceService.upstate(tMaintenance); return success(count); } //下载附件 @RequestMapping(value = "/downloadFile") public void downloadFile(@RequestParam("fileUrl") String path, @RequestParam("fileName") String fileName, HttpServletResponse response) { try { boolean result = ftpFileUtil.download(response, fileName, path); if (!result) { //logger.error("下载文件<" + fileName + ">失败,文件不存在"); response.sendError(HttpServletResponse.SC_NOT_FOUND, "下载文件失败,文件目录不存在或文件不存在。"); } } catch (Exception e) { //logg.error("下载文件<" + fileName + ">失败", e); } } }