From 5758b702aceacd76f2a1e1a63d848cd4948e99e1 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期五, 02 七月 2021 10:15:52 +0800
Subject: [PATCH] 导出试剂流向,修改个人领用查询

---
 src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java |  130 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 122 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
index 31e9bad..b0a143e 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
@@ -13,6 +13,7 @@
 import com.nanometer.smartlab.entity.dto.PersonUseDetail;
 import com.nanometer.smartlab.entity.enumtype.OperateStatus;
 import com.nanometer.smartlab.util.Constants;
+import com.nanometer.smartlab.util.ExcelUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang3.time.DateUtils;
 import org.apache.log4j.Logger;
@@ -134,7 +135,7 @@
 
     @Transactional(propagation = Propagation.REQUIRED)
     public List<OpeUseFlow> getOpeUseFlowListByName(String houseName,String reagentId, String reagentCode,String containerCode, Integer status, String userId,
-                                                    Date startDate,Date endDate,Integer first, Integer pageSize) {
+                                                    Date startDate,Date endDate,Integer first, Integer pageSize,String operatestate) {
         try {
             Map<String, Object> params = new HashMap<String, Object>();
 
@@ -173,6 +174,7 @@
 
             params.put("status", status);
             params.put("houseName", houseName);
+            params.put("operatestate", operatestate);
             params.put("containerCode", containerCode);
             addParamByUserId(userId, params);
 
@@ -187,7 +189,7 @@
     }
 
     @Transactional(propagation = Propagation.REQUIRED)
-    public int getOpeUseFlowTotalCountByName(String houseName,String reagentId, String reagentCode,String containerCode, Integer status, String userId,Date startDate,Date endDate) {
+    public int getOpeUseFlowTotalCountByName(String houseName,String reagentId, String reagentCode,String containerCode, Integer status, String userId,Date startDate,Date endDate,String operatestate) {
         try {
             Map<String, Object> params = new HashMap<String, Object>();
             params.put("reagentName", reagentId);
@@ -224,6 +226,7 @@
                 params.put("endDate",sdfend.format(now));
             }
 
+            params.put("operatestate", operatestate);
             params.put("houseName", houseName);
             params.put("containerCode", containerCode);
             addParamByUserId(userId, params);
@@ -452,12 +455,39 @@
     }
 
     @Override
-    public int getPersonalUseInfoCount(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber,
+    public int getPersonalUseInfoCount(String reagentCode,String userId, Date startDate, Date endDate, String receiptNumber,
                                        String department, String project,String applyPerson,String reagentName) {
         Map<String,Object> params = new HashMap<>();
+
+        SimpleDateFormat sdfstart = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
+        SimpleDateFormat sdfend = new SimpleDateFormat("yyyy-MM-dd 23:59:59");
+        Date now = new Date();
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(now);
+        cal.add(Calendar.DATE, -7);
+        Date startTime = cal.getTime();
+
+        if (null != startDate){
+            try {
+                params.put("startDate",sdfstart.format(startDate));
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+        }else {
+            params.put("startDate",sdfstart.format(startTime));
+        }
+
+        if (null != endDate){
+            try {
+                params.put("endDate",sdfend.format(endDate));
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+        }else {
+            params.put("endDate",sdfend.format(now));
+        }
+
         params.put("userId", userId);
-        params.put("startTime", startTime);
-        params.put("endTime", endTime);
         params.put("receiptNumber", receiptNumber);
         params.put("department", department);
         params.put("project", project);
@@ -480,12 +510,35 @@
     }
 
     @Override
-    public List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber,
+    public List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,String userId, Date startDate, Date endDate, String receiptNumber,
                                                    String department, String project,String applyPerson,String reagentName, int first, int pageSize) {
         Map<String, Object> params = new HashMap<>();
+        SimpleDateFormat sdfstart = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
+        SimpleDateFormat sdfend = new SimpleDateFormat("yyyy-MM-dd 23:59:59");
+        Date now = new Date();
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(now);
+        cal.add(Calendar.DATE, -7);
+        Date startTime = cal.getTime();
+        if (null != startDate){
+            try {
+                params.put("startDate",sdfstart.format(startDate));
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+        }else {
+            params.put("startDate",sdfstart.format(startTime));
+        }
+        if (null != endDate){
+            try {
+                params.put("endDate",sdfend.format(endDate));
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+        }else {
+            params.put("endDate",sdfend.format(now));
+        }
         params.put("userId", userId);
-        params.put("startTime", startTime);
-        params.put("endTime", endTime);
         params.put("receiptNumber", receiptNumber);
         params.put("department", department);
         params.put("project", project);
@@ -599,4 +652,65 @@
         return opeUseFlowDao.selectByReceiptNumber(params);
     }
 
+    @Override
+    public List<Map> selectAll(String houseName, String reagentId, String reagentCode, String containerCode, String userId, Date startDate, Date endDate) {
+        try {
+            Map<String, Object> params = new HashMap<String, Object>();
+
+            params.put("reagentName", reagentId);
+            if (StringUtils.isNotBlank(reagentCode)) {
+                params.put("reagentCode", "%" + reagentCode + "%");
+            }
+            SimpleDateFormat sdfstart = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
+            SimpleDateFormat sdfend = new SimpleDateFormat("yyyy-MM-dd 23:59:59");
+            Date now = new Date();
+            Calendar cal = Calendar.getInstance();
+            cal.setTime(now);
+            cal.add(Calendar.DATE, -7);
+            Date startTime = cal.getTime();
+
+            if (null != startDate){
+                try {
+                    params.put("startDate",sdfstart.format(startDate));
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }else {
+                params.put("startDate",sdfstart.format(startTime));
+            }
+            if (null != endDate){
+                try {
+                    params.put("endDate",sdfend.format(endDate));
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }else {
+                params.put("endDate",sdfend.format(now));
+            }
+            params.put("houseName", houseName);
+            params.put("containerCode", containerCode);
+            addParamByUserId(userId, params);
+            return opeUseFlowDao.selectAll(params);
+        } catch (DataAccessException e) {
+            logger.error(e.getMessage(), e);
+            throw new BusinessException(ExceptionEnumCode.DB_ERR,
+                    MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e);
+        }
+    }
+
+    @Override
+    public boolean export2Excel(List<Map> list) throws Exception {
+        Map<String,String> map = new LinkedHashMap<>();
+        map.put("reagentCode", "试剂条形码");
+        map.put("reagentName", "试剂名称");
+        map.put("laboratoryContainerCode", "柜号");
+        map.put("operatestateName", "操作状态");
+        map.put("remainder", "残存量");
+        map.put("userName", "持有者");
+        map.put("createTime", "更新时间");
+        map.put("warehouseContainerName", "场所名");
+        ExcelUtils.export2Excel(list,"试剂流向追踪列表",map);
+        return true;
+    }
+
 }

--
Gitblit v1.9.2