| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313 |
- package com.zd.chemical.controller;
- import com.zd.chemical.domain.HxpStock;
- import com.zd.chemical.domain.vo.HxpStockDetailVO;
- import com.zd.chemical.domain.vo.HxpStockJoinVO;
- import com.zd.chemical.domain.vo.HxpStockOutVO;
- import com.zd.chemical.domain.vo.HxpStockSearch;
- import com.zd.chemical.service.IHxpStockService;
- import com.zd.chemical.util.ChemicalUtils;
- import com.zd.chemical.util.SmsSydUtil;
- import com.zd.common.core.annotation.Log;
- import com.zd.common.core.annotation.PreAuthorize;
- import com.zd.common.core.log.BusinessType;
- import com.zd.common.core.security.TokenService;
- import com.zd.common.core.utils.ExcelUtil;
- import com.zd.common.core.utils.SecurityUtils;
- import com.zd.common.core.web.controller.BaseController;
- import com.zd.model.domain.R;
- import com.zd.model.domain.ResultData;
- import com.zd.model.domain.per.PerFun;
- import com.zd.model.domain.per.PerPrefix;
- import com.zd.model.entity.InventoryTag;
- import com.zd.model.page.TableDataInfo;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import javax.servlet.http.HttpServletResponse;
- import javax.validation.constraints.NotNull;
- import java.io.IOException;
- import java.time.LocalDate;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- /**
- * 库存管理Controller
- *
- * @author liubo
- * @date 2022-06-17
- */
- @RestController
- @Api(tags = "【库存管理】")
- @RequestMapping("/hxpStock")
- public class HxpStockController extends BaseController {
- @Autowired
- private IHxpStockService hxpStockService;
- @Autowired
- private TokenService tokenService;
- @Autowired
- private SmsSydUtil smsSydUtil;
- /**
- * 查询库存管理列表
- */
- @PreAuthorize(hasPermi = "chemical:hxpStock:list")
- @GetMapping("/list")
- @ApiOperation(value = "查询库存管理列表")
- public TableDataInfo<HxpStock> list(HxpStock hxpStock) {
- startPage();
- List<HxpStock> list = hxpStockService.selectHxpStockList(hxpStock);
- return getDataTable(list);
- }
- /**
- * 导出库存管理列表
- */
- @ApiOperation(value = "导出库存管理列表")
- @PreAuthorize(hasPermi = "chemical:hxpStock:export")
- @Log(title = "库存管理", businessType = BusinessType.EXPORT)
- @PostMapping("/export")
- public void export(HttpServletResponse response, HxpStock hxpStock) throws IOException {
- List<HxpStock> list = hxpStockService.selectHxpStockList(hxpStock);
- ExcelUtil<HxpStock> util = new ExcelUtil<>(HxpStock.class);
- util.exportExcel(response, list, "库存管理数据");
- }
- /**
- * 查询库存管理列表(库存明细)
- */
- @PreAuthorize(hasPermi = PerPrefix.HXP_STOCKDETAIL+ PerFun.LIST)
- @GetMapping("/listDetail")
- @ApiOperation(value = "查询库存管理列表(库存明细)")
- public TableDataInfo<HxpStockDetailVO> listDetail(HxpStockSearch hxpStockSearch) {
- startPage();
- List<HxpStockDetailVO> list = hxpStockService.selectHxpStockListDetail(hxpStockSearch);
- //去除小数点后多余的0
- if (list != null && !list.isEmpty()) {
- list.stream().forEach(vo -> {
- vo.setChemicalAmountUnit(ChemicalUtils.removeZeroForAfterPoint(vo.getChemicalAmountUnit()));
- vo.setTareUnit(ChemicalUtils.removeZeroForAfterPoint(vo.getTareUnit()));
- vo.setOutUsages(ChemicalUtils.removeZeroForAfterPoint(vo.getOutUsages()));
- vo.setUsages(ChemicalUtils.removeZeroForAfterPoint(vo.getUsages()));
- });
- }
- return getDataTable(list);
- }
- /**
- * 导出化学品信息列表
- */
- @ApiOperation(value = "导出化学品信息列表")
- @PreAuthorize(hasPermi = PerPrefix.HXP_STOCK+ PerFun.DETAILEXPORT)
- @Log(title = "化学品信息", businessType = BusinessType.EXPORT)
- @PostMapping({"/exportDetail","/exportDetail/{ids}"})
- public void exportDetail(HttpServletResponse response, HxpStockSearch hxpStockSearch, @PathVariable(value = "ids",required = false) Long... ids) throws IOException {
- if(ids!=null&&ids.length>0)
- {
- hxpStockSearch = new HxpStockSearch();
- hxpStockSearch.setIds(Arrays.asList(ids));
- }
- List<HxpStockDetailVO> list = hxpStockService.selectHxpStockListDetail(hxpStockSearch);
- ExcelUtil<HxpStockDetailVO> util = new ExcelUtil<>(HxpStockDetailVO.class);
- //本地日期,不包括时分秒
- LocalDate nowDate = LocalDate.now();
- util.exportExcel(response, list, "化学品库存明细", null, "化学品库存明细-导出数据表"+nowDate);
- }
- /**
- * 查询库存管理列表(入库记录)
- */
- @PreAuthorize(hasPermi = PerPrefix.HXP_STOCKJOIN+ PerFun.LIST)
- @GetMapping("/listJoin")
- @ApiOperation(value = "查询库存管理列表(入库记录)")
- public TableDataInfo<HxpStockJoinVO> listJoin(HxpStockSearch hxpStockSearch) {
- startPage();
- List<HxpStockJoinVO> list = hxpStockService.selectHxpStockListJoin(hxpStockSearch);
- //去除小数点后多余的0
- if (list != null && !list.isEmpty()) {
- list.stream().forEach(vo -> {
- vo.setChemicalAmountUnit(ChemicalUtils.removeZeroForAfterPoint(vo.getChemicalAmountUnit()));
- vo.setTareUnit(ChemicalUtils.removeZeroForAfterPoint(vo.getTareUnit()));
- vo.setOutUsages(ChemicalUtils.removeZeroForAfterPoint(vo.getOutUsages()));
- vo.setUsages(ChemicalUtils.removeZeroForAfterPoint(vo.getUsages()));
- });
- }
- return getDataTable(list);
- }
- @GetMapping("/listJoinByUser")
- @ApiOperation(value = "学生端查询入库记录")
- public TableDataInfo<HxpStockJoinVO> listJoinByUser(HxpStockSearch hxpStockSearch) {
- startPage();
- hxpStockSearch.setLoginUserId(SecurityUtils.getUserId());
- List<HxpStockJoinVO> list = hxpStockService.selectHxpStockListJoin(hxpStockSearch);
- //去除小数点后多余的0
- if (list != null && !list.isEmpty()) {
- list.stream().forEach(vo -> {
- vo.setChemicalAmountUnit(ChemicalUtils.removeZeroForAfterPoint(vo.getChemicalAmountUnit()));
- vo.setTareUnit(ChemicalUtils.removeZeroForAfterPoint(vo.getTareUnit()));
- vo.setUsages(ChemicalUtils.removeZeroForAfterPoint(vo.getUsages()));
- });
- }
- return getDataTable(list);
- }
- /**
- * 导出化学品信息列表(入库记录)
- */
- @ApiOperation(value = "导出化学品信息列表")
- @PreAuthorize(hasPermi = PerPrefix.HXP_STOCK+ PerFun.JOINEXPORT)
- @Log(title = "化学品信息", businessType = BusinessType.EXPORT)
- @PostMapping({"/exportJoin","/exportJoin/{ids}"})
- public void exportJoin(HttpServletResponse response, HxpStockSearch hxpStockSearch, @PathVariable(value = "ids",required = false) Long... ids) throws IOException {
- if(ids!=null && ids.length>0)
- {
- hxpStockSearch = new HxpStockSearch();
- hxpStockSearch.setIds(Arrays.asList(ids));
- }
- List<HxpStockJoinVO> list = hxpStockService.selectHxpStockListJoin(hxpStockSearch);
- ExcelUtil<HxpStockJoinVO> util = new ExcelUtil<>(HxpStockJoinVO.class);
- //本地日期,不包括时分秒
- LocalDate nowDate = LocalDate.now();
- util.exportExcel(response, list, "化学品入库记录", null, "化学品入库记录-导出数据表"+nowDate);
- }
- /**
- * 查询库存管理列表(出库记录)
- */
- @PreAuthorize(hasPermi = PerPrefix.HXP_STOCKOUT+ PerFun.LIST)
- @GetMapping("/listOut")
- @ApiOperation(value = "查询库存管理列表(出库记录)")
- public TableDataInfo<HxpStockOutVO> listOut(HxpStockSearch hxpStockSearch) {
- startPage();
- List<HxpStockOutVO> list;
- if(tokenService.getLoginUser().getSysUser().getUserType().equals("22")) {
- hxpStockSearch.setLoginUserId(tokenService.getLoginUser().getUserid());
- list = hxpStockService.selectHxpStockListOut(hxpStockSearch);
- }else{
- list = hxpStockService.selectHxpStockListOut(hxpStockSearch);
- }
- //去除小数点后多余的0
- if (list != null && !list.isEmpty()) {
- list.stream().forEach(vo -> {
- vo.setChemicalAmountUnit(ChemicalUtils.removeZeroForAfterPoint(vo.getChemicalAmountUnit()));
- vo.setTareUnit(ChemicalUtils.removeZeroForAfterPoint(vo.getTareUnit()));
- vo.setOutUsages(ChemicalUtils.removeZeroForAfterPoint(vo.getOutUsages()));
- });
- }
- return getDataTable(list);
- }
- @GetMapping("/listOutByUser")
- @ApiOperation(value = "学生查询库存管理列表(出库记录)")
- public TableDataInfo<HxpStockJoinVO> listOutByUser(HxpStockSearch hxpStockSearch) {
- startPage();
- hxpStockSearch.setLoginUserId(SecurityUtils.getUserId());
- List<HxpStockOutVO> list = hxpStockService.selectHxpStockListOut(hxpStockSearch);
- //去除小数点后多余的0
- if (list != null && !list.isEmpty()) {
- list.stream().forEach(vo -> {
- vo.setChemicalAmountUnit(ChemicalUtils.removeZeroForAfterPoint(vo.getChemicalAmountUnit()));
- vo.setTareUnit(ChemicalUtils.removeZeroForAfterPoint(vo.getTareUnit()));
- vo.setOutUsages(ChemicalUtils.removeZeroForAfterPoint(vo.getOutUsages()));
- });
- }
- return getDataTable(list);
- }
- /**
- * 导出化学品信息列表(出库记录)
- */
- @ApiOperation(value = "导出化学品信息列表")
- @PreAuthorize(hasPermi = PerPrefix.HXP_STOCK+ PerFun.OUTEXPORT)
- @Log(title = "化学品信息", businessType = BusinessType.EXPORT)
- @PostMapping({"/exportOut","/exportOut/{ids}"})
- public void exportOut(HttpServletResponse response, HxpStockSearch hxpStockSearch, @PathVariable(value = "ids",required = false) Long... ids) throws IOException {
- if(ids!=null&&ids.length>0)
- {
- hxpStockSearch = new HxpStockSearch();
- hxpStockSearch.setIds(Arrays.asList(ids));
- }
- List<HxpStockOutVO> list = hxpStockService.selectHxpStockListOut(hxpStockSearch);
- ExcelUtil<HxpStockOutVO> util = new ExcelUtil<>(HxpStockOutVO.class);
- //本地日期,不包括时分秒
- LocalDate nowDate = LocalDate.now();
- util.exportExcel(response, list, "化学品出库记录", null, "化学品出库记录-导出数据表"+nowDate);
- }
- /**
- * 获取库存管理详细信息
- */
- @ApiOperation(value = "获取库存管理详细信息")
- @PreAuthorize(hasPermi = "chemical:hxpStock:query")
- @GetMapping(value = "/{id}")
- public ResultData<HxpStock> getInfo(@PathVariable("id") Long id) {
- return ResultData.success(hxpStockService.selectHxpStockById(id));
- }
- @ApiOperation(value = "RFID违规检测")
- @PostMapping(value = "/RFIDCheck")
- public R<Boolean> RFIDCheck(@RequestBody InventoryTag tag) {
- return R.ok(hxpStockService.RFIDCheck(tag));
- }
- /**
- * 化学品库存过期检测
- */
- @GetMapping(value = "/expireCheck")
- public void expireCheck() {
- hxpStockService.expireCheck();
- }
- /**
- * 四医大平台发送短信
- * @param content 发送内容
- * @param purpose 短信用途 1 化学品告警,2 登录,3 开锁,4 气瓶告警,5 预案告警
- * @param phones 手机号
- * @return 发送结果
- */
- @GetMapping(value = "/sendSydSms")
- public R sendSydSms(@RequestParam(value = "content") String content,
- @RequestParam(value = "purpose") Integer purpose,
- @RequestParam(value = "lockApplyId", required = false) Long lockApplyId,
- @RequestParam(value = "phones") @NotNull String... phones){
- try {
- return smsSydUtil.sendSydSms(content, purpose, lockApplyId, phones);
- } catch (Exception e) {
- logger.error("四医大短信调用发生异常!" + e.getMessage());
- return R.fail("短信发送失败:" + e.getMessage());
- }
- }
- /**
- * 化学品即将过期 已过期
- * @Param []
- * @Return com.zd.model.domain.ResultData
- **/
- @GetMapping(value = "/hxpExpired")
- @ApiOperation(value = "化学品即将过期 已过期")
- public ResultData hxpExpired() {
- hxpStockService.hxpExpired();
- return ResultData.success();
- }
- /**
- * 化学品超时未归还
- * @return
- */
- @GetMapping(value = "/hxpTimeOut")
- @ApiOperation(value = "化学品超时未归还")
- public ResultData hxpTimeOut() {
- hxpStockService.hxpTimeOut();
- return ResultData.success();
- }
- }
|