luodangjia
2024-12-25 70584075b3953045342a513bf3372efb204c9d5c
merge
5个文件已修改
3个文件已添加
182 ■■■■■ 已修改文件
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwWarningRecordController.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CheckOutDto.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectTotalDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java
New file
@@ -0,0 +1,84 @@
package com.sinata.web.controller.applet;
import com.google.common.collect.Lists;
import java.util.Date;
import com.sinata.common.core.domain.R;
import com.sinata.common.core.domain.entity.SysUser;
import com.sinata.common.entity.PageDTO;
import com.sinata.common.utils.SecurityUtils;
import com.sinata.system.domain.MwCheckoutRecord;
import com.sinata.system.domain.MwTransitCar;
import com.sinata.system.domain.dto.CheckOutDto;
import com.sinata.system.domain.dto.CollectTotalUpDto;
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.vo.MwCheckoutRecordVO;
import com.sinata.system.domain.vo.MwMedicalWasteBoxVO;
import com.sinata.system.domain.vo.MwTransitRecordVO;
import com.sinata.system.service.ISysUserService;
import com.sinata.system.service.MwCheckoutRecordService;
import com.sinata.system.service.MwTransitCarService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.naming.ldap.PagedResultsControl;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
/**
 * <p>
 * 暂存间出库记录 前端控制器
 * </p>
 *
 * @author mitao
 * @since 2024-12-02
 */
@Api(tags = {"医院工作人员"})
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/applet/mwCheckoutRecord")
public class AppMwCheckoutRecordController {
    private final MwCheckoutRecordService mwCheckoutRecordService;
    private final ISysUserService userService;
    private final MwTransitCarService carService;
    @ApiOperation(value = "出库统计上")
    @PostMapping("/total")
    public R<List<CollectTotalUpDto>> total(LocalDate date) {
        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
        return R.ok(mwCheckoutRecordService.totalUp(date,sysUser.getDepartmentId()));
    }
    @ApiOperation(value = "出库统计下")
    @PostMapping("/record")
    public R<List<CheckOutDto>> record() {
        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
        LocalDate now = LocalDate.now();
        List<MwCheckoutRecord> list = mwCheckoutRecordService.lambdaQuery().eq(MwCheckoutRecord::getCheckoutTime, now).eq(MwCheckoutRecord::getDepartmentId, sysUser.getDepartmentId()).orderByDesc(MwCheckoutRecord::getCheckoutTime).list();
        List<CheckOutDto> backList = new ArrayList<>();
        for (MwCheckoutRecord mwCheckoutRecord : list) {
            CheckOutDto checkOutDto = new CheckOutDto();
            SysUser byId = userService.getById(mwCheckoutRecord.getDriverId());
            checkOutDto.setDriverName(byId.getNickName());
            MwTransitCar byId1 = carService.getById(mwCheckoutRecord.getCarId());
            checkOutDto.setLicensePlateNumber(byId1.getLicensePlateNumber());
            checkOutDto.setCheckoutTime(mwCheckoutRecord.getCheckoutTime());
            List<CollectTotalUpDto> records =  mwCheckoutRecordService.totalUp1(mwCheckoutRecord.getId());
            checkOutDto.setRecords(records);
            backList.add(checkOutDto);
        }
        return R.ok(backList);
    }
}
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwWarningRecordController.java
New file
@@ -0,0 +1,39 @@
package com.sinata.web.controller.applet;
import com.sinata.common.core.domain.R;
import com.sinata.system.domain.dto.CollectTotalUpDto;
import com.sinata.system.service.MwWarningRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDate;
import java.util.List;
/**
 * <p>
 * 预警记录表 前端控制器
 * </p>
 *
 * @author mitao
 * @since 2024-12-02
 */
