Merge remote-tracking branch 'remotes/origin/yufei' into master
# Conflicts:
# src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml
| | |
| | | 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>(); |
| | |
| | | |
| | | private String laboratoryType; |
| | | private String laboratoryName; |
| | | private String project; |
| | | private String controllerName; |
| | | |
| | | private int action; |
| | | |
| | |
| | | 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); |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | private List<SysLaboratory> selectedList; |
| | | private String type; |
| | | private String name; |
| | | private String project; |
| | | |
| | | private int action; |
| | | |
| | |
| | | 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); |
| | |
| | | public void setType(String type) { |
| | | this.type = type; |
| | | } |
| | | |
| | | public String getProject() { |
| | | return project; |
| | | } |
| | | |
| | | public void setProject(String project) { |
| | | this.project = project; |
| | | } |
| | | } |
| | |
| | | |
| | | private Hashtable printTable; |
| | | |
| | | private String containerCode; |
| | | |
| | | public String getHouseName() { |
| | | return houseName; |
| | | } |
| | |
| | | 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); |
| | |
| | | public void setPrintTable(Hashtable printTable) { |
| | | this.printTable = printTable; |
| | | } |
| | | |
| | | public String getContainerCode() { |
| | | return containerCode; |
| | | } |
| | | |
| | | public void setContainerCode(String containerCode) { |
| | | this.containerCode = containerCode; |
| | | } |
| | | } |
| | |
| | | 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())){ |
| | |
| | | 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; |
| | | |
| | |
| | | |
| | | @Resource |
| | | private SysReagentService sysReagentService; |
| | | @Resource |
| | | private SysLaboratoryService sysLaboratoryService; |
| | | @Value("${institute.name}") |
| | | String instituteName; |
| | | |
| | | /** |
| | | * 数据源 |
| | |
| | | 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; |
| | |
| | | |
| | | |
| | | } |
| | | /** |
| | | * 生成领用单 |
| | | */ |
| | | |
| | | 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() { |
| | |
| | | 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; |
| | | } |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | |
| | | 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; |
| | |
| | | private List<BaseMeta> codeList; |
| | | private List<BaseRole> roleList; |
| | | private List<Waster> wasterSelectList; |
| | | private String project; |
| | | private String company; |
| | | |
| | | public List<BaseRole> getRoleList() { |
| | | return roleList; |
| | |
| | | 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); |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | private String endReagentCode; |
| | | private String startReagentCodeForPerson; |
| | | private String endReagentCodeForPerson; |
| | | private String warehouseName; |
| | | |
| | | private Integer editFlag; |
| | | private StreamedContent file; |
| | |
| | | |
| | | 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()); |
| | |
| | | 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); |
| | |
| | | realDataList=selectedList; |
| | | }else { |
| | | realDataList = opeWarehouseReserveService.getOpeWarehouseReserveListByName(reagentId, supplierId, null, |
| | | null,productSn); |
| | | null,productSn,warehouseName); |
| | | } |
| | | List<String> headerList = new ArrayList<>(); |
| | | headerList.add("试剂名称"); |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | } |
| | | |
| | | 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())){ |
| | |
| | | public void setReceiptNumber(String receiptNumber) { |
| | | this.receiptNumber = receiptNumber; |
| | | } |
| | | |
| | | public String getWarehouseName() { |
| | | return warehouseName; |
| | | } |
| | | |
| | | public void setWarehouseName(String warehouseName) { |
| | | this.warehouseName = warehouseName; |
| | | } |
| | | } |
| | |
| | | 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; |
| | | |
| | |
| | | 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); |
| | | } |
| | |
| | | <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"> |
| | |
| | | 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}) |
| | |
| | | <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"> |
| | |
| | | set reserve=#{reserve} |
| | | where id=#{id} |
| | | </update> |
| | | |
| | | |
| | | <select id="selectByReId" resultMap="OpeWarehouseReserve"> |
| | | select * from ope_warehouse_reserve where reagent_id=#{id} |
| | |
| | | <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} |
| | |
| | | <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"> |
| | |
| | | <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" > |
| | |
| | | <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" > |
| | |
| | | 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} |
| | |
| | | </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} |
| | |
| | | private String operatestateName; |
| | | private String operateState; |
| | | private String receiptNumber; |
| | | //人员信息 |
| | | private String project; |
| | | private String phone; |
| | | private String department; |
| | | private Integer applyNum; |
| | | |
| | | |
| | | |
| | | |
| | |
| | | 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; |
| | | } |
| | | } |
对比新文件 |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | |
| | | 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); |
| | | |
| | |
| | | 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); |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | } |
| | | |
| | | @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>(); |
| | |
| | | |
| | | params.put("status", status); |
| | | params.put("houseName", houseName); |
| | | params.put("containerCode", containerCode); |
| | | addParamByUserId(userId, params); |
| | | |
| | | params.put("first", first); |
| | |
| | | } |
| | | |
| | | @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); |
| | |
| | | } |
| | | |
| | | params.put("houseName", houseName); |
| | | params.put("containerCode", containerCode); |
| | | addParamByUserId(userId, params); |
| | | |
| | | params.put("status", status); |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | @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); |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | 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); |
| | | |
| | |
| | | |
| | | @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); |
| | |
| | | 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); |
| | |
| | | } |
| | | |
| | | @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); |
| | |
| | | */ |
| | | 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); |
| | |
| | | |
| | | @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)) { |
| | |
| | | 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); |
| | |
| | | @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)) { |
| | |
| | | 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); |
| | |
| | | */ |
| | | 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); |
| | | |
| | |
| | | List<Map> exportLabList(String type, String name); |
| | | |
| | | List<LaboratoryVo.Laboratory> getLaboratoryByProject(String project); |
| | | |
| | | List<SysLaboratory> getSysLaboratoryListByUserId(String userId); |
| | | |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | |
| | | @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)) { |
| | |
| | | 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); |
| | |
| | | } |
| | | |
| | | @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)) { |
| | |
| | | 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); |
| | |
| | | } |
| | | |
| | | @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 { |
| | |
| | | @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(); |
| | |
| | | */ |
| | | 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); |
| | |
| | | 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)) { |
| | |
| | | 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); |
| | |
| | | } |
| | | } |
| | | @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)) { |
| | |
| | | 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); |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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: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> |
| | | |
| | | <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> |
| | | |
| | | <p:column headerText="包装"> |
| | | <h:outputText |
| | | value="#{''.concat(row.reagent.mainMetering).concat(baseMetaService.getBaseMetaValue(row.reagent.reagentUnit))}"></h:outputText> |
| | | </p:column> |
| | | |
| | | <p:column headerText="批号"> |
| | | <h:outputText value="#{row.articleNumber}"></h:outputText> |
| | | </p:column> |
| | | |
| | | <!-- <p:column headerText="残存量">--> |
| | | <!-- <h:outputText value="#{row.remainder}"></h:outputText>--> |
| | | <!-- </p:column>--> |
| | | |
| | | <p:column headerText="申领人"> |
| | | <p:column headerText="申领人" width="80"> |
| | | <h:outputText value="#{row.userName}" /> |
| | | </p:column> |
| | | |
| | | <p:column headerText="领用数量" width="50"> |
| | | <h:outputText value="#{row.applyNum}"/> |
| | | </p:column> |
| | | |
| | | <p:column headerText="课题组"> |
| | | <h:outputText value="#{row.project}"/> |
| | | </p:column> |
| | | |
| | | <p:column headerText="部门"> |
| | | <h:outputText value="#{row.department}"/> |
| | | </p:column> |
| | | |
| | | <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> |
| | |
| | | <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> |
| | | |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | 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> |
| | | |