From c3510da29a7974c6af7ff3de1ade3db429d6f848 Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期三, 18 八月 2021 14:27:59 +0800 Subject: [PATCH] 申购管理申请履历显示所有历史单据,提交时如有无效试剂耗材报错 --- src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java | 153 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 145 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..5092e03 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("startTime",sdfstart.format(startDate)); + }catch (Exception e){ + e.printStackTrace(); + } + }else { + params.put("startTime",sdfstart.format(startTime)); + } + + if (null != endDate){ + try { + params.put("endTime",sdfend.format(endDate)); + }catch (Exception e){ + e.printStackTrace(); + } + }else { + params.put("endTime",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); @@ -475,17 +505,44 @@ List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2); params.put("operatestate", baseMetas.get(0).getId()); + metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey())); + List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2); + params.put("operatestate1", baseMetas1.get(0).getId()); + addParamByUserId(userId, params); return opeUseFlowDao.countPersonalUseInfo(params); } @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("startTime",sdfstart.format(startDate)); + }catch (Exception e){ + e.printStackTrace(); + } + }else { + params.put("startTime",sdfstart.format(startTime)); + } + if (null != endDate){ + try { + params.put("endTime",sdfend.format(endDate)); + }catch (Exception e){ + e.printStackTrace(); + } + }else { + params.put("endTime",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); @@ -498,6 +555,11 @@ metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey())); List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2); params.put("operatestate", baseMetas.get(0).getId()); + + metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey())); + List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2); + params.put("operatestate1", baseMetas1.get(0).getId()); + params.put("first", first); params.put("pageSize", pageSize); @@ -513,6 +575,11 @@ metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey())); List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2); params.put("operatestate", baseMetas.get(0).getId()); + + metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey())); + List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2); + params.put("operatestate1", baseMetas1.get(0).getId()); + params.put("receiptNumber", receiptNumber); return opeUseFlowDao.getApplyInfo(params); @@ -528,6 +595,11 @@ metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey())); List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2); params.put("operatestate", baseMetas.get(0).getId()); + + metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey())); + List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2); + params.put("operatestate1", baseMetas1.get(0).getId()); + params.put("receiptNumber", receiptNumber); return opeUseFlowDao.getApplyInfoSize(params); @@ -594,9 +666,74 @@ List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2); params.put("operatestate", baseMetas.get(0).getId()); + metaMap2.put("metaKey", String.valueOf(OperateStatus.TRANSFER.getKey())); + List<BaseMeta> baseMetas1 = baseMetaDao.getBaseMetaList(metaMap2); + params.put("operatestate1", baseMetas1.get(0).getId()); + addParamByUserId(userId, params); 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