@RestController
@RequestMapping("/applet/mwWarningRecord")
@Api(tags = {"医院工作人员-预警"})
@AllArgsConstructor
public class AppMwWarningRecordController {
    private  final MwWarningRecordService mwWarningRecordService;
    @ApiOperation("记录")
    @PostMapping("/record")
    public R<List<CollectTotalUpDto>> record(@RequestParam Integer pageNum,@RequestParam Integer pageSize) {
    }
}
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CheckOutDto.java
New file
@@ -0,0 +1,21 @@
package com.sinata.system.domain.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.sinata.system.domain.MwCheckoutRecord;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class CheckOutDto {
    @ApiModelProperty("运输人员姓名")
    private String driverName;
    @ApiModelProperty("出库时间")
    private Date checkoutTime;
    @ApiModelProperty("车牌号")
    private String licensePlateNumber;
    private List<CollectTotalUpDto> records;
}
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectTotalDto.java
@@ -7,6 +7,7 @@
import java.time.LocalDateTime;
@Data
public class CollectTotalDto {
    @ApiModelProperty("箱")
    private Integer boxNum = 0;
    @ApiModelProperty("袋")
medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java
@@ -3,6 +3,7 @@
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.MwTransitRecordQuery;
import com.sinata.system.domain.vo.MwCheckoutRecordVO;
@@ -11,6 +12,7 @@
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDate;
import java.util.List;
/**
@@ -84,4 +86,7 @@
     * @param treeCode
     */
    List<MwCheckoutRecordVO> hospitalTransitList(@Param("query") CheckoutRecordQuery query, @Param("treeCode") String treeCode);
    List<CollectTotalUpDto> totalUp(@Param("date") LocalDate date, @Param("departmentId")Long departmentId);
    List<CollectTotalUpDto> totalUp1(@Param("outId")Long outId);
}
medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.sinata.common.entity.PageDTO;
import com.sinata.system.domain.MwCheckoutRecord;
import com.sinata.system.domain.dto.CollectTotalUpDto;
import com.sinata.system.domain.query.CheckoutRecordQuery;
import com.sinata.system.domain.query.MwCheckoutRecordItemQuery;
import com.sinata.system.domain.query.MwTransitRecordQuery;
@@ -12,6 +13,8 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.time.LocalDate;
import java.util.List;
/**
 * <p>
@@ -77,4 +80,7 @@
     * @param response
     */
    void checkoutRecordExport(CheckoutRecordQuery query, HttpServletResponse response) throws IOException;
    List<CollectTotalUpDto> totalUp(LocalDate date, Long departmentId);
    List<CollectTotalUpDto> totalUp1(Long outId);
}
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java
@@ -7,6 +7,7 @@
import com.sinata.common.utils.BeanUtils;
import com.sinata.common.utils.StringUtils;
import com.sinata.system.domain.MwCheckoutRecord;
import com.sinata.system.domain.dto.CollectTotalUpDto;
import com.sinata.system.domain.query.CheckoutRecordQuery;
import com.sinata.system.domain.query.MwCheckoutRecordItemQuery;
import com.sinata.system.domain.query.MwTransitRecordQuery;
@@ -23,6 +24,8 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.time.LocalDate;
import java.util.Collections;
import java.util.List;
/**
@@ -77,6 +80,15 @@
        EasyExcel.write(response.getOutputStream(), MwCheckoutRecordExcelVO.class).sheet("转运记录").doWrite(mwCheckoutRecordExcelVOS);
    }
    @Override
    public List<CollectTotalUpDto> totalUp(LocalDate date, Long departmentId) {
        return this.baseMapper.totalUp(date,departmentId);
    }
    @Override
    public List<CollectTotalUpDto> totalUp1( Long outId) {
        return this.baseMapper.totalUp1(outId);
    }
    /**
     * 转运记录详情
     *
medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
@@ -209,5 +209,19 @@
        </where>
        GROUP BY mcr.DEPARTMENT_ID
    </select>
    <select id="totalUp" resultType="com.sinata.system.domain.dto.CollectTotalUpDto">
        SELECT WASTE_TYPE as wasteType,COUNT(DISTINCT BOX_NUMBER ) as boxNum ,COUNT(1)as num,sum(WEIGHT) as weight from MEDICAL_WASTE.MW_COLLECT_RECORD
        <where>
            CHECKOUT_TIME is not null AND DEPARTMENT_ID = #{departmentId}
        </where>
        GROUP BY WASTE_TYPE
    </select>
    <select id="totalUp1" resultType="com.sinata.system.domain.dto.CollectTotalUpDto">
        SELECT t2.WASTE_TYPE as wasteType,COUNT(DISTINCT t2.BOX_NUMBER ) as boxNum ,COUNT(t2.ID)as num,sum(t2.WEIGHT) as weight
        from MEDICAL_WASTE.MW_CHECKOUT_RECORD_ITEM t1
        left join MEDICAL_WASTE.MW_COLLECT_RECORD  t2 on t1.COLLECT_RECORD_ID = t2.ID
        where  t2.CHECKOUT_RECORD_ID = #{outId}
        GROUP BY t2.WASTE_TYPE
    </select>
</mapper>