智慧保安后台管理-外网项目备份
src/main/java/org/springblade/modules/equipage/controller/CarController.java
@@ -1,18 +1,36 @@
package org.springblade.modules.equipage.controller;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.apache.commons.codec.Charsets;
import org.springblade.common.excel.RowWriteHandler;
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.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.equipage.entity.Car;
import org.springblade.modules.equipage.excel.CarExcel;
import org.springblade.modules.equipage.excel.CarImporter;
import org.springblade.modules.equipage.service.CarService;
import org.springblade.modules.equipage.vo.CarVo;
import org.springblade.modules.system.service.MyAsyncService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * @author zhongrj
@@ -25,11 +43,13 @@
public class CarController {
   private final CarService carService;
   private final MyAsyncService myAsyncService;
   /**
    * 自定义分页
    *
    * @param query page,size
    * @param car 车辆信息对象
    * @param car   车辆信息对象
    */
   @GetMapping("/page")
   public R<IPage<CarVo>> page(CarVo car, Query query) {
@@ -39,6 +59,7 @@
   /**
    * 新增
    *
    * @param car 车辆信息对象
    */
   @PostMapping("/save")
@@ -49,6 +70,7 @@
   /**
    * 修改
    *
    * @param car 车辆信息对象
    */
   @PostMapping("/update")
@@ -58,29 +80,81 @@
   /**
    * 新增或修改
    *
    * @param car 车辆信息对象
    */
   @PostMapping("/submit")
   public R submit(@RequestBody Car car) throws Exception {
      /*if (car.getId()==null){
         arg arg = new arg();
         arg.test01(arg.url+"/car/save",car);
      }*/
      return R.status(carService.saveOrUpdate(car));
      boolean status = false;
      if (null == car.getId()) {
         car.setDateForProduction(new Date());
         //新增
         status = carService.save(car);
         if (status) {
            //数据同步
            String s1 =
               "insert into sys_car(id,car_number,number_type,car_type,dept_id," +
                  "person_in_charge,brand,date_for_production,umweltsatz,mode,jurisdiction) " +
                  "values(" + "'" + car.getId() + "'" + "," +
                  "'" + car.getCarNumber() + "'" + "," +
                  "'" + car.getNumberType() + "'" + "," +
                  "'" + car.getCarType() + "'" + "," +
                  "'" + car.getDeptId() + "'" + "," +
                  "'" + car.getPersonInCharge() + "'" + "," +
                  "'" + car.getBrand() + "'" + "," +
                  "'" + new SimpleDateFormat("yyyy-MM-dd").format(car.getDateForProduction()) + "'" + "," +
                  "'" + car.getUmweltsatz() + "'" + "," +
                  "'" + car.getMode() + "'" + "," +
                  "'" + car.getJurisdiction() + "'" + ")";
            //FtpUtil.sqlFileUpload(s1);
            myAsyncService.dataSync(s1);
         }
      } else {
         //修改
         status = carService.updateById(car);
         if (status) {
            //内网同步
            String s1 =
               "update sys_car set car_number = " + "'" + car.getCarNumber() + "'" +
                  ",number_type = " + "'" + car.getNumberType() + "'" +
                  ",car_type = " + "'" + car.getCarType() + "'" +
                  ",dept_id = " + "'" + car.getDeptId() + "'" +
                  ",person_in_charge = " + "'" + car.getJurisdiction() + "'" +
                  ",brand = " + "'" + car.getBrand() + "'" +
                  ",date_for_production = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(car.getDateForProduction()) + "'" +
                  ",umweltsatz = " + "'" + car.getUmweltsatz() + "'" +
                  ",mode = " + "'" + car.getMode() + "'" +
                  ",jurisdiction = " + "'" + car.getJurisdiction() + "'" +
                  " " + "where id = " + "'" + car.getId() + "'";
            //FtpUtil.sqlFileUpload(s1);
            myAsyncService.dataSync(s1);
         }
      }
      return R.status(status);
   }
   /**
    * 删除
    *
    * @param ids 车辆信息ids 数组
    */
   @PostMapping("/remove")
   public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
      //arg.sendPostRemoveByIds(arg.url+"/car/remove",ids);
      //内网删除
      List<Long> list = Func.toLongList(ids);
      list.forEach(id -> {
         //内网同步
         String s1 = "delete from sys_car where id = " + "'" + id + "'";
         //FtpUtil.sqlFileUpload(s1);
         myAsyncService.dataSync(s1);
      });
      return R.status(carService.removeByIds(Func.toLongList(ids)));
   }
   /**
    * 详情
    *
    * @param car 车辆信息对象
    */
   @GetMapping("/detail")
@@ -90,4 +164,43 @@
      return R.data(detail);
   }
   /**
    * 导入车辆信息, excel
    */
   @PostMapping("import-car")
   public R importCar(MultipartFile file, Integer isCovered, String deptId) {
      CarImporter carImporter = new CarImporter(carService, false, deptId);
      ExcelUtil.save(file, carImporter, CarExcel.class);
      return R.success("操作成功");
   }
   /**
    * 车辆导出模板
    */
   @GetMapping("export-template-car")
   @ApiOperation(value = "导出模板")
   public void exportSecurity(HttpServletResponse response) throws IOException {
      List<CarExcel> list = new ArrayList<>();
      CarExcel carExcel1 = new CarExcel();
      carExcel1.setDeptId("xxx保安公司");
      carExcel1.setBrand("****");
      carExcel1.setCarNumber("赣A415225");
      carExcel1.setMode("X54512545");
      carExcel1.setPersonInCharge("张三");
      carExcel1.setUmweltsatz("国IV");
      list.add(carExcel1);
      String fileName = null;
      try {
         response.setContentType("application/vnd.ms-excel");
         response.setCharacterEncoding(org.apache.commons.codec.Charsets.UTF_8.name());
         fileName = URLEncoder.encode("车辆导入数据模板" + DateUtil.time(), Charsets.UTF_8.name());
         response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
         //修改单元格格式为文本格式
         EasyExcel.write(response.getOutputStream(), CarExcel.class).sheet("车辆数据表").registerWriteHandler(new RowWriteHandler()).doWrite(list);
      } catch (Throwable var6) {
         throw var6;
      }
   }
}