Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/PackingAction.java
===================================================================
diff -u -r16285 -r16298
--- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/PackingAction.java (.../PackingAction.java) (revision 16285)
+++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/PackingAction.java (.../PackingAction.java) (revision 16298)
@@ -451,7 +451,14 @@
StrutsResponseUtils.output(jsonStr);
}
+ public void getTousseInstanceByIdsForPrint() {
+ String ids = StrutsParamUtils.getPraramValue(
+ "ids", "");
+ JSONArray jsonArray = packingManager.getTousseInstanceByIdsForPrint(ids);
+ StrutsResponseUtils.output(jsonArray);
+ }
+
public void materialSupplement() {
String msg = "器械补充成功!";
Index: ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.jsp
===================================================================
diff -u -r16183 -r16298
--- ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.jsp (.../tousseInstanceView.jsp) (revision 16183)
+++ ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.jsp (.../tousseInstanceView.jsp) (revision 16298)
@@ -1,11 +1,21 @@
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ include file="/common/taglibs.jsp"%>
<%@page import="com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance"%>
-
+<%@page import="com.forgon.disinfectsystem.entity.basedatamanager.supplier.Supplier,com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig"%>
+<%@page import="com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager"%>
<%@ include file="/common/includeExtJsAndCss.jsp"%>
+<%@ include file="/common/includeExtJs4_2.jsp"%>
+<%
+ SupplyRoomConfigManager supplyRoomConfigManager = (SupplyRoomConfigManager)SpringBeanManger.getBean("supplyRoomConfigManager");
+ LoginUserData loginUser = AcegiHelper.getLoginUser();
+ SupplyRoomConfig syscfg = supplyRoomConfigManager.getSystemParamsObj();
+
+ request.setAttribute("hospitalName", loginUser.getHospitalName());
+ request.setAttribute("foreignDefaultLabelpaper", syscfg.getBarcodePaperType());
+%>
+
+
+
+
+
+<%@ include file="/disinfectsystem/print/print.jsp"%>
+
+
+
器械包实体信息
+
Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java
===================================================================
diff -u -r16285 -r16298
--- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 16285)
+++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 16298)
@@ -666,6 +666,134 @@
}
return array.toString();
}
+
+
+ public JSONArray getTousseInstanceByIdsForPrint(String ids) {
+ JSONArray array = new JSONArray();
+ String sql = String.format(" where po.id in(%s)",ids);
+ List tousseList = tousseInstanceManager.getTousseInstanceBySql(sql);
+ if(tousseList != null){
+ SupplyRoomConfig supplyRoomConfigParams = supplyRoomConfigManager.getSystemParamsObj();
+ boolean isPrintUserName = supplyRoomConfigParams.isPrintUserFullName();
+ for (TousseInstance tousseInstance : tousseList) {
+ TousseDefinition td = tousseInstance.getTousseDefinition();
+ if(td == null){
+ throw new RuntimeException(String.format("%s的包定义为空!", tousseInstance.getTousseName()));
+ }
+ JSONObject tdJson = new JSONObject();
+ if(TousseDefinition.STR_YES.equals(td.getIsPrint()) && TousseDefinition.STR_YES.equals(td.getIsPrintMaterialForPacking())){
+ tdJson = getTousseDefinitionJson(td);
+ }
+ JSONArray subBarcodeArray = new JSONArray();
+ subBarcodeArray.add(tousseInstance.getBarcode());
+
+ JSONArray subVirtualSeqNumArray = new JSONArray();
+ subVirtualSeqNumArray.add(tousseInstance.getVirtualBasketSeqNum());
+ String tousseType = td.getTousseType();
+ String packageType = tousseInstance.getPackageType();
+ String packageTypeAbbreviation = TousseInstanceUtils.getPackageTypeAbbreviation(objectDao, packageType);
+ String sterilingType = tousseInstance.getSterilingType();
+ String sterilizerName = tousseInstance.getSterilizerName();
+ String sterileFrequency = tousseInstance.getSterileFrequency();
+ String operator = tousseInstance.getOperator();
+ String operatorCode = tousseInstance.getOperatorCode();
+ String reviewer = tousseInstance.getReviewer();
+ String reviewerCode = tousseInstance.getReviewerCode();
+ String sterileUserName = tousseInstance.getSterilizationUser();
+ String sterileUserCode = tousseInstance.getSterilizationUserCode();
+ Date sterileStartTime = TousseInstanceUtils.safelyGetSterileStartDate(tousseInstance);
+ if(sterileStartTime == null){
+ throw new RuntimeException(String.format("%s的灭菌时间为空!", tousseInstance.getTousseName()));
+ }
+ String validUntilDateToPrint = "";
+ String sterileDateToPrint = "";
+ boolean markTousse = false;
+
+ // 失效期和预警期计算
+ JSONObject expirationObj = expirationDateInfoManager
+ .getExpirationDate(sterileStartTime.getTime() + "", packageType);
+
+ boolean isDefined = expirationObj.optBoolean("isDefined");
+ if (isDefined){
+ validUntilDateToPrint = expirationObj.optString("expirationDate");
+ sterileDateToPrint = expirationObj.optString("sterileDate");
+ markTousse = expirationObj.optBoolean("markTousse");
+ }
+ Date packingDate = tousseInstance.getOperationTime();
+ boolean isDisinfectionGoods = td.isDisinfection();
+ boolean isDisinfectionGoodsPrintExpirationDate = false;
+ boolean isPrint = true;
+ boolean isPrintOrg = false;
+ boolean isTraceable = true;
+ boolean isReview = true;
+ // 如果该器械包为不追溯并且为器械包,则将该器械包设置为已审核状态并设为不打印标签
+ if (TousseDefinition.STR_NO.equals(td.getIsPrint())) {
+ isPrint = false;
+ }
+ // 如果器械包定义设置不审核,则将对应的变量设置为false
+ if (TousseDefinition.STR_NO.equals(td.getIsReview())) {
+ isReview = false;
+ }
+ // 如果该器械包为不追溯并且为器械包,则将该器械包设置为已审核状态并设为不打印标签
+ if (TousseDefinition.STR_NO.equals(td.getIsPrint())) {
+ isTraceable = false;
+ } else {
+ if (TousseDefinition.STR_NO.equals(td
+ .getIsTraceable())) {
+ isTraceable = false;
+ }
+ if(TousseDefinition.STR_YES.equals(td.getIsPrint()) && TousseDefinition.STR_YES.equals(td.getIsPrintOrg())){
+ isPrintOrg = true;
+ }
+ }
+ String isBigPackage = "否";
+ String fixedBarcode = "";
+ if (!isTraceable) {
+ fixedBarcode = tousseInstanceManager
+ .getTousseDefinitionFixedBarcode(td.getAncestorID());
+ }
+ JSONArray materialsJsonArray = new JSONArray(); // 消毒物品明细
+ if (td.isDisinfection()) {
+ materialsJsonArray = tousseDefinitionManager.getMaterialsOfDisinfectionGoods(td, true);
+ }
+ long foreignTousseAppId = 0;
+ Long foreignTousseApp_id = tousseInstance.getForeignTousseApp_id();
+ if(foreignTousseApp_id != null){
+ foreignTousseAppId = foreignTousseApp_id;
+ }
+ String supplierName = "";
+
+ if (TousseDefinition.PACKAGE_TYPE_FOREIGN
+ .equals(tousseType)) {
+ supplierName = td.getSupplierName();
+ }
+ String department = tousseInstance.getDepart();
+ Long idCardDefinitionUseAmount = getIDCardDefinitionUseAmount(tousseInstance.getIdCardInstanceID());
+ JSONObject toolAndImplantAmount = tousseDefinitionManager.getToolAndImplantAmount(td);
+ JSONObject obj = CssdUtils.getTousseObjForPrint(
+ td.getName(), tdJson, subBarcodeArray, subVirtualSeqNumArray, tousseType,
+ packageType,packageTypeAbbreviation, sterilingType,
+ sterilizerName, sterileFrequency,
+ isPrintUserName,
+ operator, operatorCode, reviewer, reviewerCode,sterileUserName,sterileUserCode,
+ validUntilDateToPrint,
+ sterileDateToPrint,
+ markTousse,
+ packingDate,
+ isDisinfectionGoods,
+ isDisinfectionGoodsPrintExpirationDate,
+ isPrint, isReview, isTraceable, isBigPackage,
+ fixedBarcode, materialsJsonArray,
+ foreignTousseAppId,supplierName,
+ toolAndImplantAmount.optInt("toolAmount"),
+ toolAndImplantAmount.optInt("implantAmount"),department,
+ isPrintOrg,idCardDefinitionUseAmount,objectDao,td.getBarcodePaperType(),tousseInstance.getWashOperator(),tousseInstance.getWashOperatorCode(),
+ tousseInstance.getWeight(),td.getPrintAmount());
+ array.add(obj);
+ }
+ }
+ return array;
+ }
/**
* @param packingRecord
Index: ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.js
===================================================================
diff -u -r16250 -r16298
--- ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.js (.../tousseInstanceView.js) (revision 16250)
+++ ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.js (.../tousseInstanceView.js) (revision 16298)
@@ -399,6 +399,41 @@
+ frequency + "&tousseName="
+ tousseName;
}
+ },
+ {
+ text : '打印',
+// iconCls : 'Cancel',
+ hidden:SSTS_HistoryPacking_Update,
+ handler : function() {
+ var selectionModel = grid.getSelectionModel();
+ var selections = [];
+ if(!selectionModel.hasSelection()){
+ showResult("未选中任何记录!");
+ return;
+ }else{
+ selectionModel.each(function(row){
+ selections.push(row.data.id);
+ });
+ if(selections.length>0){
+ var ids = selections.join(',');
+ Ext.MessageBox.wait('正在请求数据,请稍候……', '请等待');
+ Ext.Ajax.request({
+ url : WWWROOT + '/disinfectSystem/packingAction!getTousseInstanceByIdsForPrint.do',
+ params : {ids : ids},
+ success : function(response, options) {
+// showResult("废弃成功!");
+// grid.dwrReload();
+ hideMessageBox(false);
+ var tousseesToPrint = Ext.decode(response.responseText);
+ doPrintLabels(tousseesToPrint);
+ },
+ failure : function(response, options) {
+ hideMessageBox(false);
+ }
+ });
+ }
+ }
+ }
}];
Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManager.java
===================================================================
diff -u -r16285 -r16298
--- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManager.java (.../PackingManager.java) (revision 16285)
+++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManager.java (.../PackingManager.java) (revision 16298)
@@ -64,6 +64,7 @@
public String loadTousseByPackingRecord(String packingRecordId);
public String loadTousseByIds(String ids);
+ public JSONArray getTousseInstanceByIdsForPrint(String ids);
/**
*
Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java
===================================================================
diff -u -r16183 -r16298
--- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 16183)
+++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 16298)
@@ -42,6 +42,8 @@
import com.forgon.timeout.model.TimeoutSetting;
import com.forgon.timeout.service.TimeoutManager;
import com.forgon.tools.SqlBuilder;
+import com.forgon.tools.StrutsParamUtils;
+import com.forgon.tools.StrutsResponseUtils;
import com.forgon.tools.date.DateTools;
import com.forgon.tools.db.DatabaseUtil;
import com.forgon.tools.hibernate.ObjectDao;
@@ -663,4 +665,9 @@
public String getPackageTypeAbbreviation(String packageType){
return TousseInstanceUtils.getPackageTypeAbbreviation(objectDao, packageType);
}
+
+ public String getTousseInstanceByIdsForPrint(String ids) {
+ JSONArray jsonArray = packingManager.getTousseInstanceByIdsForPrint(ids);
+ return jsonArray.toString();
+ }
}