package com.sinata.web.controller.applet;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
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.MwCollectRecord;
|
import com.sinata.system.domain.dto.CollectDto;
|
import com.sinata.system.domain.dto.CollectTotalDto;
|
import com.sinata.system.domain.dto.CollectTotalUpDto;
|
import com.sinata.system.domain.dto.MwCollectRecordDTO;
|
import com.sinata.system.domain.query.MwCollectRecordQuery;
|
import com.sinata.system.domain.vo.MedicalWasteProcessVO;
|
import com.sinata.system.domain.vo.MwCollectRecordVO;
|
import com.sinata.system.service.ISysUserService;
|
import com.sinata.system.service.MwCollectRecordService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import javax.validation.Valid;
|
import java.io.IOException;
|
import java.time.LocalDate;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 暂存间入库记录 前端控制器
|
* </p>
|
*
|
* @author mitao
|
* @since 2024-12-02
|
*/
|
@Validated
|
@RestController
|
@Api(tags = {"医院工作人员"})
|
@RequiredArgsConstructor
|
@RequestMapping("/applet/mwCollectRecord")
|
public class AppMwCollectRecordController {
|
private final MwCollectRecordService collectRecordService;
|
@Autowired
|
private ISysUserService userService;
|
|
|
|
@ApiOperation("新增医废记录")
|
@PostMapping("/add")
|
public R<?> edit(@Valid @RequestBody MwCollectRecord mwCollectRecord) {
|
collectRecordService.save(mwCollectRecord);
|
return R.ok();
|
}
|
@ApiOperation("库存信息")
|
@PostMapping("/list")
|
public R<List<CollectDto>> list(String boxNumber) {
|
SysUser sysUser = SecurityUtils.getLoginUser().getUser();
|
List<CollectDto> collectDtos = collectRecordService.getGroup(boxNumber,sysUser.getDepartmentId());
|
return R.ok(collectDtos);
|
}
|
@ApiOperation("收集详情")
|
@PostMapping("/record")
|
public R<List<MwCollectRecord>> record(@RequestParam String boxNumber) {
|
List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getBoxNumber, boxNumber).orderByDesc(MwCollectRecord::getCollectTime).list();
|
return R.ok(list);
|
}
|
|
@ApiOperation("收集统计上")
|
@PostMapping("/collect/total")
|
public R<List<CollectTotalUpDto>> collecttotal1(LocalDate date) {
|
SysUser sysUser = SecurityUtils.getLoginUser().getUser();
|
return R.ok(collectRecordService.collectTotal(date,sysUser.getDepartmentId()));
|
}
|
@ApiOperation("收集统计下")
|
@PostMapping("/collect/down/total")
|
public R<Page<MwCollectRecord>> collecttotal2(LocalDate date,@RequestParam Integer pageNum, @RequestParam Integer pageSize) {
|
SysUser sysUser = SecurityUtils.getLoginUser().getUser();
|
Page<MwCollectRecord> page = collectRecordService.lambdaQuery().eq(date!=null,MwCollectRecord::getCollectTime,date).eq(MwCollectRecord::getDepartmentId, sysUser.getDepartmentId()).orderByDesc(MwCollectRecord::getCollectTime).page(Page.of(pageNum, pageSize));
|
return R.ok(page);
|
}
|
|
|
@ApiOperation("库存信息底部统计")
|
@PostMapping("/total")
|
public R<CollectTotalDto> total(String boxNumber) {
|
SysUser sysUser = SecurityUtils.getLoginUser().getUser();
|
|
CollectTotalDto collectTotalDto = new CollectTotalDto();
|
List<CollectDto> collectDtos = collectRecordService.getGroup(boxNumber,sysUser.getDepartmentId());
|
for (CollectDto collectDto : collectDtos) {
|
collectTotalDto.setBoxNum(collectTotalDto.getBoxNum()+1);
|
collectTotalDto.setCarNum(collectTotalDto.getCarNum()+collectDto.getNum());
|
collectTotalDto.setWeight(collectTotalDto.getWeight().add(collectDto.getWeight()));
|
}
|
return R.ok(collectTotalDto);
|
}
|
|
}
|