package org.springblade.modules.equipage.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.common.utils.arg; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.modules.FTP.FtpUtil; import org.springblade.modules.equipage.entity.Equipage; import org.springblade.modules.equipage.excel.EquipageExcel; import org.springblade.modules.equipage.excel.EquipageImporter; import org.springblade.modules.equipage.service.EquipageService; import org.springblade.modules.equipage.vo.EquipageVo; import org.springblade.modules.exam.excel.ExamScoreExcel; import org.springblade.modules.exam.excel.ExamScoreImporter; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @author zhongrj * @time 2021-07-06 * @desc 装备管理控制层 */ @RestController @AllArgsConstructor @RequestMapping("/equipage") public class EquipageController { private final EquipageService equipageService; /** * 自定义分页 * @param query page,size * @param equipage 装备信息对象 */ @GetMapping("/page") public R> page(EquipageVo equipage, Query query) { IPage pages = equipageService.selectEquipagePage(Condition.getPage(query), equipage); return R.data(pages); } /** * 新增 * @param equipage 装备信息对象 */ @PostMapping("/save") @ApiOperation(value = "新增", notes = "传入equipage") public R save(@RequestBody Equipage equipage) { return R.status(equipageService.save(equipage)); } /** * 修改 * @param equipage 装备信息对象 */ @PostMapping("/update") public R update(@RequestBody Equipage equipage) { return R.status(equipageService.updateById(equipage)); } /** * 新增或修改 * @param equipage 装备信息对象 */ @PostMapping("/submit") public R submit(@RequestBody Equipage equipage){ boolean status = false; if (equipage.getId()==null){ //新增 status = equipageService.save(equipage); //数据推送 String s1 = "insert into sys_equipage(id,name,number,specifications,mode,dept_id,brand,date_for_production,jurisdiction,user_id,num,purchase_time,type) " + "values(" + "'" + equipage.getId() + "'" + "," + "'" + equipage.getName() + "'" + "," + "'" + equipage.getNumber() + "'" + "," + "'" + equipage.getSpecifications() + "'" + "," + "'" + equipage.getMode() + "'" + "," + "'" + equipage.getDeptId() + "'" + "," + "'" + equipage.getBrand() + "'" + "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(equipage.getDateForProduction()) + "'" + "," + "'" + equipage.getJurisdiction() + "'" + "," + "'" + equipage.getUserId() + "'" + "," + "'" + equipage.getNum() + "'" + "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(equipage.getPurchaseTime()) + "'" + "," + "'" +equipage.getType() + "'" + ")"; FtpUtil.sqlFileUpload(s1); }else { //修改 status = equipageService.updateById(equipage); //内网同步 String s1 = "update sys_equipage set name = " + "'" + equipage.getName() + "'" + ",number = " + "'" + equipage.getDeptId() + "'" + ",specifications = " + "'" + equipage.getSpecifications() + "'" + ",mode = " + "'" + equipage.getMode() + "'" + ",dept_id = " + "'" + equipage.getDeptId() + "'" + ",brand = " + "'" + equipage.getBrand() + "'" + ",date_for_production = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(equipage.getDateForProduction()) + "'" + ",jurisdiction = " + "'" + equipage.getJurisdiction() + "'" + ",user_id = " + "'" + equipage.getUserId() + "'" + ",num = " + "'" + equipage.getNum() + "'" + ",purchase_time = " + "'" + equipage.getPurchaseTime() + "'" + ",type = " + "'" + equipage.getType() + "'" + " " +"where id = " + "'" + equipage.getId() + "'"; FtpUtil.sqlFileUpload(s1); } return R.status(status); } /** * 删除 * @param ids 装备信息ids 数组 */ @PostMapping("/remove") public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) { //内网删除 List list = Func.toLongList(ids); list.forEach(id ->{ //内网同步 String s1 = "delete from sys_equipage where id = " + "'" + id + "'"; FtpUtil.sqlFileUpload(s1); }); return R.status(equipageService.removeByIds(Func.toLongList(ids))); } /** * 详情 * @param equipage 装备信息对象 */ @GetMapping("/detail") @ApiOperation(value = "详情", notes = "传入equipage") public R detail(Equipage equipage) { EquipageVo detail = equipageService.selectEquipageInfo(equipage); return R.data(detail); } /** * 导入装备数据 * @param isCovered 1 覆盖 0不覆盖 * @return */ @PostMapping("import-equipage") @ApiOperation(value = "导入装备数据", notes = "传入excel") public R importExamScore(MultipartFile file, Integer isCovered) { EquipageImporter equipageImporter = new EquipageImporter(equipageService, false); ExcelUtil.save(file, equipageImporter, EquipageExcel.class); return R.success("操作成功"); } /** * 导出模板 */ @GetMapping("export-template") @ApiOperation(value = "导出模板") public void exportEquipage(HttpServletResponse response) { List list = new ArrayList<>(); EquipageExcel equipage = new EquipageExcel(); equipage.setDeptName("***保安公司"); equipage.setName("安全帽"); equipage.setMode("S10"); equipage.setNum(100); equipage.setPersonInCharge("张三"); equipage.setBrand("***有限公司"); equipage.setDateForProduction("2021/05/01"); list.add(equipage); ExcelUtil.export(response, "装备导入数据模板", "装备导入数据表", list, EquipageExcel.class); } }