Compare commits

...

2 Commits

Author SHA1 Message Date
xiepeng d6a122c369 Merge remote-tracking branch 'origin/dev' into dev 2024-04-01 10:46:13 +08:00
xiepeng c9e097caaa BUG优化 2024-04-01 10:46:03 +08:00
11 changed files with 239 additions and 48 deletions

View File

@ -245,43 +245,45 @@ public class InspectAnnuallyController extends BaseController {
}
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("自编号"); //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("VEHICLE"));//1
vpd.put("var2", varOList.get(i).getString("FRAMES_NUMBER"));//2
//vpd.put("var3", varOList.get(i).getString("VEHICLE_BODY_NUMBER"));//3
vpd.put("var4", varOList.get(i).getString("VEHICLE_TYPE"));//4
vpd.put("var5", varOList.get(i).getString("OPERATING_CERTIFICATE"));//5
vpd.put("var6", varOList.get(i).getString("BELONGING_DEPARTMENT"));//6
vpd.put("var7", varOList.get(i).getString("VEHICLEOWNER"));//7
vpd.put("var8", varOList.get(i).getString("VEHICLEOWNER_NUMBER"));//8
vpd.put("var9", varOList.get(i).getString("FIRSTSHOW_DATE"));//9
vpd.put("var10", varOList.get(i).getString("CERTIFICATE_DATE"));//10
vpd.put("var11", varOList.get(i).getString("EXPIRE_DATE"));//11
vpd.put("var12", varOList.get(i).getString("VEHICLE_BRAND"));//12
vpd.put("var13", varOList.get(i).getString("VEHICLE_MODEL"));//13
vpd.put("var14", varOList.get(i).getString("VOUCH_TOTALMASS"));//14
vpd.put("var15", varOList.get(i).getString("VOUCH_PAYLOAD"));//15
//vpd.put("var16", varOList.get(i).getString("VOLUME"));//16
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);

View File

