kongzy
2023-11-01 dd8795a2675e32b25abe98f644f80d5f72fadb90
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)
@@ -734,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;
    }
}