Index: ssts-print/src/main/java/com/forgon/disinfectsystem/printRecyclingApplicationConfig/action/PrintConfigAction.java =================================================================== diff -u -r12386 -r14631 --- ssts-print/src/main/java/com/forgon/disinfectsystem/printRecyclingApplicationConfig/action/PrintConfigAction.java (.../PrintConfigAction.java) (revision 12386) +++ ssts-print/src/main/java/com/forgon/disinfectsystem/printRecyclingApplicationConfig/action/PrintConfigAction.java (.../PrintConfigAction.java) (revision 14631) @@ -1,13 +1,8 @@ package com.forgon.disinfectsystem.printRecyclingApplicationConfig.action; -import java.io.IOException; -import java.sql.ResultSet; -import java.sql.SQLException; import java.util.HashMap; import java.util.Map; -import javax.servlet.http.HttpServletResponse; - import net.sf.json.JSONObject; import org.apache.commons.lang.StringUtils; @@ -18,8 +13,7 @@ import com.forgon.disinfectsystem.entity.printRecyclingApplicationConfig.PrintConfig; import com.forgon.disinfectsystem.printRecyclingApplicationConfig.service.PrintConfigManager; import com.forgon.tools.StrutsParamUtils; -import com.forgon.tools.db.DatabaseUtil; -import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.StrutsResponseUtils; import com.opensymphony.xwork2.ModelDriven; import com.opensymphony.xwork2.Preparable; @@ -31,12 +25,7 @@ private PrintConfig printConfig; private PrintConfigManager printConfigManager; - private ObjectDao objectDao; - public void setObjectDao(ObjectDao objectDao) { - this.objectDao = objectDao; - } - public PrintConfig getPrintConfig() { return printConfig; } @@ -50,62 +39,29 @@ } public void saveConfig(){ - String message = "{success:true}"; - HttpServletResponse httpServletResponse = StrutsParamUtils - .getResponse(); - httpServletResponse.setCharacterEncoding("UTF-8"); try { - if(printConfig.getOrderNum() == null){ - - String sql = "select max(p.orderNum) from PrintConfig p"; - ResultSet resultSet = objectDao.executeSql(sql); - try { - while(resultSet.next()){ - int orderNum = resultSet.getInt(1); - printConfig.setOrderNum(orderNum+1); - } - } catch (SQLException e) { - e.printStackTrace(); - }finally { - DatabaseUtil.closeResultSetAndStatement(resultSet); - } - - } - printConfigManager.saveOrUpdate(printConfig); - httpServletResponse.getWriter().println(message); - } catch (IOException e) { + printConfigManager.save(printConfig); + StrutsResponseUtils.output(true,"保存成功"); + } catch (Exception e) { e.printStackTrace(); - try { - httpServletResponse.getWriter().println("{success :false,cause:" + e.getMessage() + "}"); - } catch (IOException e1) { - e1.printStackTrace(); - } + StrutsResponseUtils.output(false, "保存失败"); } } - + public void deleteConfig(){ String ids = StrutsParamUtils.getPraramValue("ids", ""); - String message = ""; try { if (StringUtils.isNotBlank(ids)) { String[] str = ids.split(";"); if(str.length != 0){ printConfigManager.deletePrintConfigByArray(PrintConfig.class.getSimpleName(), str); } - message = "{success:true}"; + StrutsResponseUtils.output(true,"删除成功"); } } catch (Exception e) { - message = "{success:false}"; + StrutsResponseUtils.output(false,"删除失败"); e.printStackTrace(); - } - HttpServletResponse httpServletResponse = StrutsParamUtils - .getResponse(); - httpServletResponse.setCharacterEncoding("UTF-8"); - try { - httpServletResponse.getWriter().print(message); - } catch (IOException e) { - e.printStackTrace(); - } + } } public void loadConfigData(){ @@ -117,11 +73,9 @@ if(printConfig != null){ map.put("data", printConfig); } - StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); try { JSONObject jsonObject = JSONObject.fromObject(map); - String jsonStr = jsonObject.toString(); - StrutsParamUtils.getResponse().getWriter().println(jsonStr); + StrutsResponseUtils.output(jsonObject); } catch (Exception e) { map.put("success", false); e.printStackTrace(); @@ -130,12 +84,9 @@ } public void loadAvailableTousseType(){ - JSONObject obj = printConfigManager.getTousseItemGroupingTypes(); - HttpServletResponse response = StrutsParamUtils.getResponse(); - response.setCharacterEncoding("UTF-8"); - try { - response.getWriter().print(obj.toString()); - } catch (Exception e) { + try{ + StrutsResponseUtils.output(printConfigManager.getTousseItemGroupingTypes()); + }catch(Exception e){ e.printStackTrace(); } } Index: ssts-print/src/main/java/com/forgon/disinfectsystem/printinvoiceconfig/dwr/table/PrintInvoiceConfigTableManager.java =================================================================== diff -u --- ssts-print/src/main/java/com/forgon/disinfectsystem/printinvoiceconfig/dwr/table/PrintInvoiceConfigTableManager.java (revision 0) +++ ssts-print/src/main/java/com/forgon/disinfectsystem/printinvoiceconfig/dwr/table/PrintInvoiceConfigTableManager.java (revision 14631) @@ -0,0 +1,37 @@ +package com.forgon.disinfectsystem.printinvoiceconfig.dwr.table; + +import java.util.List; +import java.util.Map; + +import com.forgon.component.grid.GridManager; +import com.forgon.disinfectsystem.entity.printinvoiceconfig.PrintInvoiceConfig; +import com.forgon.disinfectsystem.printinvoiceconfig.service.PrintInvoiceConfigManager; + +public class PrintInvoiceConfigTableManager { + private GridManager gridManager; + PrintInvoiceConfigManager printInvoiceConfigManager; + + public void setGridManager(GridManager gridManager) { + this.gridManager = gridManager; + } + + public void setPrintInvoiceConfigManager( + PrintInvoiceConfigManager printInvoiceConfigManager) { + this.printInvoiceConfigManager = printInvoiceConfigManager; + } + + public String findPrintInvoiceConfigTableList( + Map> parameterMap) { + String sql = ""; + return gridManager.renderGrid(parameterMap, + PrintInvoiceConfig.class.getSimpleName(), sql, new String[] { }); + } + + public void moveUpRecord(String number){ + printInvoiceConfigManager.moveUp(number); + } + + public void moveDownRecord(String number){ + printInvoiceConfigManager.moveDown(number); + } +} Index: ssts-print/src/main/java/com/forgon/disinfectsystem/printinvoiceconfig/action/PrintInvoiceConfigAction.java =================================================================== diff -u --- ssts-print/src/main/java/com/forgon/disinfectsystem/printinvoiceconfig/action/PrintInvoiceConfigAction.java (revision 0) +++ ssts-print/src/main/java/com/forgon/disinfectsystem/printinvoiceconfig/action/PrintInvoiceConfigAction.java (revision 14631) @@ -0,0 +1,103 @@ +package com.forgon.disinfectsystem.printinvoiceconfig.action; + +import java.util.HashMap; +import java.util.Map; + +import net.sf.json.JSONObject; + +import org.apache.commons.lang.StringUtils; +import org.apache.struts2.convention.annotation.Action; +import org.apache.struts2.convention.annotation.Namespace; +import org.apache.struts2.convention.annotation.ParentPackage; + + +import com.forgon.disinfectsystem.entity.printinvoiceconfig.PrintInvoiceConfig; +import com.forgon.disinfectsystem.printinvoiceconfig.service.PrintInvoiceConfigManager; +import com.forgon.tools.StrutsParamUtils; +import com.forgon.tools.StrutsResponseUtils; +import com.forgon.tools.db.DatabaseUtil; +import com.opensymphony.xwork2.ModelDriven; +import com.opensymphony.xwork2.Preparable; + + +@ParentPackage(value = "default") +@Namespace(value = "/disinfectSystem") +@Action(value = "printInvoiceConfigAction") +public class PrintInvoiceConfigAction implements ModelDriven,Preparable{ + + private PrintInvoiceConfig printInvoiceConfig; + private PrintInvoiceConfigManager printInvoiceConfigManager; + + public void setPrintInvoiceConfigManager( + PrintInvoiceConfigManager printInvoiceConfigManager) { + this.printInvoiceConfigManager = printInvoiceConfigManager; + } + + public void save(){ + try { + printInvoiceConfigManager.save(printInvoiceConfig); + StrutsResponseUtils.output(true,"保存成功"); + } catch (Exception e) { + e.printStackTrace(); + StrutsResponseUtils.output(false, "保存失败"); + } + } + + public void delete(){ + String ids = StrutsParamUtils.getPraramValue("ids", ""); + try { + if (StringUtils.isNotBlank(ids)) { + String[] str = ids.split(";"); + if(str.length != 0){ + printInvoiceConfigManager.delete(str); + } + StrutsResponseUtils.output(true,"删除成功"); + } + } catch (Exception e) { + StrutsResponseUtils.output(false,"删除失败"); + e.printStackTrace(); + } + } + + public void loadConfigData(){ + String id = StrutsParamUtils.getPraramValue("id", ""); + if (DatabaseUtil.isPoIdValid(id)) { + printInvoiceConfig = printInvoiceConfigManager.get(id); + Map map = new HashMap(); + map.put("success", true); + if(printInvoiceConfig != null){ + map.put("data", printInvoiceConfig); + } + try { + JSONObject jsonObject = JSONObject.fromObject(map); + StrutsResponseUtils.output(jsonObject); + } catch (Exception e) { + map.put("success", false); + e.printStackTrace(); + } + } + } + + public void loadAvailableTousseType(){ + try{ + StrutsResponseUtils.output(printInvoiceConfigManager.getTousseItemGroupingTypes()); + }catch(Exception e){ + e.printStackTrace(); + } + } + + @Override + public void prepare() throws Exception { + iniInfo(); + } + + @Override + public PrintInvoiceConfig getModel() { + return printInvoiceConfig; + } + + public void iniInfo() { + printInvoiceConfig = new PrintInvoiceConfig(); + } +} + Index: ssts-print/src/main/java/com/forgon/disinfectsystem/printinvoiceconfig/service/PrintInvoiceConfigManager.java =================================================================== diff -u --- ssts-print/src/main/java/com/forgon/disinfectsystem/printinvoiceconfig/service/PrintInvoiceConfigManager.java (revision 0) +++ ssts-print/src/main/java/com/forgon/disinfectsystem/printinvoiceconfig/service/PrintInvoiceConfigManager.java (revision 14631) @@ -0,0 +1,14 @@ +package com.forgon.disinfectsystem.printinvoiceconfig.service; + +import com.forgon.disinfectsystem.entity.printinvoiceconfig.PrintInvoiceConfig; + +import net.sf.json.JSONObject; + +public interface PrintInvoiceConfigManager { + public void moveUp(String number); + public void moveDown(String number); + public JSONObject getTousseItemGroupingTypes(); + public PrintInvoiceConfig get(String id); + void delete(String[] ids); + void save(PrintInvoiceConfig printInvoiceConfig); +} Index: ssts-web/src/main/webapp/disinfectsystem/printInvoiceConfig/printInvoiceConfigView.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/printInvoiceConfig/printInvoiceConfigView.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/printInvoiceConfig/printInvoiceConfigView.js (revision 14631) @@ -0,0 +1,121 @@ +var grid; +/** + * 修改记录 + * modifyRecord函数 触发modify函数调用,并传入当前列的值以及record.data对象 + * 页面中需要定义 modify(v,data) 函数 + */ +function modify(v,data){ + editConfig(data.id); +} + +function moveUp(number){ + if(number>1){ + PrintInvoiceConfigTableManager.moveUpRecord(number,function(){ + grid.getStore().reload(); + }); + } +} +function moveDown(number){ + PrintInvoiceConfigTableManager.moveDownRecord(number,function(){ + grid.getStore().reload(); + }); +} + +Ext.onReady(function() { + Ext.QuickTips.init(); + + function moveUpDown(v, p, record){ + var html = ''; + html += '向上移动     '; + html += ''; + html += '向下移动'; + return html; + } + + var columns = [ + {header : "标识号",dataIndex : 'id',hidden :true}, + {header : "班次",dataIndex : 'shift',width : 150, renderer : modifyRecord}, + {header : "同科室的多张发货单合并打印",dataIndex : 'mergePrint',width : 170}, + {id : 'departNames',header : "科室名称",dataIndex : 'departNames'}, + {header : "排序操作",dataIndex : 'orderNum', renderer : moveUpDown, sortable: false, menuDisabled: true}, + {header : "科室代码",dataIndex : 'departCodes',hidden : true} + ]; + var filters = new Ext.grid.GridFilters({ + filters : [ + {type:'string',dataIndex:'name'} + ] + }); + var readerDetail = [ + {name : 'id'}, + {name : 'shift'}, + {name : 'mergePrint'}, + {name : 'mergePrintTousseDisposable'}, + {name : 'printOrder'}, + {name : 'disinfectGoodsPrintMode'}, + {name : 'departNames'}, + {name : 'departCodes'}, + {name : 'orderNum'} + ]; + + var tbar = [{ + text : '添加', + hidden : SSTS_printApplication_manager, + iconCls : 'btn_ext_application_add', + handler : function() { + showWindow(); + } + },'-',{ + text : '修改', + hidden : SSTS_printApplication_manager, + iconCls : 'btn_ext_application_edit', + handler : function() { + var records = grid.getSelectionModel().getSelections(); + if (records.length == 0) { + showResult("请选择要修改的数据!"); + return false; + } + if (records.length > 1) { + showResult("请选择要修改的数据!"); + return false; + } + id = records[0].data['id']; + editConfig(id); + } + }, '-', { + text : '删除', + hidden : SSTS_printApplication_manager, + iconCls : 'btn_ext_application_del', + handler : function() { + deleteConfig(grid); + } + }]; + var dwrCallParams = null; + Ext.ux.ForgonPageGrid.prototype.getGridParameterMap = function() {}; + grid = new Ext.ux.ForgonPageGrid( { + tbar : tbar, + pageSize : 20, + defaultSortField : 'orderNum', + defaultSortDirection : 'ASC', + title : '打印发货单设置', + isCheckboxSelectionModel : true, + rememberSelected : false, + isShowSearchField : true, + columns : columns, + plugins : filters, + autoExpandColumn : 'departNames', + renderTo : 'gridDiv', + frame : false + }, readerDetail, + PrintInvoiceConfigTableManager.findPrintInvoiceConfigTableList, + dwrCallParams // 这个参数只是占位作用 + ); + var viewport = new Ext.Viewport({ + layout : 'border', + items : [{ + region : 'center', + margins : '0 0 0 0', + layout : 'fit', + items : grid + }] + }); +}); \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/printInvoiceConfig/printInvoiceConfigView.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/printInvoiceConfig/printInvoiceConfigView.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/printInvoiceConfig/printInvoiceConfigView.jsp (revision 14631) @@ -0,0 +1,76 @@ +<%@page import="java.util.Date"%> +<%@page import="java.text.SimpleDateFormat"%> +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ include file="/common/taglibs.jsp"%> +<% + request.setAttribute("userName",AcegiHelper.getLoginUser().getUserFullName()); + request.setAttribute("orgunit",AcegiHelper.getLoginUser().getCurrentOrgUnitName()); + request.setAttribute("orgUnitCoding",AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig()); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + request.setAttribute("today", dateFormat.format(new Date())); +%> + + + +<%@ include file="/common/includeExtJsAndCss.jsp"%> +<%@ include file="/common/includeExtJs4_2.jsp"%> + +打印发货单设置 + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+ + + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/printInvoiceConfig/printInvoiceConfigForm.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/printInvoiceConfig/printInvoiceConfigForm.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/printInvoiceConfig/printInvoiceConfigForm.js (revision 14631) @@ -0,0 +1,567 @@ +var configWin; +var formPanel; + +function cancel() { + configWin.close(); +} +function openSelectReceiverOrganization(departNames,codes){ + var param = { + allowNull:true, + onlyOneOrg : true, + resultType:'code', + tabType : 'orgUnit', + sameLevel :'yes', + range : 'all', + departNames :departNames, + departCodes : codes + }; + var selectedOrgUnitArray = openModalWindow(WWWROOT+"/common/selectOrgByExt.jsp",param, "800", "450"); + //org_3306;org_3219,口腔科;妇科 + var codes =''; + if(selectedOrgUnitArray != null&&selectedOrgUnitArray!=undefined){ + codes = ''; + var tem =''; + var tempArray = selectedOrgUnitArray[0].split(';'); + for(var i=0;i 1){ + showResult('一次只能选择一个设置项!'); + return; + } + var sheetRecord = sheetRecords[0]; + var curAvailableTousseTypeID = availableTousseTypeesGrid.getStore().getAt(rowIndex).data.tousseGroupID; + var curAvailableTousseTypeRecord = availableTousseTypeesGrid.getStore().getAt(rowIndex); + var store = availableTousseTypeesGrid.getStore(); + var tousseTypes = sheetRecord.data.tousseTypes; + if(checked){ + tousseTypes.push({ + type: curAvailableTousseTypeRecord.data.type, + tousseGroupName: curAvailableTousseTypeRecord.data.tousseGroupName, + tousseGroupID: curAvailableTousseTypeRecord.data.tousseGroupID + }); + }else{ + var newTousseTypes = []; + for(var i=0;i 0){ + sheetRecord = selected[0]; + } + var availableTousseTypeStore = availableTousseTypeesGrid.getStore(); + for(var i=0;i + + + Index: ssts-print/src/main/java/com/forgon/disinfectsystem/printRecyclingApplicationConfig/service/PrintConfigManager.java =================================================================== diff -u -r12331 -r14631 --- ssts-print/src/main/java/com/forgon/disinfectsystem/printRecyclingApplicationConfig/service/PrintConfigManager.java (.../PrintConfigManager.java) (revision 12331) +++ ssts-print/src/main/java/com/forgon/disinfectsystem/printRecyclingApplicationConfig/service/PrintConfigManager.java (.../PrintConfigManager.java) (revision 14631) @@ -19,5 +19,11 @@ public List findPrintConfigBySql(String sql); public JSONObject getTousseItemGroupingTypes(); + + /** + * 保存打印配置的实例。如果没有设置序号,则将序号设置为当前数据库中的最大值 + * @param printConfig + */ + public void save(PrintConfig printConfig); } Index: ssts-web/src/main/resources/spring/applicationContext-disinfectsystem-service.xml =================================================================== diff -u -r14590 -r14631 --- ssts-web/src/main/resources/spring/applicationContext-disinfectsystem-service.xml (.../applicationContext-disinfectsystem-service.xml) (revision 14590) +++ ssts-web/src/main/resources/spring/applicationContext-disinfectsystem-service.xml (.../applicationContext-disinfectsystem-service.xml) (revision 14631) @@ -761,8 +761,31 @@ + + + + + + + + + + PROPAGATION_REQUIRED + + + + + + + + + + Index: ssts-print/src/main/java/com/forgon/disinfectsystem/printinvoiceconfig/service/PrintInvoiceConfigManagerImpl.java =================================================================== diff -u --- ssts-print/src/main/java/com/forgon/disinfectsystem/printinvoiceconfig/service/PrintInvoiceConfigManagerImpl.java (revision 0) +++ ssts-print/src/main/java/com/forgon/disinfectsystem/printinvoiceconfig/service/PrintInvoiceConfigManagerImpl.java (revision 14631) @@ -0,0 +1,139 @@ +package com.forgon.disinfectsystem.printinvoiceconfig.service; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.collections4.CollectionUtils; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +import com.forgon.disinfectsystem.basedatamanager.tousseGroup.service.TousseGroupManager; +import com.forgon.disinfectsystem.entity.basedatamanager.tousseGroup.TousseGroup; +import com.forgon.disinfectsystem.entity.printRecyclingApplicationConfig.PrintConfig; +import com.forgon.disinfectsystem.entity.printinvoiceconfig.PrintInvoiceConfig; +import com.forgon.tools.db.DatabaseUtil; +import com.forgon.tools.hibernate.ObjectDao; + +public class PrintInvoiceConfigManagerImpl implements PrintInvoiceConfigManager { + + private ObjectDao objectDao; + private TousseGroupManager tousseGroupManager; + + public void setObjectDao(ObjectDao objectDao) { + this.objectDao = objectDao; + } + + public void setTousseGroupManager(TousseGroupManager tousseGroupManager) { + this.tousseGroupManager = tousseGroupManager; + } + + private JSONObject buildTousseType(String type,Long tousseGroupID,String tousseGroupName){ + JSONObject obj = new JSONObject(); + obj.put("type", type); + obj.put("tousseGroupID", tousseGroupID); + obj.put("tousseGroupName", tousseGroupName); + return obj; + } + + /** + * 获取TousseItem分组的类别集合 + */ + public JSONObject getTousseItemGroupingTypes() { + List tousseGroupList = tousseGroupManager.findAllTousseGroup(); + if(tousseGroupList == null){ + tousseGroupList = new ArrayList(); + } + JSONArray jsonArray = new JSONArray(); + // 器械包 + jsonArray.add(buildTousseType("器械包",0L,"所有")); + // 分组的器械包 + for (TousseGroup tousseGroup : tousseGroupList) { + jsonArray.add(buildTousseType("器械包",tousseGroup.getId(),tousseGroup.getTousseGroupName())); + } + // 消毒物品 + jsonArray.add(buildTousseType("消毒物品",0L,"")); + // 一次性物品 + jsonArray.add(buildTousseType("一次性物品",0L,"")); + int totalAmount = jsonArray.size(); + JSONObject obj = new JSONObject(); + obj.put("items", jsonArray); + obj.put("total", totalAmount); + return obj; + } + + @Override + public void moveUp(String number) { + Integer numberOrder = Integer.parseInt(number); + //判断是不是第二条记录 + if(numberOrder>1){ + PrintInvoiceConfig currentprintConfig = (PrintInvoiceConfig) objectDao.getByProperty_ForUpdate(PrintInvoiceConfig.class.getSimpleName() + , "orderNum", numberOrder); + + PrintInvoiceConfig printConfig = (PrintInvoiceConfig) objectDao.getByProperty_ForUpdate(PrintInvoiceConfig.class.getSimpleName() + , "orderNum", numberOrder-1); + + currentprintConfig.setOrderNum(numberOrder-1); + printConfig.setOrderNum(printConfig.getOrderNum()+1); + + objectDao.saveOrUpdate(currentprintConfig); + objectDao.saveOrUpdate(printConfig); + } + + } + + @Override + public void moveDown(String number) { + Integer numberOrder = Integer.parseInt(number); + + PrintInvoiceConfig printConfig = (PrintInvoiceConfig) objectDao.getByProperty_ForUpdate(PrintInvoiceConfig.class.getSimpleName() + , "orderNum", numberOrder+1); + if(printConfig != null){ + PrintInvoiceConfig currentPrintConfig = (PrintInvoiceConfig) objectDao. + getByProperty_ForUpdate(PrintInvoiceConfig.class.getSimpleName() + , "orderNum", numberOrder); + currentPrintConfig.setOrderNum(numberOrder+1); + + printConfig.setOrderNum(printConfig.getOrderNum()-1); + + objectDao.saveOrUpdate(currentPrintConfig); + objectDao.saveOrUpdate(printConfig); + } + } + + @Override + public PrintInvoiceConfig get(String id) { + return (PrintInvoiceConfig) objectDao.getByProperty(PrintInvoiceConfig.class.getSimpleName(), "id", Long.valueOf(id)); + } + + @Override + public void delete(String[] ids) { + List idList = null; + if(ids != null && ids.length > 0){ + idList = new ArrayList(); + for(String id: ids){ + idList.add(Long.valueOf(id)); + } + objectDao.delete(PrintInvoiceConfig.class.getSimpleName(), idList); + } + } + @Override + public void save(PrintInvoiceConfig printInvoiceConfig) { + if(printInvoiceConfig.getOrderNum() == null){ + String sql = "select max(p.orderNum) from PrintInvoiceConfig p"; + ResultSet resultSet = objectDao.executeSql(sql); + try { + while(resultSet.next()){ + int orderNum = resultSet.getInt(1); + printInvoiceConfig.setOrderNum(orderNum+1); + } + } catch (SQLException e) { + e.printStackTrace(); + }finally { + DatabaseUtil.closeResultSetAndStatement(resultSet); + } + } + objectDao.saveOrUpdate(printInvoiceConfig); + } +} Index: ssts-print/src/main/java/com/forgon/disinfectsystem/printRecyclingApplicationConfig/service/PrintConfigManagerImpl.java =================================================================== diff -u -r12331 -r14631 --- ssts-print/src/main/java/com/forgon/disinfectsystem/printRecyclingApplicationConfig/service/PrintConfigManagerImpl.java (.../PrintConfigManagerImpl.java) (revision 12331) +++ ssts-print/src/main/java/com/forgon/disinfectsystem/printRecyclingApplicationConfig/service/PrintConfigManagerImpl.java (.../PrintConfigManagerImpl.java) (revision 14631) @@ -1,5 +1,7 @@ package com.forgon.disinfectsystem.printRecyclingApplicationConfig.service; +import java.sql.ResultSet; +import java.sql.SQLException; import java.util.ArrayList; import java.util.List; @@ -9,6 +11,7 @@ import com.forgon.disinfectsystem.basedatamanager.tousseGroup.service.TousseGroupManager; import com.forgon.disinfectsystem.entity.basedatamanager.tousseGroup.TousseGroup; import com.forgon.disinfectsystem.entity.printRecyclingApplicationConfig.PrintConfig; +import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; public class PrintConfigManagerImpl implements PrintConfigManager { @@ -97,4 +100,22 @@ return obj; } + @Override + public void save(PrintConfig printConfig) { + if(printConfig.getOrderNum() == null){ + String sql = "select max(p.orderNum) from PrintConfig p"; + ResultSet resultSet = objectDao.executeSql(sql); + try { + while(resultSet.next()){ + int orderNum = resultSet.getInt(1); + printConfig.setOrderNum(orderNum+1); + } + } catch (SQLException e) { + e.printStackTrace(); + }finally { + DatabaseUtil.closeResultSetAndStatement(resultSet); + } + } + saveOrUpdate(printConfig); + } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/printinvoiceconfig/PrintInvoiceConfig.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/printinvoiceconfig/PrintInvoiceConfig.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/printinvoiceconfig/PrintInvoiceConfig.java (revision 14631) @@ -0,0 +1,164 @@ +package com.forgon.disinfectsystem.entity.printinvoiceconfig; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Lob; +import javax.persistence.Table; + +import org.hibernate.annotations.Cache; +import org.hibernate.annotations.CacheConcurrencyStrategy; +import com.forgon.disinfectsystem.common.CSSDConstants; + +/** + * 此类用来描述发货单的打印配置 + * @author kzh + * + */ +@Entity +@Table(name = "PrintInvoiceConfig") +@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) +public class PrintInvoiceConfig { + + private Long id; + + /** + * 同科室的多张发货单是否合并打印 + */ + private String mergePrint; + + /** + * 器械包和一次性物品是否合并打印 + */ + private String mergePrintTousseDisposable = MERGE_PRINT_YES; + /** + * 器械包和一次性物品的打印顺序 + */ + private Integer printOrder = CSSDConstants.PRINT_ORDER_DISPOSABLE_FIRST; + /** + * 消毒物品的打印方式 + */ + private Integer disinfectGoodsPrintMode = CSSDConstants.PRINT_WITH_TOUSSE_FIRST; + + public static final String MERGE_PRINT_YES = "是"; + public static final String MERGE_PRINT_NO = "否"; + + private String name; + /** + * 用字符串保存每个名称负责的科室代码,科室代码之间以;号隔开 + */ + private String departCodes; + /** + * 用字符串保存每个名称负责的科室名称,科室名称之间以;号隔开 + */ + private String departNames; + /** + * 班次名称 + */ + private String shift ; + /** + * 排序 + */ + private Integer orderNum; + /** + * 器械包分组的相关配置 + */ + private String tousseGroupConfig; + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getMergePrint() { + return mergePrint; + } + + public void setMergePrint(String mergePrint) { + this.mergePrint = mergePrint; + } + + public String getMergePrintTousseDisposable() { + return mergePrintTousseDisposable; + } + + public void setMergePrintTousseDisposable(String mergePrintTousseDisposable) { + this.mergePrintTousseDisposable = mergePrintTousseDisposable; + } + + public Integer getPrintOrder() { + return printOrder; + } + + public void setPrintOrder(Integer printOrder) { + this.printOrder = printOrder; + } + + public Integer getDisinfectGoodsPrintMode() { + return disinfectGoodsPrintMode; + } + + public void setDisinfectGoodsPrintMode(Integer disinfectGoodsPrintMode) { + this.disinfectGoodsPrintMode = disinfectGoodsPrintMode; + } + + public String getShift() { + return shift; + } + + public void setShift(String shift) { + this.shift = shift; + } + + @Lob + @Column(length = 30000) + public String getDepartCodes() { + return departCodes; + } + + public void setDepartCodes(String departCodes) { + this.departCodes = departCodes; + } + + @Lob + @Column(length = 30000) + public String getDepartNames() { + return departNames; + } + + public void setDepartNames(String departNames) { + this.departNames = departNames; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getOrderNum() { + return orderNum; + } + + public void setOrderNum(Integer orderNum) { + this.orderNum = orderNum; + } + + public String getTousseGroupConfig() { + return tousseGroupConfig; + } + + public void setTousseGroupConfig(String tousseGroupConfig) { + this.tousseGroupConfig = tousseGroupConfig; + } + +}