lyfO_o
2021-09-16 0dfab938c5116c8fa0191cadf36a47f5bb4f2936
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;
    }
}