integrated_traffic/src/main/java/com/zcloud/controller/inspectAnnually/InspectAnnuallyController.java

366 lines
15 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.zcloud.controller.inspectAnnually;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.excel.util.DateUtils;
import com.zcloud.controller.base.BaseController;
import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;
import com.zcloud.logs.LogAnno;
import com.zcloud.service.freighttrailer.FreightTrailerService;
import com.zcloud.service.inspectAnnually.InspectAnnuallyService;
import com.zcloud.service.operatingvehicles.OperatingVehiclesService;
import com.zcloud.service.system.ImgFilesService;
import com.zcloud.util.DateUtil;
import com.zcloud.util.Jurisdiction;
import com.zcloud.util.ObjectExcelView;
import com.zcloud.util.Tools;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.util.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import javax.xml.crypto.Data;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 年检管理
*/
@Controller
@RequestMapping("/inspectAnnually")
public class InspectAnnuallyController extends BaseController {
@Autowired
private InspectAnnuallyService inspectAnnuallyService;
@Autowired
private ImgFilesService imgfilesService;
@Autowired
private OperatingVehiclesService operatingVehiclesService;
@Autowired
private FreightTrailerService freightTrailerService;
/**
* 新增
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/add")
// @RequiresPermissions( value = {"question:add" , "courseware:add"}, logical = Logical.OR)
@ResponseBody
@LogAnno(menuType = "机务档案", menuServer = "年检管理", instructionsOperate = "年检管理", instructionsType = "新增")
public Object add() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("INSPECTANNUALLY_ID", this.get32UUID()); //主键
pd.put("CREATOR", Jurisdiction.getUSER_ID()); //添加人id
pd.put("CREATORNAME", Jurisdiction.getName()); //添加人
pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间
pd.put("ISDELETE", "0"); //是否删除(0:有效 1删除)
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID
pd.put("ARCHIVES_TYPE", "0"); //档案状态
pd.put("VEHICLE", pd.get("PLATE_NUMBER"));
if(DateUtil.compareDate(pd.getString("DUE_DATE"),DateUtil.getDay()) && DateUtil.compareDate(DateUtil.getDay(),pd.getString("REMINDER_DATE"))) {
pd.put("REVERT", 2);
} else if (DateUtil.compareDate(DateUtil.getDay(),pd.getString("DUE_DATE"))) {
pd.put("REVERT", 0);
} else if (DateUtil.compareDate(pd.getString("DUE_DATE"),DateUtil.getDay())) {
pd.put("REVERT", 1);
}
inspectAnnuallyService.save(pd);
map.put("pd", pd);
map.put("result", errInfo);
return map;
}
/**
* 删除
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/delete")
// @RequiresPermissions( value = {"question:del" , "courseware:del"}, logical = Logical.OR)
@ResponseBody
@LogAnno(menuType = "机务档案", menuServer = "年检管理", instructionsOperate = "年检管理", instructionsType = "删除")
public Object delete() throws Exception {
Map<String, String> map = new HashMap<String, String>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("DELETEOR", Jurisdiction.getUSER_ID()); //删除人id
pd.put("DELETEORNAME", Jurisdiction.getName()); //删除人
pd.put("DELETTIME", DateUtil.date2Str(new Date())); //删除时间
inspectAnnuallyService.delete(pd);
map.put("result", errInfo); //返回结果
return map;
}
/**
* 修改
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/edit")
// @RequiresPermissions( value = {"question:edit" , "courseware:edit"}, logical = Logical.OR)
@ResponseBody
@LogAnno(menuType = "机务档案", menuServer = "年检管理", instructionsOperate = "年检管理", instructionsType = "修改")
public Object edit() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("OPERATOR", Jurisdiction.getUSER_ID()); //修改人id
pd.put("OPERATORNAME", Jurisdiction.getName()); //修改人
pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
if(DateUtil.compareDate(pd.getString("DUE_DATE"),DateUtil.getDay()) && DateUtil.compareDate(DateUtil.getDay(),pd.getString("REMINDER_DATE"))) {
pd.put("REVERT", 2);
} else if (DateUtil.compareDate(DateUtil.getDay(),pd.getString("DUE_DATE"))) {
pd.put("REVERT", 0);
} else if (DateUtil.compareDate(pd.getString("DUE_DATE"),DateUtil.getDay())) {
pd.put("REVERT", 1);
}
inspectAnnuallyService.edit(pd);
map.put("pd", pd);
map.put("result", errInfo);
return map;
}
/**
* 修改
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/edit2")
// @RequiresPermissions( value = {"question:edit" , "courseware:edit"}, logical = Logical.OR)
@ResponseBody
@LogAnno(menuType = "机务档案", menuServer = "年检管理", instructionsOperate = "年检管理", instructionsType = "修改")
public Object edit2() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("OPERATOR", Jurisdiction.getUSER_ID()); //修改人id
pd.put("OPERATORNAME", Jurisdiction.getName()); //修改人
pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
inspectAnnuallyService.edit2(pd);
map.put("pd", pd);
map.put("result", errInfo);
return map;
}
/**
* 列表
*
* @param page
* @throws Exception
*/
@RequestMapping(value = "/list")
// @RequiresPermissions( value = {"question:list" , "courseware:list"}, logical = Logical.OR)
@ResponseBody
@LogAnno(menuType = "机务档案", menuServer = "年检管理", instructionsOperate = "年检管理", instructionsType = "列表")
public Object list(Page page) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID
page.setPd(pd);
List<PageData> varList = inspectAnnuallyService.list(page); //列出年检列表
System.out.println("varList = " + varList);
varList.stream().anyMatch(data -> {
if ("1".equals(data.getString("OPEAR_ISSCRAP")) || "1".equals(data.getString("FREIGHT_ISSCRAP"))) {
data.put("ARCHIVES_TYPE", "2");
} else if ("1".equals(data.getString("OPEAR_ISASSIGNED")) || "1".equals(data.getString("FREIGHT_ISASSIGNED"))) {
data.put("ARCHIVES_TYPE", "1");
}else{
data.put("ARCHIVES_TYPE", "0");
}
return false;
});
varList.forEach(data -> {
Date dueDate = DateUtil.fomatDate(data.getString("DUE_DATE"));
Date reminderDate = DateUtil.fomatDate(data.getString("REMINDER_DATE"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String toDay = sdf.format(new Date());
Date date = null;
try {
date = sdf.parse(toDay);
} catch (ParseException e) {
throw new RuntimeException(e);
}
// 已到期
if(dueDate.before(date)) {
data.put("REVERT", "0");
try {
inspectAnnuallyService.edit(data);
} catch (Exception e) {
throw new RuntimeException(e);
}
// 即将到期
} else if ((dueDate.after(date) || dueDate.equals(date)) && (reminderDate.before(date) || reminderDate.equals(date))) {
data.put("REVERT", "2");
try {
inspectAnnuallyService.edit(data);
} catch (Exception e) {
throw new RuntimeException(e);
}
// 未到期
}else{
data.put("REVERT", "1");
try {
inspectAnnuallyService.edit(data);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
});
map.put("varList", varList);
map.put("page", page);
map.put("result", errInfo);
return map;
}
/**
* 去修改页面获取数据
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/goEdit")
// @RequiresPermissions( value = {"question:edit" , "courseware:edit"}, logical = Logical.OR)
@ResponseBody
@LogAnno(menuType = "机务档案", menuServer = "年检管理", instructionsOperate = "年检管理", instructionsType = "去修改页面获取数据")
public Object goEdit() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd = inspectAnnuallyService.findById(pd); //根据ID读取
PageData vehicle = new PageData();
if ("1".equals(pd.getString("VEHICLE_MODEL"))) {
vehicle.put("OPERATING_ID", pd.get("VEHICLE"));
vehicle.put("CORPINFO_ID", pd.get("CORPINFO_ID"));
PageData pageData = operatingVehiclesService.findById(vehicle);
pd.put("VEHICLE_BRAND", pageData.get("VEHICLE_BRAND"));
pd.put("VEHICLE_TYPE", pageData.get("VEHICLE_MODEL"));
pd.put("PLATE_NUMBER", pageData.get("PLATE_NUMBER"));
} else {
vehicle.put("FREIGHTTRAILER_ID", pd.get("VEHICLE"));
vehicle.put("CORPINFO_ID", pd.get("CORPINFO_ID"));
PageData pageData = freightTrailerService.findById(vehicle);
pd.put("VEHICLE_BRAND", pageData.get("TRAILER_BRAND"));
pd.put("VEHICLE_TYPE", pageData.get("TRAILER_MODEL"));
}
pd.put("FOREIGN_KEY", pd.getString("INSPECTANNUALLY_ID"));
pd.put("TYPE", 124);
List<PageData> inspectinfoImgs = imgfilesService.listAll(pd);//年检资料图片
map.put("pd", pd);
map.put("inspectinfoImgs", inspectinfoImgs);
map.put("result", errInfo);
return map;
}
@RequestMapping(value = "/annuallyList")
// @RequiresPermissions( value = {"question:list" , "courseware:list"}, logical = Logical.OR)
@ResponseBody
@LogAnno(menuType = "机务档案", menuServer = "年检管理", instructionsOperate = "年检管理", instructionsType = "列表")
public Object annuallyList(Page page) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID
page.setPd(pd);
List<PageData> varList = inspectAnnuallyService.annuallyList(page); //列出Question列表
map.put("varList", varList);
map.put("page", page);
map.put("result", errInfo);
return map;
}
/**
* 导出到excel
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/excel")
// // @RequiresPermissions("toExcel")
public ModelAndView exportExcel() throws Exception {
ModelAndView mv = new ModelAndView();
PageData pd = new PageData();
pd = this.getPageData();
String DATA_IDS = pd.getString("DATA_IDS");
if (Tools.notEmpty(DATA_IDS)) {
String[] ArrayDATA_IDS = DATA_IDS.split(",");
pd.put("ArrayDATA_IDS", ArrayDATA_IDS);
}
Map<String, Object> dataMap = new HashMap<String, Object>();
List<String> titles = new ArrayList<String>();
titles.add("自编号"); //1
titles.add("年检车辆"); //2
titles.add("车辆品牌"); //3
titles.add("年检车型"); //4
titles.add("车主业户"); //5
titles.add("联系电话"); //6
titles.add("登记人"); //7
titles.add("办理日期"); //8
titles.add("年检周期"); //9
titles.add("到期日期"); //10
titles.add("年检费用"); //11
titles.add("实收费用"); //12
titles.add("年检地址"); //13
titles.add("提醒天数"); //14
titles.add("提醒日期"); //15
titles.add("年检资料"); //16
titles.add("备注"); //17
dataMap.put("titles", titles);
List<PageData> varOList = inspectAnnuallyService.listOut(pd);
List<PageData> varList = new ArrayList<PageData>();
for (int i = 0; i < varOList.size(); i++) {
PageData vpd = new PageData();
vpd.put("var1", varOList.get(i).getString("NUM"));//1
vpd.put("var2", varOList.get(i).getString("VEHICLE"));//2
vpd.put("var3", varOList.get(i).getString("VEHICLE_BRAND"));//3
vpd.put("var4", varOList.get(i).getString("VEHICLE_MODEL"));//4
vpd.put("var5", varOList.get(i).getString("CAR_OWNERS"));//5
vpd.put("var6", varOList.get(i).getString("TELEPHONE"));//6
vpd.put("var7", varOList.get(i).getString("REGISTRANT"));//7
vpd.put("var8", varOList.get(i).getString("PROCESSING_DATE"));//8
vpd.put("var9", varOList.get(i).getString("ANNUAL_INSPECTION_CYCLE"));//9
vpd.put("var10", varOList.get(i).getString("DUE_DATE"));//10
vpd.put("var11", varOList.get(i).getString("INSPECTFEES"));//11
vpd.put("var12", varOList.get(i).getString("ACTUAL_COLLECTION"));//12
vpd.put("var13", varOList.get(i).getString("ADDRESS"));//13
vpd.put("var14", varOList.get(i).getString("REMINDER_DAYS"));//14
vpd.put("var15", varOList.get(i).getString("REMINDER_DATE"));//15
vpd.put("var16", varOList.get(i).getString("INSPECTINFO"));//16
vpd.put("var17", varOList.get(i).getString("NOTES"));//17
varList.add(vpd);
}
dataMap.put("varList", varList);
ObjectExcelView erv = new ObjectExcelView();
mv = new ModelAndView(erv, dataMap);
return mv;
}
}