将事故事件分离开

pet
shanao 2024-09-27 18:07:34 +08:00
parent 93e034b162
commit 183eef7073
4 changed files with 112 additions and 95 deletions

View File

@ -1,6 +1,6 @@
package com.zcloud.controller.accident;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.zcloud.controller.base.BaseController;
@ -38,7 +38,11 @@ public class AccidentRecordsController extends BaseController {
@ResponseBody
@RequestMapping(value = "/page")
public Map<String, Object> queryPage(Page page, HttpServletRequest request) {
page.setPd(new PageData(request));
PageData data = new PageData(request);
if (ObjectUtil.isEmpty(data.get("type"))) {
throw new RuntimeException("type不能为空");
}
page.setPd(data);
Map<String, Object> result = new HashMap<>();
result.put("result", "success");
result.put("varList", accidentRecordsService.queryPage(page));
@ -70,11 +74,8 @@ public class AccidentRecordsController extends BaseController {
@ResponseBody
@RequestMapping("/save")
public Map<String, Object> save(HttpServletRequest request) {
PageData pageData = new PageData(request);
if (CollUtil.isEmpty(pageData)){
throw new RuntimeException("参数不能为空");
}
accidentRecordsService.save(pageData);
AccidentRecords accidentRecords = BeanUtil.mapToBean(new PageData(request), AccidentRecords.class, true);
accidentRecordsService.save(accidentRecords);
Map<String, Object> result = new HashMap<>();
result.put("result", "success");
return result;
@ -90,13 +91,9 @@ public class AccidentRecordsController extends BaseController {
@RequestMapping("/update")
public Map<String, Object> update(HttpServletRequest request) {
PageData pageData = new PageData(request);
if (CollUtil.isEmpty(pageData)){
throw new RuntimeException("参数不能为空");
}
if (pageData.get("id") == null) {
throw new RuntimeException("id不能为空");
}
accidentRecordsService.update(pageData);
AccidentRecords accidentRecords = BeanUtil.mapToBean(pageData, AccidentRecords.class, true);
accidentRecords.setId(Optional.of(accidentRecords.getId()).orElseThrow(() -> new RuntimeException("id不能为空")));
accidentRecordsService.update(accidentRecords);
Map<String, Object> result = new HashMap<>();
result.put("result", "success");
return result;

View File

@ -1,5 +1,9 @@
package com.zcloud.entity.accident;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.zcloud.entity.PageData;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -35,6 +39,11 @@ public class AccidentRecords implements Serializable {
@Size(max = 100, message = "事故名称最大长度要小于 100")
private String incidentName;
/**
* 1/2
*/
private String type;
/**
*
*/
@ -106,6 +115,11 @@ public class AccidentRecords implements Serializable {
*/
private String photos;
/**
*
*/
private String attachmentAddress;
/**
*
*/
@ -162,6 +176,37 @@ public class AccidentRecords implements Serializable {
private static final long serialVersionUID = 1L;
public AccidentRecords(PageData data) {
setIncidentNumber(data.getString("incidentNumber"));
setId(data.getString("id"));
setIncidentName(data.getString("incidentName"));
setIncidentType(data.getString("incidentType"));
setIncidentLevel(data.getString("incidentLevel"));
setLocation(data.getString("location"));
setFatalities(toInt(data.get("fatalities")));
DateTime time = DateUtil.parse(data.getString("incidentDate"), "yyyy-MM-dd HH:mm:ss");
setIncidentDate(time);
DateTime time1 = DateUtil.parse(data.getString("incidentDate"), "yyyy-MM-dd HH:mm:ss");
setReportDate(time1);
setDirectLoss(toInt(data.get("directLoss")));
setInjured(toInt(data.get("injured")));
setSeriouslyInjured(toInt(data.get("seriouslyInjured")));
setCause(data.getString("cause"));
setSummary(data.getString("summary"));
setAnalysis(data.getString("analysis"));
setAttachmentAddress(data.getString("attachmentAddress"));
setType(data.getString("type"));
setSuggestions(data.getString("suggestions"));
setMeasures(data.getString("measures"));
setCreator(data.getString("creator"));
setPhotos(data.getString("photos"));
}
private Integer toInt(Object object) {
Integer i = Convert.toInt(object);
return i == null ? 0 : i;
}
// public AccidentRecords(AccidentRecordsExcel reader, DictionariesService service) throws Exception {
// this.id = IdUtil.getSnowflake(1, 1).nextId();
// this.corpinfoId = reader.getCompanyName();

View File

@ -1,8 +1,6 @@
package com.zcloud.service.accident.impl;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Assert;
@ -59,69 +57,23 @@ public class AccidentRecordsServiceImpl implements AccidentRecordsService {
@Override
@Transactional(rollbackFor = Exception.class)
public void save(PageData pageData) {
AccidentRecords accidentRecords = new AccidentRecords();
public void save(AccidentRecords accidentRecords) {
accidentRecords.setId(IdUtil.fastSimpleUUID());
accidentRecords.setCreatedBy(Jurisdiction.getUsername());
accidentRecords.setIsDeleted(0);
String corpinfoId = StrUtil.isEmpty(accidentRecords.getCorpinfoId()) ? Jurisdiction.getCORPINFO_ID() : accidentRecords.getCorpinfoId();
accidentRecords.setCorpinfoId(corpinfoId);
accidentRecords.setIncidentNumber(pageData.getString("incidentNumber"));
accidentRecords.setIncidentName(pageData.getString("incidentName"));
accidentRecords.setIncidentType(pageData.getString("incidentType"));
accidentRecords.setIncidentLevel(pageData.getString("incidentLevel"));
accidentRecords.setLocation(pageData.getString("location"));
accidentRecords.setFatalities(Convert.toInt(pageData.get("fatalities")));
DateTime time = DateUtil.parse(pageData.getString("incidentDate"), "yyyy-MM-dd HH:mm:ss");
accidentRecords.setIncidentDate(time);
DateTime time1 = DateUtil.parse(pageData.getString("incidentDate"), "yyyy-MM-dd HH:mm:ss");
accidentRecords.setReportDate(time1);
accidentRecords.setDirectLoss(Convert.toInt(pageData.get("directLoss")));
accidentRecords.setInjured(Convert.toInt(pageData.get("injured")));
accidentRecords.setSeriouslyInjured(Convert.toInt(pageData.get("seriouslyInjured")));
accidentRecords.setCause(pageData.getString("cause"));
accidentRecords.setSummary(pageData.getString("summary"));
accidentRecords.setAnalysis(pageData.getString("analysis"));
accidentRecords.setSuggestions(pageData.getString("suggestions"));
accidentRecords.setMeasures(pageData.getString("measures"));
accidentRecords.setCreator(pageData.getString("creator"));
accidentRecords.setPhotos(pageData.getString("photos"));
accidentRecords.setCreatedTime(new Date());
Assert.isTrue(accidentRecordsMapper.save(accidentRecords) == 1, "新增事故记录失败");
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(PageData pageData) {
AccidentRecords accidentRecords = new AccidentRecords();
accidentRecords.setIncidentNumber(pageData.getString("incidentNumber"));
accidentRecords.setId(pageData.getString("id"));
accidentRecords.setIncidentName(pageData.getString("incidentName"));
accidentRecords.setIncidentType(pageData.getString("incidentType"));
accidentRecords.setIncidentLevel(pageData.getString("incidentLevel"));
accidentRecords.setLocation(pageData.getString("location"));
accidentRecords.setFatalities(Convert.toInt(pageData.get("fatalities")));
DateTime time = DateUtil.parse(pageData.getString("incidentDate"), "yyyy-MM-dd HH:mm:ss");
accidentRecords.setIncidentDate(time);
DateTime time1 = DateUtil.parse(pageData.getString("incidentDate"), "yyyy-MM-dd HH:mm:ss");
accidentRecords.setReportDate(time1);
accidentRecords.setDirectLoss(Convert.toInt(pageData.get("directLoss")));
accidentRecords.setInjured(Convert.toInt(pageData.get("injured")));
accidentRecords.setSeriouslyInjured(Convert.toInt(pageData.get("seriouslyInjured")));
accidentRecords.setCause(pageData.getString("cause"));
accidentRecords.setSummary(pageData.getString("summary"));
accidentRecords.setAnalysis(pageData.getString("analysis"));
accidentRecords.setSuggestions(pageData.getString("suggestions"));
accidentRecords.setMeasures(pageData.getString("measures"));
accidentRecords.setCreator(pageData.getString("creator"));
accidentRecords.setPhotos(pageData.getString("creator"));
public void update(AccidentRecords accidentRecords) {
accidentRecords.setUpdatedBy(Jurisdiction.getUsername());
accidentRecords.setUpdatedTime(new Date());
accidentRecords.setPhotos(pageData.getString("photos") == null ? null : pageData.getString("photos"));
// 不支持修改类型
accidentRecords.setType(null);
String corpinfoId = StrUtil.isEmpty(accidentRecords.getCorpinfoId()) ? Jurisdiction.getCORPINFO_ID() : accidentRecords.getCorpinfoId();
accidentRecords.setCorpinfoId(corpinfoId);
Assert.isTrue(accidentRecordsMapper.updateById(accidentRecords) == 1, "更新事故记录失败");

View File

@ -3,7 +3,8 @@
<mapper namespace="com.zcloud.mapper.datasource.accident.AccidentRecordsMapper">
<select id="listPage" parameterType="com.zcloud.entity.Page" resultType="pd">
select ACCIDENT_ID as id, CORP_NAME as companyName, LOCATION as 'location', INCIDENT_DATE as 'incidentDate', INCIDENT_NAME as 'incidentName'
select ACCIDENT_ID as id, CORP_NAME as companyName, LOCATION as 'location', INCIDENT_DATE as 'incidentDate', INCIDENT_NAME as 'incidentName',
ATTACHMENT_ADDRESS as attachmentAddress
from bus_accident as ar
left join bus_corp_info as bci on ar.CORPINFO_ID = bci.CORPINFO_ID
<where>
@ -25,6 +26,9 @@
<if test="pd.incidentType != null and pd.incidentType != ''">
and INCIDENT_TYPE = #{pd.incidentType}
</if>
<if test="pd.type != null and pd.type != ''">
and TYPE = #{pd.type}
</if>
<if test="1 == 1">
and IS_DELETED = 0
</if>
@ -52,6 +56,8 @@
ANALYSIS as analysis,
SUGGESTIONS as suggestions,
MEASURES as measures,
TYPE as type,
ATTACHMENT_ADDRESS as attachmentAddress,
ar.CREATOR as creator,
REPORT_DATE as reportDate
from bus_accident as ar
@ -139,7 +145,13 @@
UPDATED_TIME,
</if>
<if test="isDeleted != null">
IS_DELETED
IS_DELETED,
</if>
<if test="type != null">
TYPE,
</if>
<if test="attachmentAddress != null">
ATTACHMENT_ADDRESS,
</if>
</trim>
values
@ -220,7 +232,13 @@
#{updatedTime},
</if>
<if test="isDeleted != null">
#{isDeleted}
#{isDeleted},
</if>
<if test="type != null">
#{type},
</if>
<if test="attachmentAddress != null">
#{attachmentAddress},
</if>
</trim>
</insert>
@ -228,31 +246,33 @@
<update id="updateById" parameterType="com.zcloud.entity.accident.AccidentRecords">
UPDATE bus_accident
<set>
<if test="incidentNumber != null">incident_number = #{incidentNumber},</if>
<if test="incidentName != null">incident_name = #{incidentName},</if>
<if test="incidentType != null">incident_type = #{incidentType},</if>
<if test="corpinfoId != null">corpinfo_id = #{corpinfoId},</if>
<if test="incidentLevel != null">incident_level = #{incidentLevel},</if>
<if test="incidentNature != null">incident_nature = #{incidentNature},</if>
<if test="location != null">location = #{location},</if>
<if test="incidentDate != null">incident_date = #{incidentDate},</if>
<if test="directLoss != null">direct_loss = #{directLoss},</if>
<if test="injured != null">injured = #{injured},</if>
<if test="fatalities != null">fatalities = #{fatalities},</if>
<if test="seriouslyInjured != null">seriously_injured = #{seriouslyInjured},</if>
<if test="cause != null">cause = #{cause},</if>
<if test="summary != null">summary = #{summary},</if>
<if test="photos != null">photos = #{photos},</if>
<if test="analysis != null">analysis = #{analysis},</if>
<if test="suggestions != null">suggestions = #{suggestions},</if>
<if test="measures != null">measures = #{measures},</if>
<if test="creator != null">creator = #{creator},</if>
<if test="reportDate != null">report_date = #{reportDate},</if>
<if test="createdBy != null">created_by = #{createdBy},</if>
<if test="createdTime != null">created_time = #{createdTime},</if>
<if test="updatedBy != null">updated_by = #{updatedBy},</if>
<if test="updatedTime != null">updated_time = #{updatedTime},</if>
<if test="isDeleted != null">is_deleted = #{isDeleted}</if>
<if test="incidentNumber != null">INCIDENT_NUMBER = #{incidentNumber},</if>
<if test="incidentName != null">INCIDENT_NAME = #{incidentName},</if>
<if test="incidentType != null">INCIDENT_TYPE = #{incidentType},</if>
<if test="corpinfoId != null">CORPINFO_ID = #{corpinfoId},</if>
<if test="incidentLevel != null">INCIDENT_LEVEL = #{incidentLevel},</if>
<if test="incidentNature != null">INCIDENT_NATURE = #{incidentNature},</if>
<if test="location != null">LOCATION = #{location},</if>
<if test="incidentDate != null">INCIDENT_DATE = #{incidentDate},</if>
<if test="directLoss != null">DIRECT_LOSS = #{directLoss},</if>
<if test="injured != null">INJURED = #{injured},</if>
<if test="fatalities != null">FATALITIES = #{fatalities},</if>
<if test="seriouslyInjured != null">SERIOUSLY_INJURED = #{seriouslyInjured},</if>
<if test="cause != null">CAUSE = #{cause},</if>
<if test="summary != null">SUMMARY = #{summary},</if>
<if test="photos != null">PHOTOS = #{photos},</if>
<if test="analysis != null">ANALYSIS = #{analysis},</if>
<if test="suggestions != null">SUGGESTIONS = #{suggestions},</if>
<if test="measures != null">MEASURES = #{measures},</if>
<if test="creator != null">CREATOR = #{creator},</if>
<if test="reportDate != null">REPORT_DATE = #{reportDate},</if>
<if test="createdBy != null">CREATED_BY = #{createdBy},</if>
<if test="createdTime != null">CREATED_TIME = #{createdTime},</if>
<if test="updatedBy != null">UPDATED_BY = #{updatedBy},</if>
<if test="updatedTime != null">UPDATED_TIME = #{updatedTime},</if>
<if test="isDeleted != null">IS_DELETED = #{isDeleted},</if>
<if test="attachmentAddress != null">ATTACHMENT_ADDRESS = #{attachmentAddress},</if>
<if test="type != null">TYPE = #{type}</if>
</set>
WHERE accident_id = #{id} and is_deleted = 0
</update>
@ -316,6 +336,9 @@
<if test="1 == 1">
and is_deleted = 0
</if>
<if test="pd.type != null and pd.type != ''">
and TYPE = #{pd.type}
</if>
</where>
order by incident_date desc, companyName
</select>