Index: ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js
===================================================================
diff -u -r14483 -r14503
--- ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js (.../invoiceView.js) (revision 14483)
+++ ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js (.../invoiceView.js) (revision 14503)
@@ -1918,17 +1918,15 @@
// 消毒物品材料显示
if (invoiceItems[i].material != null
&& invoiceItems[i].material.length > 0) {
- var materialArray = invoiceItems[i].material
- .split("@&");
+ var materialArray = invoiceItems[i].material;
for ( var j = 0; j < materialArray.length; j++) {
- var materialItems = materialArray[j]
- .split("#&");
+ var materialItem = materialArray[j];
content += "
"
- + materialItems[0]
+ + materialItem.name
+ " | "
- + materialItems[1]
+ + materialItem.count
+ " |
";
}
}
Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java
===================================================================
diff -u -r14379 -r14503
--- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java (.../InvoiceAction.java) (revision 14379)
+++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java (.../InvoiceAction.java) (revision 14503)
@@ -27,6 +27,7 @@
import net.sf.json.util.PropertyFilter;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.Predicate;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.struts2.convention.annotation.Action;
@@ -919,18 +920,33 @@
public String getInvoiceItemsByInvoiceId() {
String invoiceId = StrutsParamUtils.getPraramValue("invoiceId", "");
if (StringUtils.isNotBlank(invoiceId)) {
- StringBuffer buffer = new StringBuffer();
+// StringBuffer buffer = new StringBuffer();
+ JSONArray array = new JSONArray();
Invoice invoice = invoiceManager.getInvoiceById(invoiceId);
if (invoice != null) {
+ List tousseInstances = invoice.getTousseInstances(objectDao);
Set invoiceItemSet = invoice.getInvoiceItem();
for (InvoiceItem invoiceItem : invoiceItemSet) {
String name = invoiceItem.getTousseName();
- StringBuffer materialBuff = new StringBuffer();
+ //StringBuffer materialBuff = new StringBuffer();
+ JSONArray materialArray = new JSONArray();
// 消毒物品材料显示
if (InvoiceItem.DIPOSABLE_NO.equals(invoiceItem
.getDiposable())) {
- TousseDefinition definition = tousseDefinitionManager
- .getTousseDefinitionByName(name);
+ TousseInstance tousseInstanceFind = CollectionUtils.find(tousseInstances, new Predicate(){
+ @Override
+ public boolean evaluate(TousseInstance tousseInstance) {
+ return StringTools.equals(tousseInstance.getTousseName(),name);
+ }
+ });
+ TousseDefinition definition = null;
+ if(tousseInstanceFind != null){
+ definition = tousseInstanceFind.getTousseDefinition();
+ }else{
+ definition = tousseDefinitionManager
+ .getTousseDefinitionByName(name);
+ }
+
if (definition != null
&& TousseDefinition.PACKAGE_TYPE_DISINFECTION
.equals(definition.getTousseType())) {
@@ -943,12 +959,16 @@
String materialName = materialInstance
.getMaterialDefinition().getName();
int count = materialInstance.getCount();
- materialBuff.append(materialName).append("#&")
- .append(count);
- if (i != materialList.size() - 1
- || diposableGoodsItems.size() > 0) {
- materialBuff.append("@&");
- }
+ JSONObject material = new JSONObject();
+ material.put("name", materialName);
+ material.put("count", count);
+ materialArray.add(material);
+// materialBuff.append(materialName).append("#&")
+// .append(count);
+// if (i != materialList.size() - 1
+// || diposableGoodsItems.size() > 0) {
+// materialBuff.append("@&");
+// }
}
// 一次性材料
for (int i = 0; i < diposableGoodsItems.size(); i++) {
@@ -961,31 +981,31 @@
}
int count = diposableGoodsItems.get(i)
.getAmount();
- materialBuff.append(diposableGoodName)
- .append("#&").append(count);
- if (i != diposableGoodsItems.size() - 1) {
- materialBuff.append("@&");
- }
+ JSONObject material = new JSONObject();
+ material.put("name", diposableGoodName);
+ material.put("count", count);
+ materialArray.add(material);
+
+// materialBuff.append(diposableGoodName)
+// .append("#&").append(count);
+// if (i != diposableGoodsItems.size() - 1) {
+// materialBuff.append("@&");
+// }
}
}
}
- if (buffer.length() > 0) {
- buffer.append(",");
- }
- buffer.append("{name:'").append(name).append("',amount:'")
- .append(invoiceItem.getAmount())
- .append("',material:'")
- .append(materialBuff.toString()).append("'}");
+// if (buffer.length() > 0) {
+// buffer.append(",");
+// }
+ JSONObject json = new JSONObject();
+ json.put("name", name);
+ json.put("amount", invoiceItem.getAmount());
+ json.put("material", materialArray);
+ array.add(json);
}
}
- try {
- StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8");
- StrutsParamUtils.getResponse().getWriter()
- .println("[" + buffer.toString() + "]");
- } catch (IOException e) {
- e.printStackTrace();
- }
+ StrutsResponseUtils.output(array);
}
return null;
}