Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImpl.java =================================================================== diff -u -r41361 -r41391 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImpl.java (.../HolidayConfigManagerImpl.java) (revision 41361) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImpl.java (.../HolidayConfigManagerImpl.java) (revision 41391) @@ -9,7 +9,10 @@ import com.forgon.tools.util.ForgonDateUtils; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.Calendar; import java.util.List; import java.util.Map; @@ -23,11 +26,11 @@ @Override public void save(HolidayConfigParam holidayConfig) { validateParam(holidayConfig); - HolidayConfig entity = getFirst("date", holidayConfig.getDate()); + HolidayConfig entity = getFirst("holidayDate", holidayConfig.getHolidayDate()); if(entity != null) { throw new RuntimeException("该日期已存在"); } - entity = new HolidayConfig(holidayConfig.getDate(), holidayConfig.getType(), holidayConfig.getRemark()); + entity = new HolidayConfig(holidayConfig.getHolidayDate(), holidayConfig.getDateType(), holidayConfig.getDateRemark()); save(entity); } @@ -38,26 +41,26 @@ if (entity == null) { throw new RuntimeException("该记录不存在"); } - entity.setDate(holidayConfig.getDate()); - entity.setType(holidayConfig.getType()); - entity.setRemark(holidayConfig.getRemark()); + entity.setHolidayDate(holidayConfig.getHolidayDate()); + entity.setDateType(holidayConfig.getDateType()); + entity.setDateRemark(holidayConfig.getDateRemark()); update(entity); } @Override public List withYear(int year) { - String condition = "date between '" + year + "-01-01' and '" + year + "-12-31' order by date desc"; + String condition = "holidayDate between '" + year + "-01-01' and '" + year + "-12-31' order by holidayDate desc"; return getByHql(condition); } @Override public PagedDataResponse list(PagerParam param, Integer year) { String condition = "1=1"; if(year != null){ - condition = "date between '" + year + "-01-01' and '" + year + "-12-31'"; + condition = "holidayDate between '" + year + "-01-01' and '" + year + "-12-31'"; } int total = count(condition); - List rows = getByHql(condition, param.getStart(), param.getLimit(), "date desc"); + List rows = getByHql(condition, param.getStart(), param.getLimit(), "holidayDate desc"); return new PagedDataResponse<>(total, rows); } @@ -72,8 +75,8 @@ if(CollectionUtils.isEmpty(list)){ return HolidayType.Normal; } - Map map = list.stream().collect(Collectors.toMap(config->date2Str(config.getDate()), - HolidayConfig::getType, (existing, replacement)->existing)); + Map map = list.stream().collect(Collectors.toMap(config->date2Str(config.getHolidayDate()), + HolidayConfig::getDateType, (existing, replacement)->existing)); boolean prevHoliday = checkContinuousHoliday(date, map, -1, 3); if(prevHoliday){ // 前面有3天假期,那就是3天假期之后的第1天 @@ -96,6 +99,16 @@ return HolidayType.Normal; } + @Override + public void importJson(MultipartFile file) { + try { + String json = new String(file.getBytes(), StandardCharsets.UTF_8); +// List list = HolidayConfig.fromJson(json); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + /** * 查询某天前后指定天数范围内的假期配置 * @param date 查询的日期 @@ -109,7 +122,7 @@ String begin = ForgonDateUtils.safelyFormatDate(cal.getTime(), DATE_FORMAT_YYYYMMDD, ""); cal.add(Calendar.DAY_OF_MONTH, days*2); String end = ForgonDateUtils.safelyFormatDate(cal.getTime(), DATE_FORMAT_YYYYMMDD, ""); - return getByHql("date between '" + begin + "' and '" + end + "' order by date"); + return getByHql("holidayDate between '" + begin + "' and '" + end + "' order by holidayDate"); } /** @@ -143,13 +156,13 @@ } void validateParam(HolidayConfigParam param) { - if(param.getDate() == null) { + if(param.getHolidayDate() == null) { throw new RuntimeException("日期不能为空"); } - if(param.getType() == null) { + if(param.getDateType() == null) { throw new RuntimeException("类型不能为空"); } - if(param.getType() < 0 || param.getType() > 2) { + if(param.getDateType() < 0 || param.getDateType() > 2) { throw new RuntimeException("类型错误"); } } Index: ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplSaveTest.java =================================================================== diff -u -r41361 -r41391 --- ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplSaveTest.java (.../HolidayConfigManagerImplSaveTest.java) (revision 41361) +++ ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplSaveTest.java (.../HolidayConfigManagerImplSaveTest.java) (revision 41391) @@ -42,9 +42,9 @@ @Test public void testSave_ValidParams_NoDuplicateDate_Success() { HolidayConfigParam param = new HolidayConfigParam(); - param.setDate(Date.valueOf("2025-01-01")); - param.setType(1); - param.setRemark("元旦"); + param.setHolidayDate(Date.valueOf("2025-01-01")); + param.setDateType(1); + param.setDateRemark("元旦"); // 模拟没有找到重复日期 doReturn(null).when(holidayConfigManager).getFirst(anyString(), any(Date.class)); @@ -55,7 +55,7 @@ assertDoesNotThrow(() -> holidayConfigManager.save(param)); verify(holidayConfigManager).save(new HolidayConfig(Date.valueOf("2025-01-01"), 1, "元旦")); verify(holidayConfigManager).validateParam(param); - verify(holidayConfigManager).getFirst("date", Date.valueOf("2025-01-01")); + verify(holidayConfigManager).getFirst("holidayDate", Date.valueOf("2025-01-01")); } /** @@ -64,9 +64,9 @@ @Test public void testSave_DuplicateDateExists_ThrowsException() { HolidayConfigParam param = new HolidayConfigParam(); - param.setDate(Date.valueOf("2025-01-01")); - param.setType(1); - param.setRemark("元旦"); + param.setHolidayDate(Date.valueOf("2025-01-01")); + param.setDateType(1); + param.setDateRemark("元旦"); // 模拟已经存在相同日期 HolidayConfig existingEntity = new HolidayConfig(); Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/holiday/holidayListView.js =================================================================== diff -u -r41383 -r41391 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/holiday/holidayListView.js (.../holidayListView.js) (revision 41383) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/holiday/holidayListView.js (.../holidayListView.js) (revision 41391) @@ -26,42 +26,42 @@ name : 'id', mapping : 'id' },{ - name : 'date', - mapping : 'date' + name : 'holidayDate', + mapping : 'holidayDate' },{ name : 'weekday', mapping : 'weekday' },{ - name : 'type', - mapping : 'type' + name : 'dateType', + mapping : 'dateType' },{ - name : 'remark', - mapping : 'remark' + name : 'dateRemark', + mapping : 'dateRemark' }]; var recordColumns = [{ header : "日期", - dataIndex : 'date', + dataIndex : 'holidayDate', flex: 1, filterable : false, sortable: false },{ header : "星期", - dataIndex : 'date', + dataIndex : 'holidayDate', flex: 1, filterable : false, sortable: false, renderer: rendererWeekday },{ header : "日期类型", - dataIndex : 'type', + dataIndex : 'dateType', flex: 1, filterable : false, sortable: false, renderer: rendererType },{ header : "备注", - dataIndex : 'remark', + dataIndex : 'dateRemark', flex: 2, filterable : false, sortable: false @@ -167,7 +167,7 @@ items: [{ xtype: 'datefield', fieldLabel: '日期', - name: 'date', + name: 'holidayDate', format: 'Y-m-d', value: new Date(), listeners: { @@ -189,26 +189,26 @@ }, { xtype: 'combo', fieldLabel: '日期类型', - name: 'type', + name: 'dateType', store: { - fields: ['type', 'name'], + fields: ['dateType', 'name'], data: [{ - type: 1, + dateType: 1, name: '法定节假日' }, { - type: 2, + dateType: 2, name: '调休上班日' }] }, displayField: 'name', - valueField: 'type', + valueField: 'dateType', queryMode: 'local', value: 1, editable: false }, { xtype: 'textfield', fieldLabel: '备注', - name: 'remark', + name: 'dateRemark', allowBlank: true }] }], @@ -232,7 +232,7 @@ var form = holidayFormWindow.down('form'); var weekdayField = form.down('[name=weekday]'); if (record) { - var weekday = weekOfDay(record.data.date); + var weekday = weekOfDay(record.data.holidayDate); // 编辑模式 form.loadRecord(record) weekdayField.setValue(weekday) @@ -245,7 +245,7 @@ holidayFormWindow.record = null; // 清空记录引用 // 设置默认日期为今天 - var dateField = form.down('[name=date]'); + var dateField = form.down('[name=holidayDate]'); dateField.setValue(new Date()); weekdayField.setValue(weekOfDay(dateField.getValue())); } @@ -267,9 +267,9 @@ var url = WWWROOT + '/disinfectSystem/baseData/holidayconfig.mhtml'; var method = 'POST'; var params = { - date: values.date, - type: values.type, - remark: values.remark + holidayDate: values.holidayDate, + dateType: values.dateType, + dateRemark: values.dateRemark }; // 如果是修改,添加ID参数 Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/holiday/param/HolidayConfigParam.java =================================================================== diff -u -r41361 -r41391 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/holiday/param/HolidayConfigParam.java (.../HolidayConfigParam.java) (revision 41361) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/holiday/param/HolidayConfigParam.java (.../HolidayConfigParam.java) (revision 41391) @@ -10,68 +10,68 @@ * 节假日配置的日期 */ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date date; + private Date holidayDate; /** * 日期类型:1-节假日,2-假期调休的补班 */ - private Integer type; + private Integer dateType; /** * 假期的备注 */ - private String remark; + private String dateRemark; public HolidayConfigParam() { } - public HolidayConfigParam(Date date, Integer type, String remark) { - this.date = date; - this.type = type; - this.remark = remark; + public HolidayConfigParam(Date holidayDate, Integer dateType, String dateRemark) { + this.holidayDate = holidayDate; + this.dateType = dateType; + this.dateRemark = dateRemark; } - public Date getDate() { - return date; + public Date getHolidayDate() { + return holidayDate; } - public void setDate(Date date) { - this.date = date; + public void setHolidayDate(Date holidayDate) { + this.holidayDate = holidayDate; } - public Integer getType() { - return type; + public Integer getDateType() { + return dateType; } - public void setType(Integer type) { - this.type = type; + public void setDateType(Integer dateType) { + this.dateType = dateType; } - public String getRemark() { - return remark; + public String getDateRemark() { + return dateRemark; } - public void setRemark(String remark) { - this.remark = remark; + public void setDateRemark(String dateRemark) { + this.dateRemark = dateRemark; } @Override public boolean equals(Object object) { if (this == object) return true; if (!(object instanceof HolidayConfigParam)) return false; HolidayConfigParam that = (HolidayConfigParam) object; - return Objects.equals(date, that.date) && Objects.equals(type, that.type) && Objects.equals(remark, that.remark); + return Objects.equals(holidayDate, that.holidayDate) && Objects.equals(dateType, that.dateType) && Objects.equals(dateRemark, that.dateRemark); } @Override public int hashCode() { - return Objects.hash(date, type, remark); + return Objects.hash(holidayDate, dateType, dateRemark); } @Override public String toString() { return "HolidayConfigParam{" + - "date=" + date + - ", type=" + type + - ", remark='" + remark + '\'' + + "holidayDate=" + holidayDate + + ", dateType=" + dateType + + ", dateRemark='" + dateRemark + '\'' + '}'; } } Index: ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplWithYearTest.java =================================================================== diff -u -r41361 -r41391 --- ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplWithYearTest.java (.../HolidayConfigManagerImplWithYearTest.java) (revision 41361) +++ ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplWithYearTest.java (.../HolidayConfigManagerImplWithYearTest.java) (revision 41391) @@ -52,10 +52,10 @@ assertNotNull(result); assertEquals(2, result.size()); - assertEquals("2024-01-01", result.get(0).getDate().toString()); - assertEquals("2024-10-08", result.get(1).getDate().toString()); + assertEquals("2024-01-01", result.get(0).getHolidayDate().toString()); + assertEquals("2024-10-08", result.get(1).getHolidayDate().toString()); - String sql = "date between '2024-01-01' and '2024-12-31' order by date desc"; + String sql = "holidayDate between '2024-01-01' and '2024-12-31' order by holidayDate desc"; verify(holidayConfigManager).getByHql(sql); } @@ -98,9 +98,9 @@ private HolidayConfig createHolidayConfig(Long id, String date, Integer type, String remark) { HolidayConfig config = new HolidayConfig(); config.setId(id); - config.setDate(Date.valueOf(date)); - config.setType(type); - config.setRemark(remark); + config.setHolidayDate(Date.valueOf(date)); + config.setDateType(type); + config.setDateRemark(remark); return config; } } Index: ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/controller/ControllerTestConfig.java =================================================================== diff -u -r41361 -r41391 --- ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/controller/ControllerTestConfig.java (.../ControllerTestConfig.java) (revision 41361) +++ ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/controller/ControllerTestConfig.java (.../ControllerTestConfig.java) (revision 41391) @@ -1,6 +1,7 @@ package com.forgon.disinfectsystem.basedatamanager.holiday.controller; import com.forgon.disinfectsystem.basedatamanager.holiday.service.HolidayConfigManager; +import com.forgon.exception.service.ExceptionHandler; import org.mockito.Mockito; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -11,4 +12,8 @@ public HolidayConfigManager holidayConfigManager() { return Mockito.mock(HolidayConfigManager.class); } + @Bean + public ExceptionHandler exceptionHandler() { + return Mockito.mock(ExceptionHandler.class); + } } Index: ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplHolidayTypeOfDateTest.java =================================================================== diff -u -r41361 -r41391 --- ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplHolidayTypeOfDateTest.java (.../HolidayConfigManagerImplHolidayTypeOfDateTest.java) (revision 41361) +++ ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplHolidayTypeOfDateTest.java (.../HolidayConfigManagerImplHolidayTypeOfDateTest.java) (revision 41391) @@ -50,7 +50,7 @@ doReturn(Collections.emptyList()).when(objectDao).findByHql(anyString()); HolidayType result = holidayConfigManager.holidayTypeOfDate(Date.valueOf("2024-01-01")); assertEquals(HolidayType.Normal, result); - verify(objectDao).findByHql("from HolidayConfig po where date between '2023-12-29' and '2024-01-04' order by date"); + verify(objectDao).findByHql("from HolidayConfig po where holidayDate between '2023-12-29' and '2024-01-04' order by holidayDate"); } /** @@ -67,7 +67,7 @@ HolidayType result = holidayConfigManager.holidayTypeOfDate(Date.valueOf("2024-01-04")); assertEquals(HolidayType.LongAfter, result); - verify(objectDao).findByHql("from HolidayConfig po where date between '2024-01-01' and '2024-01-07' order by date"); + verify(objectDao).findByHql("from HolidayConfig po where holidayDate between '2024-01-01' and '2024-01-07' order by holidayDate"); } /** @@ -84,7 +84,7 @@ HolidayType result = holidayConfigManager.holidayTypeOfDate(Date.valueOf("2024-01-01")); assertEquals(HolidayType.LongBefore, result); - verify(objectDao).findByHql("from HolidayConfig po where date between '2023-12-29' and '2024-01-04' order by date"); + verify(objectDao).findByHql("from HolidayConfig po where holidayDate between '2023-12-29' and '2024-01-04' order by holidayDate"); } /** @@ -222,8 +222,8 @@ */ private HolidayConfig createHolidayConfig(String dateStr, Integer type) { HolidayConfig config = new HolidayConfig(); - config.setDate(Date.valueOf(dateStr)); - config.setType(type); + config.setHolidayDate(Date.valueOf(dateStr)); + config.setDateType(type); return config; } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/holiday/HolidayConfig.java =================================================================== diff -u -r41361 -r41391 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/holiday/HolidayConfig.java (.../HolidayConfig.java) (revision 41361) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/holiday/HolidayConfig.java (.../HolidayConfig.java) (revision 41391) @@ -16,7 +16,7 @@ @Entity @DynamicInsert @DynamicUpdate -@Table(name = "HolidayConfig", indexes = @Index(name = "HolidayConfig_Date_IDX", columnList = "date", unique = true)) +@Table(name = "HolidayConfig", indexes = @Index(name = "HolidayConfig_HolidayDate_IDX", columnList = "holidayDate", unique = true)) @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) public class HolidayConfig { /** @@ -27,30 +27,30 @@ * 节假日配置的日期 */ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date date; + private Date holidayDate; /** * 日期类型:1-节假日,2-假期调休的补班 */ - private Integer type; + private Integer dateType; /** * 假期的备注 */ - private String remark; + private String dateRemark; public HolidayConfig() { } - public HolidayConfig(Date date, Integer type, String remark) { - this.date = date; - this.type = type; - this.remark = remark; + public HolidayConfig(Date holidayDate, Integer dateType, String dateRemark) { + this.holidayDate = holidayDate; + this.dateType = dateType; + this.dateRemark = dateRemark; } - public HolidayConfig(Long id, Date date, Integer type, String remark) { + public HolidayConfig(Long id, Date holidayDate, Integer dateType, String dateRemark) { this.id = id; - this.date = date; - this.type = type; - this.remark = remark; + this.holidayDate = holidayDate; + this.dateType = dateType; + this.dateRemark = dateRemark; } @Id @@ -63,57 +63,51 @@ this.id = id; } - public Date getDate() { - return date; + public Date getHolidayDate() { + return holidayDate; } - public void setDate(Date date) { - this.date = date; + public void setHolidayDate(Date holidayDate) { + this.holidayDate = holidayDate; } - public Integer getType() { - return type; + public Integer getDateType() { + return dateType; } - public void setType(Integer type) { - this.type = type; + public void setDateType(Integer dateType) { + this.dateType = dateType; } - public String getRemark() { - return remark; + public String getDateRemark() { + return dateRemark; } - public void setRemark(String remark) { - this.remark = remark; + public void setDateRemark(String dateRemark) { + this.dateRemark = dateRemark; } @Override public boolean equals(Object object) { if (this == object) return true; if (!(object instanceof HolidayConfig)) return false; HolidayConfig that = (HolidayConfig) object; - return Objects.equals(id, that.id) && equals(date, that.date) && Objects.equals(type, that.type) - && Objects.equals(remark, that.remark); + return Objects.equals(id, that.id) && Objects.equals(holidayDate, that.holidayDate) + && Objects.equals(dateType, that.dateType) && Objects.equals(dateRemark, that.dateRemark); } - private static boolean equals(Date date1, Date date2) { - if(date1 == date2) return true; - if(date1 == null || date2 == null) return false; - return date1.getYear() == date2.getYear() && date1.getMonth() == date2.getMonth() && date1.getDate() == date2.getDate(); - } - @Override public int hashCode() { - return Objects.hash(id, date, type, remark); + return Objects.hash(id, holidayDate, dateType, dateRemark); } @Override public String toString() { return "HolidayConfig{" + "id=" + id + - ", date=" + date + - ", type=" + type + - ", remark='" + remark + '\'' + + ", holidayDate=" + holidayDate + + ", dateType=" + dateType + + ", dateRemark='" + dateRemark + '\'' + '}'; } } Index: ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplListTest.java =================================================================== diff -u -r41361 -r41391 --- ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplListTest.java (.../HolidayConfigManagerImplListTest.java) (revision 41361) +++ ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplListTest.java (.../HolidayConfigManagerImplListTest.java) (revision 41391) @@ -59,9 +59,9 @@ assertNotNull(result); assertEquals(11, result.getTotal()); assertEquals(1, result.getRows().size()); - assertEquals("2024-01-01", result.getRows().get(0).getDate().toString()); + assertEquals("2024-01-01", result.getRows().get(0).getHolidayDate().toString()); - verify(holidayConfigManager).getByHql("1=1", 0, 10, "date desc"); + verify(holidayConfigManager).getByHql("1=1", 0, 10, "holidayDate desc"); } /** @@ -77,18 +77,18 @@ createHolidayConfig(12L, "2024-10-08", 2, "国庆节") ); doReturn(expectedList).when(holidayConfigManager).getByHql( - eq("date between '2024-01-01' and '2024-12-31'"), anyInt(), anyInt(), anyString()); - doReturn(2).when(holidayConfigManager).count("date between '2024-01-01' and '2024-12-31'"); + eq("holidayDate between '2024-01-01' and '2024-12-31'"), anyInt(), anyInt(), anyString()); + doReturn(2).when(holidayConfigManager).count("holidayDate between '2024-01-01' and '2024-12-31'"); PagedDataResponse result = holidayConfigManager.list(param, year); assertNotNull(result); assertEquals(2, result.getTotal()); assertEquals(2, result.getRows().size()); - assertEquals("2024-01-01", result.getRows().get(0).getDate().toString()); - assertEquals("2024-10-08", result.getRows().get(1).getDate().toString()); + assertEquals("2024-01-01", result.getRows().get(0).getHolidayDate().toString()); + assertEquals("2024-10-08", result.getRows().get(1).getHolidayDate().toString()); - verify(holidayConfigManager).getByHql("date between '2024-01-01' and '2024-12-31'", 5, 20, "date desc"); + verify(holidayConfigManager).getByHql("holidayDate between '2024-01-01' and '2024-12-31'", 5, 20, "holidayDate desc"); } /** @@ -103,9 +103,9 @@ private HolidayConfig createHolidayConfig(Long id, String date, Integer type, String remark) { HolidayConfig config = new HolidayConfig(); config.setId(id); - config.setDate(Date.valueOf(date)); - config.setType(type); - config.setRemark(remark); + config.setHolidayDate(Date.valueOf(date)); + config.setDateType(type); + config.setDateRemark(remark); return config; } } Index: ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplValidateParamTest.java =================================================================== diff -u -r41361 -r41391 --- ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplValidateParamTest.java (.../HolidayConfigManagerImplValidateParamTest.java) (revision 41361) +++ ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplValidateParamTest.java (.../HolidayConfigManagerImplValidateParamTest.java) (revision 41391) @@ -37,8 +37,8 @@ @Test public void testValidateParam_DateIsNull_ThrowsException() { HolidayConfigParam param = new HolidayConfigParam(); - param.setType(1); - param.setRemark("测试"); + param.setDateType(1); + param.setDateRemark("测试"); RuntimeException exception = assertThrows(RuntimeException.class, () -> holidayConfigManager.validateParam(param)); @@ -52,8 +52,8 @@ @Test public void testValidateParam_TypeIsNull_ThrowsException() { HolidayConfigParam param = new HolidayConfigParam(); - param.setDate(Date.valueOf("2024-01-01")); - param.setRemark("测试"); + param.setHolidayDate(Date.valueOf("2024-01-01")); + param.setDateRemark("测试"); RuntimeException exception = assertThrows(RuntimeException.class, () -> holidayConfigManager.validateParam(param)); @@ -67,9 +67,9 @@ @Test public void testValidateParam_TypeLessThanZero_ThrowsException() { HolidayConfigParam param = new HolidayConfigParam(); - param.setDate(Date.valueOf("2024-01-01")); - param.setType(-1); - param.setRemark("测试"); + param.setHolidayDate(Date.valueOf("2024-01-01")); + param.setDateType(-1); + param.setDateRemark("测试"); RuntimeException exception = assertThrows(RuntimeException.class, () -> holidayConfigManager.validateParam(param)); @@ -83,9 +83,9 @@ @Test public void testValidateParam_TypeGreaterThanTwo_ThrowsException() { HolidayConfigParam param = new HolidayConfigParam(); - param.setDate(Date.valueOf("2024-01-01")); - param.setType(3); - param.setRemark("测试"); + param.setHolidayDate(Date.valueOf("2024-01-01")); + param.setDateType(3); + param.setDateRemark("测试"); RuntimeException exception = assertThrows(RuntimeException.class, () -> holidayConfigManager.validateParam(param)); @@ -99,9 +99,9 @@ @Test public void testValidateParam_ValidParams_NoExceptionThrown() { HolidayConfigParam param = new HolidayConfigParam(); - param.setDate(Date.valueOf("2024-01-01")); - param.setType(1); - param.setRemark("测试"); + param.setHolidayDate(Date.valueOf("2024-01-01")); + param.setDateType(1); + param.setDateRemark("测试"); // 不应该抛出异常 assertDoesNotThrow(() -> holidayConfigManager.validateParam(param)); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManager.java =================================================================== diff -u -r41361 -r41391 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManager.java (.../HolidayConfigManager.java) (revision 41361) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManager.java (.../HolidayConfigManager.java) (revision 41391) @@ -6,6 +6,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.holiday.HolidayConfig; import com.forgon.response.PagedDataResponse; import com.forgon.tools.hibernate.BasePoManager; +import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -48,4 +49,6 @@ * @return 假期类型 */ HolidayType holidayTypeOfDate(java.util.Date date); + + void importJson(MultipartFile file); } Index: ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplUpdateTest.java =================================================================== diff -u -r41361 -r41391 --- ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplUpdateTest.java (.../HolidayConfigManagerImplUpdateTest.java) (revision 41361) +++ ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/service/HolidayConfigManagerImplUpdateTest.java (.../HolidayConfigManagerImplUpdateTest.java) (revision 41391) @@ -97,18 +97,18 @@ HolidayConfigParam param = createValidHolidayConfigParam(); HolidayConfig existingEntity = new HolidayConfig(); existingEntity.setId(1L); - existingEntity.setDate(Date.valueOf("2023-01-01")); - existingEntity.setType(2); - existingEntity.setRemark("old remark"); + existingEntity.setHolidayDate(Date.valueOf("2023-01-01")); + existingEntity.setDateType(2); + existingEntity.setDateRemark("old remark"); doReturn(existingEntity).when(holidayConfigManager).get(1L); doAnswer((Answer) invocation -> { HolidayConfig updated = invocation.getArgument(0); assertEquals(1L, updated.getId()); - assertEquals(param.getDate(), updated.getDate()); - assertEquals(param.getType(), updated.getType()); - assertEquals(param.getRemark(), updated.getRemark()); + assertEquals(param.getHolidayDate(), updated.getHolidayDate()); + assertEquals(param.getDateType(), updated.getDateType()); + assertEquals(param.getDateRemark(), updated.getDateRemark()); return null; }).when(holidayConfigManager).update(any(HolidayConfig.class)); @@ -121,9 +121,9 @@ // 辅助方法:创建合法的HolidayConfigParam对象 private HolidayConfigParam createValidHolidayConfigParam() { HolidayConfigParam param = new HolidayConfigParam(); - param.setDate(Date.valueOf("2024-01-01")); - param.setType(1); - param.setRemark("new remark"); + param.setHolidayDate(Date.valueOf("2024-01-01")); + param.setDateType(1); + param.setDateRemark("new remark"); return param; } } Index: ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/controller/HolidayConfigControllerTest.java =================================================================== diff -u -r41366 -r41391 --- ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/controller/HolidayConfigControllerTest.java (.../HolidayConfigControllerTest.java) (revision 41366) +++ ssts-basedata/src/test/java/com/forgon/disinfectsystem/basedatamanager/holiday/controller/HolidayConfigControllerTest.java (.../HolidayConfigControllerTest.java) (revision 41391) @@ -50,7 +50,7 @@ public void testSave() throws Exception { String res = mockMvc.perform(post("/disinfectSystem/baseData/holidayconfig") .contentType(MediaType.APPLICATION_JSON) - .content("{\"date\": \"2025-10-05\", \"remark\": \"国庆节\", \"type\": 1}")) + .content("{\"holidayDate\": \"2025-10-05\", \"dateRemark\": \"国庆节\", \"dateType\": 1}")) .andExpect(status().isOk()).andReturn().getResponse().getContentAsString(); OperatorResponse or = objectMapper.readValue(res, OperatorResponse.class); Assert.assertTrue(or.success()); @@ -61,7 +61,7 @@ public void testUpdate() throws Exception { String res = mockMvc.perform(put("/disinfectSystem/baseData/holidayconfig/12") .contentType(MediaType.APPLICATION_JSON) - .content("{\"id\": 1, \"date\": \"2025-10-05\", \"remark\": \"国庆节\", \"type\": 1}")) + .content("{\"id\": 1, \"holidayDate\": \"2025-10-05\", \"dateRemark\": \"国庆节\", \"dateType\": 1}")) .andExpect(status().isOk()).andReturn().getResponse().getContentAsString(); OperatorResponse or = objectMapper.readValue(res, OperatorResponse.class); Assert.assertTrue(or.success()); Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/sterilizer/sterilizerForm.js =================================================================== diff -u -r41361 -r41391 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/sterilizer/sterilizerForm.js (.../sterilizerForm.js) (revision 41361) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/sterilizer/sterilizerForm.js (.../sterilizerForm.js) (revision 41391) @@ -312,13 +312,13 @@ var dateTypeStore = new top.Ext.data.SimpleStore({ fields: [{ name: 'type', type: 'int'}, { name: 'text', type: 'string'}], - data: [[1, '每天'], [2, '周日'], [3, '周一'], [4, '周二'], [5, '周三'], [6, '周四'], [7, '周五'], [8, '周六'], - /*[9, '短假前1天'], [10, '短假后1天'],*/ [11, '长假前1天'], [12, '长假后1天']] + data: [[1, '每天'], [2, '每周日'], [3, '每周一'], [4, '每周二'], [5, '每周三'], [6, '每周四'], [7, '每周五'], [8, '每周六'], + /*[9, '短假前1天'], [10, '短假后1天'],*/ [11, '长假前第1天'], [12, '长假后第1天']] }); var frequencyStore = new top.Ext.data.SimpleStore({ fields: [{ name: 'type', type: 'int'}, { name: 'text', type: 'string'}], - data: [/*[-1, '全部'],[-2, '第1炉除外'],*/[1, '1'], [2, '2'], [3, '3']] + data: [/*[-1, '全部'],[-2, '第1炉除外'],*/[1, '1'], [2, '2'], [3, '3'], [4, '4'], [5, '5']] }); var cm1 = new top.Ext.grid.ColumnModel([{ @@ -339,6 +339,7 @@ displayField: 'text', mode: 'local', value: 1, + editable: false, forceSelection: true, allowBlank: false, triggerAction: 'all', @@ -357,18 +358,19 @@ name: 'frequency', dataIndex: 'frequency', header: "炉次", - width: 120, + width: 80, editor: new top.Ext.form.ComboBox({ xtype: 'combo', store: frequencyStore, valueField: 'type', - displayField: 'text', - mode: 'local', - value: 1, - forceSelection: true, - allowBlank: false, - triggerAction: 'all', - anchor: '97%' + displayField: 'text', + mode: 'local', + value: 1, + editable: false, + forceSelection: true, + allowBlank: false, + triggerAction: 'all', + anchor: '97%' }), renderer: function(value) { // 根据值找到对应的显示文本 @@ -381,7 +383,7 @@ }, { id: 'sterilisation', header: "灭菌程序", - width: 180, + width: 160, dataIndex: 'sterilisation', editor: new top.Ext.form.ComboBox({ xtype: 'combo', @@ -494,13 +496,14 @@ var monitoringPackageTriggerStore = new top.Ext.data.SimpleStore({ fields: [{ name: 'type', type: 'int'}, { name: 'text', type: 'string'}], - data: [[1, '每天'], [2, '周日'], [3, '周一'], [4, '周二'], [5, '周三'], [6, '周四'], [7, '周五'], [8, '周六'], - /*[9, '短假前1天'], [10, '短假后1天'],*/ [11, '长假前1天'], [12, '长假后1天'], [101, '有植入物时'], [201, '有外来器械包时']] + data: [[1, '每天'], [2, '每周日'], [3, '每周一'], [4, '每周二'], [5, '每周三'], [6, '每周四'], [7, '每周五'], [8, '每周六'], + /*[9, '短假前1天'], [10, '短假后1天'],*/ [11, '长假前第1天'], [12, '长假后第1天'], [101, '有植入物时'], [201, '有外来器械包时']] }); var monitoringPackageFrequencyStore = new top.Ext.data.SimpleStore({ fields: [{ name: 'type', type: 'int'}, { name: 'text', type: 'string'}], - data: [[-1, '全部'],[-2, '第1炉除外'],[1, '1'], [2, '2'], [3, '3']] + data: [[1, '1'], [2, '2'], [3, '3'], [4, '4'], [5, '5'], [-1, '全部'],[-2, '第1炉除外']] + // data: [[-1, '全部'],[-2, '第1炉除外'],[1, '1'], [2, '2'], [3, '3'], [4, '4'], [5, '5']] }); var MonitoringPackageGridRecord = Ext.data.Record.create([{ @@ -520,14 +523,15 @@ var monitoringPackageColumnModel = new top.Ext.grid.ColumnModel([{ dataIndex: 'trigger', header: "触发条件", - width: 120, + width: 140, editor: new top.Ext.form.ComboBox({ xtype: 'combo', store: monitoringPackageTriggerStore, valueField: 'type', displayField: 'text', mode: 'local', value: 1, + editable: false, forceSelection: true, allowBlank: false, triggerAction: 'all', @@ -544,14 +548,15 @@ }, { dataIndex: 'frequency', header: "炉次", - width: 120, + width: 100, editor: new top.Ext.form.ComboBox({ xtype: 'combo', store: monitoringPackageFrequencyStore, valueField: 'type', displayField: 'text', mode: 'local', value: 1, + editable: false, forceSelection: true, allowBlank: false, triggerAction: 'all', @@ -567,7 +572,7 @@ } }, { header: "监测包类型", - width: 180, + width: 140, dataIndex: 'packageType', renderer: function(value, metadata, record, rowIndex) { // 为每个 checkbox 创建独立的容器 Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/holiday/controller/HolidayConfigController.java =================================================================== diff -u -r41361 -r41391 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/holiday/controller/HolidayConfigController.java (.../HolidayConfigController.java) (revision 41361) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/holiday/controller/HolidayConfigController.java (.../HolidayConfigController.java) (revision 41391) @@ -4,6 +4,7 @@ import com.forgon.disinfectsystem.basedatamanager.holiday.service.HolidayConfigManager; import com.forgon.disinfectsystem.common.params.PagerParam; import com.forgon.disinfectsystem.entity.basedatamanager.holiday.HolidayConfig; +import com.forgon.exception.service.ExceptionHandler; import com.forgon.response.OperatorResponse; import com.forgon.response.PagedDataResponse; import org.springframework.beans.factory.annotation.Autowired; @@ -13,32 +14,62 @@ @RequestMapping("/disinfectSystem/baseData/holidayconfig") public class HolidayConfigController { private final HolidayConfigManager holidayConfigManager; + private final ExceptionHandler exceptionHandler; @Autowired - public HolidayConfigController(HolidayConfigManager holidayConfigManager) { + public HolidayConfigController(HolidayConfigManager holidayConfigManager, + ExceptionHandler exceptionHandler) { this.holidayConfigManager = holidayConfigManager; + this.exceptionHandler = exceptionHandler; } @RequestMapping(method = RequestMethod.POST, produces = "application/json; charset=UTF-8") public OperatorResponse save(@RequestBody HolidayConfigParam holidayConfig) { - holidayConfigManager.save(holidayConfig); - return new OperatorResponse(); + try{ + holidayConfigManager.save(holidayConfig); + return new OperatorResponse(); + }catch (Exception e){ + return new OperatorResponse(false, exceptionHandler.handleException(e)); + } + } @RequestMapping(value = "/{id}", method = RequestMethod.PUT, produces = "application/json; charset=UTF-8") public OperatorResponse update(@PathVariable Long id, @RequestBody HolidayConfigParam holidayConfig) { - holidayConfigManager.update(id, holidayConfig); - return new OperatorResponse(); + try{ + holidayConfigManager.update(id, holidayConfig); + return new OperatorResponse(); + }catch (Exception e){ + return new OperatorResponse(false, exceptionHandler.handleException(e)); + } } @RequestMapping(value = "/{id}", method = RequestMethod.DELETE, produces = "application/json; charset=UTF-8") public OperatorResponse delete(@PathVariable Long id) { - holidayConfigManager.delete(id); - return new OperatorResponse(); + try{ + holidayConfigManager.delete(id); + return new OperatorResponse(); + }catch (Exception e){ + return new OperatorResponse(false, exceptionHandler.handleException(e)); + } } @RequestMapping(method = RequestMethod.GET, produces = "application/json; charset=UTF-8") public PagedDataResponse loadList(PagerParam param, Integer year) { - return holidayConfigManager.list(param, year); + try{ + return holidayConfigManager.list(param, year); + }catch (Exception e){ + return new PagedDataResponse<>(exceptionHandler.handleException(e)); + } } + +// @RequestMapping(value = "json", method = RequestMethod.POST, produces = "application/json; charset=UTF-8") +// public OperatorResponse importJson(MultipartFile file) { +// try { +// holidayConfigManager.importJson(file); +// return new OperatorResponse(); +// }catch (Exception e){ +// return new OperatorResponse(false, exceptionHandler.handleException(e)); +// } +// } }