Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/dwr/table/MaterialEntryTableManager.java =================================================================== diff -u -r15440 -r15570 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/dwr/table/MaterialEntryTableManager.java (.../MaterialEntryTableManager.java) (revision 15440) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/dwr/table/MaterialEntryTableManager.java (.../MaterialEntryTableManager.java) (revision 15570) @@ -20,7 +20,7 @@ private WareHouseManager wareHouseManager; - @Resource + @Resource(name = "materialEntryTableFilterManagerImpl") private TBarFilterManager materialEntryTableFilterManagerImpl; protected Logger logger = Logger.getLogger(this.getClass()); Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/goodPurchasePlanView.js =================================================================== diff -u -r13490 -r15570 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/goodPurchasePlanView.js (.../goodPurchasePlanView.js) (revision 13490) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/goodPurchasePlanView.js (.../goodPurchasePlanView.js) (revision 15570) @@ -23,7 +23,9 @@ {name : 'displayName',mapping : 'displayName'}, {name : 'spelling',mapping : 'spelling'}, {name : 'cost',mapping : 'cost'}, - {name : 'storage',mapping : 'storage'} + {name : 'storage',mapping : 'storage'}, + {name : 'tousseType',mapping : 'tousseType'}, + {name : 'type',mapping : 'type'} ]) }); @@ -1273,115 +1275,117 @@ v = "0" + (dt.getMonth()+1); } var startDayofMonth = dt.getFullYear() + "/" + v + "/01"; - var form = new Ext.Panel({ - id : 'northPanel', - layout : 'table', - frame : true, - region : 'north', - border : false, - bodyBorder : false, - layoutConfig : {columns : 2}, - height : 63, - items : [{ - width :900, - layout : 'column', - items:[{ - columnWidth : .73, - layout : 'form', - labelWidth : 60, - items : [{ - fieldLabel : '关键字', - xtype : 'combo', - id : 'code', - name : 'code', - queryParam : 'spell', - minChars : 0, - valueField : 'id', - displayField : 'displayName', - width : 600, - store : disposableGoodsAndMaterialStore, - forceSelection : false, - lazyInit : true, - triggerAction : 'all', - hideTrigger : true, - typeAhead : false, - allowBlank : true, - anchor : '97%', - listeners : { - select : function(combo, record, index) { - Ext.getCmp('code').setValue(record.data.name); - } - } - }] - },{ - columnWidth : .5, - layout : 'form', - labelWidth : 60, - items : [{ - xtype : 'datefield', - fieldLabel : '开始日期', - name : 'startDate', - id : 'startDate', - readOnly : false, - altFormats:'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', - editable : false, - format : 'Y-m-d', - value:new Date(startDayofMonth), - anchor : '94%' - }] - },{ - columnWidth : .5, - layout : 'form', - labelWidth : 60, - items : [{ - xtype : 'datefield', - fieldLabel : '结束日期', - name : 'endDate', - id : 'endDate', - readOnly : false, - altFormats:'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', - editable : false, - format : 'Y-m-d', - value:new Date(), - anchor : '94%' - }] - }] - },{ - width :150, - layout : 'column', - items : [{ - columnWidth : .5, - layout :'form', - items : [{ - xtype : 'button', - text : '查询', - minWidth : 70, - iconCls : 'icon_search', - handler : function() { - initQueryValueAndReload(); - } - }] - },{ - columnWidth : .5, - layout :'form', - items : [{ - xtype : 'button', - text : '重置', - minWidth : 70, - iconCls : 'icon_set', - handler : function() { - $Id('code').value = ""; - $Id('startDate').value = ""; - $Id('endDate').value = ""; - } - }] - }] - }] - }); - + // var form = new Ext.Panel({ + // id : 'northPanel', + // layout : 'table', + // frame : true, + // region : 'north', + // border : false, + // bodyBorder : false, + // layoutConfig : {columns : 2}, + // height : 63, + // items : [{ + // width :900, + // layout : 'column', + // items:[{ + // columnWidth : .73, + // layout : 'form', + // labelWidth : 60, + // items : [{ + // fieldLabel : '关键字', + // xtype : 'combo', + // id : 'code', + // name : 'code', + // queryParam : 'spell', + // minChars : 0, + // valueField : 'id', + // displayField : 'displayName', + // width : 600, + // store : disposableGoodsAndMaterialStore, + // forceSelection : false, + // lazyInit : true, + // triggerAction : 'all', + // hideTrigger : true, + // typeAhead : false, + // allowBlank : true, + // anchor : '97%', + // listeners : { + // select : function(combo, record, index) { + // Ext.getCmp('code').setValue(record.data.name); + // } + // } + // }] + // },{ + // columnWidth : .5, + // layout : 'form', + // labelWidth : 60, + // items : [{ + // xtype : 'datefield', + // fieldLabel : '开始日期', + // name : 'startDate', + // id : 'startDate', + // readOnly : false, + // altFormats:'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', + // editable : false, + // format : 'Y-m-d', + // value:new Date(startDayofMonth), + // anchor : '94%' + // }] + // },{ + // columnWidth : .5, + // layout : 'form', + // labelWidth : 60, + // items : [{ + // xtype : 'datefield', + // fieldLabel : '结束日期', + // name : 'endDate', + // id : 'endDate', + // readOnly : false, + // altFormats:'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', + // editable : false, + // format : 'Y-m-d', + // value:new Date(), + // anchor : '94%' + // }] + // }] + // },{ + // width :150, + // layout : 'column', + // items : [{ + // columnWidth : .5, + // layout :'form', + // items : [{ + // xtype : 'button', + // text : '查询', + // minWidth : 70, + // iconCls : 'icon_search', + // handler : function() { + // initQueryValueAndReload(); + // } + // }] + // },{ + // columnWidth : .5, + // layout :'form', + // items : [{ + // xtype : 'button', + // text : '重置', + // minWidth : 70, + // iconCls : 'icon_set', + // handler : function() { + // $Id('code').value = ""; + // $Id('startDate').value = ""; + // $Id('endDate').value = ""; + // } + // }] + // }] + // }] + // }); + + var queryForm = new TBarForm(disposableGoodsAndMaterialStore).initForm(); + var viewport = new Ext.Viewport( { layout : 'border', - items : [form,{ + items : [queryForm,{ region : 'center', margins : '0 0 0 0', layout : 'fit', Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/GoodPurchaseTableManager.java =================================================================== diff -u -r13490 -r15570 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/GoodPurchaseTableManager.java (.../GoodPurchaseTableManager.java) (revision 13490) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/GoodPurchaseTableManager.java (.../GoodPurchaseTableManager.java) (revision 15570) @@ -3,6 +3,7 @@ import java.util.List; import java.util.Map; +import com.forgon.search.service.TBarFilterManager; import net.sf.json.JSONObject; import org.apache.commons.collections4.CollectionUtils; @@ -23,6 +24,8 @@ import com.forgon.disinfectsystem.entity.goodsstock.GoodsStock; import com.forgon.tools.hibernate.ObjectDao; +import javax.annotation.Resource; + /** * 采购计划的表格处理 * @author kzh @@ -36,6 +39,9 @@ private GoodPurchasePlanManager goodPurchasePlanManager; private WareHouseManager wareHouseManager; private ObjectDao objectDao; + + @Resource(name = "goodPurchaseTableFilterManagerImpl") + private TBarFilterManager goodPurchaseTableFilterManagerImpl; public void setGridManager(GridManager gridManager) { this.gridManager = gridManager; @@ -62,50 +68,15 @@ this.objectDao = objectDao; } - public String findGoodPurchaseTableList( - Map> parameterMap) { + public String findGoodPurchaseTableList(Map> parameterMap) { // 申请单查看 发货单 - Map sqlWhereParamMap = gridManager - .getParamFromView(parameterMap); - - String sql = "where (1=1) "; - String code = sqlWhereParamMap.get("code"); - - int codeIndex = code.lastIndexOf("["); - String specification = ""; - if (StringUtils.isNotBlank(code) && code.lastIndexOf("[") != -1) { - specification = code.substring(codeIndex + 1, code.length() - 1); - code = code.substring(0, codeIndex); - } - String startDate = sqlWhereParamMap.get("startDate"); - String endDate = sqlWhereParamMap.get("endDate"); - if (StringUtils.isNotBlank(code)) { - if (StringUtils.isNotBlank(specification)) { - sql += " and po.id in (select bo.goodPurchasePlan.id from GoodPurchaseItem as bo where bo.name = '" - + code - + "' and bo.specification = '" - + specification + "'"; - } else { - sql += " and po.id in (select bo.goodPurchasePlan.id from GoodPurchaseItem as bo where bo.name = '" - + code + "'"; - } - sql += ")"; - } - - if (StringUtils.isNotBlank(startDate)) { - startDate += " 00:00:00"; - sql += " and po.time >= " + dateQueryAdapter.dateAdapter(startDate); - } - - if (StringUtils.isNotBlank(endDate)) { - endDate += " 23:59:59"; - sql += " and po.time <= " + dateQueryAdapter.dateAdapter(endDate); - } - - sql += (" and po.orgUnit.orgUnitCoding = '" + AcegiHelper.getCurrentOrgUnitCode() + "'"); - return gridManager.renderGrid(parameterMap, - GoodPurchasePlan.class.getSimpleName(), sql, - new String[] { "itemsList" }); + Map sqlWhereParamMap = gridManager.getParamFromView(parameterMap); + StringBuilder sql = new StringBuilder(" where 1=1 "); + sql.append("and (po.orgUnit.orgUnitCoding = '").append(AcegiHelper.getCurrentOrgUnitCode()).append("'"); + //根据关键字和时间来过滤 + goodPurchaseTableFilterManagerImpl.filterPara(sqlWhereParamMap,sql); + sql.append(")"); + return gridManager.renderGrid(parameterMap, GoodPurchasePlan.class.getSimpleName(), sql.toString(), new String[] { "itemsList" }); } /** Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GoodPurchaseTableFilterManagerImpl.java =================================================================== diff -u --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GoodPurchaseTableFilterManagerImpl.java (revision 0) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GoodPurchaseTableFilterManagerImpl.java (revision 15570) @@ -0,0 +1,39 @@ +package com.forgon.disinfectsystem.diposablegoods.service; + +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; +import com.forgon.search.service.TBarFilterManager; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.Map; + +/** + * Created by zhonghaowen on 2016/10/27. + * 采购计划dwr工具栏sql条件过滤处理类 + */ +@Service("goodPurchaseTableFilterManagerImpl") +public class GoodPurchaseTableFilterManagerImpl extends TBarFilterManager { + + @Override + public void filterPara(Map sqlWhereParamMap, StringBuilder sql) { + this.createTimeFilterSql(sqlWhereParamMap, sql, "po.time"); + this.createKeyWordFilterSql(sqlWhereParamMap, sql); + } + + @Override + public void createKeyWordFilterSql(Map sqlWhereParamMap, StringBuilder sql) { + String keyWord = sqlWhereParamMap.get("keyWord"); + String goodType = sqlWhereParamMap.get("goodType"); + if (StringUtils.isNotBlank(keyWord) && StringUtils.isNotBlank(goodType)) { + sql.append(" and po.id in (select gi.goodPurchasePlan.id from GoodPurchaseItem gi where "); + //如果是一次性物品 + if (DisposableGoods.TYPE_NAME.equals(goodType)) { + sql.append(String.format(" gi.disposableGoodsId = %s)", keyWord)); + } + //不是一次性物品 + else { + sql.append(String.format(" gi.materialDefinitionId = %s)", keyWord)); + } + } + } +} Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/service/MaterialEntryTableFilterManagerImpl.java =================================================================== diff -u -r15440 -r15570 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/service/MaterialEntryTableFilterManagerImpl.java (.../MaterialEntryTableFilterManagerImpl.java) (revision 15440) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/service/MaterialEntryTableFilterManagerImpl.java (.../MaterialEntryTableFilterManagerImpl.java) (revision 15570) @@ -1,36 +1,27 @@ package com.forgon.disinfectsystem.tousse.materialmanager.service; -import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.search.service.TBarFilterManager; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import java.util.Map; /** * Created by zhonghaowen on 2016/10/20. + * 材料dwr工具栏sql条件过滤处理类 */ @Service("materialEntryTableFilterManagerImpl") public class MaterialEntryTableFilterManagerImpl extends TBarFilterManager { - @Resource - private DateQueryAdapter dateQueryAdapter; @Override public void filterPara(Map sqlWhereParamMap, StringBuilder sql) { this.createKeyWordFilterSql(sqlWhereParamMap, sql); - this.createTimeFilterSql(sqlWhereParamMap, sql, "po.time", dateQueryAdapter); + this.createTimeFilterSql(sqlWhereParamMap, sql, "po.time"); } - /** - * 根据关键字搜索(实际是根据关键字对应物品的id来搜索) - * - * @param sqlWhereParamMap - * @param sql - */ - private void createKeyWordFilterSql(Map sqlWhereParamMap, StringBuilder sql) { + @Override + public void createKeyWordFilterSql(Map sqlWhereParamMap, StringBuilder sql) { String keyWord = sqlWhereParamMap.get("keyWord"); if (StringUtils.isNotEmpty(keyWord)) { sql.append(String.format("and (po.id in (select mei.materialEntry.id from MaterialEntryItem mei join mei.materialDefinition md where md.id = '%s'))", keyWord)); Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/goodPurchasePlanView.jsp =================================================================== diff -u -r12562 -r15570 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/goodPurchasePlanView.jsp (.../goodPurchasePlanView.jsp) (revision 12562) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/goodPurchasePlanView.jsp (.../goodPurchasePlanView.jsp) (revision 15570) @@ -20,16 +20,19 @@ var TYPE_IN = '<%=GodownEntry.TYPE_IN%>'; - + + - - - + + + + +