Przeglądaj źródła

权限功能修改

liujh 3 lat temu
rodzic
commit
d82800071c

+ 250 - 0
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/controller/QpInformationRecordController.java

@@ -0,0 +1,250 @@
+package com.zd.airbottle.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.zd.airbottle.domain.QpBottleStorage;
+import com.zd.airbottle.domain.vo.*;
+import com.zd.airbottle.service.IQpBottleStorageOutService;
+import com.zd.airbottle.service.IQpBottleStorageService;
+import com.zd.airbottle.service.IQpTaskDetailService;
+import com.zd.airbottle.service.IQpTaskService;
+import com.zd.common.core.domain.per.PerFun;
+import com.zd.common.core.domain.per.PerPrefix;
+import com.zd.common.core.utils.poi.ExcelUtil;
+import com.zd.common.core.web.controller.BaseController;
+import com.zd.common.core.web.page.TableDataInfo;
+import com.zd.common.log.annotation.Log;
+import com.zd.common.log.enums.BusinessType;
+import com.zd.common.security.annotation.PreAuthorize;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: liujh
+ * @Date: 2022/08/12/10:24
+ * @Description:
+ */
+@RestController
+@Api(tags = "【信息记录】")
+@RequestMapping("/informationRecord")
+public class QpInformationRecordController extends BaseController {
+
+    @Autowired
+    private IQpTaskService qpTaskService;
+
+    @Autowired
+    private IQpTaskDetailService qpTaskDetailService;
+
+    @Autowired
+    private IQpBottleStorageService qpBottleStorageService;
+
+    @Autowired
+    private IQpBottleStorageOutService qpBottleStorageOutService;
+
+    /**
+     * 申领记录
+     */
+    @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_INFORMATIONRECORD+ "taskList")
+    @GetMapping("/taskList")
+    @ApiOperation(value = "查询申领记录列表",notes = "权限字符:"+ PerPrefix.AIRBOTTLE_INFORMATIONRECORD+ "taskList")
+    public TableDataInfo<QpTaskVO> list(QpTaskVO qpTask)
+    {
+        startPage();
+        List<QpTaskVO> list = qpTaskService.selectQpTaskRecordList(qpTask);
+        if(!list.isEmpty()){
+            for (QpTaskVO qpTaskVO : list) {
+                List<QpTaskDetailVO> detailList = qpTaskDetailService.selectQpTaskDetailByIdRelation(qpTaskVO.getId());
+                qpTaskVO.setDetailListVO(detailList);
+            }
+        }
+        return getDataTable(list);
+    }
+
+    /**
+     * 申领记录导出
+     */
+    @ApiOperation(value = "申领记录导出",notes = "权限字符:"+ PerPrefix.AIRBOTTLE_INFORMATIONRECORD+ "taskExport")
+    @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_INFORMATIONRECORD+ "taskExport")
+    @Log(title = "申领记录导出", businessType = BusinessType.EXPORT)
+    @PostMapping("/taskExport")
+    public void export(HttpServletResponse response, QpTaskVO qpTask) throws IOException
+    {
+        List<QpTaskVO> list = qpTaskService.selectQpTaskRecordList(qpTask);
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        List<QpTaskExcelVo> listExcel = new ArrayList<>();
+        for (QpTaskVO taskVO:list) {
+            QpTaskExcelVo excelVo = new QpTaskExcelVo();
+            excelVo.setUserName(taskVO.getUserName());//申领人
+            excelVo.setPhone(taskVO.getPhone());//联系方式
+            excelVo.setLocation(taskVO.getLocation());//实验地点
+            excelVo.setStrTime(sdf.format(taskVO.getCreateTime()));//申领时间
+            listExcel.add(excelVo);
+        }
+        ExcelUtil<QpTaskExcelVo> util = new ExcelUtil<>(QpTaskExcelVo.class);
+        //本地日期,不包括时分秒
+        LocalDate nowDate = LocalDate.now();
+        util.exportExcel(response, listExcel, "申领记录数据", null, "申领记录信息数据导出表"+nowDate);
+    }
+
+    /**
+     * 信息记录-入库记录
+     */
+    @ApiOperation(value = "信息记录-入库记录",notes = "权限字符:"+ PerPrefix.AIRBOTTLE_INFORMATIONRECORD+ "storageList")
+    @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_INFORMATIONRECORD+ "storageList")
+    @GetMapping("/storageList")
+    public TableDataInfo<QpBottleStorageVO> list(QpBottleStorageVO qpBottleStorage)
+    {
+        startPage();
+        List<QpBottleStorageVO> list = qpBottleStorageService.selectQpBottleStorageRecordList(qpBottleStorage);
+        if(list.size()>0){
+            for (int i=0;i<list.size();i++){
+                QpTaskDetailVO detailVO = qpTaskDetailService.selectRelationByDetailsId(list.get(i).getTaskDetailId());
+                if(detailVO!=null){
+                    list.get(i).setLocation(detailVO.getLocation());
+                    list.get(i).setAirName(detailVO.getAirName());
+                    list.get(i).setParent(detailVO.getParent());
+                    list.get(i).setSpecValue(detailVO.getSpecValue());
+                    list.get(i).setCompanyName(detailVO.getCompanyName());//
+                    list.get(i).setAirConstituents(detailVO.getAirConstituents());
+                }
+                JSONObject jsonStr = JSONObject.parseObject(list.get(i).getSpecificationName());
+                if(list.get(i).getSpecificationName()!=null && jsonStr!=null && jsonStr.containsKey("gasLevel")){
+                    list.get(i).setConfigName(jsonStr.get("gasLevel").toString());
+                }
+
+            }
+        }
+        return getDataTable(list);
+    }
+
+    /**
+     * 信息记录-入库记录导出
+     */
+    @ApiOperation(value = "信息记录-入库记录导出")
+    @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_INFORMATIONRECORD+ "storageExport")
+    @Log(title = "气瓶入库", businessType = BusinessType.EXPORT)
+    @PostMapping("/storageExport")
+    public void export(HttpServletResponse response,QpBottleStorageVO qpBottleStorage) throws IOException
+    {
+        List<QpBottleStorageExcelVo> listVo = new ArrayList<>();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        List<QpBottleStorageVO> list = qpBottleStorageService.selectQpBottleStorageRecordList(qpBottleStorage);
+        if(list.size()>0){
+            for (int i=0;i<list.size();i++){
+                QpTaskDetailVO detailVO = qpTaskDetailService.selectRelationByDetailsId(list.get(i).getTaskDetailId());
+                list.get(i).setQpTaskDetailVO(detailVO);
+                QpBottleStorageExcelVo vo = new QpBottleStorageExcelVo();
+                vo.setStorageUser(list.get(i).getStorageUser());//操作人
+                vo.setPhone(list.get(i).getStorageUserPhone());//操作人电话
+                //vo.setLocation(list.get(i).getRoom()+"-"+list.get(i).getQpTaskDetailVO().getLocation());//实验地点
+                vo.setLocation(list.get(i).getQpTaskDetailVO().getLocation());//实验地点
+                vo.setAirName(list.get(i).getQpTaskDetailVO().getAirName());//气体名称
+                //vo.setBottleSpecification(list.get(i).getQpTaskDetailVO().getSpecValue());//气瓶规格.
+                JSONObject jsonStr = JSONObject.parseObject(list.get(i).getSpecificationName());
+                if(list.get(i).getSpecificationName()!=null && jsonStr!=null && jsonStr.containsKey("gasLevel")){
+                    vo.setBottleSpecification(jsonStr.get("gasLevel").toString());
+                }
+
+                vo.setCompanyName(list.get(i).getQpTaskDetailVO().getCompanyName());//气瓶商家
+                vo.setCreateTime(sdf.format(list.get(i).getCreateTime()) );//入库时间
+                listVo.add(vo);
+            }
+        }
+        ExcelUtil<QpBottleStorageExcelVo> util = new ExcelUtil<QpBottleStorageExcelVo>(QpBottleStorageExcelVo.class);
+        LocalDate nowDate = LocalDate.now();
+        util.exportExcel(response, listVo, "入库数据", null, "入库信息导出表"+nowDate);
+    }
+
+    /**
+     * 查询气瓶出库列表
+     */
+    @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_INFORMATIONRECORD+ "storageOutlist")
+    @GetMapping("/storageOutlist")
+    @ApiOperation(value = "查询气瓶出库列表")
+    public TableDataInfo<QpBottleStorageOutVO> list(QpBottleStorageOutVO qpBottleStorageOut)
+    {
+        startPage();
+        List<QpBottleStorageOutVO> list = qpBottleStorageOutService.selectQpBottleStorageOutRecordList(qpBottleStorageOut);
+        if(list.size()>0){
+            for (int i=0;i<list.size();i++){
+                //入库详情
+                QpBottleStorage bottleStorage = qpBottleStorageService.selectQpBottleStorageById(list.get(i).getStorageId());
+                //规格详情
+                QpTaskDetailVO taskDetail = qpTaskDetailService.selectRelationByDetailsId(bottleStorage.getTaskDetailId());
+
+                if(taskDetail!=null){
+                    list.get(i).setLocation(taskDetail.getLocation());
+                    list.get(i).setAirName(taskDetail.getAirName());
+                    list.get(i).setParent(taskDetail.getParent());
+                    list.get(i).setSpecValue(taskDetail.getSpecValue());
+                    list.get(i).setCompanyName(taskDetail.getCompanyName());
+                    list.get(i).setAirConstituents(taskDetail.getAirConstituents());
+                }
+                list.get(i).setAirNumber(bottleStorage.getAirNumber());
+                JSONObject jsonStr = JSONObject.parseObject(bottleStorage.getSpecificationName());
+                if(jsonStr!=null && jsonStr.containsKey("gasLevel")){
+                    list.get(i).setConfigName(jsonStr.get("gasLevel").toString());
+                }
+            }
+        }
+        return getDataTable(list);
+    }
+
+    /**
+     * 信息记录-出库记录导出
+     */
+    @ApiOperation(value = "导出气瓶出库列表")
+    @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_INFORMATIONRECORD+ "storageOutexport")
+    @Log(title = "气瓶出库", businessType = BusinessType.EXPORT)
+    @PostMapping("/storageOutexport")
+    public void export(HttpServletResponse response,QpBottleStorageOutVO qpBottleStorageOut) throws IOException
+    {
+        List<QpBottleStorageOutExcelVo> listexcel = new ArrayList<QpBottleStorageOutExcelVo>();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        List<QpBottleStorageOutVO> list = qpBottleStorageOutService.selectQpBottleStorageOutRecordList(qpBottleStorageOut);
+        if(list.size()>0){
+            for (int i=0;i<list.size();i++){
+                QpBottleStorageOutExcelVo  excelOut = new QpBottleStorageOutExcelVo();
+                //入库详情
+                QpBottleStorageVO bottleStorage = qpBottleStorageService.selectQpBottleStorageById(list.get(i).getStorageId());
+                //规格详情
+                QpTaskDetailVO taskDetail = qpTaskDetailService.selectRelationByDetailsId(bottleStorage.getTaskDetailId());
+                excelOut.setApplyUserName(list.get(i).getApplyUserName());//操作人
+                excelOut.setPhone(bottleStorage.getStorageUserPhone());//操作人电话
+                //excelOut.setLocation(list.get(i).getRoom()+"-" +taskDetail.getLocation());//实验地点
+                excelOut.setLocation(taskDetail.getLocation());//实验地点
+                //excelOut.setCompanyName(taskDetail.getCompanyName());//气瓶商家
+                excelOut.setAirName(taskDetail.getAirName());//气体名称
+                JSONObject jsonStr = JSONObject.parseObject(taskDetail.getApplyDescribe());
+                if(taskDetail.getApplyDescribe()!=null && jsonStr!=null && jsonStr.containsKey("gasLevel")){
+                    excelOut.setBottleSpecification(jsonStr.get("gasLevel").toString());//气瓶规格
+                }
+                excelOut.setCreateTime(sdf.format(list.get(i).getCreateTime()));//申请时间
+
+                if(0==list.get(i).getOutStatus()){
+                    excelOut.setOutStatus("待回收");
+                }else if(1==list.get(i).getOutStatus()){
+                    excelOut.setOutStatus("已确认");
+                }else if(2==list.get(i).getOutStatus()){
+                    excelOut.setOutStatus("已出库");
+                }
+                listexcel.add(excelOut);
+            }
+            ExcelUtil<QpBottleStorageOutExcelVo> util = new ExcelUtil<QpBottleStorageOutExcelVo>(QpBottleStorageOutExcelVo.class);
+            LocalDate nowDate = LocalDate.now();
+            util.exportExcel(response, listexcel, "出库数据", null, "出库信息导出表"+nowDate);
+        }
+    }
+}