Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/dwr/table/InvoiceTableManager.java
===================================================================
diff -u -r17485 -r18448
--- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/dwr/table/InvoiceTableManager.java (.../InvoiceTableManager.java) (revision 17485)
+++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/dwr/table/InvoiceTableManager.java (.../InvoiceTableManager.java) (revision 18448)
@@ -38,7 +38,10 @@
import com.forgon.security.model.User;
import com.forgon.tools.MathTools;
import com.forgon.tools.hibernate.ObjectDao;
+import com.forgon.tools.util.SqlUtils;
+import edu.emory.mathcs.backport.java.util.Arrays;
+
/**
* @author WangYi 2012-3-5
*/
@@ -116,8 +119,13 @@
String recyclingApplicantID = sqlWhereParamMap
.get("recyclingApplicantID");
String invoiceType = sqlWhereParamMap.get("invoiceType");
+ String selectedTousseType = sqlWhereParamMap.get("selectedTousseType");
+ String selectedDepartCodes = sqlWhereParamMap.get("selectedDepartCodes");
// String sql = "where po.invoicePlan is not null";
String sql = "where 1=1 ";
+// if (StringUtils.isNotBlank(selectedTousseType)) {
+// sql = "inner join po.invoiceItem where 1=1 ";
+// }
if (StringUtils.isNotBlank(recyclingApplicantID)) {
sql += " and po.invoicePlan.id = " + recyclingApplicantID
+ " and po.status != '" + Invoice.STATUS_UNDELIVERED + "'";
@@ -132,6 +140,17 @@
sql += " and po.orgUnitCoding = '"
+ AcegiHelper.getLoginUser()
.getOrgUnitCodingFromSupplyRoomConfig() + "'";
+ if(StringUtils.isNotBlank(selectedDepartCodes)){
+ String[] selectedDepartCodesArr = selectedDepartCodes.split(";");
+ sql += String.format(" and %s ", SqlUtils.getStringFieldInCollectionsPredicate("po.departCoding", Arrays.asList(selectedDepartCodesArr)));
+
+ }
+ if (StringUtils.isNotBlank(selectedTousseType)) {
+ String[] selectedTousseTypeArr = selectedTousseType.split(",");
+ sql += String.format(" and po.id in(select i.invoiceID from InvoiceItem i where %s) ", SqlUtils.getStringFieldInCollectionsPredicate("i.tousseType", Arrays.asList(selectedTousseTypeArr)));
+ }else{
+// sql += " and 1=1 ";
+ }
String json = gridManager.renderGrid(parameterMap,
Invoice.class.getSimpleName(), sql, new String[] {
"invoicePlan", "returnedTousseItems",
Index: ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js
===================================================================
diff -u -r18102 -r18448
--- ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js (.../invoiceView.js) (revision 18102)
+++ ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js (.../invoiceView.js) (revision 18448)
@@ -1,5 +1,6 @@
var entityName = "发货单";
var grid;
+var tousseTypeDataArray = [['一次性物品','一次性物品'],['器械包','器械包'],['敷料包','敷料包'],['消毒物品','消毒物品'],['自定义器械包','自定义器械包'],['外来器械包','外来器械包'],['外部代理灭菌包','外部代理灭菌包']];
var rd = new Ext.data.JsonReader({
fields : [
{name : 'id'},
@@ -306,6 +307,10 @@
});
}
+function refreshList(){
+// alert('refreshList')
+ grid.dwrReload();
+}
// 验证条码是否是在发货单中存在--用于外部代理灭菌单
function isBarcodeRepeatForeignProxy(barcode) {
if (barcode != null && barcode.length > 0) {
@@ -1704,6 +1709,27 @@
// expires : new Date(new Date().getTime() + 2592000000)
// }));
+ var departGroupStore = new Ext.data.SimpleStore({
+ fields : ['id', 'shift','departCode' ],
+ url : WWWROOT + '/disinfectSystem/invoiceDepartmentAction!loadDepartGroup.do'
+ });
+
+ departGroupStore.on('load', function(){
+
+ ShiftDef = Ext.data.Record.create([
+ {name: "id", type: "string"},
+ {name: "shift", type: "string"},
+ {name: "departCode", type: "string"}
+ ]);
+ var record = new ShiftDef({
+ id: '',
+ shift: "全部",
+ departCode: ""
+ });
+
+ departGroupStore.insert(0, record);
+ });
+
var columns = [
{header : "流水号",width : 100,dataIndex : 'serialNumber',renderer : renderCallModifyFunction},
{header : "状态",width : 70,dataIndex : 'status',renderer : renderColor},
@@ -1764,6 +1790,8 @@
{type : 'string',dataIndex : 'depart'},
{type : 'string',dataIndex : 'settleAccountsDepart'},
{type : 'list',dataIndex : 'status',options : [ invoiceStatusNo, invoiceStatusYes,invoiceStatusSigned ],phpMode : true},
+ {type : 'list',dataIndex : 'isPrint',options : [ '是', '否' ],phpMode : true},
+// {type : 'string',dataIndex : 'isPrint'},
{type : 'date',dataIndex : 'sendTime'},
{type : 'date',dataIndex : 'applicationTime'},
{type : 'string',dataIndex : 'invoicePlanType'},
@@ -2101,7 +2129,84 @@
plugins : filters,
autoExpandColumn : 'warehouseName',
renderTo : 'gridDiv',
- frame : false
+ frame : false,
+ getGridParameterMap: function(){
+ var selectedTousseTypeCmp = Ext.getCmp('tousseType');
+ var invoiceDepartGroupsCmp = Ext.getCmp('invoiceDepartGroup');
+ if(!selectedTousseTypeCmp || !invoiceDepartGroupsCmp){
+ return null;
+ }
+ var selectedTousseType = selectedTousseTypeCmp.getValue();
+ var invoiceDepartGroups = invoiceDepartGroupsCmp.getValue();
+// alert(selectedTousseType)
+// alert(invoiceDepartGroups)
+ var obj = {
+ 'parm_s_selectedTousseType': [selectedTousseType],
+ 'parm_s_selectedDepartCodes': [invoiceDepartGroups]
+ };
+ return obj;
+ },
+ listeners: {
+ render : function(grid) {
+
+ var tbar2 = new Ext.Toolbar ({
+ items : [{
+ text : '科室分组:'
+ },{
+ xtype : 'combo',
+ id : 'invoiceDepartGroup',
+ name : 'invoiceDepartGroup',
+ valueField : 'departCode',
+ displayField : 'shift',
+ allowBlank : false,
+ editable : false,
+ emptyText:'请选择科室分组',
+ width : 120,
+ store : departGroupStore,
+ forceSelection : true,
+ triggerAction : 'all',
+ listeners : {
+ select : function(combo, record, index){
+ refreshList();
+ }
+ },
+ anchor : '95%'
+ },
+ {
+ text : '物品类型:'
+ },{
+ xtype : 'multiSelect',
+ id : 'tousseType',
+ name : 'tousseType',
+ valueField : 'value',
+ displayField : 'key',
+ allowBlank : true,
+ editable : false,
+ fieldLabel:'类型',
+ width : 300,
+ emptyText:'请选择物品类型',
+ mode:'local',
+ store : new Ext.data.SimpleStore({
+ data:tousseTypeDataArray,
+ fields:['key','value']
+ }),
+// forceSelection : true,
+ triggerAction : 'all',
+ listeners : {
+ select : function(combo, record, index){
+ refreshList();
+ }
+ },
+ anchor : '95%'
+ }
+ ]
+ });
+ tbar2.render(grid.tbar);
+ // 自动加载列表
+ Ext.getCmp('tousseType').selectAll();
+// refreshList();
+ }
+ }
}, readerDetail,
InvoiceTableManager.findInvoiceTableList,
null
Index: ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.jsp
===================================================================
diff -u -r17478 -r18448
--- ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.jsp (.../invoiceView.jsp) (revision 17478)
+++ ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.jsp (.../invoiceView.jsp) (revision 18448)
@@ -21,14 +21,17 @@
<%@ include file="/common/includeExtJs4_2.jsp"%>
+
+
+