From 43ee95fbdcb6fe0a9d548d0935c23c232d5ffeaa Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期五, 12 十一月 2021 12:49:00 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java | 97 +++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 82 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java index a4e9fc5..2c60a06 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java @@ -36,6 +36,7 @@ import java.io.InputStream; import java.math.BigDecimal; import java.sql.Timestamp; +import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -66,11 +67,13 @@ SysSequenceService sysSequenceService; @Resource private SysUserService sysUserService; + @Resource + private BaseMetaService baseMetaService; @Transactional(propagation = Propagation.REQUIRED) - public List<OpeApply> getOpeApplyList(String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status, + public List<OpeApply> getOpeApplyList(String reagentName, Timestamp startDeadline, String controlProduct,Timestamp endDeadline, Integer status, String applyUserId, String approveUserId, String queryCas, - Integer first, Integer pageSize,String applyCode,String applyUserName) { + Integer first, Integer pageSize,String applyCode,String applyUserName,Byte isShow) { try { Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotBlank(reagentName)) { @@ -79,6 +82,8 @@ params.put("startDeadline", startDeadline); params.put("endDeadline", endDeadline); params.put("status", status); + params.put("isShow", isShow); + params.put("controlProduct", controlProduct); if (StringUtils.isNotBlank(applyUserId)) { SysUser sysUser = sysUserService.getSysUser(applyUserId); @@ -190,8 +195,8 @@ } @Transactional(propagation = Propagation.REQUIRED) - public int getOpeApplyTotalCount(String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status, - String applyUserId, String approveUserId, String queryCas,String applyCode,String applyUserName) { + public int getOpeApplyTotalCount(String reagentName, Timestamp startDeadline,String controlProduct, Timestamp endDeadline, Integer status, + String applyUserId, String approveUserId, String queryCas,String applyCode,String applyUserName,Byte isShow) { try { Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotBlank(reagentName)) { @@ -200,6 +205,8 @@ params.put("startDeadline", startDeadline); params.put("endDeadline", endDeadline); params.put("status", status); + params.put("isShow", isShow); + params.put("controlProduct", controlProduct); if (StringUtils.isNotBlank(applyUserId)) { SysUser sysUser = sysUserService.getSysUser(applyUserId); @@ -776,12 +783,12 @@ for (int index = 0; index < totalCells; index++) { String cellInfo = ""; if (row.getCell(index) != null) { - if (row.getCell(index).getCellTypeEnum() == CellType.BLANK && index != 9) { + if (row.getCell(index).getCellType() == CellType.BLANK && index != 9) { throw new BusinessException(ExceptionEnumCode.PARAM_NULL, "第" + ++i + "行:除了课题组都不能为空"); } - - if (row.getCell(index).getCellTypeEnum() == CellType.NUMERIC) { - cellInfo = String.valueOf(row.getCell(index).getNumericCellValue()); + if (row.getCell(index).getCellType() == CellType.NUMERIC) { + DecimalFormat df = new DecimalFormat("#######"); //格式化number String字符 + cellInfo = df.format(row.getCell(index).getNumericCellValue()); }else{ cellInfo = row.getCell(index).getStringCellValue(); } @@ -810,16 +817,36 @@ if (applyUser == null) throw new BusinessException(ExceptionEnumCode.PARAM_NO_EXIST, i+"行:申购人不存在或者申购人姓名存在重复,导入失败"); //课题组名称 String objective = valuesList.get(9); - String applyDateStr = valuesList.get(10); + String format = "yyyy-MM-dd"; SimpleDateFormat dateFormat = new SimpleDateFormat(format); Date applyDate = null; - try { - applyDate = dateFormat.parse(applyDateStr); - } catch (ParseException e) { - e.printStackTrace(); - throw new BusinessException(ExceptionEnumCode.PARAM_NO_EXIST, i+"行:申购日期不合法,应如2016-10-09,导入失败"); + int cellnum = 10; + CellType type = row.getCell(cellnum).getCellType(); + Object value = row.getCell(cellnum); + if (null == value || StringUtils.isBlank(value.toString())) { + throw new BusinessException(ExceptionEnumCode.PARAM_NO_EXIST, i+"行,申购日期不能为空"); + } else { + if (type.equals(CellType.NUMERIC)) { + try { + applyDate = row.getCell(cellnum).getDateCellValue(); + } catch (Exception e) { + e.printStackTrace(); + throw new BusinessException(ExceptionEnumCode.PARAM_NO_EXIST, i+"行,申购日期解析错误,请检查是否有无效字符"); + } + } else if (type.equals(CellType.STRING)) { + String cellInfo = row.getCell(10).getStringCellValue(); + try { + applyDate = dateFormat.parse(cellInfo); + } catch (ParseException e) { + e.printStackTrace(); + throw new BusinessException(ExceptionEnumCode.PARAM_NO_EXIST, i+"行:申购日期不合法,应如2016-10-09,导入失败"); + } + } else { + throw new BusinessException(ExceptionEnumCode.PARAM_NO_EXIST, i+"行:申购日期解析错误,请检查是否有无效字符"); + } } + //选择的审批人姓名 String approveUserName = valuesList.get(11); //根据姓名获取用户信息的id @@ -842,7 +869,7 @@ //申购数量 opeApply.setNum(num); //申购人 - opeApply.setApplyUserId(user.getId()); + opeApply.setApplyUserId(applyUser.getId()); //选择的审批人 opeApply.setApproveUserId(approveUser.getId()); //选择的课题组信息 @@ -858,4 +885,44 @@ } + @Override + public OpeApplyReserve getOpeApplyReserveListByNameForRowData(String rowKey) { + return opeApplyDao.getOpeApplyReserveListByNameForRowData(rowKey); + } + + @Override + public int getOpeApplySupplerRequireMngTotalCount(SysUser user,String reagentName, Timestamp startDeadline, Timestamp endDeadline, int status, byte isShow) { + Map<String, Object> params = new HashMap<>(); + params.put("reagentName",reagentName ); + params.put("startDeadline", startDeadline); + params.put("endDeadline", endDeadline); + params.put("status", status); + params.put("isShow", isShow); + //看到供应商是自己的单位的数据 + String company = baseMetaService.getBaseMetaValue(user.getCompany()); + if (user.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey() + && user.getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) { + params.put("company", company); + } + return this.opeApplyDao.getOpeApplySupplerRequireMngTotalCount(params); + } + + @Override + public List<OpeApply> getOpeApplySupplerRequireMngList(SysUser user,String reagentName, Timestamp startDeadline, Timestamp endDeadline, int status, int first, int pageSize, byte isShow) { + Map<String, Object> params = new HashMap<>(); + params.put("reagentName", reagentName); + params.put("startDeadline", startDeadline); + params.put("endDeadline", endDeadline); + params.put("status", status); + params.put("isShow", isShow); + //看到供应商是自己的单位的数据 + String company = baseMetaService.getBaseMetaValue(user.getCompany()); + if (user.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey() + && user.getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) { + params.put("company", company); + } + + return this.opeApplyDao.getOpeApplySupplerRequireMngList(params); + } + } -- Gitblit v1.9.2