From 0dfab938c5116c8fa0191cadf36a47f5bb4f2936 Mon Sep 17 00:00:00 2001 From: lyfO_o <764716047@qq.com> Date: 星期四, 16 九月 2021 15:50:52 +0800 Subject: [PATCH] 申购:管制品 搜索 --- src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java | 20 +++++++-- src/main/java/com/nanometer/smartlab/service/OpeApplyService.java | 5 +- src/main/java/com/nanometer/smartlab/controller/RequireMngController.java | 4 +- src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml | 40 ++++++++++++++++++++ src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.java | 3 + src/main/webapp/apply_mng.xhtml | 28 +++++++++++-- src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java | 6 ++- 7 files changed, 90 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java b/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java index a9b6d0b..b7ebec2 100644 --- a/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java @@ -74,6 +74,8 @@ private Integer status; private Integer favor; private List<ApplyStatus> statusSelectList; + private String controlProduct; + private LazyDataModel<SysReagent> reagentDataModel; private LazyDataModel<SysReagent> reagentFavorDataModel; @@ -240,7 +242,7 @@ if(selectedList!=null&&selectedList.size()>0){ realDataList=selectedList; }else { - realDataList=opeApplyService.getOpeApplyList(reagentName, startDeadline, endDeadline, status, getUserId(), null, queryCAS, null, null,null,applyUserName,(byte)1); + realDataList=opeApplyService.getOpeApplyList(reagentName, startDeadline,controlProduct, endDeadline, status, getUserId(), null, queryCAS, null, null,null,applyUserName,(byte)1); } List<String> headerList = new ArrayList<>(); @@ -502,10 +504,10 @@ public List<OpeApply> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) { List<OpeApply> list = null; try { - int count = opeApplyService.getOpeApplyTotalCount(reagentName, startDeadline, endDeadline, status, getUserId(), null, queryCAS,null,applyUserName,(byte)1); + int count = opeApplyService.getOpeApplyTotalCount(reagentName, startDeadline,controlProduct, endDeadline, status, getUserId(), null, queryCAS,null,applyUserName,(byte)1); this.setRowCount(count); if (count > 0) { - list = opeApplyService.getOpeApplyList(reagentName, startDeadline, endDeadline, status, getUserId(), null, queryCAS, first, pageSize,null,applyUserName,(byte)1); + list = opeApplyService.getOpeApplyList(reagentName, startDeadline,controlProduct, endDeadline, status, getUserId(), null, queryCAS, first, pageSize,null,applyUserName,(byte)1); for(int i=0;i<list.size();i++){ if(list.get(i).getBeforeApproveUserId()!=null&&!list.get(i).getBeforeApproveUserId().equals("")){ String name=list.get(i).getApproveUserName(); @@ -631,11 +633,11 @@ String applyUserId = getUserId(); int count = 0; if (StringUtils.isNotBlank(applyUserId)) { - count = opeApplyService.getOpeApplyTotalCount(null, null, null, null, applyUserId, null, null,applyCode,null,(byte)1); + count = opeApplyService.getOpeApplyTotalCount(null, null, null,null, null, applyUserId, null, null,applyCode,null,(byte)1); } this.setRowCount(count); if (count > 0) { - list = opeApplyService.getOpeApplyList(null, null, null, null, applyUserId, null, null, first, pageSize,applyCode,null,(byte)1); + list = opeApplyService.getOpeApplyList(null, null,null, null, null, applyUserId, null, null, first, pageSize,applyCode,null,(byte)1); } selectedList = null; } catch (Exception e) { @@ -1004,4 +1006,12 @@ public void setTabValue(int tabValue) { this.tabValue = tabValue; } + + public String getControlProduct() { + return controlProduct; + } + + public void setControlProduct(String controlProduct) { + this.controlProduct = controlProduct; + } } diff --git a/src/main/java/com/nanometer/smartlab/controller/RequireMngController.java b/src/main/java/com/nanometer/smartlab/controller/RequireMngController.java index 2bf805d..b1ac5e2 100644 --- a/src/main/java/com/nanometer/smartlab/controller/RequireMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/RequireMngController.java @@ -143,10 +143,10 @@ public List<OpeApply> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) { List<OpeApply> list = null; try { - int count = opeApplyService.getOpeApplyTotalCount(reagentName, startDeadline, endDeadline, ApplyStatus.APPROVED.getKey(), null, null, null,null,null,(byte)1); + int count = opeApplyService.getOpeApplyTotalCount(reagentName, startDeadline,null, endDeadline, ApplyStatus.APPROVED.getKey(), null, null, null,null,null,(byte)1); this.setRowCount(count); if (count > 0) { - list = opeApplyService.getOpeApplyList(reagentName, startDeadline, endDeadline, ApplyStatus.APPROVED.getKey(), null, null, null, first, pageSize,null,null,(byte)1); + list = opeApplyService.getOpeApplyList(reagentName, startDeadline,null, endDeadline, ApplyStatus.APPROVED.getKey(), null, null, null, first, pageSize,null,null,(byte)1); } } catch (Exception e) { logger.error(e); diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.java b/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.java index 700b881..99904eb 100644 --- a/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.java +++ b/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.java @@ -60,4 +60,7 @@ void insertList(List<OpeApply> opeApplyList); OpeApplyReserve getOpeApplyReserveListByNameForRowData(@Param("id") String rowKey); + + List<Map> getApplyControlInfo(); + } diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml index 2a9627d..e3787bf 100644 --- a/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml @@ -179,10 +179,14 @@ left join sys_user as sys on sys.id=oa.before_approve_user_id left join sys_user as fir on fir.id=oa.first_user left join base_meta as bm on sr.product_home = bm.id + left join base_meta as bm1 on bm1.id = sr.control_products where oa.valid_flag = 1 <if test="isShow != null and isShow ==0"> and (ss.valid_flag = 1 or sr.type = 0) </if> + <if test="controlProduct != null and controlProduct != ''"> + and bm1.meta_value like concat("%",#{controlProduct},"%") + </if> <include refid="queryWhereSql"/> order by oa.create_time desc <if test="first != null and pageSize != null"> @@ -200,9 +204,13 @@ left join sys_user as sys on sys.id=oa.before_approve_user_id left join sys_user as fir on fir.id=oa.first_user left join base_meta as bm on sr.product_home = bm.id + left join base_meta as bm1 on bm1.id = sr.control_products where oa.valid_flag = 1 <if test="isShow != null and isShow ==0"> and (ss.valid_flag = 1 or sr.type = 0) + </if> + <if test="controlProduct != null and controlProduct != ''"> + and bm1.meta_value like concat("%",#{controlProduct},"%") </if> <include refid="queryWhereSql"/> </select> @@ -571,6 +579,38 @@ </select> + <select id="getApplyControlInfo" resultType="java.util.Map"> + (SELECT sum(oa.num) sum,"易制毒" name from ope_apply oa + LEFT JOIN sys_reagent sr on oa.reagent_id = sr.id + LEFT JOIN base_meta bm on bm.id = sr.control_products + where + oa.valid_flag = 1 + and sr.valid_flag = 1 + and YEAR(oa.create_time)=YEAR(NOW()) + and oa.status in(2,3,4,6) + and + meta_value like "%易制毒%") UNION ALL( + + SELECT sum(oa.num) sum,"易制爆" name from ope_apply oa + LEFT JOIN sys_reagent sr on oa.reagent_id = sr.id + LEFT JOIN base_meta bm on bm.id = sr.control_products + where + oa.valid_flag = 1 + and sr.valid_flag = 1 + and YEAR(oa.create_time)=YEAR(NOW()) + and oa.status in(2,3,4,6) + and meta_value like "%易制爆%")UNION ALL( + + SELECT sum(oa.num) sum,"总数" name from ope_apply oa + LEFT JOIN sys_reagent sr on oa.reagent_id = sr.id + where + oa.valid_flag = 1 + and sr.valid_flag = 1 + and YEAR(oa.create_time)=YEAR(NOW()) + and oa.status in(2,3,4,6) + ) + + </select> <update id="updateByReId" parameterType="java.util.Map"> diff --git a/src/main/java/com/nanometer/smartlab/service/OpeApplyService.java b/src/main/java/com/nanometer/smartlab/service/OpeApplyService.java index d25e31e..95dc9f1 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeApplyService.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeApplyService.java @@ -9,19 +9,20 @@ import java.math.BigDecimal; import java.sql.Timestamp; import java.util.List; +import java.util.Map; /** * Created by johnny on 17/12/12. */ public interface OpeApplyService { - public List<OpeApply> getOpeApplyList(String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status, + public List<OpeApply> getOpeApplyList(String reagentName, Timestamp startDeadline,String controlProduct, Timestamp endDeadline, Integer status, String applyUserId, String approveUserId, String queryCas, Integer first, Integer pageSize,String applyCode,String applyUserName,Byte isShow); public List<OpeApply> getOpeApplyListForApproval(String applyUserName,String approvaUserName,String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status, String applyUserId, String approveUserId, String queryCas, Integer first, Integer pageSize,String applyCode,String searchApproval); - public int getOpeApplyTotalCount(String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status, + public int getOpeApplyTotalCount(String reagentName, Timestamp startDeadline,String controlProduct, Timestamp endDeadline, Integer status, String applyUserId, String approveUserId, String queryCas,String applyCode,String applyUserName,Byte isShow); public int getOpeApplyTotalCountForApproval(String applyUserName,String approvaUserName,String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status, String applyUserId, String approveUserId, String queryCas,String applyCode,String searchApproval); diff --git a/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java index b1aa118..23bfaf4 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java @@ -69,7 +69,7 @@ private SysUserService sysUserService; @Transactional(propagation = Propagation.REQUIRED) - public List<OpeApply> getOpeApplyList(String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status, + public List<OpeApply> getOpeApplyList(String reagentName, Timestamp startDeadline, String controlProduct,Timestamp endDeadline, Integer status, String applyUserId, String approveUserId, String queryCas, Integer first, Integer pageSize,String applyCode,String applyUserName,Byte isShow) { try { @@ -81,6 +81,7 @@ params.put("endDeadline", endDeadline); params.put("status", status); params.put("isShow", isShow); + params.put("controlProduct", controlProduct); if (StringUtils.isNotBlank(applyUserId)) { SysUser sysUser = sysUserService.getSysUser(applyUserId); @@ -192,7 +193,7 @@ } @Transactional(propagation = Propagation.REQUIRED) - public int getOpeApplyTotalCount(String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status, + public int getOpeApplyTotalCount(String reagentName, Timestamp startDeadline,String controlProduct, Timestamp endDeadline, Integer status, String applyUserId, String approveUserId, String queryCas,String applyCode,String applyUserName,Byte isShow) { try { Map<String, Object> params = new HashMap<String, Object>(); @@ -203,6 +204,7 @@ params.put("endDeadline", endDeadline); params.put("status", status); params.put("isShow", isShow); + params.put("controlProduct", controlProduct); if (StringUtils.isNotBlank(applyUserId)) { SysUser sysUser = sysUserService.getSysUser(applyUserId); diff --git a/src/main/webapp/apply_mng.xhtml b/src/main/webapp/apply_mng.xhtml index 9dd4ec6..dbd9554 100644 --- a/src/main/webapp/apply_mng.xhtml +++ b/src/main/webapp/apply_mng.xhtml @@ -15,8 +15,7 @@ <p:panel styleClass="center-header"> <p:outputLabel styleClass="title" value="申购管理"></p:outputLabel> - <p:panelGrid styleClass="filter" columns="13"> - <p:row> + <p:panelGrid styleClass="filter" columns="16"> <p:outputLabel value="申购产品:"></p:outputLabel> <p:inputText value="#{applyMngController.reagentName}"></p:inputText> @@ -31,8 +30,6 @@ <p:calendar value="#{applyMngController.endDeadline}" converter="timestampConvert" pattern="yyyy-MM-dd" locale="zh_CN"></p:calendar> <p:outputLabel value="状态:"></p:outputLabel> - </p:row> - <p:row> <p:selectOneMenu value="#{applyMngController.status}"> <f:selectItem itemLabel="全部" itemValue="#{null}" noSelectionOption="true"></f:selectItem> @@ -40,8 +37,29 @@ itemLabel="#{item.text}" itemValue="#{item.key}"></f:selectItems> </p:selectOneMenu> + <p:outputLabel value="管制品:"></p:outputLabel> + <p:selectOneMenu value="#{applyMngController.controlProduct}"> + <f:selectItem itemLabel="全部" itemValue="#{null}" noSelectionOption="true"></f:selectItem> + <f:selectItem itemLabel="易制毒" itemValue="易制毒" ></f:selectItem> + <f:selectItem itemLabel="易制爆" itemValue="易制爆" ></f:selectItem> + <f:selectItem itemLabel="剧毒" itemValue="剧毒" ></f:selectItem> + </p:selectOneMenu> + + <style type="text/css"> + .ui-selectonemenu.ui-widget.ui-state-default.ui-corner-all{ + min-width: 30px !important; + } + #centerRootPanel .center-header .filter .ui-selectonemenu { + width: 73px !important; + } + #centerRootPanel .center-header .filter input { + height: 30px; + background-color: #eaeef7!important; + width: 120px !important; + } + </style> + <p:commandLink styleClass="search" process="@form" update="@form"></p:commandLink> - </p:row> </p:panelGrid> </p:panel> -- Gitblit v1.9.2