Index: ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseApplicationView.js
===================================================================
diff -u -r19789 -r19885
--- ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseApplicationView.js (.../foreignTousseApplicationView.js) (revision 19789)
+++ ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseApplicationView.js (.../foreignTousseApplicationView.js) (revision 19885)
@@ -85,6 +85,47 @@
return "
" + v + "
";
}
+/**
+ * 批量确认归还或者提前归还.
+ * @param returnType 归还的类型(值有两种情况:“确认归还”、“提前归还”)
+ * @returns {Boolean}
+ */
+function comfirmReturnOrEarlyReturn(returnType) {
+ var records = grid.getSelectionModel().getSelections();
+
+ if (records.length == 0) {
+ showResult("请选择要" + returnType + "的记录!");
+ return false;
+ }
+ var ids = null;
+ for (var i = 0, len = records.length; i < len; i ++) {
+ if (ids == null) {
+ ids = records[i].data['id'];
+ } else {
+ ids = ids + ';' + records[i].data['id'];
+ }
+ }
+ top.Ext.MessageBox.confirm("请确认","是否确定要" + returnType + "选中的记录?",
+ function(button, text) {
+ if ("yes" == button){
+ Ext.Ajax.request({
+ url : WWWROOT + '/disinfectSystem/foreigntousseapplication/foreignTousseApplicationAction!comfirmReturnOrEarlyReturn.do',
+ params : {ids : ids,returnType : returnType},
+ success : function(response, options) {
+ var result = Ext.decode(response.responseText);
+ if (result.success) {
+ grid.dwrReload();
+ }
+ showResult(result.message);
+ },
+ failure : function(response, options) {
+ showResult("服务器出错,请联系系统管理员!");
+ }
+ });
+ }
+ });
+}
+
Ext.onReady(function(){
Ext.QuickTips.init();
var columns = [
@@ -194,6 +235,20 @@
handler : function() {
terminateInvoicePlan(grid, foreignTousseApplicationForm);
}
+ }, '-', {
+ text : '批量确认归还',
+ iconCls : 'btn_ext_application_go',
+ hidden : SSTS_ForeignTousseApplication_Return,
+ handler : function() {
+ comfirmReturnOrEarlyReturn(actionType_confirmReturn);
+ }
+ }, '-', {
+ text : '批量提前归还',
+ iconCls : 'btn_ext_application_go',
+ hidden : SSTS_ForeignTousseApplication_Return,
+ handler : function() {
+ comfirmReturnOrEarlyReturn(ACTION_TYPE_EARLY_RETURN);
+ }
}];
grid = new Ext.ux.ForgonPageGrid({
Index: ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseApplicationView.jsp
===================================================================
diff -u -r19804 -r19885
--- ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseApplicationView.jsp (.../foreignTousseApplicationView.jsp) (revision 19804)
+++ ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseApplicationView.jsp (.../foreignTousseApplicationView.jsp) (revision 19885)
@@ -65,6 +65,12 @@
}
+ //外来器械申请单归还权限
+ var SSTS_ForeignTousseApplication_Return = true;
+
+ SSTS_ForeignTousseApplication_Return = false;
+
+
var SSTS_ForeignTousseApplication_Terminate = true;
SSTS_ForeignTousseApplication_Terminate = false;
@@ -75,6 +81,7 @@
var supplyRoomCoding = '<%=request.getAttribute("supplyRoomCoding")%>';
var actionType_confirmReturn = '<%=ForeignTousseApplication.ACTION_TYPE_CONFIRM_RETURN%>'; //确认归还
+ var ACTION_TYPE_EARLY_RETURN = '<%=ForeignTousseApplication.ACTION_TYPE_EARLY_RETURN%>'; //提前归还
var ACTION_TYPE_ADD = '<%=ForeignTousseApplication.ACTION_TYPE_ADD%>'; //新增
var ACTION_TYPE_INTERFERE = '<%=ForeignTousseApplication.ACTION_TYPE_INTERFERE%>'; //干预
var foreignTousseApplicationForm = '<%=InvoicePlan.TYPE_FOREIGNTOUSSEAPPLIACTION%>';//外来器械包申请单
Index: ssts-web/src/main/resources/systemset/operationDefine.xml
===================================================================
diff -u -r19036 -r19885
--- ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 19036)
+++ ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 19885)
@@ -23,6 +23,7 @@
+
Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java
===================================================================
diff -u -r19804 -r19885
--- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 19804)
+++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 19885)
@@ -27,6 +27,7 @@
import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager;
import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager;
import com.forgon.disinfectsystem.common.CssdUtils;
+import com.forgon.disinfectsystem.entity.basedatamanager.foreigntoussedefinition.ForeignTousseDefinition;
import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition;
import com.forgon.disinfectsystem.entity.basedatamanager.materialinstance.MaterialInstance;
import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig;
@@ -55,6 +56,7 @@
import com.forgon.tools.hibernate.ObjectDao;
import com.forgon.tools.json.JSONUtil;
import com.forgon.tools.string.StringTools;
+import com.forgon.tools.util.SqlUtils;
/**
* @author panhaowen
@@ -833,5 +835,35 @@
}
return JSONUtil.buildJsonObject(success, message);
}
+
+ public void comfirmReturnOrEarlyReturn(List ids, String returnType) {
+ if (CollectionUtils.isNotEmpty(ids) &&
+ (ForeignTousseApplication.ACTION_TYPE_CONFIRM_RETURN.equals(returnType)
+ || ForeignTousseApplication.ACTION_TYPE_EARLY_RETURN.equals(returnType))) {
+ String temp = " 1=1 ";
+ if (ForeignTousseApplication.ACTION_TYPE_CONFIRM_RETURN.equals(returnType)) {
+ temp = String.format(" ip.recyclingStatus<>'%s' ", InvoicePlan.RECYCLINGSTATUS_RECYCLED);
+ } else {
+ temp = String.format(" ip.recyclingStatus='%s' ", InvoicePlan.RECYCLINGSTATUS_AWAITRECEIVE);
+ }
+
+ String sql = String.format("select count(*) from invoicePlan ip join ForeignTousseApplication fta on fta.id=ip.id "
+ + "where %s and(%s or fta.packageStatus='%s')",
+ SqlUtils.getNonStringFieldInCollectionsPredicate("ip.id", ids), temp, ForeignTousseApplication.APPLICATION_STATUS_RETRUN);
+
+ if (objectDao.countBySql(sql) > 0) {
+ throw new RuntimeException(String.format("部分申请单不能%s!", returnType));
+ } else {
+ List list = objectDao.findByIds(ForeignTousseApplication.class.getSimpleName(), ids);
+ if (CollectionUtils.isNotEmpty(list)) {
+ for (ForeignTousseApplication foreignTousseApplication : list) {
+ this.foreignTousseReturn(foreignTousseApplication);
+ }
+ }
+ }
+ } else {
+ throw new RuntimeException("参数有误!");
+ }
+ }
}
Index: ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseInfoForm.js
===================================================================
diff -u -r19804 -r19885
--- ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseInfoForm.js (.../foreignTousseInfoForm.js) (revision 19804)
+++ ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseInfoForm.js (.../foreignTousseInfoForm.js) (revision 19885)
@@ -919,7 +919,7 @@
var disableReturn = true;
//是否禁用“提前归还”按钮
var disableEarlyReturn = true;
- if(id){
+ if(id && !SSTS_ForeignTousseApplication_Return){
DWREngine.setAsync(false);
ForeignTousseApplicationTableManager.isForeignTousseCanReturn(id,function(result){
var json = JSON.parse(result);
Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java
===================================================================
diff -u -r19804 -r19885
--- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 19804)
+++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 19885)
@@ -2,6 +2,7 @@
import java.io.IOException;
import java.io.PrintWriter;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
@@ -40,6 +41,7 @@
import com.forgon.tools.StrutsParamUtils;
import com.forgon.tools.StrutsResponseUtils;
import com.forgon.tools.json.JSONUtil;
+import com.forgon.tools.string.StringTools;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.Preparable;
@@ -492,5 +494,23 @@
e.printStackTrace();
}
}
+
+ /**
+ * 批量确认归还或者提前归还.
+ */
+ public void comfirmReturnOrEarlyReturn() {
+ String ids = StrutsParamUtils.getPraramValue("ids", "");
+ String returnType = StrutsParamUtils.getPraramValue("returnType", "");
+ if (StringTools.isNotBlank(ids)) {
+ JSONObject result = JSONUtil.buildJsonObject(true, String.format("%s成功!", returnType));
+ try {
+ foreignTousseApplicationManager.comfirmReturnOrEarlyReturn(Arrays.asList(ids.split(";")), returnType);
+ } catch (Exception e) {
+ e.printStackTrace();
+ result = JSONUtil.buildJsonObject(false, e.getMessage());
+ }
+ StrutsResponseUtils.output(result);
+ }
+ }
}
Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/foreigntousseapplication/ForeignTousseApplication.java
===================================================================
diff -u -r19804 -r19885
--- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/foreigntousseapplication/ForeignTousseApplication.java (.../ForeignTousseApplication.java) (revision 19804)
+++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/foreigntousseapplication/ForeignTousseApplication.java (.../ForeignTousseApplication.java) (revision 19885)
@@ -28,6 +28,7 @@
public static final String ACTION_TYPE_CONFIRM_RECEIVE = "确认接收";
public static final String ACTION_TYPE_CONFIRM_RECYCLE = "确认回收";
public static final String ACTION_TYPE_CONFIRM_RETURN = "确认归还";
+ public static final String ACTION_TYPE_EARLY_RETURN = "提前归还";
public static final String ACTION_TYPE_ADD = "新增"; //新增外来器械包申请单操作
public static final String ACTION_TYPE_RECYCLEUPDATE = "回收时修改"; //回收时对外来器械包申请单的调整操作
public static final String ACTION_TYPE_INTERFERE = "干预"; //干预外来器械包申请单操作
Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java
===================================================================
diff -u -r19859 -r19885
--- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java (.../ForeignTousseApplicationManager.java) (revision 19859)
+++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java (.../ForeignTousseApplicationManager.java) (revision 19885)
@@ -68,4 +68,11 @@
JSONArray jsonArray, SupplyRoomConfig config, String actionType);
public JSONObject isHaveNotReturnApplication(String id,String departCoding,String tousseName,String supplierName);
+
+ /**
+ * 批量确认归还或者提前归还.
+ * @param ids 需要归还的外来申请单id的集合
+ * @param returnType 归还的类型(值有两种情况:“确认归还”、“提前归还”)
+ */
+ public void comfirmReturnOrEarlyReturn(List ids, String returnType);
}