Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/foreignTousseSupplierStatisticsReport.js
===================================================================
diff -u -r33278 -r33283
--- ssts-web/src/main/webapp/disinfectsystem/reportforms/foreignTousseSupplierStatisticsReport.js (.../foreignTousseSupplierStatisticsReport.js) (revision 33278)
+++ ssts-web/src/main/webapp/disinfectsystem/reportforms/foreignTousseSupplierStatisticsReport.js (.../foreignTousseSupplierStatisticsReport.js) (revision 33283)
@@ -131,63 +131,78 @@
//按日期归类
function newArr(data) {
- var dest = [];
- var map = {};
+ var dateStrMap = {};
+ var supplierNameMap = {};
for (var i = 0; i < data.length; i++) {
var ai = data[i];
- if (!map[ai.dateStr]) {
- ai.items = [ai];
- dest.push(ai);
- map[ai.dateStr] = ai;
+ if (!dateStrMap[ai.dateStr]) {
+ dateStrMap[ai.dateStr] = {
+ rowspan: 1
+ }
} else {
- for (var j = 0; j < dest.length; j++) {
- var dj = dest[j];
- if (dj.dateStr == ai.dateStr) {
- dj.items.push(ai);
- }
+ var rowspan = dateStrMap[ai.dateStr].rowspan;
+ dateStrMap[ai.dateStr].rowspan = rowspan + 1;
+ }
+ if (!supplierNameMap[ai.dateStr + ',' + ai.supplierName]) {
+ supplierNameMap[ai.dateStr + ',' + ai.supplierName] = {
+ rowspan: 1
}
+ } else {
+ var rowspan = supplierNameMap[ai.dateStr + ',' + ai.supplierName].rowspan;
+ supplierNameMap[ai.dateStr + ',' + ai.supplierName].rowspan = rowspan + 1;
}
}
- return dest;
+ return {
+ dateStrMap: dateStrMap,
+ supplierNameMap: supplierNameMap
+ };
}
//按日期汇总
-function getTableBodyHtmlForReportType(data2) {
- var data = newArr(data2);
+function getTableBodyHtmlForReportType(data) {
var html = '';
var allToolAmount = 0;
var allImplantAmount = 0;
var allSumCount = 0;
var allBigTousseAmount = 0;
var allSmallTousseAmount = 0;
var allSterilizationTousseAmount = 0;
+ var map = newArr(data);
+ var dateStrMap = map.dateStrMap;
+ var newDateStrMap = {};
+ var supplierNameMap = map.supplierNameMap;
+ var newSupplierNameMap = {};
for (var i = 0; i < data.length; i++) {
- for (var j = 0; j < data[i].items.length; j++) {
- var toolAmount = data[i].items[j].toolAmount;
- var implantAmount = data[i].items[j].implantAmount;
- var sumCount = toolAmount + implantAmount;
- var bigTousseAmount = data[i].items[j].bigTousseAmount;
- var smallTousseAmount = data[i].items[j].smallTousseAmount;
- var sterilizationTousseAmount = data[i].items[j].sterilizationTousseAmount;
- html += '
';
- if (j == 0) {
- html += getBodyTd(data[i].items[j].dateStr, data[i].items.length, 1);
- }
- html += getBodyTd(data[i].items[j].supplierName, 1, 1);
- html += getBodyTd(toolAmount, 1, 1);
- html += getBodyTd(implantAmount, 1, 1);
- html += getBodyTd(sumCount, 1, 1);
- html += getBodyTd(bigTousseAmount, 1, 1);
- html += getBodyTd(smallTousseAmount, 1, 1);
- html += getBodyTd(sterilizationTousseAmount, 1, 1);
- allToolAmount += toolAmount;
- allImplantAmount += implantAmount;
- allSumCount += sumCount;
- allBigTousseAmount += bigTousseAmount;
- allSmallTousseAmount += smallTousseAmount;
- allSterilizationTousseAmount += sterilizationTousseAmount;
- html += '
';
+ var toolAmount = data[i].toolAmount;
+ var implantAmount = data[i].implantAmount;
+ var sumCount = toolAmount + implantAmount;
+ var bigTousseAmount = data[i].bigTousseAmount;
+ var smallTousseAmount = data[i].smallTousseAmount;
+ var sterilizationTousseAmount = data[i].sterilizationTousseAmount;
+ html += '';
+ if (!newDateStrMap[data[i].dateStr]) {
+ newDateStrMap[data[i].dateStr] = true;
+ var rowspan = dateStrMap[data[i].dateStr].rowspan;
+ html += getBodyTd(data[i].dateStr, rowspan, 1);
}
+ if (!newSupplierNameMap[data[i].dateStr + ',' + data[i].supplierName]) {
+ newSupplierNameMap[data[i].dateStr + ',' + data[i].supplierName] = true;
+ var rowspan = supplierNameMap[data[i].dateStr + ',' + data[i].supplierName].rowspan;
+ html += getBodyTd(data[i].supplierName, rowspan, 1);
+ }
+ html += getBodyTd(toolAmount, 1, 1);
+ html += getBodyTd(implantAmount, 1, 1);
+ html += getBodyTd(sumCount, 1, 1);
+ html += getBodyTd(bigTousseAmount, 1, 1);
+ html += getBodyTd(smallTousseAmount, 1, 1);
+ html += getBodyTd(sterilizationTousseAmount, 1, 1);
+ allToolAmount += toolAmount;
+ allImplantAmount += implantAmount;
+ allSumCount += sumCount;
+ allBigTousseAmount += bigTousseAmount;
+ allSmallTousseAmount += smallTousseAmount;
+ allSterilizationTousseAmount += sterilizationTousseAmount;
+ html += '
';
}
//合计
html += '';
@@ -227,7 +242,7 @@
var startDate = Ext.getCmp('startDate').getRawValue();
var endDate = Ext.getCmp('endDate').getRawValue();
var supplierName = Ext.getCmp('supplierName').getRawValue();
- var customTimePeriodId = Ext.getCmp('customTimePeriodId').getValue();
+ var customTimePeriodId = ($Id('customTimePeriodId').value == '') ? '' : Ext.getCmp('customTimePeriodId').getValue();
var reportType = Ext.getCmp('reportType').getValue();
myMask = new Ext.LoadMask(Ext.getBody(), {