From 59d9ea33f503e363f2e2941c7c00cc9dd9d9d1c7 Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期二, 28 十一月 2023 11:00:42 +0800 Subject: [PATCH] 修改课题管理bug --- src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java | 161 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 143 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java index b0a143e..8cc100f 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java @@ -8,10 +8,13 @@ import javax.annotation.Resource; +import com.hazelcast.core.IFunction; import com.nanometer.smartlab.dao.*; import com.nanometer.smartlab.entity.*; +import com.nanometer.smartlab.entity.dto.OpeUseFlowQueryDto; import com.nanometer.smartlab.entity.dto.PersonUseDetail; import com.nanometer.smartlab.entity.enumtype.OperateStatus; +import com.nanometer.smartlab.model.CommonPage; import com.nanometer.smartlab.util.Constants; import com.nanometer.smartlab.util.ExcelUtils; import org.apache.commons.lang.StringUtils; @@ -186,6 +189,50 @@ throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e); } + } + + public CommonPage<OpeUseFlow> getOpeUseFlowSimpleInfoList(Integer pageNum, Integer pageSize, OpeUseFlowQueryDto opeUseFlowQueryDto) { + CommonPage commonPage=new CommonPage(); + Map<String, Object> params = new HashMap<String, Object>(); + if(pageNum==null||pageNum<1){ + pageNum=1; + } + if(pageSize==null||pageSize<1){ + pageSize=10; + } + if(pageSize>50){ + pageSize=50;//每页最多查询50条记录 + } + commonPage.setPageNum(pageNum); + commonPage.setPageSize(pageSize); + + params.put("reagentName", opeUseFlowQueryDto.getReagentName()); + if (StringUtils.isNotBlank(opeUseFlowQueryDto.getReagentCode())) { + params.put("reagentCode", "%" + opeUseFlowQueryDto.getReagentCode() + "%"); + } + 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(); + params.put("startDate",opeUseFlowQueryDto.getStartDate()!=null?opeUseFlowQueryDto.getStartDate():sdfstart.format(startTime)); + params.put("endDate",opeUseFlowQueryDto.getEndDate()!=null?opeUseFlowQueryDto.getEndDate():sdfend.format(now)); + + params.put("houseName", opeUseFlowQueryDto.getHouseName()); + params.put("operatestate", opeUseFlowQueryDto.getOperatestate()); + params.put("containerCode", opeUseFlowQueryDto.getContainerCode()); + + params.put("first", (pageNum-1)*pageSize); + params.put("pageSize", pageSize); + + Long total= new Long(this.opeUseFlowDao.getOpeUseFlowTotalCount(params)); + commonPage.setTotalPage(CommonPage.getTotalPage(total,pageSize)); + commonPage.setTotal(total); + List<OpeUseFlow> opeUseFlows= this.opeUseFlowDao.getOpeUseFlowSimpleInfoList(params); + commonPage.setList(opeUseFlows); + return commonPage; } @Transactional(propagation = Propagation.REQUIRED) @@ -374,12 +421,12 @@ } @Override - public void updateReceiptNumber(String code, String receiptNumber) { - opeUseFlowDao.updateReceiptNumber(code, receiptNumber); + public void updateReceiptNumber(String code, String receiptNumber,String note) { + opeUseFlowDao.updateReceiptNumber(code, receiptNumber,note); } @Transactional - public void updateReceiptNumberByCode(List<OpeApplyReserve> selectedTmpOrderList,String receiptNumber) { + public void updateReceiptNumberByCode(List<OpeApplyReserve> selectedTmpOrderList,String receiptNumber,String note) { for (OpeApplyReserve oar : selectedTmpOrderList) { if (oar.getFlag() == 1) { @@ -387,14 +434,14 @@ for (String statusId : oar.getReagentCode()) { String code = opeReagentStatusService.getOpeReagentStatus(statusId).getReagentCode(); //此时状态为领用待入库 - this.updateReceiptNumber(code, receiptNumber); + this.updateReceiptNumber(code, receiptNumber,note); } }else{ //根据id或者试剂的条码直接查找 状态表单 查询订单所有的流向 List<String> codeTmp = opeReagentStatusService .generateReagentCode(oar.getStartReagentCode2(), oar.getEndReagentCode2()); for (String code : codeTmp) { - this.updateReceiptNumber(code, receiptNumber); + this.updateReceiptNumber(code, receiptNumber,note); } } @@ -432,21 +479,21 @@ } @Override - public void updateReceiptNumberByCode2(List<OpeWarehouseReserve> selectTmpList, String receiptNumber) { + public void updateReceiptNumberByCode2(List<OpeWarehouseReserve> selectTmpList, String receiptNumber,String note) { for (OpeWarehouseReserve owr : selectTmpList) { if (owr.getFlag() == 1) { //库中领取 code存的是 试剂状态的id for (String statusId : owr.getReagentCodes()) { String code = opeReagentStatusService.getOpeReagentStatus(statusId).getReagentCode(); //此时状态为领用待入库 - this.updateReceiptNumber(code, receiptNumber); + this.updateReceiptNumber(code, receiptNumber,note); } }else{ //根据id或者试剂的条码直接查找 状态表单 查询订单所有的流向 List<String> codeTmp = opeReagentStatusService .generateReagentCode(owr.getStartReagentCode2(), owr.getEndReagentCode2()); for (String code : codeTmp) { - this.updateReceiptNumber(code, receiptNumber); + this.updateReceiptNumber(code, receiptNumber,note); } } @@ -469,25 +516,24 @@ if (null != startDate){ try { - params.put("startDate",sdfstart.format(startDate)); + params.put("startTime",sdfstart.format(startDate)); }catch (Exception e){ e.printStackTrace(); } }else { - params.put("startDate",sdfstart.format(startTime)); + params.put("startTime",sdfstart.format(startTime)); } if (null != endDate){ try { - params.put("endDate",sdfend.format(endDate)); + params.put("endTime",sdfend.format(endDate)); }catch (Exception e){ e.printStackTrace(); } }else { - params.put("endDate",sdfend.format(now)); + params.put("endTime",sdfend.format(now)); } - params.put("userId", userId); params.put("receiptNumber", receiptNumber); params.put("department", department); params.put("project", project); @@ -504,6 +550,10 @@ 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()); addParamByUserId(userId, params); return opeUseFlowDao.countPersonalUseInfo(params); @@ -522,23 +572,22 @@ Date startTime = cal.getTime(); if (null != startDate){ try { - params.put("startDate",sdfstart.format(startDate)); + params.put("startTime",sdfstart.format(startDate)); }catch (Exception e){ e.printStackTrace(); } }else { - params.put("startDate",sdfstart.format(startTime)); + params.put("startTime",sdfstart.format(startTime)); } if (null != endDate){ try { - params.put("endDate",sdfend.format(endDate)); + params.put("endTime",sdfend.format(endDate)); }catch (Exception e){ e.printStackTrace(); } }else { - params.put("endDate",sdfend.format(now)); + params.put("endTime",sdfend.format(now)); } - params.put("userId", userId); params.put("receiptNumber", receiptNumber); params.put("department", department); params.put("project", project); @@ -551,6 +600,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); @@ -566,6 +620,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); @@ -581,6 +640,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); @@ -647,6 +711,10 @@ 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); @@ -713,4 +781,61 @@ return true; } + + /** + * @Description: 查询导出 + */ + @Override + public List<Map> selectExportDetail(String reagentCode, String userId, Date startTime, Date endTime, String receiptNumber, String department, String project, String applyPerson, String reagentName) { + Map<String, Object> params = new HashMap<>(); + Map<String, String> metaMap2 = new HashMap<>(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (startTime != null) { + params.put("startTime", sdf.format(startTime) +" 00:00:00"); + } + + if (endTime != null) { + params.put("endTime", sdf.format(endTime) + " 23:59:59"); + } + + params.put("reagentCode", reagentCode); + + params.put("endTime", endTime); + params.put("receiptNumber", receiptNumber); + params.put("department", department); + params.put("project", project); + params.put("applyPerson", applyPerson); + params.put("reagentName", reagentName); + params.put("groupId", "operate_status"); + 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()); + addParamByUserId(userId, params); + return opeUseFlowDao.selectDetail(params); + } + + @Override + public boolean export22Excel(List<Map> list) throws Exception { + Map<String,String> map = new LinkedHashMap<>(); + map.put("productSn", "产品编号"); + map.put("reagentName", "试剂名称"); + map.put("reagentCode", "试剂条形码"); + map.put("controlProducts", "管制品"); + map.put("reagentFormat", "规格型号"); + map.put("perInfo", "包装"); + map.put("productHome", "厂家"); + map.put("articleNumber", "批号"); + map.put("username", "申领人"); + map.put("project", "课题组"); + map.put("department", "部门"); + map.put("location", "地点"); + map.put("createTime", "领用时间"); + ExcelUtils.export2Excel(list,"试剂领用记录表",map); + return true; + } + } -- Gitblit v1.9.2