kongzy
2023-10-23 1eeae82f74cbb3469ad8931e45b6fc77a945b912
src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
@@ -8,6 +8,7 @@
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.PersonUseDetail;
@@ -374,12 +375,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 +388,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 +433,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 +470,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 +504,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 +526,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 +554,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 +574,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 +594,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 +665,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 +735,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;
    }
}