From e3f9c9350c14707277b4fbf03a4d78c75ec04174 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期一, 01 二月 2021 10:16:04 +0800
Subject: [PATCH] 增加搜索
---
src/main/java/com/nanometer/smartlab/service/OpeApplyService.java | 4
src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml | 27 +++++++++
src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml | 20 ++++++
src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java | 13 +++
src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java | 6 +
src/main/webapp/personal_use_info.xhtml | 13 +++-
src/main/webapp/warehouse_stock_mng.xhtml | 19 +++++
src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java | 6 +
src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java | 2
src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java | 28 ++++++++
src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java | 17 ++++-
11 files changed, 136 insertions(+), 19 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java b/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java
index bd1da35..72494d8 100644
--- a/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java
@@ -54,6 +54,7 @@
*/
private LazyDataModel<OpeReagentStatus> dataModel;
private String reagentId;
+ private String reagentName;
private String reagentCode;
private String applyPerson;
private Date startTime;
@@ -244,11 +245,11 @@
Map<String, Object> filters) {
List<OpeUseFlow> list = null;
try {
- int count = opeUseFlowService.getPersonalUseInfoCount(reagentCode, getUserId(),startTime,endTime,receiptNumber,department,project);
+ int count = opeUseFlowService.getPersonalUseInfoCount(reagentCode, getUserId(),startTime,endTime,receiptNumber,department,project,applyPerson,reagentName);
this.setRowCount(count);
if (count > 0) {
list = opeUseFlowService.getPersonalUseInfoList
- (reagentCode, getUserId(),startTime,endTime ,receiptNumber,department,project,first,pageSize);
+ (reagentCode, getUserId(),startTime,endTime ,receiptNumber,department,project,applyPerson,reagentName,first,pageSize);
}
} catch (Exception e) {
logger.error(e);
@@ -365,4 +366,12 @@
public void setPrintTable(Hashtable printTable) {
this.printTable = printTable;
}
+
+ public String getReagentName() {
+ return reagentName;
+ }
+
+ public void setReagentName(String reagentName) {
+ this.reagentName = reagentName;
+ }
}
diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
index ecde8c7..008d127 100644
--- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -166,6 +166,7 @@
private String warehouseName;
private Integer editFlag;
+ private Integer isAllApply = 0;
private StreamedContent file;
@Value("${pdf.export.file.path}")
private String pdfExportFilePath;
@@ -1735,11 +1736,11 @@
}
try {
- int count = opeApplyService.getOpeApplyReserveTotalCountByNameFor(id,reagentId, userName,productSn,applyCode,status);
+ int count = opeApplyService.getOpeApplyReserveTotalCountByNameFor(id, reagentId, userName, productSn, applyCode, status, isAllApply);
this.setRowCount(count);
if (count > 0) {
- list = opeApplyService.getOpeApplyReserveListByNameFor(id,reagentId, userName, first,
- pageSize,productSn,applyCode,status);
+ list = opeApplyService.getOpeApplyReserveListByNameFor(id, reagentId, userName, first,
+ pageSize, productSn, applyCode, status, isAllApply);
}
} catch (Exception e) {
logger.error(e);
@@ -1844,7 +1845,7 @@
realDataList=selectedListForPerson;
}else {
realDataList = opeApplyService.getOpeApplyReserveListByNameFor(id,reagentId, userName, null,
- null,productSn,applyCode,status);
+ null,productSn,applyCode,status,isAllApply);
}
List<String> headerList = new ArrayList<>();
headerList.add("申购编号");
@@ -3037,4 +3038,12 @@
public void setWarehouseName(String warehouseName) {
this.warehouseName = warehouseName;
}
+
+ public Integer getIsAllApply() {
+ return isAllApply;
+ }
+
+ public void setIsAllApply(Integer isAllApply) {
+ this.isAllApply = isAllApply;
+ }
}
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
index b55d128..cda1831 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
@@ -360,6 +360,16 @@
LEFT JOIN sys_user as su1 on su1.id = project.sys_user_id
where oa.valid_flag = 1 and (oa.status=4 or oa.status=6)
<include refid="getOpeApplyReserveList_queryWhereSql" />
+ <if test="isAllApply != null">
+ <choose>
+ <when test="isAllApply == 1">
+ and oa.used = oa.num
+ </when>
+ <otherwise>
+ and oa.used != oa.num
+ </otherwise>
+ </choose>
+ </if>
GROUP BY oa.id
)as oaa
</select>
@@ -415,6 +425,16 @@
LEFT JOIN sys_user as su1 on su1.id = project.sys_user_id
where oa.valid_flag = 1 and (oa.status=4 or oa.status=6)
<include refid="getOpeApplyReserveList_queryWhereSql" />
+ <if test="isAllApply != null">
+ <choose>
+ <when test="isAllApply == 1">
+ and oa.used = oa.num
+ </when>
+ <otherwise>
+ and oa.used != oa.num
+ </otherwise>
+ </choose>
+ </if>
GROUP BY oa.id
order by oa.update_time desc
<if test="first != null and pageSize != null">
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java
index 352e62f..629acdf 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java
@@ -42,4 +42,6 @@
List<OpeUseFlow> selectPersonalUseInfo(Map params);
List<PersonUseDetail> getApplyInfo(Map params);
+
+ int getApplyInfoSize(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 89ad484..6e1b950 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
@@ -216,6 +216,12 @@
<if test="receiptNumber !=null and receiptNumber != ''">
and ouf.receipt_number like concat("%",#{receiptNumber},"%")
</if>
+ <if test="reagentName !=null and reagentName != ''">
+ and sr.name like concat("%",#{reagentName},"%")
+ </if>
+ <if test="applyPerson !=null and applyPerson != ''">
+ and su.name like concat("%",#{applyPerson},"%")
+ </if>
group by ouf.receipt_number) a
@@ -262,6 +268,12 @@
<if test="receiptNumber !=null and receiptNumber != ''">
and ouf.receipt_number like concat("%",#{receiptNumber},"%")
</if>
+ <if test="reagentName !=null and reagentName != ''">
+ and sr.name like concat("%",#{reagentName},"%")
+ </if>
+ <if test="applyPerson !=null and applyPerson != ''">
+ and su.name like concat("%",#{applyPerson},"%")
+ </if>
group by ouf.receipt_number
ORDER BY ouf.create_time desc
<if test="first != null and pageSize != null">
@@ -290,6 +302,21 @@
and ouf.receipt_number = #{receiptNumber}
</select>
+
+ <select id="getApplyInfoSize" resultType="java.lang.Integer">
+ SELECT
+ count(0)
+ 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/service/OpeApplyService.java b/src/main/java/com/nanometer/smartlab/service/OpeApplyService.java
index 7369cb2..63b4259 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeApplyService.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeApplyService.java
@@ -55,9 +55,9 @@
int getOpeApplyReserveTotalCountByName(String id,String reagentName, String personName);
List<OpeApplyReserve> getOpeApplyReserveListByName(String id,String reagentName, String personName, Integer first,
Integer pageSize);
- int getOpeApplyReserveTotalCountByNameFor(String id,String reagentName, String personName,String productSn,String applyCode,Integer status);
+ int getOpeApplyReserveTotalCountByNameFor(String id,String reagentName, String personName,String productSn,String applyCode,Integer status,Integer isAllApply);
List<OpeApplyReserve> getOpeApplyReserveListByNameFor(String id,String reagentName, String personName, Integer first,
- Integer pageSize,String productSn,String applyCode,Integer status);
+ Integer pageSize,String productSn,String applyCode,Integer status,Integer isAllApply);
public boolean updaetOpeApplyPrice(BigDecimal applyPrice,String id);
public boolean updaetOpeApplyStockFlag(int stockFlag,String id);
public boolean cancelApply(ApplyStatus status,String id);
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java
index 2100151..e21f8ba 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java
@@ -526,7 +526,7 @@
}
@Override
- public int getOpeApplyReserveTotalCountByNameFor(String id,String reagentName, String personName,String productSn,String applyCode,Integer status) {
+ public int getOpeApplyReserveTotalCountByNameFor(String id,String reagentName, String personName,String productSn,String applyCode,Integer status,Integer isAllApply) {
try {
Map<String, Object> params = new HashMap<String, Object>();
params.put("reagentName", reagentName);
@@ -535,6 +535,7 @@
params.put("productSn",productSn);
params.put("applyCode",applyCode);
params.put("status",status);
+ params.put("isAllApply",isAllApply);
return this.opeApplyDao.getOpeApplyReserveTotalCountFor(params);
} catch (DataAccessException e) {
logger.error(e.getMessage(), e);
@@ -544,7 +545,7 @@
}
@Override
public List<OpeApplyReserve> getOpeApplyReserveListByNameFor(String id,String reagentName, String personName, Integer first,
- Integer pageSize,String productSn,String applyCode,Integer status) {
+ Integer pageSize,String productSn,String applyCode,Integer status,Integer isAllApply) {
try {
Map<String, Object> params = new HashMap<String, Object>();
params.put("reagentName", reagentName);
@@ -555,6 +556,7 @@
params.put("productSn",productSn);
params.put("applyCode",applyCode);
params.put("status",status);
+ params.put("isAllApply",isAllApply);
return this.opeApplyDao.getOpeApplyReserveListFor(params);
} catch (DataAccessException e) {
logger.error(e.getMessage(), e);
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java
index 042e7d1..952b16d 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java
@@ -48,10 +48,12 @@
void updateReceiptNumberByCode2(List<OpeWarehouseReserve> codeTmp, String receiptNumber);
- int getPersonalUseInfoCount(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project);
+ int getPersonalUseInfoCount(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project,String applyPerson,String reagentName);
- List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project, int first, int pageSize);
+ List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project,String applyPerson,String reagentName, int first, int pageSize);
List<PersonUseDetail> getApplyInfo(String receiptNumber);
+ int getApplyInfoSize(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 96f81ab..d14da94 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
@@ -459,7 +459,8 @@
}
@Override
- public int getPersonalUseInfoCount(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project) {
+ public int getPersonalUseInfoCount(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber,
+ String department, String project,String applyPerson,String reagentName) {
Map<String,Object> params = new HashMap<>();
params.put("userId", userId);
params.put("startTime", startTime);
@@ -468,6 +469,12 @@
params.put("department", department);
params.put("project", project);
params.put("reagentCode", reagentCode);
+ params.put("applyPerson", applyPerson);
+ if (StringUtils.isNotBlank(reagentName)) {
+ //根据试剂名获取单号
+
+ }
+ params.put("reagentName", reagentName);
//操作状态位仓库领取
Map<String, String> metaMap2 = new HashMap<>();
metaMap2.put("groupId", "operate_status");
@@ -480,7 +487,8 @@
}
@Override
- public List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber, String department, String project, int first, int pageSize) {
+ public List<OpeUseFlow> getPersonalUseInfoList(String reagentCode,String userId, Date startTime, Date endTime, String receiptNumber,
+ String department, String project,String applyPerson,String reagentName, int first, int pageSize) {
Map<String, Object> params = new HashMap<>();
params.put("userId", userId);
params.put("startTime", startTime);
@@ -489,6 +497,8 @@
params.put("department", department);
params.put("project", project);
params.put("reagentCode", reagentCode);
+ params.put("applyPerson", applyPerson);
+ params.put("reagentName", reagentName);
//操作状态位仓库领取
Map<String, String> metaMap2 = new HashMap<>();
metaMap2.put("groupId", "operate_status");
@@ -517,4 +527,18 @@
}
+ @Override
+ public int getApplyInfoSize(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.getApplyInfoSize(params);
+
+ }
+
}
diff --git a/src/main/webapp/personal_use_info.xhtml b/src/main/webapp/personal_use_info.xhtml
index ff71fb3..5b4174d 100644
--- a/src/main/webapp/personal_use_info.xhtml
+++ b/src/main/webapp/personal_use_info.xhtml
@@ -48,10 +48,16 @@
}
</style>
<p:panel styleClass="center-header">
- <p:panelGrid styleClass="filter" columns="13">
+ <p:panelGrid styleClass="filter" columns="10">
<p:outputLabel value="单据编号:"/>
<p:inputText value="#{personalUseInfoController.receiptNumber}"/>
+
+ <p:outputLabel value="试剂名称:"/>
+ <p:inputText value="#{personalUseInfoController.reagentName}"/>
+
+ <p:outputLabel value="申领人:"/>
+ <p:inputText value="#{personalUseInfoController.applyPerson}"/>
<p:outputLabel value="课题组:"/>
<p:inputText value="#{personalUseInfoController.project}"/>
@@ -103,7 +109,7 @@
selectionMode="single"
emptyMessage="无数据"
selection="#{personalUseInfoController.selectOne}"
- rows="20" pageLinks="5">
+ rows="10" pageLinks="5">
<!-- <p:column selectionMode="multiple" style="width: 30px;text-align: center;"/>-->
<p:column headerText="单据编号">
@@ -115,7 +121,8 @@
</p:column>
<p:column headerText="领用数量" width="50">
- <h:outputText value="#{row.applyNum}"/>
+ <h:outputText value="#{personalUseInfoController.reagentName eq null
+ or personalUseInfoController.reagentName eq ''?row.applyNum:OpeUseFlowService.getApplyInfoSize(row.getReceiptNumber())}"/>
</p:column>
<p:column headerText="课题组">
diff --git a/src/main/webapp/warehouse_stock_mng.xhtml b/src/main/webapp/warehouse_stock_mng.xhtml
index e475480..c5d2f4d 100644
--- a/src/main/webapp/warehouse_stock_mng.xhtml
+++ b/src/main/webapp/warehouse_stock_mng.xhtml
@@ -348,7 +348,15 @@
</div>
<h:form id="warehouseStockMngFormForPerson">
<p:panel styleClass="center-header" style="border-bottom:none;">
- <p:panelGrid styleClass="filter" columns="12">
+ <p:panelGrid styleClass="filter" columns="14">
+ <style type="text/css">
+ .ui-selectonemenu.ui-widget.ui-state-default.ui-corner-all{
+ min-width: 60px !important;
+ }
+ .ui-selectonemenu-items.ui-selectonemenu-list.ui-widget-content.ui-widget.ui-corner-all.ui-helper-reset{
+ width: 77px !important;
+ }
+ </style>
<p:outputLabel value="试剂名称:"></p:outputLabel>
<p:inputText value="#{warehouseStockMngController.reagentId}"></p:inputText>
@@ -359,12 +367,19 @@
<p:outputLabel value="产品编号:"></p:outputLabel>
<p:inputText value="#{warehouseStockMngController.productSn}"></p:inputText>
<p:outputLabel value="状态:"></p:outputLabel>
- <p:selectOneMenu value="#{warehouseStockMngController.status}">
+ <p:selectOneMenu value="#{warehouseStockMngController.status}" style="width: 60px;">
<f:selectItem itemLabel="全部" noSelectionOption="true"></f:selectItem>
<f:selectItems value="#{warehouseStockMngController.statusSelectList}" var="item"
itemLabel="#{item.text}" itemValue="#{item.key}"></f:selectItems>
</p:selectOneMenu>
+ <p:outputLabel value="已领用:"></p:outputLabel>
+ <p:selectOneMenu value="#{warehouseStockMngController.isAllApply}" style="width: 60px;">
+ <f:selectItem itemLabel="否" itemValue="0"/>
+ <f:selectItem itemLabel="是" itemValue="1"/>
+ <f:selectItem itemLabel="全部" noSelectionOption="true"/>
+ </p:selectOneMenu>
+
<p:commandLink styleClass="search" process="@form" update="@form"></p:commandLink>
</p:panelGrid>
</p:panel>
--
Gitblit v1.9.2