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

366 lines
15 KiB
Java
Raw Normal View History

2024-03-07 11:06:17 +08:00
package com.zcloud.controller.inspectAnnually;
2024-04-28 17:57:47 +08:00
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.excel.util.DateUtils;
2024-03-07 11:06:17 +08:00
import com.zcloud.controller.base.BaseController;
import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;
import com.zcloud.logs.LogAnno;
2024-03-27 18:10:54 +08:00
import com.zcloud.service.freighttrailer.FreightTrailerService;
2024-03-07 11:06:17 +08:00
import com.zcloud.service.inspectAnnually.InspectAnnuallyService;
2024-03-27 18:10:54 +08:00
import com.zcloud.service.operatingvehicles.OperatingVehiclesService;
2024-03-07 11:06:17 +08:00
import com.zcloud.service.system.ImgFilesService;
import com.zcloud.util.DateUtil;
import com.zcloud.util.Jurisdiction;
2024-03-29 13:30:29 +08:00
import com.zcloud.util.ObjectExcelView;
import com.zcloud.util.Tools;
2024-03-28 18:32:23 +08:00
import org.apache.commons.lang.StringUtils;
2024-04-08 18:01:44 +08:00
import org.apache.shiro.util.CollectionUtils;
2024-03-07 11:06:17 +08:00
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;
2024-03-29 13:30:29 +08:00
import org.springframework.web.servlet.ModelAndView;
2024-03-07 11:06:17 +08:00
import javax.xml.crypto.Data;
import java.text.ParseException;
import java.text.SimpleDateFormat;
2024-03-29 13:30:29 +08:00
import java.util.*;
2024-04-08 18:01:44 +08:00
import java.util.stream.Collectors;
2024-04-28 17:57:47 +08:00
import java.util.stream.Stream;
2024-03-07 11:06:17 +08:00
/**
*
*/
@Controller
@RequestMapping("/inspectAnnually")
public class InspectAnnuallyController extends BaseController {
@Autowired
private InspectAnnuallyService inspectAnnuallyService;
@Autowired
private ImgFilesService imgfilesService;
2024-03-27 18:10:54 +08:00
@Autowired
private OperatingVehiclesService operatingVehiclesService;
@Autowired
private FreightTrailerService freightTrailerService;
2024-03-07 11:06:17 +08:00
/**
*
*
* @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
2024-04-17 13:01:53 +08:00
pd.put("CREATORNAME", Jurisdiction.getName()); //添加人
2024-03-07 11:06:17 +08:00
pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间
pd.put("ISDELETE", "0"); //是否删除(0:有效 1删除)
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID
2024-04-03 17:56:58 +08:00
pd.put("ARCHIVES_TYPE", "0"); //档案状态
2024-04-18 17:49:00 +08:00
pd.put("VEHICLE", pd.get("PLATE_NUMBER"));
2024-04-29 17:54:21 +08:00
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);
}
2024-03-07 11:06:17 +08:00
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
2024-04-17 13:01:53 +08:00
pd.put("DELETEORNAME", Jurisdiction.getName()); //删除人
2024-03-07 11:06:17 +08:00
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
2024-04-17 13:01:53 +08:00
pd.put("OPERATORNAME", Jurisdiction.getName()); //修改人
2024-03-07 11:06:17 +08:00
pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
2024-04-29 17:54:21 +08:00
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);
}
2024-03-07 11:06:17 +08:00
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
2024-04-17 13:01:53 +08:00
pd.put("OPERATORNAME", Jurisdiction.getName()); //修改人
2024-03-07 11:06:17 +08:00
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);
2024-04-08 18:01:44 +08:00
List<PageData> varList = inspectAnnuallyService.list(page); //列出年检列表
2024-05-13 18:00:59 +08:00
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");
2024-05-13 18:00:59 +08:00
}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);
}
}
});
2024-03-07 11:06:17 +08:00
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读取
2024-04-28 17:57:47 +08:00
PageData vehicle = new PageData();
2024-04-18 17:49:00 +08:00
if ("1".equals(pd.getString("VEHICLE_MODEL"))) {
2024-04-28 17:57:47 +08:00
vehicle.put("OPERATING_ID", pd.get("VEHICLE"));
vehicle.put("CORPINFO_ID", pd.get("CORPINFO_ID"));
PageData pageData = operatingVehiclesService.findById(vehicle);
2024-04-29 17:54:21 +08:00
pd.put("VEHICLE_BRAND", pageData.get("VEHICLE_BRAND"));
2024-03-27 18:10:54 +08:00
pd.put("VEHICLE_TYPE", pageData.get("VEHICLE_MODEL"));
2024-04-29 17:54:21 +08:00
pd.put("PLATE_NUMBER", pageData.get("PLATE_NUMBER"));
2024-04-18 17:49:00 +08:00
} else {
2024-04-28 17:57:47 +08:00
vehicle.put("FREIGHTTRAILER_ID", pd.get("VEHICLE"));
vehicle.put("CORPINFO_ID", pd.get("CORPINFO_ID"));
PageData pageData = freightTrailerService.findById(vehicle);
2024-03-27 18:10:54 +08:00
pd.put("VEHICLE_BRAND", pageData.get("TRAILER_BRAND"));
pd.put("VEHICLE_TYPE", pageData.get("TRAILER_MODEL"));
}
2024-03-07 11:06:17 +08:00
pd.put("FOREIGN_KEY", pd.getString("INSPECTANNUALLY_ID"));
2024-04-18 17:49:00 +08:00
pd.put("TYPE", 124);
2024-03-07 11:06:17 +08:00
List<PageData> inspectinfoImgs = imgfilesService.listAll(pd);//年检资料图片
map.put("pd", pd);
map.put("inspectinfoImgs", inspectinfoImgs);
map.put("result", errInfo);
return map;
}
2024-03-27 18:10:54 +08:00
@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;
}
2024-04-18 17:49:00 +08:00
/**
* excel
*
2024-03-29 13:30:29 +08:00
* @param
* @throws Exception
*/
2024-04-18 17:49:00 +08:00
@RequestMapping(value = "/excel")
2024-03-29 13:30:29 +08:00
// // @RequiresPermissions("toExcel")
2024-04-18 17:49:00 +08:00
public ModelAndView exportExcel() throws Exception {
2024-03-29 13:30:29 +08:00
ModelAndView mv = new ModelAndView();
PageData pd = new PageData();
pd = this.getPageData();
String DATA_IDS = pd.getString("DATA_IDS");
2024-04-18 17:49:00 +08:00
if (Tools.notEmpty(DATA_IDS)) {
2024-03-29 13:30:29 +08:00
String[] ArrayDATA_IDS = DATA_IDS.split(",");
2024-04-18 17:49:00 +08:00
pd.put("ArrayDATA_IDS", ArrayDATA_IDS);
2024-03-29 13:30:29 +08:00
}
2024-04-18 17:49:00 +08:00
Map<String, Object> dataMap = new HashMap<String, Object>();
2024-03-29 13:30:29 +08:00
List<String> titles = new ArrayList<String>();
2024-04-18 17:49:00 +08:00
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
2024-03-29 13:30:29 +08:00
dataMap.put("titles", titles);
List<PageData> varOList = inspectAnnuallyService.listOut(pd);
List<PageData> varList = new ArrayList<PageData>();
2024-04-18 17:49:00 +08:00
for (int i = 0; i < varOList.size(); i++) {
2024-03-29 13:30:29 +08:00
PageData vpd = new PageData();
2024-04-01 10:46:03 +08:00
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
2024-03-29 13:30:29 +08:00
varList.add(vpd);
}
dataMap.put("varList", varList);
ObjectExcelView erv = new ObjectExcelView();
2024-04-18 17:49:00 +08:00
mv = new ModelAndView(erv, dataMap);
2024-03-29 13:30:29 +08:00
return mv;
}
2024-03-07 11:06:17 +08:00
}