@ -11,8 +11,10 @@ import com.zcloud.service.system.DepartmentService;
import com.zcloud.service.system.ImgFilesService;
import com.zcloud.util.*;
import net.sf.json.JSONArray;
import org.apache.commons.io.FileUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@ -20,6 +22,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import java.io.File;
import java.util.*;
@Controller
@ -353,4 +356,157 @@ public class OperatingVehiclesController extends BaseController {
return mv;
}
@RequestMapping(value = "/readExcel")
@SuppressWarnings("unchecked")
@ResponseBody
@Transactional
@LogAnno(menuType= "双重预防",menuServer= "风险管控",instructionsOperate = "风险点(单元)",instructionsType = "上传附件")
public Object readExcel(@RequestParam(value = "FFILE", required = false) MultipartFile file) throws Exception {
Map<String, String> map = new HashMap<String, String>();
String errInfo = "success";
StringBuffer errorStr = new StringBuffer();
if (null != file && !file.isEmpty()) {
File tempFile = new File(file.getOriginalFilename()); //新建file
FileUtils.copyInputStreamToFile(file.getInputStream(), tempFile); //将MultipartFile复制到File
List<PageData> listPd = (List) ObjectExcelRead.readExcel(tempFile, 1, 0, 0); // 执行读EXCEL操作,读出的数据导入List
// 2:从第3行开始0:从第A列开始0:第0个sheet
/**
* var0 : var1 :
*/
try {
if (listPd.size() < 1) {
map.put("result", "error"); // 返回结果
map.put("resultStr", "Excel数据为空请检查数据后重新上传");
FileUtils.deleteQuietly(tempFile);//删除临时文件
return map;
}
List<PageData> riskunitList = new ArrayList<>();
PageData pd = new PageData();
pd.put("ISDELETE", "0");
pd.put("BELONGING_DEPT", Jurisdiction.getCORPINFO_ID());
List<PageData> riskunitListAll = operatingVehiclesService.listAll(pd);
Map<String, Object> riskunitMapAll = new HashMap<>();
for (PageData pageData : riskunitListAll) {
// 使用车牌号作为键
String plateNumberKey = Tools.excelHandle(pageData.getString("PLATE_NUMBER"));
riskunitMapAll.put(plateNumberKey, pageData);
}
List<String> header = new ArrayList<>();
header.add("自编号");
header.add("车牌号");
header.add("车架号");
/*header.add("车身编号");*/
header.add("车辆类型");
header.add("运营证号");
header.add("归属部门");
header.add("车主");
header.add("车主电话");
header.add("联系人");
header.add("联系电话");
header.add("初登日期");
header.add("发证日期");
header.add("到期日期");
header.add("车辆品牌");
header.add("车辆型号");
header.add("核定总质量");
header.add("核定载质量");
/*header.add("容积");*/
header.add("备注");
Map<String, Object> hasRiskUnit = new HashMap<>();
int succeeNum = 1;
for (PageData lpd : listPd) {
succeeNum++;
convertExcelDate(lpd, "var10"); // 初登日期 FIRSTSHOW_DATE
convertExcelDate(lpd, "var11"); // 发证日期 CERTIFICATE_DATE
convertExcelDate(lpd, "var12"); // 到期日期 EXPIRE_DATE
System.out.println(lpd.get("var10")+"--"+lpd.get("var11")+"--"+lpd.get("var12"));
for (int i = 0; i < header.size(); i++) {
if (!lpd.containsKey("var" + i)) {
errorStr.append("<p>第" + succeeNum + "行的\"" + header.get(i) + "\"无数据</p>");
continue;
}
if (Tools.isEmpty(lpd.get("var" + i))) {
errorStr.append("<p>第" + succeeNum + "行的\"" + header.get(i) + "\"无数据</p>");
continue;
}
}
String plateNumberVar = Tools.isEmpty(lpd.get("var1")) ? "" : Tools.excelHandle(lpd.get("var1"));
if (riskunitMapAll.containsKey(plateNumberVar)) {
errorStr.append("<p>第" + succeeNum + "行:" + "车牌号为\"" + plateNumberVar + "\"的记录已存在,请检查!" + "</p>");
continue;
}
if (hasRiskUnit.containsKey(plateNumberVar)) {
errorStr.append("<p>第" + succeeNum + "行:" + "车牌号重复,请重新检查内容!" + "</p>");
continue;
}
hasRiskUnit.put(plateNumberVar, "1");
PageData riskunit = new PageData();
riskunit.put("GOODSSELFNUMBER", lpd.get("var0"));
riskunit.put("PLATE_NUMBER", lpd.get("var1"));
riskunit.put("FRAMES_NUMBER", lpd.get("var2"));
riskunit.put("VEHICLE_TYPE", lpd.get("var3"));
riskunit.put("OPERATING_CERTIFICATE", lpd.get("var4"));
riskunit.put("BELONGING_DEPARTMENT", lpd.get("var5"));
riskunit.put("VEHICLEOWNER", lpd.get("var6"));
riskunit.put("VEHICLEOWNER_NUMBER", lpd.get("var7"));
riskunit.put("CONTACT", lpd.get("var8"));
riskunit.put("CONTACT_NUMBER", lpd.get("var9"));
riskunit.put("FIRSTSHOW_DATE", lpd.get("var10"));
riskunit.put("CERTIFICATE_DATE", lpd.get("var11"));
riskunit.put("EXPIRE_DATE", lpd.get("var12"));
riskunit.put("VEHICLE_BRAND", lpd.get("var13"));
riskunit.put("VEHICLE_MODEL", lpd.get("var14"));
riskunit.put("VOUCH_TOTALMASS", lpd.get("var15"));
riskunit.put("VOUCH_PAYLOAD", lpd.get("var16"));
riskunit.put("REMARK", lpd.get("var18"));
riskunit.put("OPERATING_ID", this.get32UUID());
riskunit.put("ISDELETE", "0");
riskunit.put("CREATOR", Jurisdiction.getUsername());
riskunit.put("CREATTIME", DateUtil.date2Str(new Date()));
riskunit.put("OPERATOR", Jurisdiction.getUsername());
riskunit.put("OPERATTIME", DateUtil.date2Str(new Date()));
riskunit.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
riskunitList.add(riskunit);
}
if (Tools.isEmpty(errorStr.toString())) {
for (PageData riskunit : riskunitList) {
operatingVehiclesService.save(riskunit);
}
errorStr.append("成功导入" + riskunitList.size() + "条数据!");
} else {
errInfo = "error";
}
FileUtils.deleteQuietly(tempFile);//删除临时文件
} catch (Exception e) {
map.put("result", "fail"); // 返回结果
map.put("resultStr", errorStr.toString());
FileUtils.deleteQuietly(tempFile);//删除临时文件
return map;
}
}
map.put("result", "success");//返回结果
map.put("resultType", errInfo);//返回message类型
map.put("isExcel","1");//返回类型
map.put("resultStr", errorStr.toString());
return map;
}
private void convertExcelDate(PageData lpd, String field) {
Object excelDateObj = lpd.get(field);
if (excelDateObj != null) {
// 尝试将对象转换为Double因为Excel中的日期是以Double类型的数字存储的
double excelDate = Double.parseDouble(excelDateObj.toString());
// 使用Apache POI的DateUtil获取Java日期对象
Date javaDate = org.apache.poi.ss.usermodel.DateUtil.getJavaDate(excelDate);
// 使用您的DateUtil工具类进行日期格式化
String formattedDate = DateUtil.date2Str(javaDate, "yyyy-MM-dd");
// 更新lpd对象中的日期字段
lpd.put(field, formattedDate);
}
}
}

