medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/MwCheckoutRecordController.java
@@ -5,6 +5,7 @@ import com.sinata.system.domain.query.CheckoutRecordQuery; import com.sinata.system.domain.query.MwCheckoutRecordItemQuery; import com.sinata.system.domain.query.MwTransitRecordQuery; import com.sinata.system.domain.query.TransitRecordQuery; import com.sinata.system.domain.vo.MwCheckoutRecordVO; import com.sinata.system.domain.vo.MwMedicalWasteBoxVO; import com.sinata.system.domain.vo.MwTransitRecordVO; @@ -111,9 +112,9 @@ * @return */ @ApiOperation("运输记录详情") @GetMapping("/transit/detail/{id}") public R<MwTransitRecordVO> transitDetail(@ApiParam(name = "id", value = "运输记录id", required = true) @PathVariable("id") Long id) { return R.ok(mwCheckoutRecordService.transitDetail(id)); @PostMapping("/transit/detail") public R<MwTransitRecordVO> transitDetail(@RequestBody TransitRecordQuery query) { return R.ok(mwCheckoutRecordService.transitDetail(query)); } /** @@ -124,7 +125,7 @@ */ @ApiOperation("运输记录详情分页列表") @PostMapping("/transit/detailPage") public R<PageDTO<MwMedicalWasteBoxVO>> transitDetailPage(@Valid @RequestBody MwTransitRecordQuery query) { public R<PageDTO<MwMedicalWasteBoxVO>> transitDetailPage(@Valid @RequestBody TransitRecordQuery query) { return R.ok(mwCheckoutRecordService.transitDetailPageList(query)); } } medicalWaste-common/src/main/java/com/sinata/common/utils/DateUtils.java
@@ -245,7 +245,7 @@ max.setTime(maxDate); Calendar curr = min; max.add(Calendar.YEAR, 1); //max.add(Calendar.YEAR, 1); while (curr.before(max)) { result.add(sdf.format(curr.getTime())); curr.add(Calendar.YEAR, 1); @@ -259,7 +259,7 @@ max.setTime(maxDate); Calendar curr = min; max.add(Calendar.MONTH, 1); //max.add(Calendar.MONTH, 1); while (curr.before(max)) { result.add(sdf.format(curr.getTime())); curr.add(Calendar.MONTH, 1); @@ -273,7 +273,7 @@ min.setTime(minDate); max.setTime(maxDate); Calendar curr = min; max.add(Calendar.DATE, 1); //max.add(Calendar.DATE, 1); while (curr.before(max)) { result.add(sdf.format(curr.getTime())); curr.add(Calendar.DATE, 1); medicalWaste-system/src/main/java/com/sinata/system/domain/query/TransitRecordQuery.java
New file @@ -0,0 +1,29 @@ package com.sinata.system.domain.query; import com.sinata.common.entity.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; /** * @author mitao * @date 2025/3/25 */ @ApiModel("运输记录查询对象") @Data public class TransitRecordQuery extends BasePage { private static final long serialVersionUID = 710402334522546900L; @ApiModelProperty(value = "路线id") private Long id; @ApiModelProperty(value = "车辆id") private Long carId; @ApiModelProperty(value = "运输日期") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date transitDate; } medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwMedicalWasteBoxVO.java
@@ -1,8 +1,10 @@ package com.sinata.system.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.util.Date; @@ -48,4 +50,9 @@ @ApiModelProperty("最后封箱时间") private Date boxTime; @ApiModelProperty(value = "运输日期") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date transitDate; } medicalWaste-system/src/main/java/com/sinata/system/domain/vo/MwTransitRecordVO.java
@@ -1,8 +1,10 @@ package com.sinata.system.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.util.Date; @@ -17,6 +19,9 @@ @ApiModelProperty("路线id") private Long id; @ApiModelProperty("路线id") private Long carId; @ApiModelProperty("单位名称") private String departmentName; @@ -41,4 +46,9 @@ @ApiModelProperty("状态 1:暂存中; 2:运输中; 3:已接收; 4:已处置;") private Integer status; @ApiModelProperty(value = "运输日期") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date transitDate; } medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java
@@ -3,12 +3,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.sinata.system.domain.MwCheckoutRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.sinata.system.domain.dto.CollectTotalUpDto; import com.sinata.system.domain.query.CheckoutRecordQuery; import com.sinata.system.domain.query.DisposalReportQuery; import com.sinata.system.domain.query.MwTransitRecordQuery; import com.sinata.system.domain.query.TransformQuery; import com.sinata.system.domain.query.TransitRecordQuery; import com.sinata.system.domain.vo.MwCheckoutRecordVO; import com.sinata.system.domain.vo.MwCollectRecordVO; import com.sinata.system.domain.vo.MwMedicalWasteBoxVO; @@ -71,10 +71,9 @@ /** * 运输记录详情 * * @param id * @return * @param query@return */ MwTransitRecordVO transitDetail(Long id); MwTransitRecordVO transitDetail(@Param("query") TransitRecordQuery query); /** * 运输记录详情分页列表 @@ -83,7 +82,7 @@ * @param id * @return */ Page<MwMedicalWasteBoxVO> transitDetailPageList(Page<MwMedicalWasteBoxVO> page, @Param("id") Long id); Page<MwMedicalWasteBoxVO> transitDetailPageList(Page<MwMedicalWasteBoxVO> page, @Param("query") TransitRecordQuery query); /** * 转运记录导出 medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java
@@ -9,6 +9,7 @@ import com.sinata.system.domain.query.MwCheckoutRecordItemQuery; import com.sinata.system.domain.query.MwTransitRecordQuery; import com.sinata.system.domain.query.TransformQuery; import com.sinata.system.domain.query.TransitRecordQuery; import com.sinata.system.domain.vo.MwCheckoutRecordVO; import com.sinata.system.domain.vo.MwCollectRecordVO; import com.sinata.system.domain.vo.MwMedicalWasteBoxVO; @@ -19,7 +20,6 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.time.LocalDate; import java.util.List; import java.util.List; /** @@ -67,9 +67,10 @@ * 运输记录详情 * * @param id * @param query * @return */ MwTransitRecordVO transitDetail(Long id); MwTransitRecordVO transitDetail(TransitRecordQuery query); /** * 运输记录详情分页列表 @@ -77,7 +78,7 @@ * @param query * @return */ PageDTO<MwMedicalWasteBoxVO> transitDetailPageList(MwTransitRecordQuery query); PageDTO<MwMedicalWasteBoxVO> transitDetailPageList(TransitRecordQuery query); /** * 转运记录导出 medicalWaste-system/src/main/java/com/sinata/system/service/biz/StaticsService.java
@@ -230,7 +230,7 @@ List<TransformVO> checkoutRecordVOList = mwCheckoutRecordService.getCheckoutRecordList(query, region.getTreeCode()); if (CollUtils.isNotEmpty(checkoutRecordVOList)) { //查询医废类型 List<SysDictData> wasteTypeList = sysDictDataService.lambdaQuery().in(SysDictData::getDictCode, query.getWasteTypeCodeList()).list(); List<SysDictData> wasteTypeList = sysDictDataService.lambdaQuery().in(SysDictData::getDictCode, query.getWasteTypeCodeList()).orderByDesc(SysDictData::getDictCode).list(); if (CollUtils.isNotEmpty(wasteTypeList)) { vo.setLegend(wasteTypeList.stream().map(SysDictData::getDictLabel).collect(Collectors.toList())); vo.getLegend().add("小计"); medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java
@@ -16,6 +16,7 @@ import com.sinata.system.domain.query.MwCheckoutRecordItemQuery; import com.sinata.system.domain.query.MwTransitRecordQuery; import com.sinata.system.domain.query.TransformQuery; import com.sinata.system.domain.query.TransitRecordQuery; import com.sinata.system.domain.vo.MwCheckoutRecordExcelVO; import com.sinata.system.domain.vo.MwCheckoutRecordVO; import com.sinata.system.domain.vo.MwCollectRecordVO; @@ -33,7 +34,6 @@ import java.io.IOException; import java.net.URLEncoder; import java.time.LocalDate; import java.util.Collections; import java.util.List; /** @@ -171,8 +171,8 @@ * @return */ @Override public MwTransitRecordVO transitDetail(Long id) { return baseMapper.transitDetail(id); public MwTransitRecordVO transitDetail(TransitRecordQuery query) { return baseMapper.transitDetail(query); } /** @@ -182,8 +182,8 @@ * @return */ @Override public PageDTO<MwMedicalWasteBoxVO> transitDetailPageList(MwTransitRecordQuery query) { Page<MwMedicalWasteBoxVO> page = baseMapper.transitDetailPageList(new Page<>(query.getPageCurr(), query.getPageSize()), query.getId()); public PageDTO<MwMedicalWasteBoxVO> transitDetailPageList(TransitRecordQuery query) { Page<MwMedicalWasteBoxVO> page = baseMapper.transitDetailPageList(new Page<>(query.getPageCurr(), query.getPageSize()), query); return PageDTO.of(page); } medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMicroEquipmentRecordServiceImpl.java
@@ -214,7 +214,7 @@ vo.setLegend(wasteTypeList.stream().map(SysDictDataVO::getDictLabel).collect(Collectors.toList())); vo.getLegend().add("小计"); String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId()); List<SysDictData> medicalWasteTypeList = sysDictDataService.lambdaQuery().eq(SysDictData::getDictType, "medical_waste_type").list(); List<SysDictData> medicalWasteTypeList = sysDictDataService.lambdaQuery().eq(SysDictData::getDictType, "medical_waste_type").orderByDesc(SysDictData::getDictCode).list(); List<MwMicroEquipmentStaticsVO> staticsData = baseMapper.getStaticsData(query, treeCode); SimpleDateFormat sdf = new SimpleDateFormat(DateUtils.YYYY_MM_DD_HH_MM_SS); @@ -230,7 +230,6 @@ break; } List<String> dateList = DateUtils.getDayBetween(query.getStartTime(), query.getEndTime(), query.getDateType()); if (CollUtils.isNotEmpty(staticsData)) { List<DepartmentReportItemVO> result = new ArrayList<>(); for (String date : dateList) { DepartmentReportItemVO departmentReportItemVO = new DepartmentReportItemVO(); @@ -255,7 +254,6 @@ result.add(departmentReportItemVO); } vo.setList(result); } return vo; } medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java
@@ -783,6 +783,7 @@ .like(StringUtils.isNotBlank(query.getContactPerson()), SysDepartment::getContactPerson, query.getContactPerson()) .like(StringUtils.isNotBlank(query.getContactPhone()), SysDepartment::getContactPhone, query.getContactPhone()) .eq(SysDepartment::getOrgType, DepartmentEnum.REGULATORY_UNIT.getCode()) .orderByDesc(SysDepartment::getCreateTime) .page(new Page<>(query.getPageCurr(), query.getPageSize())); return PageDTO.of(page, RegulatoryUnitVO.class); } medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictDataServiceImpl.java
@@ -171,7 +171,7 @@ @Nullable private List<SysDictDataVO> getSysDictDataVOListByType(String dictType) { List<SysDictData> medicalWasteTypeList = lambdaQuery().eq(SysDictData::getDictType, dictType).list(); List<SysDictData> medicalWasteTypeList = lambdaQuery().eq(SysDictData::getDictType, dictType).orderByDesc(SysDictData::getDictCode).list(); return BeanUtils.copyToList(medicalWasteTypeList, SysDictDataVO.class); } medicalWaste-system/src/main/resources/mapper/system/MwApplicationMapper.xml
@@ -68,6 +68,7 @@ AND MA.PHONE LIKE CONCAT('%',#{query.phone},'%') </if> </where> ORDER BY MA.CREATE_TIME DESC </select> <select id="detail" resultType="com.sinata.system.domain.vo.MwApplicationVO"> SELECT MA.ID, medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
@@ -117,86 +117,156 @@ ORDER BY mcr2.CREATE_TIME DESC </select> <select id="transitPageList" resultType="com.sinata.system.domain.vo.MwTransitRecordVO"> SELECT MTRC.ROUTE_ID AS id, SELECT ID, CAR_ID, DEPARTMENT_NAME, LICENSE_PLATE_NUMBER, NICK_NAME, SUM(WEIGHT) AS weight, COUNT(COLLECT_RECORD_ID) AS bagNum, RECEIVE_TIME AS endTime, transitDate, STATUS, DEL_FLAG, MIN(BOX_TIME) AS startTime, COUNT(DISTINCT BOX_NUMBER) AS boxNum FROM (SELECT DISTINCT MTR.ID, MCR2.CAR_ID, SD.DEPARTMENT_NAME, MTC.LICENSE_PLATE_NUMBER, SU.NICK_NAME, SUM(MCR.BOX_NUM) AS boxNum, SUM(MCR.TOTAL_WEIGHT) AS weight, MIN(MCR2.BOX_TIME) AS startTime, MDR.RECEIVE_TIME AS endTime, MCR2.STATUS FROM MW_CHECKOUT_RECORD MCR LEFT JOIN MW_CHECKOUT_RECORD_ITEM MCRI ON MCRI.CHECKOUT_RECORD_ID = MCR.ID MCR2.BOX_NUM, MCR.BOX_TIME, MCR2.TOTAL_WEIGHT, MDR.RECEIVE_TIME, MCR.STATUS, TRUNC(MCR2.CHECKOUT_TIME) AS transitDate, SD.TREE_CODE, MCR.ID AS COLLECT_RECORD_ID, MCR.WEIGHT, MCR2.DEL_FLAG, MCR.BOX_NUMBER FROM MW_CHECKOUT_RECORD MCR2 LEFT JOIN MW_CHECKOUT_RECORD_ITEM MCRI ON MCRI.CHECKOUT_RECORD_ID = MCR2.ID LEFT JOIN MW_COLLECT_RECORD MCR ON MCR.ID = MCRI.COLLECT_RECORD_ID LEFT JOIN MW_DISPOSAL_RECORD_ITEM MDRI ON MDRI.COLLECT_RECORD_ID = MCRI.COLLECT_RECORD_ID LEFT JOIN MW_DISPOSAL_RECORD MDR ON MDR.ID = MDRI.DISPOSAL_RECORD_ID LEFT JOIN MW_COLLECT_RECORD MCR2 ON MCRI.COLLECT_RECORD_ID = MCR2.ID LEFT JOIN MW_TRANSIT_CAR MTC ON MCR.CAR_ID = MTC.ID LEFT JOIN SYS_USER SU ON MCR.DRIVER_ID = SU.USER_ID LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MDR.DEPARTMENT_ID LEFT JOIN MW_TRANSIT_ROUTE_CAR MTRC ON MTRC.CAR_ID = MCR.CAR_ID LEFT JOIN (SELECT * FROM MW_TRANSIT_ROUTE GROUP BY DEPARTMENT_ID) MTR ON MTR.DEPARTMENT_ID = MDR.DEPARTMENT_ID) AS T <where> MCR.DEL_FLAG = 0 T.DEL_FLAG = 0 <if test="treeCode != null and treeCode != null"> AND SD.TREE_CODE LIKE CONCAT(#{treeCode},'%') AND T.TREE_CODE LIKE CONCAT(#{treeCode},'%') </if> <if test="query.licensePlateNumber != null and query.licensePlateNumber != ''"> AND MTC.LICENSE_PLATE_NUMBER LIKE CONCAT('%',#{query.licensePlateNumber},'%') AND T.LICENSE_PLATE_NUMBER LIKE CONCAT('%',#{query.licensePlateNumber},'%') </if> <if test="query.status != null"> AND MCR2.STATUS = #{query.status} <if test="query.status != null and (query.status == 3 or query.status == 4)"> AND T.STATUS in(3,4) </if> <if test="query.startTimeStart != null and query.startTimeEnd != null"> AND MCR2.BOX_TIME BETWEEN #{query.startTimeStart} AND #{query.startTimeEnd} AND T.BOX_TIME BETWEEN #{query.startTimeStart} AND #{query.startTimeEnd} </if> <if test="query.endTimeStart != null and query.endTimeEnd != null"> AND MDR.RECEIVE_TIME BETWEEN #{query.endTimeStart} AND #{query.endTimeEnd} AND T.RECEIVE_TIME BETWEEN #{query.endTimeStart} AND #{query.endTimeEnd} </if> </where> GROUP BY MTRC.ROUTE_ID ORDER BY startTime DESC GROUP BY T.transitDate, T.ID, T.CAR_ID, T.NICK_NAME ORDER BY T.transitDate DESC </select> <select id="transitDetail" resultType="com.sinata.system.domain.vo.MwTransitRecordVO"> SELECT MTRC.ROUTE_ID AS id, MDR.DISPOSAL_UNIT_NAME AS departmentName, SELECT ID, CAR_ID, DEPARTMENT_NAME, LICENSE_PLATE_NUMBER, NICK_NAME, SUM(WEIGHT) AS weight, COUNT(COLLECT_RECORD_ID) AS bagNum, RECEIVE_TIME AS endTime, transitDate, STATUS FROM (SELECT DISTINCT MTR.ID, MCR2.CAR_ID, SD.DEPARTMENT_NAME, MTC.LICENSE_PLATE_NUMBER, SU.NICK_NAME, SUM(MCR.BOX_NUM) AS boxNum, SUM(MCR2.WEIGHT) AS weight, MIN(MCR2.BOX_TIME) AS startTime, MDR.RECEIVE_TIME AS endTime FROM MW_CHECKOUT_RECORD MCR LEFT JOIN MW_CHECKOUT_RECORD_ITEM MCRI ON MCRI.CHECKOUT_RECORD_ID = MCR.ID MCR2.BOX_NUM, MCR.BOX_TIME, MCR2.TOTAL_WEIGHT, MDR.RECEIVE_TIME, MCR.STATUS, TRUNC(MCR2.CHECKOUT_TIME) AS transitDate, SD.TREE_CODE, MCR.ID AS COLLECT_RECORD_ID, MCR.WEIGHT FROM MW_CHECKOUT_RECORD MCR2 LEFT JOIN MW_CHECKOUT_RECORD_ITEM MCRI ON MCRI.CHECKOUT_RECORD_ID = MCR2.ID LEFT JOIN MW_COLLECT_RECORD MCR ON MCR.ID = MCRI.COLLECT_RECORD_ID LEFT JOIN MW_DISPOSAL_RECORD_ITEM MDRI ON MDRI.COLLECT_RECORD_ID = MCRI.COLLECT_RECORD_ID LEFT JOIN MW_DISPOSAL_RECORD MDR ON MDR.ID = MDRI.DISPOSAL_RECORD_ID LEFT JOIN MW_COLLECT_RECORD MCR2 ON MCRI.COLLECT_RECORD_ID = MCR2.ID LEFT JOIN MW_TRANSIT_CAR MTC ON MCR.CAR_ID = MTC.ID LEFT JOIN SYS_USER SU ON MCR.DRIVER_ID = SU.USER_ID LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MDR.DEPARTMENT_ID LEFT JOIN MW_TRANSIT_ROUTE_CAR MTRC ON MTRC.CAR_ID = MCR.CAR_ID LEFT JOIN (SELECT * FROM MW_TRANSIT_ROUTE GROUP BY DEPARTMENT_ID) MTR ON MTR.DEPARTMENT_ID = MDR.DEPARTMENT_ID) AS T <where> MCR.DEL_FLAG = 0 AND MTRC.ROUTE_ID = #{id} T.ID = #{query.id} AND T.CAR_ID = #{query.carId} AND T.transitDate = #{query.transitDate} </where> GROUP BY MTRC.ROUTE_ID </select> <select id="transitDetailPageList" resultType="com.sinata.system.domain.vo.MwMedicalWasteBoxVO"> SELECT MCR2.HOSPITAL_NAME, MCR2.BOX_NUMBER, MCR2.WASTE_TYPE_STR, COUNT(MCR2.ID) AS bagNum, SUM(MCR2.WEIGHT) AS totalWeight, MAX(MCR.CHECKOUT_TIME) AS latestCheckoutTime FROM MW_TRANSIT_ROUTE_CAR MTRC INNER JOIN MW_CHECKOUT_RECORD MCR on MTRC.CAR_ID = MCR.CAR_ID LEFT JOIN MW_CHECKOUT_RECORD_ITEM MCRI on MCR.ID = MCRI.CHECKOUT_RECORD_ID LEFT JOIN MW_COLLECT_RECORD MCR2 ON MCR2.ID = MCRI.COLLECT_RECORD_ID SELECT ID, CAR_ID, DEPARTMENT_NAME, LICENSE_PLATE_NUMBER, NICK_NAME, COUNT(COLLECT_RECORD_ID) AS bagNum, SUM(WEIGHT) AS totalWeight, RECEIVE_TIME AS endTime, transitDate, STATUS,CHECK_OUT_ID, HOSPITAL_NAME, BOX_NUMBER, WASTE_TYPE_STR FROM (SELECT DISTINCT MTR.ID, MCR2.CAR_ID, SD.DEPARTMENT_NAME, MTC.LICENSE_PLATE_NUMBER, SU.NICK_NAME, MCR.BOX_TIME, MDR.RECEIVE_TIME, MCR.STATUS, TRUNC(MCR2.CHECKOUT_TIME) AS transitDate, SD.TREE_CODE, MCR2.ID AS CHECK_OUT_ID, MCR.ID AS COLLECT_RECORD_ID, MCR.WEIGHT, MCR.HOSPITAL_NAME, MCR.BOX_NUMBER, MCR.WASTE_TYPE_STR FROM MW_CHECKOUT_RECORD MCR2 LEFT JOIN MW_CHECKOUT_RECORD_ITEM MCRI ON MCRI.CHECKOUT_RECORD_ID = MCR2.ID LEFT JOIN MW_COLLECT_RECORD MCR ON MCR.ID = MCRI.COLLECT_RECORD_ID LEFT JOIN MW_DISPOSAL_RECORD_ITEM MDRI ON MDRI.COLLECT_RECORD_ID = MCRI.COLLECT_RECORD_ID LEFT JOIN MW_DISPOSAL_RECORD MDR ON MDR.ID = MDRI.DISPOSAL_RECORD_ID LEFT JOIN MW_TRANSIT_CAR MTC ON MCR.CAR_ID = MTC.ID LEFT JOIN SYS_USER SU ON MCR.DRIVER_ID = SU.USER_ID LEFT JOIN SYS_DEPARTMENT SD ON SD.ID = MDR.DEPARTMENT_ID LEFT JOIN (SELECT * FROM MW_TRANSIT_ROUTE GROUP BY DEPARTMENT_ID) MTR ON MTR.DEPARTMENT_ID = MDR.DEPARTMENT_ID) AS T <where> MTRC.ROUTE_ID = #{id} T.ID = #{query.id} AND T.CAR_ID = #{query.carId} AND T.transitDate = #{query.transitDate} </where> GROUP BY MCR2.BOX_ID ORDER BY latestCheckoutTime DESC </select> <select id="hospitalTransitList" resultType="com.sinata.system.domain.vo.MwCheckoutRecordVO"> SELECT mcr.ID, @@ -330,6 +400,7 @@ </if> </where> GROUP BY MCR2.BOX_NUMBER ORDER BY MCR.CHECKOUT_TIME </select> <select id="getRegulationReportList" resultType="com.sinata.system.domain.vo.MwCollectRecordVO"> SELECT MCR2.ID, medicalWaste-system/src/main/resources/mapper/system/SysRoleMapper.xml
@@ -127,7 +127,7 @@ GROUP BY r.ROLE_ID, r.ROLE_NAME, r.ROLE_KEY, r.ROLE_SORT, r.STATUS, r.DEL_FLAG, r.CREATE_BY, r.CREATE_TIME, r.UPDATE_BY, r.UPDATE_TIME, r.REMARK, r.MANAGE_ROLE_ID_STR ORDER BY r.CREATE_TIME DESC ORDER BY r.ROLE_ID DESC </select> <insert id="insertRole" parameterType="SysRole" useGeneratedKeys="true" keyProperty="roleId">