forked from integrated_whb/integrated_whb
366 lines
15 KiB
Java
366 lines
15 KiB
Java
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;
|
||
}
|
||
|
||
|
||
}
|