View File

@ -55,6 +55,7 @@ public class ScrapManageController extends BaseController {
pd.put("CREATOR", Jurisdiction.getUSER_ID()); //添加人id
pd.put("CREATORNAME", Jurisdiction.getUsername()); //添加人名字
pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间
pd.put("ISSCRAP", "1");
freightTrailerService.editScrapStatus(pd);
scrapManageService.save(pd);
map.put("pd", pd);

View File

@ -51,9 +51,6 @@ public class TaxationManageController extends BaseController {
pd.put("CREATOR", Jurisdiction.getUSER_ID()); //添加人id
pd.put("CREATORNAME", Jurisdiction.getUsername()); //添加人名字
pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间
pd.put("OPERATOR", Jurisdiction.getUSER_ID()); //修改人id
pd.put("OPERATORNAME", Jurisdiction.getUsername()); // 修改人名字
pd.put("OPERATTIME", DateUtil.date2Str(new Date())); // 修改时间
if("".equals(pd.getString("EXPIRE_STATUS"))) {
String expireDate = pd.getString("EXPIRE_DATE");
String day = DateUtil.getDay();
@ -188,10 +185,10 @@ public class TaxationManageController extends BaseController {
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID
page.setPd(pd);
List<PageData> varList = freightTrailerService.list(page); // 列出所有挂车列表
List<PageData> taxationList = taxationManageService.list(page); // 列出车船税列表
List<PageData> taxationList = taxationManageService.taxationList(pd.getString("CORPINFO_ID")); // 列出车船税列表
for (int i = 0; i < taxationList.size(); i++) {
for (int j = 0; j < varList.size(); j++) {
if (taxationList.get(i).get("PLATE_NUMBER").equals(varList.get(j).get("PLATE_NUMBER")) || varList.get(j).get("ISSCRAP").equals("1")) {
if (taxationList.get(i).get("PLATE_NUMBER").equals(varList.get(j).get("PLATE_NUMBER")) && varList.get(j).get("ISSCRAP").equals("1")) {
varList.remove(j);
}
}

View File

@ -43,4 +43,6 @@ public interface OperatingVehiclesMapper {
void setScrapStatus(PageData pd);
List<PageData> listOut(PageData pd);
List<PageData> listAll(PageData pd);
}

View File

@ -43,4 +43,6 @@ public interface OperatingVehiclesService {
void setScrapStatus(PageData pd);
List<PageData> listOut(PageData pd);
List<PageData> listAll(PageData pd);
}

View File

@ -66,4 +66,9 @@ public class OperatingVehiclesServiceImpl implements OperatingVehiclesService {
public List<PageData> listOut(PageData pd) {
return operatingVehiclesMapper.listOut(pd);
}
@Override
public List<PageData> listAll(PageData pd) {
return operatingVehiclesMapper.listAll(pd);
}
}

View File

@ -262,18 +262,20 @@
select
f.*,
case when f.DUE_DATE &lt; NOW() then 0 else 1 end as DUE_DATE_TYPE,
v1.PLATE_NUMBER,
case
v1.PLATE_NUMBER
/*case
when btsm.PLATE_NUMBER is not null then '1'
when bta.RAW_PLATE_NUMBER is not null then '2'
else f.ARCHIVES_TYPE
end as NEW_ARCHIVES_TYPE
end as NEW_ARCHIVES_TYPE*/
from
<include refid="tableName"></include> f
INNER JOIN v_traffic v1 on f.VEHICLE=v1.ID
LEFT JOIN BUS_TRAFFIC_SCRAP_MANAGEMENT btsm on v1.PLATE_NUMBER = btsm.PLATE_NUMBER
LEFT JOIN BUS_TRAFFIC_ASSIGNED bta on v1.PLATE_NUMBER = bta.RAW_PLATE_NUMBER
where f.ISDELETE = '0' and f.CORPINFO_ID = #{pd.CORPINFO_ID}
/*LEFT JOIN BUS_TRAFFIC_SCRAP_MANAGEMENT btsm on v1.PLATE_NUMBER = btsm.PLATE_NUMBER
LEFT JOIN BUS_TRAFFIC_ASSIGNED bta on v1.PLATE_NUMBER = bta.RAW_PLATE_NUMBER*/
LEFT JOIN bus_traffic_mechanical_freighttrailer btmf on btmf.FREIGHTTRAILER_ID = f.VEHICLE
LEFT JOIN bus_traffic_operatingvehicle bto on bto.OPERATING_ID = f.VEHICLE
where f.ISDELETE = '0' and f.CORPINFO_ID = #{pd.CORPINFO_ID} and (btmf.ISSCRAP = '0' OR bto.ISSCRAP = '0')
<if test="pd.BASICINFO_LICENSE_PLATE != null and pd.BASICINFO_LICENSE_PLATE != ''">
and f.BASICINFO_LICENSE_PLATE LIKE CONCAT(CONCAT('%', #{pd.BASICINFO_LICENSE_PLATE}),'%')
</if>

View File

@ -188,7 +188,9 @@
<include refid="tableName"></include> f
left join sys_dictionaries b on f.ANNUAL_INSPECTION_CYCLE = b.DICTIONARIES_ID AND b.PARENT_ID = '8b7dea3977fd4360a3cc8112368b90ff'
INNER JOIN v_traffic v1 on f.VEHICLE = v1.ID
where f.ISDELETE = '0' and f.CORPINFO_ID = #{pd.CORPINFO_ID}
LEFT JOIN bus_traffic_operatingvehicle bto on bto.OPERATING_ID = f.VEHICLE
LEFT JOIN bus_traffic_mechanical_freighttrailer btmf on btmf.FREIGHTTRAILER_ID = f.VEHICLE
where f.ISDELETE = '0' and f.CORPINFO_ID = #{pd.CORPINFO_ID} and (bto.ISSCRAP = '0' OR btmf.ISSCRAP = '0')
<if test="pd.PLATE_NUMBER != null and pd.PLATE_NUMBER != ''">
and v1.PLATE_NUMBER LIKE CONCAT(CONCAT('%', #{pd.PLATE_NUMBER}),'%')
</if>
@ -224,5 +226,17 @@
f.CORPINFO_ID = #{pd.CORPINFO_ID}
</select>
<select id="listOut" parameterType="pd" resultType="pd">
select
<include refid="Field"></include>
from
<include refid="tableName"></include> f
where f.ISDELETE = '0'
and f.INSPECTANNUALLY_ID in
<foreach item="item" index="index" open="(" separator="," close=")" collection="ArrayDATA_IDS">
#{item}
</foreach>
</select>
</mapper>

View File

@ -197,7 +197,9 @@
<include refid="tableName"></include>
f
INNER JOIN v_traffic v1 on f.VEHICLE=v1.ID
where f.ISDELETE = '0' and f.CORPINFO_ID = #{pd.CORPINFO_ID}
LEFT JOIN bus_traffic_operatingvehicle bto on bto.OPERATING_ID = f.VEHICLE
LEFT JOIN bus_traffic_mechanical_freighttrailer btmf on btmf.FREIGHTTRAILER_ID = f.VEHICLE
where f.ISDELETE = '0' and f.CORPINFO_ID = #{pd.CORPINFO_ID} AND (bto.ISSCRAP = '0' OR btmf.ISSCRAP = '0')
<if test="pd.BASICINFO_LICENSE_PLATE != null and pd.BASICINFO_LICENSE_PLATE != ''">
and f.BASICINFO_LICENSE_PLATE LIKE CONCAT(CONCAT('%', #{pd.BASICINFO_LICENSE_PLATE}),'%')
</if>

View File

@ -313,6 +313,14 @@
f.CORPINFO_ID = #{CORPINFO_ID}
</select>
<select id="listAll" resultType="com.zcloud.entity.PageData">
select
*
from
<include refid="tableName"></include> f
where f.ISDELETE = '0'
</select>
<!-- 列表 -->
<!--<select id="datalistPage" parameterType="page" resultType="pd">
select
@ -525,13 +533,13 @@
order by f.OPERATTIME DESC
</select>
<select id="listAll" parameterType="pd" resultType="pd">
<!--<select id="listAll" parameterType="pd" resultType="pd">
select
<include refid="Field"></include>
from
<include refid="tableName"></include> f
where f.ISDELETE = '0'
</select>
</select>-->
<select id="operationVehicleList" parameterType="page" resultType="pd">
select