将事故事件分离开
							parent
							
								
									eb37f788a7
								
							
						
					
					
						commit
						b5f7a5fede
					
				|  | @ -1,6 +1,5 @@ | |||
| package com.zcloud.controller.accident; | ||||
| 
 | ||||
| import cn.hutool.core.bean.BeanUtil; | ||||
| import cn.hutool.core.util.ObjectUtil; | ||||
| import cn.hutool.core.util.StrUtil; | ||||
| import com.zcloud.controller.base.BaseController; | ||||
|  | @ -39,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)); | ||||
|  | @ -71,8 +74,7 @@ public class AccidentRecordsController extends BaseController { | |||
|     @ResponseBody | ||||
|     @RequestMapping("/save") | ||||
|     public Map<String, Object> save(HttpServletRequest request) { | ||||
|         AccidentRecords accidentRecords = BeanUtil.mapToBean(new PageData(request), AccidentRecords.class, true); | ||||
|         accidentRecordsService.save(accidentRecords); | ||||
|         accidentRecordsService.save(new AccidentRecords(new PageData(request))); | ||||
|         Map<String, Object> result = new HashMap<>(); | ||||
|         result.put("result", "success"); | ||||
|         return result; | ||||
|  | @ -87,9 +89,10 @@ public class AccidentRecordsController extends BaseController { | |||
|     @ResponseBody | ||||
|     @RequestMapping("/update") | ||||
|     public Map<String, Object> update(HttpServletRequest request) { | ||||
|         PageData pageData = new PageData(request); | ||||
|         AccidentRecords accidentRecords = BeanUtil.mapToBean(pageData, AccidentRecords.class, true); | ||||
|         accidentRecords.setId(Optional.of(accidentRecords.getId()).orElseThrow(() -> new RuntimeException("id不能为空"))); | ||||
|         AccidentRecords accidentRecords = new AccidentRecords(new PageData(request)); | ||||
|         if (StrUtil.isEmpty(accidentRecords.getId())) { | ||||
|             throw new RuntimeException("id不能为空"); | ||||
|         } | ||||
|         accidentRecordsService.update(accidentRecords); | ||||
|         Map<String, Object> result = new HashMap<>(); | ||||
|         result.put("result", "success"); | ||||
|  |  | |||
|  | @ -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();
 | ||||
|  |  | |||
|  | @ -25,7 +25,6 @@ import org.springframework.transaction.annotation.Transactional; | |||
| import org.springframework.web.multipart.MultipartFile; | ||||
| 
 | ||||
| import java.lang.reflect.Field; | ||||
| import java.text.SimpleDateFormat; | ||||
| import java.util.*; | ||||
| import java.util.stream.Collectors; | ||||
| 
 | ||||
|  | @ -61,16 +60,10 @@ public class AccidentRecordsServiceImpl implements AccidentRecordsService { | |||
|     public void save(AccidentRecords accidentRecords) { | ||||
|         accidentRecords.setId(IdUtil.fastSimpleUUID()); | ||||
|         accidentRecords.setCreatedBy(Jurisdiction.getUsername()); | ||||
|         Date date = new Date(); | ||||
|         SimpleDateFormat dateFormat = new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN); | ||||
|         // 设置成东八区时间
 | ||||
|         dateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); | ||||
| 
 | ||||
|         DateUtil.parse(dateFormat.format(date), DatePattern.NORM_DATETIME_PATTERN); | ||||
| 
 | ||||
|         accidentRecords.setIsDeleted(0); | ||||
|         String corpinfoId = StrUtil.isEmpty(accidentRecords.getCorpinfoId()) ? Jurisdiction.getCORPINFO_ID() : accidentRecords.getCorpinfoId(); | ||||
|         accidentRecords.setCorpinfoId(corpinfoId); | ||||
|         accidentRecords.setCreatedTime(new Date()); | ||||
|         Assert.isTrue(accidentRecordsMapper.save(accidentRecords) == 1, "新增事故记录失败"); | ||||
|     } | ||||
| 
 | ||||
|  | @ -79,6 +72,8 @@ public class AccidentRecordsServiceImpl implements AccidentRecordsService { | |||
|     public void update(AccidentRecords accidentRecords) { | ||||
|         accidentRecords.setUpdatedBy(Jurisdiction.getUsername()); | ||||
|         accidentRecords.setUpdatedTime(new Date()); | ||||
|         // 不支持修改类型
 | ||||
|         accidentRecords.setType(null); | ||||
|         String corpinfoId = StrUtil.isEmpty(accidentRecords.getCorpinfoId()) ? Jurisdiction.getCORPINFO_ID() : accidentRecords.getCorpinfoId(); | ||||
|         accidentRecords.setCorpinfoId(corpinfoId); | ||||
|         Assert.isTrue(accidentRecordsMapper.updateById(accidentRecords) == 1, "更新事故记录失败"); | ||||
|  |  | |||
|  | @ -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> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue