From 31ffbaf322685984516cfb284fa58741debf4e96 Mon Sep 17 00:00:00 2001 From: gdg <764716047@qq.com> Date: 星期五, 29 一月 2021 09:12:29 +0800 Subject: [PATCH] Merge remote-tracking branch 'remotes/origin/yufei' into master --- src/main/java/com/nanometer/smartlab/controller/OrderMngController.java | 2 src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml | 4 src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml | 111 ++++++ src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java | 21 + src/main/java/com/nanometer/smartlab/service/SysUserService.java | 4 src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java | 14 src/main/webapp/warehouse_stock_mng.xhtml | 5 src/main/java/com/nanometer/smartlab/service/SysLaboratoryService.java | 8 src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java | 10 src/main/java/com/nanometer/smartlab/controller/ProjectMngController.java | 2 src/main/webapp/user_mng.xhtml | 8 src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java | 13 src/main/webapp/WEB-INF/config-mybatis.xml | 2 src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml | 3 src/main/webapp/personal_use_info.xhtml | 278 ++++++++++++-- src/main/java/com/nanometer/smartlab/api/ApiAction.java | 2 src/main/java/com/nanometer/smartlab/entity/OpeUseFlow.java | 48 ++ src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java | 25 + src/main/webapp/laboratory_mng.xhtml | 5 src/main/java/com/nanometer/smartlab/entity/dto/PersonUseDetail.java | 98 +++++ src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java | 182 +++++++++ src/main/webapp/reagent_user_flow_info.xhtml | 5 src/main/java/com/nanometer/smartlab/controller/UserMngController.java | 22 + src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java | 27 + src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java | 2 src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java | 5 src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java | 8 src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java | 13 src/main/webapp/laboratory_container_mng.xhtml | 8 src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml | 12 src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml | 11 src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveService.java | 4 src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java | 7 src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java | 67 +++ src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java | 6 35 files changed, 939 insertions(+), 103 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/api/ApiAction.java b/src/main/java/com/nanometer/smartlab/api/ApiAction.java index 4ce057e..fd70871 100644 --- a/src/main/java/com/nanometer/smartlab/api/ApiAction.java +++ b/src/main/java/com/nanometer/smartlab/api/ApiAction.java @@ -567,7 +567,7 @@ logger.info("getUserInfo start..."); List<SysUser> userList = sysUserService.getSysUserInfoList(startTime, endTime); - List<SysLaboratoryContainer> allLaboratoryContainerList = sysLaboratoryContainerService.getSysLaboratoryContainerList(null,null,null,null,null); + List<SysLaboratoryContainer> allLaboratoryContainerList = sysLaboratoryContainerService.getSysLaboratoryContainerList(null,null,null,null,null,null,null); List<SysWarehouseContainer> allWarehouseContainerList = sysWarehouseContainerService.getSysWarehouseContainerList(null,null,null,null,null); List<String> containerCodeList = new ArrayList<String>(); diff --git a/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java b/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java index 977f2bc..95e1f42 100644 --- a/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java @@ -72,6 +72,8 @@ private String laboratoryType; private String laboratoryName; + private String project; + private String controllerName; private int action; @@ -384,11 +386,11 @@ List<SysLaboratoryContainer> list = null; try { int count = sysLaboratoryContainerService.getSysLaboratoryContainerTotalCount(laboratoryType, - laboratoryName,null); + laboratoryName,null,project,controllerName); this.setRowCount(count); if (count > 0) { list = sysLaboratoryContainerService.getSysLaboratoryContainerList(laboratoryType, - laboratoryName,null, first, pageSize); + laboratoryName,null,project,controllerName, first, pageSize); } } catch (Exception e) { logger.error(e); @@ -471,4 +473,19 @@ this.controllers = controllers; } + public String getProject() { + return project; + } + + public void setProject(String project) { + this.project = project; + } + + public String getControllerName() { + return controllerName; + } + + public void setControllerName(String controllerName) { + this.controllerName = controllerName; + } } diff --git a/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java b/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java index 86ff06f..ca378ad 100644 --- a/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java @@ -60,6 +60,7 @@ private List<SysLaboratory> selectedList; private String type; private String name; + private String project; private int action; @@ -279,10 +280,10 @@ Map<String, Object> filters) { List<SysLaboratory> list = null; try { - int count = sysLaboratoryService.getSysLaboratoryTotalCount(type, name); + int count = sysLaboratoryService.getSysLaboratoryTotalCount(type, name,project); this.setRowCount(count); if (count > 0) { - list = sysLaboratoryService.getSysLaboratoryList(type, name, first, pageSize); + list = sysLaboratoryService.getSysLaboratoryList(type, name,project, first, pageSize); } } catch (Exception e) { logger.error(e); @@ -344,4 +345,12 @@ public void setType(String type) { this.type = type; } + + public String getProject() { + return project; + } + + public void setProject(String project) { + this.project = project; + } } diff --git a/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java b/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java index 989d1a1..1df0b3a 100644 --- a/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java +++ b/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java @@ -47,6 +47,8 @@ private Hashtable printTable; + private String containerCode; + public String getHouseName() { return houseName; } @@ -98,10 +100,10 @@ Map<String, Object> filters) { List<OpeUseFlow> list = null; try { - int count = opeUseFlowService.getOpeUseFlowTotalCountByName(houseName,reagentId, reagentCode, null, getUserId(),startDate,endDate); + int count = opeUseFlowService.getOpeUseFlowTotalCountByName(houseName,reagentId, reagentCode, containerCode,null, getUserId(),startDate,endDate); this.setRowCount(count); if (count > 0) { - list = opeUseFlowService.getOpeUseFlowListByName(houseName,reagentId, reagentCode, null, getUserId(),startDate,endDate, first, pageSize); + list = opeUseFlowService.getOpeUseFlowListByName(houseName,reagentId, reagentCode, containerCode,null, getUserId(),startDate,endDate, first, pageSize); } } catch (Exception e) { logger.error(e); @@ -227,4 +229,12 @@ public void setPrintTable(Hashtable printTable) { this.printTable = printTable; } + + public String getContainerCode() { + return containerCode; + } + + public void setContainerCode(String containerCode) { + this.containerCode = containerCode; + } } diff --git a/src/main/java/com/nanometer/smartlab/controller/OrderMngController.java b/src/main/java/com/nanometer/smartlab/controller/OrderMngController.java index 730bec7..c1f72a4 100644 --- a/src/main/java/com/nanometer/smartlab/controller/OrderMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/OrderMngController.java @@ -63,7 +63,7 @@ private Map<String, List<SysWarehouseContainer>> warehouseIdContainerMap; public void initRukuPage() { - this.userSelectList = this.sysUserService.getSysUserList(null, null, null, null, null); + this.userSelectList = this.sysUserService.getSysUserList(null, null, null, null, null,null,null); //将admin置于首位 for (int i = 0; i < userSelectList.size(); i++) { if ("admin".equals(userSelectList.get(i).getAccount())){ diff --git a/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java b/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java index 0b1b469..bd1da35 100644 --- a/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java +++ b/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java @@ -1,16 +1,22 @@ package com.nanometer.smartlab.controller; -import java.util.Date; -import java.util.Iterator; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; import javax.annotation.Resource; +import com.nanometer.smartlab.entity.OpeUseFlow; +import com.nanometer.smartlab.entity.SysLaboratory; +import com.nanometer.smartlab.entity.dto.ApplyListDto; +import com.nanometer.smartlab.entity.dto.PersonUseDetail; +import com.nanometer.smartlab.service.SysLaboratoryService; import com.nanometer.smartlab.util.FacesUtils; +import com.nanometer.smartlab.util.Utils; import org.apache.log4j.Logger; +import org.primefaces.context.RequestContext; import org.primefaces.model.LazyDataModel; import org.primefaces.model.SortOrder; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; @@ -38,6 +44,10 @@ @Resource private SysReagentService sysReagentService; + @Resource + private SysLaboratoryService sysLaboratoryService; + @Value("${institute.name}") + String instituteName; /** * 数据源 @@ -48,6 +58,13 @@ private String applyPerson; private Date startTime; private Date endTime; + private String project; + private String department; + private String receiptNumber; + private LazyDataModel<OpeUseFlow> dataModel2; + private OpeUseFlow selectOne; + private List<PersonUseDetail> personUseDetail; + private Hashtable<String,Object> printTable; private List<OpeReagentStatus> selectedList; private List<SysReagent> reagentSelectList; @@ -109,7 +126,75 @@ } + /** + * 生成领用单 + */ + public void generateReceipt() { + if (this.selectOne == null) { + FacesUtils.warn("请选择数据"); + return; + } + + printTable = new Hashtable<>(); + printTable.put("head", instituteName); + printTable.put("title", "领用单"); + printTable.put("applyPerson", selectOne.getUserName()); + printTable.put("department", selectOne.getDepartment()); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + printTable.put("date", dateFormat.format(selectOne.getCreateTime())); + printTable.put("phone", selectOne.getPhone()); + printTable.put("receiptNumber", selectOne.getReceiptNumber()); + printTable.put("project", selectOne.getProject()); + SysLaboratory sysLaboratory = sysLaboratoryService.getSysLaboratory(selectOne.getHouseId()); + printTable.put("lab", sysLaboratory.getName()); + //整理数据 + List<PersonUseDetail> applyInfo = opeUseFlowService.getApplyInfo(selectOne.getReceiptNumber()); + assert applyInfo.size() > 0; + List<ApplyListDto> applyList = new ArrayList<>(); + Map<String, Integer> map = new HashMap<>(); + for (PersonUseDetail pud : applyInfo) { + if (map.containsKey(pud.getReagentId())) { + map.put(pud.getReagentId(), map.get(pud.getReagentId()) + 1); + }else{ + map.put(pud.getReagentId(), 1); + } + } + int sum = 0; + for (Map.Entry<String,Integer> entry : map.entrySet()) { + ApplyListDto apply = new ApplyListDto(); + for (PersonUseDetail pud : applyInfo) { + if (entry.getKey().equals(pud.getReagentId())) { + apply.setControlProducts(pud.getControlProducts()); + apply.setMainMetering(pud.getPerInfo()); + apply.setNum(entry.getValue().toString()); + apply.setProductCode(pud.getProductSn()); + apply.setProductName(pud.getReagentName()); + apply.setReagentFormat(pud.getReagentFormat()); + applyList.add(apply); + sum += entry.getValue(); + break; + } + } + } + + applyList.add(new ApplyListDto("合计", "", "", "", "", String.valueOf(sum), "")); + printTable.put("applyList", applyList); + RequestContext.getCurrentInstance().execute("PF('printDialog').show()"); + } + + /** + * 查看详情 + */ + + public void detailInfo() { + if (this.selectOne == null) { + FacesUtils.warn("请选择数据"); + } + + personUseDetail = opeUseFlowService.getApplyInfo(selectOne.getReceiptNumber()); + + } @SuppressWarnings("serial") public LazyDataModel<OpeReagentStatus> getDataModel() { @@ -151,6 +236,45 @@ return dataModel; } + public LazyDataModel<OpeUseFlow> getDataModel2() { + if (this.dataModel2 == null) { + this.dataModel2 = new LazyDataModel<OpeUseFlow>() { + @Override + public List<OpeUseFlow> load(int first, int pageSize, String sortField, SortOrder sortOrder, + Map<String, Object> filters) { + List<OpeUseFlow> list = null; + try { + int count = opeUseFlowService.getPersonalUseInfoCount(reagentCode, getUserId(),startTime,endTime,receiptNumber,department,project); + this.setRowCount(count); + if (count > 0) { + list = opeUseFlowService.getPersonalUseInfoList + (reagentCode, getUserId(),startTime,endTime ,receiptNumber,department,project,first,pageSize); + } + } catch (Exception e) { + logger.error(e); + } + return list; + } + + @Override + public OpeUseFlow getRowData(String rowKey) { + Iterator<OpeUseFlow> iterator = this.iterator(); + if (iterator != null) { + OpeUseFlow su = null; + while (iterator.hasNext()) { + su = iterator.next(); + if (rowKey.equals(su.getReceiptNumber())) { + return su; + } + } + } + return null; + } + }; + } + return dataModel2; + } + public String getReagentId() { return reagentId; } @@ -191,4 +315,54 @@ public void setEndTime(Date endTime) { this.endTime = endTime; } + + public String getProject() { + return project; + } + + public void setProject(String project) { + this.project = project; + } + + public String getDepartment() { + return department; + } + + public void setDepartment(String department) { + this.department = department; + } + + public String getReceiptNumber() { + return receiptNumber; + } + + public void setReceiptNumber(String receiptNumber) { + this.receiptNumber = receiptNumber; + } + + + public OpeUseFlow getSelectOne() { + return selectOne; + } + + public void setSelectOne(OpeUseFlow selectOne) { + this.selectOne = selectOne; + } + + + public List<PersonUseDetail> getPersonUseDetail() { + return personUseDetail; + } + + public void setPersonUseDetail(List<PersonUseDetail> personUseDetail) { + this.personUseDetail = personUseDetail; + } + + public Hashtable getPrintTable() { + return printTable; + } + + public void setPrintTable(Hashtable printTable) { + this.printTable = printTable; + } } diff --git a/src/main/java/com/nanometer/smartlab/controller/ProjectMngController.java b/src/main/java/com/nanometer/smartlab/controller/ProjectMngController.java index 6f1f31e..66cd58b 100644 --- a/src/main/java/com/nanometer/smartlab/controller/ProjectMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/ProjectMngController.java @@ -73,7 +73,7 @@ private void initUserSelectList() { logger.info("WarehouseStockMngController initUserSelectList start"); - this.setUserSelectList(this.sysUserService.getSysUserList(null, null, null, null, null)); + this.setUserSelectList(this.sysUserService.getSysUserList(null, null, null, null, null,null,null)); } public void setUserSelectList(List<SysUser> userSelectList) { this.userSelectList = userSelectList; diff --git a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java index fe55ece..9656bc2 100644 --- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java @@ -71,6 +71,8 @@ private List<BaseMeta> codeList; private List<BaseRole> roleList; private List<Waster> wasterSelectList; + private String project; + private String company; public List<BaseRole> getRoleList() { return roleList; @@ -493,10 +495,10 @@ public List<SysUser> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) { List<SysUser> list = null; try { - int count = sysUserService.getSysUserTotalCount(arp, name,departmentName); + int count = sysUserService.getSysUserTotalCount(arp, name,departmentName,project,company); this.setRowCount(count); if (count > 0) { - list = sysUserService.getSysUserList(arp, name,departmentName, first, pageSize); + list = sysUserService.getSysUserList(arp, name,departmentName,project,company, first, pageSize); } } catch (Exception e) { logger.error(e); @@ -622,4 +624,20 @@ public void setDepartmentName(String departmentName) { this.departmentName = departmentName; } + + public String getProject() { + return project; + } + + public void setProject(String project) { + this.project = project; + } + + public String getCompany() { + return company; + } + + public void setCompany(String company) { + this.company = company; + } } diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java index c7697d0..beca0e3 100644 --- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java @@ -163,6 +163,7 @@ private String endReagentCode; private String startReagentCodeForPerson; private String endReagentCodeForPerson; + private String warehouseName; private Integer editFlag; private StreamedContent file; @@ -373,7 +374,7 @@ private void initUserSelectList() { logger.info("WarehouseStockMngController initUserSelectList start"); - this.setUserSelectList(this.sysUserService.getSysUserList(null, null, null, null, null)); + this.setUserSelectList(this.sysUserService.getSysUserList(null, null, null, null, null,null,null)); /**if(sysUserService.getSysUser(userId) == null) { this.laboratory = this.sysLaboratoryService.getSysLaboratoryListByDep(this.getUserDepartment()); @@ -1658,11 +1659,11 @@ Map<String, Object> filters) { List<OpeWarehouseReserve> list = null; try { - int count = opeWarehouseReserveService.getOpeWarehouseReserveTotalCountByName(reagentId, supplierId,productSn); + int count = opeWarehouseReserveService.getOpeWarehouseReserveTotalCountByName(reagentId, supplierId,productSn,warehouseName); this.setRowCount(count); if (count > 0) { list = opeWarehouseReserveService.getOpeWarehouseReserveListByName(reagentId, supplierId, first, - pageSize,productSn); + pageSize,productSn,warehouseName); } } catch (Exception e) { logger.error(e); @@ -1934,7 +1935,7 @@ realDataList=selectedList; }else { realDataList = opeWarehouseReserveService.getOpeWarehouseReserveListByName(reagentId, supplierId, null, - null,productSn); + null,productSn,warehouseName); } List<String> headerList = new ArrayList<>(); headerList.add("试剂名称"); @@ -2535,7 +2536,7 @@ list.add(sysUser); applyUserSelectList = list; } else { - applyUserSelectList = this.sysUserService.getSysUserList(null, null, null, null, null); + applyUserSelectList = this.sysUserService.getSysUserList(null, null, null, null, null,null,null); } } return applyUserSelectList; @@ -2682,7 +2683,9 @@ public List<SysLaboratory> getLaboratory() { if(userId != null && userId.trim().length() > 0) { - this.laboratory = this.sysLaboratoryService.getSysLaboratoryListByDep(sysUserService.getSysUser(userId).getDepartment()); + + //Todo 修改申领人的实验室显示信息 + this.laboratory = this.sysLaboratoryService.getSysLaboratoryListByUserId(userId); if(this.laboratory != null && this.laboratory.size() > 0) { //flag =true; @@ -2862,7 +2865,7 @@ } public List getConsignee() { - List<SysUser> dataList = this.sysUserService.getSysUserList(null, null, null, null, null); + List<SysUser> dataList = this.sysUserService.getSysUserList(null, null, null, null, null,null,null); //将admin置于首位 for (int i = 0; i < dataList.size(); i++) { if ("admin".equals(dataList.get(i).getAccount())){ @@ -3000,4 +3003,12 @@ public void setReceiptNumber(String receiptNumber) { this.receiptNumber = receiptNumber; } + + public String getWarehouseName() { + return warehouseName; + } + + public void setWarehouseName(String warehouseName) { + this.warehouseName = warehouseName; + } } diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java index 3b913f9..352e62f 100644 --- a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java +++ b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java @@ -1,6 +1,7 @@ package com.nanometer.smartlab.dao; import com.nanometer.smartlab.entity.OpeUseFlow; +import com.nanometer.smartlab.entity.dto.PersonUseDetail; import org.apache.ibatis.annotations.Param; import org.springframework.dao.DataAccessException; @@ -35,4 +36,10 @@ List<Map> getRegentInfoFromReceiptNumber(String receiptNumber); Map getUserIdByReagentCode(String reagentCode, String id); + + int countPersonalUseInfo(Map params); + + List<OpeUseFlow> selectPersonalUseInfo(Map params); + + List<PersonUseDetail> getApplyInfo(Map params); } diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml index d0b9b40..89ad484 100644 --- a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml @@ -85,6 +85,10 @@ <if test="endDate != null and endDate !=''"> and oa.create_time <= #{endDate} </if> + <if test="containerCode != null and containerCode !=''"> + and wc.container_code = #{containerCode} + or lc.container_code =#{containerCode} + </if> </sql> <sql id="queryColumns"> @@ -179,6 +183,113 @@ and valid_flag = 1 limit 1 </select> + <select id="countPersonalUseInfo" resultType="java.lang.Integer"> + select count(0) from ( + SELECT count(0) + FROM + ope_use_flow ouf + LEFT JOIN sys_user su on su.id = ouf.user_id + LEFT JOIN base_meta bm on bm.id = ouf.operatestate + LEFT JOIN ope_reagent_status ors on ors.reagent_code = ouf.reagent_code + LEFT JOIN sys_reagent sr on sr.id = ors.reagent_id + left join base_meta bm1 on bm1.id = su.department + <if test="userId !=null and userId != ''"> + LEFT JOIN sys_reagent sr2 on sr2.id = ouf.user_id + </if> + WHERE ouf.operatestate = #{operatestate} + and LENGTH(trim(ouf.receipt_number))>0 + <if test="reagentCode !=null and reagentCode != ''"> + and ouf.reagent_code like concat("%",#{reagentCode},"%") + </if> + <if test="startTime !=null and startTime != ''"> + and ouf.create_time >#{startTime} + </if> + <if test="endTime !=null and endTime != ''"> + and ouf.create_time <#{endTime} + </if> + <if test="project !=null and project != ''"> + and su.project like concat("%",#{project},"%") + </if> + <if test="department !=null and department != ''"> + and su.bm1.meta_value like concat("%",#{department},"%") + </if> + <if test="receiptNumber !=null and receiptNumber != ''"> + and ouf.receipt_number like concat("%",#{receiptNumber},"%") + </if> + group by ouf.receipt_number) a + + + + </select> + <select id="selectPersonalUseInfo" resultType="com.nanometer.smartlab.entity.OpeUseFlow"> + SELECT ouf.receipt_number receiptNumber, + count(ouf.reagent_code) applyNum, + su.name username, + su.project , + su.phone, + bm1.meta_value department, + sl.name laboratoryName, + ouf.create_time createTime, + ouf.house_id houseId + FROM + ope_use_flow ouf + LEFT JOIN sys_user su on su.id = ouf.user_id + LEFT JOIN base_meta bm on bm.id = ouf.operatestate + LEFT JOIN ope_reagent_status ors on ors.reagent_code = ouf.reagent_code + LEFT JOIN sys_reagent sr on sr.id = ors.reagent_id + left join base_meta bm1 on bm1.id = su.department + left join sys_laboratory sl on sl.id = ouf.house_id + <if test="userId !=null and userId != ''"> + LEFT JOIN sys_reagent sr2 on sr2.id = ouf.user_id + </if> + WHERE ouf.operatestate = #{operatestate} + and LENGTH(trim(ouf.receipt_number))>0 + <if test="reagentCode !=null and reagentCode != ''"> + and ouf.reagent_code like concat("%",#{reagentCode},"%") + </if> + <if test="startTime !=null and startTime != ''"> + and ouf.create_time >#{startTime} + </if> + <if test="endTime !=null and endTime != ''"> + and ouf.create_time <#{endTime} + </if> + <if test="project !=null and project != ''"> + and su.project like concat("%",#{project},"%") + </if> + <if test="department !=null and department != ''"> + and su.bm1.meta_value like concat("%",#{department},"%") + </if> + <if test="receiptNumber !=null and receiptNumber != ''"> + and ouf.receipt_number like concat("%",#{receiptNumber},"%") + </if> + group by ouf.receipt_number + ORDER BY ouf.create_time desc + <if test="first != null and pageSize != null"> + limit #{first}, #{pageSize} + </if> + </select> + <select id="getApplyInfo" resultType="com.nanometer.smartlab.entity.dto.PersonUseDetail"> + SELECT + ors.reagent_id reagentId, + ors.article_number articleNumber, + ouf.reagent_code reagentCode, + sr.product_sn productSn, + sr.NAME reagentName, + bm1.meta_value reagentFormat, + CONCAT(sr.per_box,bm1.meta_value) perInfo, + bm2.meta_value productHome, + bm3.meta_value controlProducts + from `ope_use_flow` ouf + LEFT JOIN ope_reagent_status ors ON ors.reagent_code = ouf.reagent_code + LEFT join sys_reagent sr ON ors.reagent_id = sr.id + LEFT JOIN base_meta bm ON bm.id = sr.reagent_format + LEFT JOIN base_meta bm1 on bm1.id = sr.reagent_unit + LEFT JOIN base_meta bm2 on bm2.id = sr.product_home + LEFT JOIN base_meta bm3 on bm3.id = sr.control_products + WHERE ouf.operatestate = #{operatestate} + and ouf.receipt_number = #{receiptNumber} + </select> + <insert id="insertOpeUseFlow" parameterType="com.nanometer.smartlab.entity.OpeUseFlow"> insert into ope_use_flow(id, reagent_code, status, house_id, container_id, user_id, remainder, place, store_type, valid_flag, create_time, realstatus, operatestate) values (#{id}, #{reagentCode}, #{status}, #{houseId}, #{containerId}, #{userId}, #{remainder}, #{place}, #{storeType}, 1, #{createTime}, #{realstatus},#{operateState}) diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml index e1377d9..060936f 100644 --- a/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml @@ -57,6 +57,9 @@ <if test="productSn != null and productSn != ''"> and sr.product_sn like concat('%',#{productSn},'%') </if> + <if test="warehouseName != null and warehouseName != ''"> + and sw.name like concat('%',#{warehouseName},'%') + </if> </sql> <sql id="queryColumns"> @@ -135,7 +138,6 @@ set reserve=#{reserve} where id=#{id} </update> - <select id="selectByReId" resultMap="OpeWarehouseReserve"> select * from ope_warehouse_reserve where reagent_id=#{id} diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml index d96843d..36d76e3 100644 --- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml @@ -77,6 +77,12 @@ <if test="laboratoryName != null and laboratoryName != ''"> and ss.name like #{laboratoryName} </if> + <if test="project != null and project != ''"> + and su.project like concat("%",#{project},"%") + </if> + <if test="controllerName != null and controllerName != ''"> + and sc.controller_name like concat("%",#{controllerName},"%") + </if> order by ss.name ASC,sc.controller_name,su.container_code,su.name <if test="first != null and pageSize != null"> limit #{first}, #{pageSize} @@ -137,6 +143,12 @@ <if test="editId != null and editId != ''"> and su.id != #{editId} </if> + <if test="project != null and project != ''"> + and su.project like concat("%",#{project},"%") + </if> + <if test="controllerName != null and controllerName != ''"> + and sc.controller_name like concat("%",#{controllerName},"%") + </if> </select> <insert id="insertSysLaboratoryContainer" parameterType="com.nanometer.smartlab.entity.SysLaboratoryContainer"> diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml index 0a59ab5..a557fe8 100644 --- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml @@ -31,6 +31,9 @@ <if test="department != null and department != ''"> and su.department = #{department} </if> + <if test="project != null and project != ''"> + and su.project like concat("%",#{project},"%") + </if> </sql> <select id="getSysLaboratory" parameterType="java.lang.String" resultMap="SysLaboratory" > diff --git a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml index 8bb1b6b..e171985 100644 --- a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml @@ -74,6 +74,12 @@ <if test="waster != null"> and su.waster = #{waster} </if> + <if test="project != null and project != ''"> + and su.project like concat("%",#{project},"%") + </if> + <if test="company != null and company != ''"> + and bm1.meta_value like concat("%",#{company},"%") + </if> </sql> <select id="getSysUser" parameterType="java.lang.String" resultMap="SysUser" > @@ -117,6 +123,7 @@ select su.*, br.name as roleName from sys_user as su left join base_role as br on su.role_id = br.id left join base_meta bm on su.department = bm.id + left join base_meta bm1 on bm1.id = su.company where su.valid_flag = 1 <if test="departmentNameLike != null and departmentNameLike != ''"> and bm.meta_value like #{departmentNameLike} @@ -150,7 +157,9 @@ </select> <select id="getSysUserTotalCount" parameterType="java.util.Map" resultType="int"> - select count(1) from sys_user as su left join base_meta bm on su.department = bm.id + select count(1) from sys_user as su + left join base_meta bm on su.department = bm.id + left join base_meta bm1 on bm1.id = su.company where su.valid_flag = 1 <if test="departmentNameLike != null and departmentNameLike != ''"> and bm.meta_value like #{departmentNameLike} diff --git a/src/main/java/com/nanometer/smartlab/entity/OpeUseFlow.java b/src/main/java/com/nanometer/smartlab/entity/OpeUseFlow.java index f6dd09a..1baf23c 100644 --- a/src/main/java/com/nanometer/smartlab/entity/OpeUseFlow.java +++ b/src/main/java/com/nanometer/smartlab/entity/OpeUseFlow.java @@ -30,19 +30,25 @@ private SysReagent reagent; private String userName; private String articleNumber; - + private String laboratoryName; private String warehouseName; - + private String warehouseContainerName; private String laboratoryContainerName; private String warehouseContainerCode; private String laboratoryContainerCode; - + private String operatestateName; private String operateState; private String receiptNumber; - + //人员信息 + private String project; + private String phone; + private String department; + private Integer applyNum; + + public String getWarehouseContainerCode() { @@ -238,4 +244,38 @@ public void setReceiptNumber(String receiptNumber) { this.receiptNumber = receiptNumber; } + + + + public Integer getApplyNum() { + return applyNum; + } + + public void setApplyNum(Integer applyNum) { + this.applyNum = applyNum; + } + + public String getProject() { + return project; + } + + public void setProject(String project) { + this.project = project; + } + + public String getDepartment() { + return department; + } + + public void setDepartment(String department) { + this.department = department; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } } diff --git a/src/main/java/com/nanometer/smartlab/entity/dto/PersonUseDetail.java b/src/main/java/com/nanometer/smartlab/entity/dto/PersonUseDetail.java new file mode 100644 index 0000000..5b8478d --- /dev/null +++ b/src/main/java/com/nanometer/smartlab/entity/dto/PersonUseDetail.java @@ -0,0 +1,98 @@ +package com.nanometer.smartlab.entity.dto; + +import java.io.Serializable; + +public class PersonUseDetail implements Serializable { + + private String reagentId; + + private String articleNumber; + + private String productSn; + + private String reagentName; + + private String reagentFormat; + + private String perInfo; + + private String productHome; + + private String controlProducts; + + private String reagentCode; + + + public String getReagentId() { + return reagentId; + } + + public void setReagentId(String reagentId) { + this.reagentId = reagentId; + } + + public String getArticleNumber() { + return articleNumber; + } + + public void setArticleNumber(String articleNumber) { + this.articleNumber = articleNumber; + } + + + public String getProductSn() { + return productSn; + } + + public void setProductSn(String productSn) { + this.productSn = productSn; + } + + public String getReagentName() { + return reagentName; + } + + public void setReagentName(String reagentName) { + this.reagentName = reagentName; + } + + public String getReagentFormat() { + return reagentFormat; + } + + public void setReagentFormat(String reagentFormat) { + this.reagentFormat = reagentFormat; + } + + public String getPerInfo() { + return perInfo; + } + + public void setPerInfo(String perInfo) { + this.perInfo = perInfo; + } + + public String getProductHome() { + return productHome; + } + + public void setProductHome(String productHome) { + this.productHome = productHome; + } + + public String getControlProducts() { + return controlProducts; + } + + public void setControlProducts(String controlProducts) { + this.controlProducts = controlProducts; + } + + public String getReagentCode() { + return reagentCode; + } + + public void setReagentCode(String reagentCode) { + this.reagentCode = reagentCode; + } +} diff --git a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java index 8c8242d..042e7d1 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java @@ -3,7 +3,7 @@ import com.nanometer.smartlab.entity.OpeApplyReserve; import com.nanometer.smartlab.entity.OpeUseFlow; import com.nanometer.smartlab.entity.OpeWarehouseReserve; -import com.nanometer.smartlab.entity.SysReagent; +import com.nanometer.smartlab.entity.dto.PersonUseDetail; import java.text.ParseException; import java.util.Date; @@ -23,10 +23,10 @@ int getOpeUseFlowTotalCount(String reagentId, String reagentCode, Integer status, String userId); - List<OpeUseFlow> getOpeUseFlowListByName(String houseName,String reagentId, String reagentCode, Integer status, String userId, Date startDate,Date endDate, + List<OpeUseFlow> getOpeUseFlowListByName(String houseName,String reagentId, String reagentCode,String containerCode, Integer status, String userId, Date startDate,Date endDate, Integer first, Integer pageSize); - int getOpeUseFlowTotalCountByName(String houseName, String reagentId, String reagentCode, Integer status, String userId, Date startDate,Date endDate); + int getOpeUseFlowTotalCountByName(String houseName, String reagentId, String reagentCode,String containerCode, Integer status, String userId, Date startDate,Date endDate); boolean update(OpeUseFlow opeUseFlow); @@ -47,4 +47,11 @@ Map<String,String> getApplyUserByReagentCode(String reagentCode); void updateReceiptNumberByCode2(List<OpeWarehouseReserve> codeTmp, String receiptNumber); + + int getPersonalUseInfoCount(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project); + + List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project, int first, int pageSize); + + List<PersonUseDetail> getApplyInfo(String receiptNumber); + } diff --git a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java index 2d7ab3e..96f81ab 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java @@ -12,6 +12,7 @@ import com.nanometer.smartlab.dao.SysLaboratoryContainerDao; import com.nanometer.smartlab.dao.SysWarehouseContainerDao; import com.nanometer.smartlab.entity.*; +import com.nanometer.smartlab.entity.dto.PersonUseDetail; import com.nanometer.smartlab.entity.enumtype.OperateStatus; import com.nanometer.smartlab.util.Constants; import org.apache.commons.lang.StringUtils; @@ -135,7 +136,7 @@ } @Transactional(propagation = Propagation.REQUIRED) - public List<OpeUseFlow> getOpeUseFlowListByName(String houseName,String reagentId, String reagentCode, Integer status, String userId, + public List<OpeUseFlow> getOpeUseFlowListByName(String houseName,String reagentId, String reagentCode,String containerCode, Integer status, String userId, Date startDate,Date endDate,Integer first, Integer pageSize) { try { Map<String, Object> params = new HashMap<String, Object>(); @@ -175,6 +176,7 @@ params.put("status", status); params.put("houseName", houseName); + params.put("containerCode", containerCode); addParamByUserId(userId, params); params.put("first", first); @@ -188,7 +190,7 @@ } @Transactional(propagation = Propagation.REQUIRED) - public int getOpeUseFlowTotalCountByName(String houseName,String reagentId, String reagentCode, 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) { try { Map<String, Object> params = new HashMap<String, Object>(); params.put("reagentName", reagentId); @@ -226,6 +228,7 @@ } params.put("houseName", houseName); + params.put("containerCode", containerCode); addParamByUserId(userId, params); params.put("status", status); @@ -454,4 +457,64 @@ } } + + @Override + public int getPersonalUseInfoCount(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project) { + Map<String,Object> params = new HashMap<>(); + params.put("userId", userId); + params.put("startTime", startTime); + params.put("endTime", endTime); + params.put("receiptNumber", receiptNumber); + params.put("department", department); + params.put("project", project); + params.put("reagentCode", reagentCode); + //操作状态位仓库领取 + Map<String, String> metaMap2 = new HashMap<>(); + metaMap2.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()); + + addParamByUserId(userId, params); + return opeUseFlowDao.countPersonalUseInfo(params); + } + + @Override + public List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project, int first, int pageSize) { + Map<String, Object> params = new HashMap<>(); + params.put("userId", userId); + params.put("startTime", startTime); + params.put("endTime", endTime); + params.put("receiptNumber", receiptNumber); + params.put("department", department); + params.put("project", project); + params.put("reagentCode", reagentCode); + //操作状态位仓库领取 + Map<String, String> metaMap2 = new HashMap<>(); + metaMap2.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()); + params.put("first", first); + params.put("pageSize", pageSize); + + addParamByUserId(userId, params); + return opeUseFlowDao.selectPersonalUseInfo(params); + } + + @Override + public List<PersonUseDetail> getApplyInfo(String receiptNumber) { + Map<String,Object> params = new HashMap<>(); + Map<String, String> metaMap2 = new HashMap<>(); + metaMap2.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()); + params.put("receiptNumber", receiptNumber); + + return opeUseFlowDao.getApplyInfo(params); + + } + + } diff --git a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveService.java b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveService.java index 07a1fdd..e1dcab6 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveService.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveService.java @@ -16,8 +16,8 @@ Integer pageSize); int getOpeWarehouseReserveTotalCount(String reagentId, String supplierId); List<OpeWarehouseReserve> getOpeWarehouseReserveListByName(String reagentId, String supplierId, Integer first, - Integer pageSize,String productSn); - int getOpeWarehouseReserveTotalCountByName(String reagentId, String supplierId,String productSn); + Integer pageSize,String productSn,String warehouseName); + int getOpeWarehouseReserveTotalCountByName(String reagentId, String supplierId,String productSn,String warehouseName); OpeWarehouseReserve getOpeWarehouseReserve(String reagentId, String articleNumber); OpeWarehouseReserve getOpeWarehouseReserve2(String reagentId, String articleNumber,String warehouseId); diff --git a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java index c26f32f..8f5995c 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java @@ -94,7 +94,7 @@ @Transactional(propagation = Propagation.REQUIRED) public List<OpeWarehouseReserve> getOpeWarehouseReserveListByName(String reagentId, String supplierId, Integer first, - Integer pageSize,String productSn) { + Integer pageSize,String productSn,String warehouseName) { try { Map<String, Object> params = new HashMap<String, Object>(); params.put("reagentName", reagentId); @@ -102,6 +102,7 @@ params.put("first", first); params.put("pageSize", pageSize); params.put("productSn", productSn); + params.put("warehouseName", warehouseName); return this.opeWarehouseReserveDao.getOpeWarehouseReserveList(params); } catch (DataAccessException e) { logger.error(e.getMessage(), e); @@ -111,12 +112,13 @@ } @Transactional(propagation = Propagation.REQUIRED) - public int getOpeWarehouseReserveTotalCountByName(String reagentId, String supplierId,String productSn) { + public int getOpeWarehouseReserveTotalCountByName(String reagentId, String supplierId,String productSn,String warehouseName) { try { Map<String, Object> params = new HashMap<String, Object>(); params.put("reagentName", reagentId); params.put("supplierId", supplierId); params.put("productSn", productSn); + params.put("warehouseName", warehouseName); return this.opeWarehouseReserveDao.getOpeWarehouseReserveTotalCount(params); } catch (DataAccessException e) { logger.error(e.getMessage(), e); diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java index f70dfed..df8cdec 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java +++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java @@ -11,9 +11,10 @@ */ public interface SysLaboratoryContainerService { - List<SysLaboratoryContainer> getSysLaboratoryContainerList(String laboratoryType, String laboratoryName, String laboratoryId, Integer first, Integer pageSize); + List<SysLaboratoryContainer> getSysLaboratoryContainerList(String laboratoryType, String laboratoryName, String laboratoryId + ,String project,String controllerName, Integer first, Integer pageSize); List<SysLaboratoryContainer> getSysLaboratoryContainerList(String laboratoryId); - int getSysLaboratoryContainerTotalCount(String laboratoryType, String laboratoryName,String laboratoryId); + int getSysLaboratoryContainerTotalCount(String laboratoryType, String laboratoryName,String laboratoryId,String project,String controllerName); SysLaboratoryContainer getSysLaboratoryContainer(String id); SysLaboratoryContainer getSysLaboratoryContainerByContainerCode(String containerCode); SysLaboratoryContainer insertSysLaboratoryContainer(SysLaboratoryContainer sysLaboratory); diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java index 486ea69..07ada63 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java @@ -38,7 +38,7 @@ @Transactional(propagation = Propagation.REQUIRED) public List<SysLaboratoryContainer> getSysLaboratoryContainerList(String laboratoryType, String laboratoryName, - String laboratoryId, Integer first, Integer pageSize) { + String laboratoryId,String project,String controllerName, Integer first, Integer pageSize) { try { Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotBlank(laboratoryType)) { @@ -50,6 +50,8 @@ if (StringUtils.isNotBlank(laboratoryId)) { params.put("laboratoryId", laboratoryId); } + params.put("project", project); + params.put("controllerName", controllerName); params.put("first", first); params.put("pageSize", pageSize); return this.sysLaboratoryContainerDao.getSysLaboratoryContainerList(params); @@ -63,11 +65,11 @@ @Transactional(propagation = Propagation.REQUIRED) public List<SysLaboratoryContainer> getSysLaboratoryContainerList( String laboratoryId) { - return getSysLaboratoryContainerList(null,null,laboratoryId,null,null); + return getSysLaboratoryContainerList(null,null,laboratoryId,null,null,null,null); } @Transactional(propagation = Propagation.REQUIRED) - public int getSysLaboratoryContainerTotalCount(String laboratoryType, String laboratoryName, String laboratoryId) { + public int getSysLaboratoryContainerTotalCount(String laboratoryType, String laboratoryName, String laboratoryId,String project,String controllerName) { try { Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotBlank(laboratoryType)) { @@ -79,6 +81,8 @@ if (StringUtils.isNotBlank(laboratoryId)) { params.put("laboratoryId", laboratoryId); } + params.put("project", project); + params.put("controllerName", controllerName); return this.sysLaboratoryContainerDao.getSysLaboratoryContainerTotalCount(params); } catch (DataAccessException e) { logger.error(e.getMessage(), e); diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryService.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryService.java index b7733c8..e07e4cd 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryService.java +++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryService.java @@ -11,13 +11,13 @@ */ public interface SysLaboratoryService { - List<SysLaboratory> getSysLaboratoryList(String type, String name, Integer first, Integer pageSize); + List<SysLaboratory> getSysLaboratoryList(String type, String name, String project, Integer first, Integer pageSize); List<SysLaboratory> getAllSysLaboratoryList(); List<SysLaboratory> getSysLaboratoryListByDep(String depId); - int getSysLaboratoryTotalCount(String type, String name); + int getSysLaboratoryTotalCount(String type, String name,String project); boolean isSysLaboratoryExist(String barCode, String editId); @@ -38,4 +38,8 @@ List<Map> exportLabList(String type, String name); List<LaboratoryVo.Laboratory> getLaboratoryByProject(String project); + + List<SysLaboratory> getSysLaboratoryListByUserId(String userId); + + } diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java index b169e9f..70a1d09 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java @@ -1,7 +1,9 @@ package com.nanometer.smartlab.service; import com.nanometer.smartlab.dao.SysLaboratoryDao; +import com.nanometer.smartlab.dao.SysUserDao; import com.nanometer.smartlab.entity.SysLaboratory; +import com.nanometer.smartlab.entity.SysUser; import com.nanometer.smartlab.entity.dto.LaboratoryVo; import com.nanometer.smartlab.exception.AlarmCode; import com.nanometer.smartlab.exception.AlarmException; @@ -38,9 +40,11 @@ @Resource(name = "sysLaboratoryDao") SysLaboratoryDao sysLaboratoryDao; + @Resource + SysUserDao sysUserDao; @Transactional(propagation = Propagation.REQUIRED) - public List<SysLaboratory> getSysLaboratoryList(String type, String name, Integer first, Integer pageSize) { + public List<SysLaboratory> getSysLaboratoryList(String type, String name,String project,Integer first, Integer pageSize) { try { Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotBlank(type)) { @@ -49,6 +53,7 @@ if (StringUtils.isNotBlank(name)) { params.put("name", "%" + name + "%"); } + params.put("project", project); params.put("first", first); params.put("pageSize", pageSize); return this.sysLaboratoryDao.getSysLaboratoryList(params); @@ -60,7 +65,7 @@ } @Transactional(propagation = Propagation.REQUIRED) - public int getSysLaboratoryTotalCount(String type, String name) { + public int getSysLaboratoryTotalCount(String type, String name,String project) { try { Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotBlank(type)) { @@ -69,6 +74,7 @@ if (StringUtils.isNotBlank(name)) { params.put("name", "%" + name + "%"); } + params.put("project", project); return this.sysLaboratoryDao.getSysLaboratoryTotalCount(params); } catch (DataAccessException e) { logger.error(e.getMessage(), e); @@ -257,7 +263,22 @@ return sysLaboratoryDao.getLaboratoryByProject(project); } - @Override + @Override + public List<SysLaboratory> getSysLaboratoryListByUserId(String userId) { + + //1.根据用户的课题组获取实验室,没有就按照部门 + SysUser user = sysUserDao.getSysUser(userId); + Map<String,Object> params = new HashMap<>(); + params.put("project", user.getProject()); + List<SysLaboratory> list = sysLaboratoryDao.getSysLaboratoryList(params); + if (list.size() < 1) { + return this.getSysLaboratoryListByDep(user.getDepartment()); + }else{ + return list; + } + } + + @Override @Transactional(propagation = Propagation.REQUIRED) public List<SysLaboratory> getSysLaboratoryListByDep(String depId) { try { diff --git a/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java index 0133124..dd9d421 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java @@ -163,7 +163,7 @@ @Transactional public void importProject(FileUploadEvent event,SysUser currentUser) throws Exception { - List<SysUser> userList = sysUserService.getSysUserList(null, null, null, null, null); + List<SysUser> userList = sysUserService.getSysUserList(null, null, null, null, null,null,null); List<SysProject> sysProjectList = sysProjectDao.getSysProjectList(new HashMap()); Map<String,String> userMap = new HashMap(); Map<String,String> projectMap = new HashMap(); diff --git a/src/main/java/com/nanometer/smartlab/service/SysUserService.java b/src/main/java/com/nanometer/smartlab/service/SysUserService.java index a613193..5fd2f5b 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysUserService.java +++ b/src/main/java/com/nanometer/smartlab/service/SysUserService.java @@ -14,8 +14,8 @@ */ public interface SysUserService { - List<SysUser> getSysUserList(String arp, String name,String departmentName, Integer first, Integer pageSize); - int getSysUserTotalCount(String arp, String name,String departmentName); + List<SysUser> getSysUserList(String arp, String name,String departmentName,String project,String company,Integer first, Integer pageSize); + int getSysUserTotalCount(String arp, String name,String departmentName,String project,String company); SysUser getSysUser(String id); SysUser getSysUserForSuppllier(String id); SysUser getSysUserByAccount(String account); diff --git a/src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java index 2edb936..c9bd4d4 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java @@ -43,7 +43,7 @@ SysUserDao sysUserDao; @Transactional(propagation = Propagation.REQUIRED) - public List<SysUser> getSysUserList(String arp, String name,String departmentName, Integer first, Integer pageSize) { + public List<SysUser> getSysUserList(String arp, String name,String departmentName,String project,String company, Integer first, Integer pageSize) { try { Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotBlank(arp)) { @@ -55,6 +55,8 @@ if (StringUtils.isNotBlank(departmentName)) { params.put("departmentNameLike", "%" + departmentName + "%"); } + params.put("project", project); + params.put("company", company); params.put("first", first); params.put("pageSize", pageSize); return this.sysUserDao.getSysUserList(params); @@ -64,7 +66,7 @@ } } @Transactional(propagation = Propagation.REQUIRED) - public int getSysUserTotalCount(String arp, String name,String departmentName) { + public int getSysUserTotalCount(String arp, String name,String departmentName,String project,String company) { try { Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotBlank(arp)) { @@ -76,6 +78,8 @@ if (StringUtils.isNotBlank(departmentName)) { params.put("departmentNameLike", "%" + departmentName + "%"); } + params.put("project", project); + params.put("company", company); return this.sysUserDao.getSysUserTotalCount(params); } catch (DataAccessException e) { logger.error(e.getMessage(), e); diff --git a/src/main/webapp/WEB-INF/config-mybatis.xml b/src/main/webapp/WEB-INF/config-mybatis.xml index 365d9cd..861a53f 100644 --- a/src/main/webapp/WEB-INF/config-mybatis.xml +++ b/src/main/webapp/WEB-INF/config-mybatis.xml @@ -15,7 +15,7 @@ <setting name="useGeneratedKeys" value="false"/> <setting name="defaultExecutorType" value="SIMPLE"/> <setting name="defaultStatementTimeout" value="25000"/> - <setting name="logImpl" value="STDOUT_LOGGING" /> + <setting name="logImpl" value="LOG4J" /> </settings> <typeHandlers> diff --git a/src/main/webapp/laboratory_container_mng.xhtml b/src/main/webapp/laboratory_container_mng.xhtml index b6ad4db..25fb1be 100644 --- a/src/main/webapp/laboratory_container_mng.xhtml +++ b/src/main/webapp/laboratory_container_mng.xhtml @@ -12,7 +12,7 @@ <h:form id="laboratoryContainerMngForm"> <p:panel styleClass="center-header"> <p:outputLabel styleClass="title" value="实验室临时存储库管理"></p:outputLabel> - <p:panelGrid styleClass="filter" columns="5"> + <p:panelGrid styleClass="filter" columns="9"> <p:outputLabel value="实验室类型:"></p:outputLabel> <p:selectOneMenu value="#{laboratoryContainerMngController.laboratoryType}"> <f:selectItem itemLabel="全部" itemValue="#{null}" noSelectionOption="true"></f:selectItem> @@ -24,6 +24,12 @@ <p:outputLabel value="实验室名:"></p:outputLabel> <p:inputText value="#{laboratoryContainerMngController.laboratoryName}"></p:inputText> + <p:outputLabel value="课题名称:"></p:outputLabel> + <p:inputText value="#{laboratoryContainerMngController.project}"></p:inputText> + + <p:outputLabel value="主控名称:"></p:outputLabel> + <p:inputText value="#{laboratoryContainerMngController.controllerName}"></p:inputText> + <p:commandLink styleClass="search" process="@form" update="@form"></p:commandLink> </p:panelGrid> </p:panel> diff --git a/src/main/webapp/laboratory_mng.xhtml b/src/main/webapp/laboratory_mng.xhtml index 601dedb..0d36f3c 100644 --- a/src/main/webapp/laboratory_mng.xhtml +++ b/src/main/webapp/laboratory_mng.xhtml @@ -12,7 +12,7 @@ <h:form id="laboratoryMngForm"> <p:panel styleClass="center-header"> <p:outputLabel styleClass="title" value="实验室管理"></p:outputLabel> - <p:panelGrid styleClass="filter" columns="5"> + <p:panelGrid styleClass="filter" columns="7"> <p:outputLabel value="实验室类型:"></p:outputLabel> <p:selectOneMenu value="#{laboratoryMngController.type}"> <f:selectItem itemLabel="全部" itemValue="#{null}" noSelectionOption="true"></f:selectItem> @@ -24,6 +24,9 @@ <p:outputLabel value="实验室名:"></p:outputLabel> <p:inputText value="#{laboratoryMngController.name}"></p:inputText> + <p:outputLabel value="课题组:"></p:outputLabel> + <p:inputText value="#{laboratoryMngController.project}"></p:inputText> + <p:commandLink styleClass="search" process="@form" update="@form"></p:commandLink> </p:panelGrid> </p:panel> diff --git a/src/main/webapp/personal_use_info.xhtml b/src/main/webapp/personal_use_info.xhtml index 22644b5..ff71fb3 100644 --- a/src/main/webapp/personal_use_info.xhtml +++ b/src/main/webapp/personal_use_info.xhtml @@ -50,84 +50,272 @@ <p:panel styleClass="center-header"> <p:panelGrid styleClass="filter" columns="13"> - <p:outputLabel value="试剂名称:"></p:outputLabel> - <p:inputText value="#{personalUseInfoController.reagentId}"></p:inputText> + <p:outputLabel value="单据编号:"/> + <p:inputText value="#{personalUseInfoController.receiptNumber}"/> - <p:outputLabel value="条形码:"></p:outputLabel> - <p:inputText value="#{personalUseInfoController.reagentCode}"></p:inputText> - <p:outputLabel value="申领人:"/> - <p:inputText value="#{personalUseInfoController.applyPerson}"/> + <p:outputLabel value="课题组:"/> + <p:inputText value="#{personalUseInfoController.project}"/> + + <p:outputLabel value="部门:"/> + <p:inputText value="#{personalUseInfoController.department}"/> <p:outputLabel for="startTime" value="开始时间:" /> <p:calendar id="startTime" value="#{personalUseInfoController.startTime}" pattern="yyyy-MM-dd HH:mm" /> <p:outputLabel for="endTime" value="截止时间:" /> <p:calendar id="endTime" value="#{personalUseInfoController.endTime}" pattern="yyyy-MM-dd HH:mm" /> - <p:commandLink styleClass="search" process="@form" update="@form"></p:commandLink> - <p:commandButton value="更新时间" styleClass="store-btn" process="@form" actionListener="#{personalUseInfoController.updateTimeByCode}" - update="@form"></p:commandButton> - <p:commandButton value="取消领用" style="background: #b94a48; border: 1px solid #b94a48" styleClass="store-btn" process="@form" actionListener="#{personalUseInfoController.reagentReturn}" - update="@form"></p:commandButton> - </p:panelGrid> + <p:commandLink styleClass="search" process="@form" update="@form"/> + + <p:commandButton value="生成领用单" + style="background: #b94a48; border: 1px solid #b94a48" + styleClass="store-btn" + process="@form" + actionListener="#{personalUseInfoController.generateReceipt}" + update="printDialog"/> + <p:commandButton value="查看详情" + styleClass="store-btn" + update=":dialog,:dialogForm" + actionListener="#{personalUseInfoController.detailInfo}" + oncomplete="PF('dialog').show()"/> + + + </p:panelGrid> </p:panel> </p:panel> - <style> + <style type="text/css"> .ui-datatable tbody td{ white-space: normal; word-break: break-all; } </style> <p:panel styleClass="center-body"> - <p:dataTable id="personalUseInfoDataTable" styleClass="data-table" resizableColumns="true" - paginator="true" paginatorAlwaysVisible="false" paginatorPosition="bottom" - lazy="true" value="#{personalUseInfoController.dataModel}" var="row" - rowKey="#{row.id}" emptyMessage="无数据" rows="20" pageLinks="5" selection="#{personalUseInfoController.selectedList}"> - <p:column selectionMode="multiple" style="width: 30px;text-align: center;"/> - <p:column headerText="试剂名称"> - <h:outputText value="#{row.reagent.name}"></h:outputText> + <p:dataTable id="personalUseInfoDataTable" + styleClass="data-table" + resizableColumns="true" + paginator="true" + paginatorAlwaysVisible="false" + paginatorPosition="bottom" + lazy="true" + value="#{personalUseInfoController.dataModel2}" + var="row" + rowKey="#{row.receiptNumber}" + selectionMode="single" + emptyMessage="无数据" + selection="#{personalUseInfoController.selectOne}" + rows="20" pageLinks="5"> + +<!-- <p:column selectionMode="multiple" style="width: 30px;text-align: center;"/>--> + <p:column headerText="单据编号"> + <h:outputText value="#{row.receiptNumber}"/> </p:column> - <p:column headerText="试剂条形码"> - <h:outputText value="#{row.reagentCode}"></h:outputText> + <p:column headerText="申领人" width="80"> + <h:outputText value="#{row.userName}"/> </p:column> - <p:column headerText="厂家"> - <h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagent.productHome)}"></h:outputText> - </p:column> - <!--<p:column headerText="供应商">--> - <!--<h:outputText value="#{row.reagent.supplierName}"></h:outputText>--> - <!--</p:column>--> - - <p:column headerText="规格"> - <h:outputText - value="#{baseMetaService.getBaseMetaValue(row.reagent.reagentFormat)}"></h:outputText> + <p:column headerText="领用数量" width="50"> + <h:outputText value="#{row.applyNum}"/> </p:column> - <p:column headerText="包装"> - <h:outputText - value="#{''.concat(row.reagent.mainMetering).concat(baseMetaService.getBaseMetaValue(row.reagent.reagentUnit))}"></h:outputText> + <p:column headerText="课题组"> + <h:outputText value="#{row.project}"/> </p:column> - <p:column headerText="批号"> - <h:outputText value="#{row.articleNumber}"></h:outputText> + <p:column headerText="部门"> + <h:outputText value="#{row.department}"/> </p:column> -<!-- <p:column headerText="残存量">--> -<!-- <h:outputText value="#{row.remainder}"></h:outputText>--> -<!-- </p:column>--> - - <p:column headerText="申领人"> - <h:outputText value="#{row.userName}" /> + <p:column headerText="地点"> + <h:outputText value="#{row.laboratoryName}"/> </p:column> <p:column headerText="领用时间"> - <h:outputText value="#{row.updateTime}"> - <f:convertDateTime pattern="yyyy-MM-dd HH:mm:ss" locale="zh_CN"></f:convertDateTime> + <h:outputText value="#{row.createTime}"> + <f:convertDateTime pattern="yyyy-MM-dd HH:mm" locale="zh_CN"/> </h:outputText> </p:column> </p:dataTable> </p:panel> </h:form> + + <p:dialog modal="true" header="试剂详情页面" appendTo="@(body)" + id="dialog" widgetVar="dialog" + resizable="false" width="1000"> + <h:form id="dialogForm"> + <p:dataTable styleClass="data-table" + paginator="true" paginatorAlwaysVisible="false" paginatorPosition="bottom" + value="#{personalUseInfoController.personUseDetail}" var="row" rowKey="#{row.id}" + emptyMessage="无数据" + style="margin:50px 0 80px 0" + rows="5" pageLinks="5"> + + <p:column headerText="产品编号"> + <h:outputText value="#{row.productSn}"/> + </p:column> + + <p:column headerText="试剂名称"> + <h:outputText value="#{row.reagentName}"/> + </p:column> + + <p:column headerText="试剂条形码"> + <h:outputText value="#{row.reagentCode}"/> + </p:column> + + <p:column headerText="管制品"> + <h:outputText value="#{row.controlProducts}"/> + </p:column> + + <p:column headerText="规格型号"> + <h:outputText value="#{row.reagentFormat}"/> + </p:column> + + <p:column headerText="包装"> + <h:outputText value="#{row.perInfo}"/> + </p:column> + + <p:column headerText="厂家"> + <h:outputText value="#{row.productHome}"/> + </p:column> + + <p:column headerText="批号"> + <h:outputText value="#{row.articleNumber}"/> + </p:column> + + </p:dataTable> + + <p:panel styleClass="btn" style="text-align: right"> + </p:panel> + </h:form> + </p:dialog> + <p:dialog id="apply-ui" header="领用单" widgetVar="printDialog" appendTo="@(body)" modal="true" resizable="false" + width="1380"> + <div id="printTarget"> + <div style=" margin: 20mm 27mm 0mm 30mm;"> + <h:form id="printDialog" style="width: 1100px"> + + <p:outputPanel style="text-align: center;font-size: 14px;font-weight: 700;">#{personalUseInfoController.printTable['head']}</p:outputPanel> + <p:outputPanel style="text-align: center;font-size: 15px;margin: 20px;font-weight: 700;">#{personalUseInfoController.printTable['title']}</p:outputPanel> + <div> + <div style="display: flex;flex-direction: row;justify-content: flex-end;width: 1081px;"> + <div style="width: 98px;">单据编号:</div> + <div style="width: 183px;">#{personalUseInfoController.printTable['receiptNumber']}</div> + </div> + </div> + + <div style="margin: 10px 0;"> + <div style="display: inline-flex;"> + <div style="width: 100px;margin-left: 10px;">部门:</div> + <div style="width: 300px;">#{personalUseInfoController.printTable['department']}</div> + </div> + <div style="display: inline-flex;"> + <div style="width: 100px;">申购人:</div> + <div style="width: 200px;padding-top: 1px;">#{personalUseInfoController.printTable['applyPerson']}</div> + </div> + <div style="display: inline-flex;float: right;"> + <div style="width: 100px;">日期:</div> + <div style="width: 200px;padding-top: 1px;">#{personalUseInfoController.printTable['date']}</div> + </div> + </div> + + <div style="margin-bottom: 20px;"> + <div style="display: inline-flex;"> + <div style="width: 100px;margin-left: 10px;">课题组</div> + <div style="width: 300px;">#{personalUseInfoController.printTable['project']}</div> + </div> + <div style="display: inline-flex;"> + <div style="width: 100px;">使用地点:</div> + <div style="width: 200px;padding-top: 1px;">#{personalUseInfoController.printTable['lab']}</div> + </div> + <div style="display: inline-flex;float: right;"> + <div style="width: 100px;">联系方式:</div> + <div style="width: 200px;">#{personalUseInfoController.printTable['phone']}</div> + </div> + </div> + + + + + <p:dataTable id="printTB" styleClass="apply-list" + value="#{personalUseInfoController.printTable['applyList']}" var="row" > + <p:column headerText="产品编号" width="150px;" style="text-align: center;"> + <h:outputText value="#{row.productCode}" /> + </p:column> + <p:column headerText="产品名称" width="150px;" style="text-align: center;"> + <h:outputText value="#{row.productName}" /> + </p:column> + + <p:column headerText="管制品" width="100px;" style="text-align: center;"> + <h:outputText value="#{row.controlProducts}" /> + </p:column> + + <p:column headerText="规格型号" width="160px;" style="text-align: center;"> + <h:outputText value="#{row.reagentFormat}" /> + </p:column> + + <p:column headerText="包装" width="90px;" style="text-align: center;"> + <h:outputText value="#{row.mainMetering==null?'':row.mainMetering.replace('null','')}" /> + </p:column> + + <p:column headerText="数量" width="90px;" style="text-align: center;"> + <h:outputText value="#{row.num}" /> + </p:column> + + <p:column headerText="备注" width="170px;" style="text-align: center;"> + <h:outputText value="#{row.memo}" /> + </p:column> + </p:dataTable> + + <div style="margin-top: 20px;margin-right: 94px;"> + <div style="display: flex;flex-direction: row;justify-content: flex-end;"> + <div style="width: 100px">签收人:</div> + <div style="width: 100px"></div> + </div> + </div> + + <div style="margin: 10px 94px 10px 0;"> + <div style="display: flex;flex-direction: row;justify-content: flex-end;"> + <div style="width: 100px">日期:</div> + <div style="width: 100px"></div> + </div> + </div> + + + + <p:panel styleClass="btn no-print"> + <div class="div-btn cancel" id="cancel">关闭</div> + <div class="div-btn print" id="print">打印</div> + + <script type="text/javascript" src="resources/js/print.js"/> + <script type="text/javascript"> + $(function () { + $("#print").on("click", function () { + jQuery.print('#printTarget') + }) + $("#cancel").on("click", function () { + $("#apply-ui a").click(); + }) + }) + + + </script> + </p:panel> + </h:form> + </div> + </div> + <script type="text/javascript" src="resources/js/print.js"/> + <script type="text/javascript"> + $(function () { + $("#print").on("click", function () { + jQuery.print('#printTarget'); + }); + $("#cancel").on("click", function () { + $("#reagentUseFlowInfoForm\\:apply-ui a").click(); + }) + }) + + + </script> + </p:dialog> </ui:composition> </html> diff --git a/src/main/webapp/reagent_user_flow_info.xhtml b/src/main/webapp/reagent_user_flow_info.xhtml index 02ca1f0..1519eeb 100644 --- a/src/main/webapp/reagent_user_flow_info.xhtml +++ b/src/main/webapp/reagent_user_flow_info.xhtml @@ -14,7 +14,7 @@ <p:outputLabel styleClass="title" value="试剂流向追踪"></p:outputLabel> <p:panel styleClass="center-header"> - <p:panelGrid styleClass="filter" columns="11"> + <p:panelGrid styleClass="filter" columns="13"> <p:outputLabel value="开始时间:"></p:outputLabel> <p:calendar value="#{opeUseFlowInfoController.startDate}"></p:calendar> @@ -27,6 +27,9 @@ <p:outputLabel value="条形码:"></p:outputLabel> <p:inputText value="#{opeUseFlowInfoController.reagentCode}"></p:inputText> + <p:outputLabel value="柜号:"></p:outputLabel> + <p:inputText value="#{opeUseFlowInfoController.containerCode}"></p:inputText> + <p:outputLabel value="场所名:"></p:outputLabel> <p:inputText value="#{opeUseFlowInfoController.houseName}"></p:inputText> <p:commandLink styleClass="search" process="@form" update="@form"></p:commandLink> diff --git a/src/main/webapp/user_mng.xhtml b/src/main/webapp/user_mng.xhtml index 09ccb1b..eabe205 100644 --- a/src/main/webapp/user_mng.xhtml +++ b/src/main/webapp/user_mng.xhtml @@ -15,16 +15,22 @@ <p:panel styleClass="center-header"> <p:outputLabel styleClass="title" value="用户管理"></p:outputLabel> - <p:panelGrid styleClass="filter" columns="7"> + <p:panelGrid styleClass="filter" columns="11"> <p:outputLabel value="ARP号:"></p:outputLabel> <p:inputText value="#{userMngController.arp}"></p:inputText> <p:outputLabel value="姓名:"></p:outputLabel> <p:inputText value="#{userMngController.name}"></p:inputText> + <p:outputLabel value="课题组:"></p:outputLabel> + <p:inputText value="#{userMngController.project}"></p:inputText> + <p:outputLabel value="部门:"></p:outputLabel> <p:inputText value="#{userMngController.departmentName}"></p:inputText> + <p:outputLabel value="单位:"></p:outputLabel> + <p:inputText value="#{userMngController.company}"></p:inputText> + <p:commandLink styleClass="search" process="@form" update="@form"></p:commandLink> </p:panelGrid> </p:panel> diff --git a/src/main/webapp/warehouse_stock_mng.xhtml b/src/main/webapp/warehouse_stock_mng.xhtml index 4673d4e..e475480 100644 --- a/src/main/webapp/warehouse_stock_mng.xhtml +++ b/src/main/webapp/warehouse_stock_mng.xhtml @@ -79,7 +79,7 @@ <br/> <h:form id="warehouseStockMngForm"> <p:panel styleClass="center-header"> - <p:panelGrid styleClass="filter" columns="7"> + <p:panelGrid styleClass="filter" columns="9"> <p:outputLabel value="试剂名称:"></p:outputLabel> <p:inputText value="#{warehouseStockMngController.reagentId}"></p:inputText> @@ -91,6 +91,9 @@ var="item" itemLabel="#{item.name}" itemValue="#{item.id}"></f:selectItems> </p:selectOneMenu> + <p:outputLabel value="仓库名:"></p:outputLabel> + <p:inputText value="#{warehouseStockMngController.warehouseName}"></p:inputText> + <p:outputLabel value="产品编号:"></p:outputLabel> <p:inputText value="#{warehouseStockMngController.productSn}"></p:inputText> -- Gitblit v1.9.2