Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/comboTousse/service/ComboTousseManagerImpl.java =================================================================== diff -u -r16926 -r16927 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/comboTousse/service/ComboTousseManagerImpl.java (.../ComboTousseManagerImpl.java) (revision 16926) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/comboTousse/service/ComboTousseManagerImpl.java (.../ComboTousseManagerImpl.java) (revision 16927) @@ -3,15 +3,14 @@ import com.beust.jcommander.ParameterException; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.ComboTousseComposite; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; +import com.forgon.tools.Constants; import com.forgon.tools.hibernate.ObjectDao; import net.sf.json.JSONArray; -import net.sf.json.JSONObject; +import org.apache.commons.beanutils.ConvertUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.hibernate.Query; -import org.hibernate.SQLQuery; import org.hibernate.Session; -import org.springframework.orm.hibernate4.HibernateTemplate; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -125,6 +124,24 @@ } } + @Override + @Transactional(propagation = Propagation.REQUIRED) + public void deleteComboTousseByComboTid(String comboTIds) { + try { + String hql = " delete from ComboTousseComposite where comboTousseDefinitionId in (:comboTousseDefinitionId)"; + Long[] ids = (Long[]) ConvertUtils.convert(comboTIds.split(Constants.IDS_SEPARATOR), Long.class); + Session session = objectDao.getHibernateSession(); + Query query = session.createQuery(hql); + query.setParameterList("comboTousseDefinitionId", ids); + query.executeUpdate(); + logger.info("删除聚合包成功![ids:]" + comboTIds); + } + catch (Exception e) { + logger.error(e); + throw new RuntimeException(e); + } + } + /** * 处理要添加 * Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/comboTousse.js =================================================================== diff -u -r16893 -r16927 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/comboTousse.js (.../comboTousse.js) (revision 16893) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/comboTousse.js (.../comboTousse.js) (revision 16927) @@ -39,7 +39,7 @@ if ("yes" == button) Ext.Ajax.request({ url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!deleteTousseDefinition.do', - params: {ids: ids}, + params: {ids: ids, deleteTousseType : 'comboTousse'}, success: function (response, options) { var result = Ext.decode(response.responseText); var success = result.success; Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java =================================================================== diff -u -r16926 -r16927 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 16926) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 16927) @@ -884,6 +884,11 @@ isExist = tousseDefinitionManager.deleteTousseDefinitionById(id); } if(isExist){ + String deleteTousseType = StrutsParamUtils.getPraramValue("deleteTousseType", ""); + //如果上面删除成功且这个删除是聚合包,联动删除聚合包的中间表数据 + if ("comboTousse".equals(deleteTousseType)){ + comboTousseManagerImpl.deleteComboTousseByComboTid(idStr); + } message = "{success:true}"; }else{ message = "{success:false,cause:'已生成器械包无法删除。'}"; Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/comboTousse/service/ComboTousseManager.java =================================================================== diff -u -r16893 -r16927 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/comboTousse/service/ComboTousseManager.java (.../ComboTousseManager.java) (revision 16893) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/comboTousse/service/ComboTousseManager.java (.../ComboTousseManager.java) (revision 16927) @@ -37,4 +37,11 @@ */ void saveOrUpdateComboTousses(String comboTousseArray, TousseDefinition tousseDefinition, boolean newTousse); + /** + * 根据comboTousseDefinitionId来批量删除对应的聚合包数据 + * + * @param comboTIds comboTousseDefinitionId + */ + void deleteComboTousseByComboTid(String comboTIds); + }