Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r15736 -r15743 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 15736) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 15743) @@ -7102,50 +7102,7 @@ return smtList; } - /** - * 如果本月未盘点就统计,则本月数据除报废和入库其他为0 - * - * @return - */ - public Map getCurrentData() { - String sql = " select md.name,md.specification,mi.count ,md.storage,ds.toussename,ds.cardinalnum from " - + "MaterialInstance mi,MaterialDefinition md, toussedefinition td, departmentstock ds " - + "where mi.materialdefinition_id = md.id " - + "and md.isMonthCheck = '是' " - + "and mi.tousse_id = td.id " - + "and td.name = ds.toussename " + "order by md.name "; - - - Map smpMap = new LinkedHashMap(); - SupplyRoomMaterialStocktaking smt = null; - ResultSet resultSet = objectDao.executeSql(sql); - try { - while (resultSet.next()) { - smt = new SupplyRoomMaterialStocktaking(); - String materialName = resultSet.getString(1); - String specification = resultSet.getString(2) == null ? "" - : resultSet.getString(2); - if (!"".equals(specification)) { - materialName = materialName + "[" + specification + "]"; - } - smt.setName(materialName); - smt.setCurrentMonthOperation(0); - smt.setCurrentStock(0); - smt.setCurrentMonthSum(0); - smpMap.put(materialName, smt); - - } - } catch (SQLException e) { - e.printStackTrace(); - }finally { - DatabaseUtil.closeResultSetAndStatement(resultSet); - } - - return smpMap; - } - - /** * 获取清洗不合格率部位数量统计 * Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java =================================================================== diff -u -r15718 -r15743 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 15718) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 15743) @@ -21,6 +21,7 @@ import com.forgon.disinfectsystem.jasperreports.javabeansource.DeviceMaintenanceBean; import com.forgon.disinfectsystem.jasperreports.javabeansource.DisinfectionFractionDefectiveBean; import com.forgon.disinfectsystem.jasperreports.javabeansource.EighteenQuotaBean; +import com.forgon.disinfectsystem.jasperreports.javabeansource.ForeignTousseAfterUseDeliveryVO; import com.forgon.disinfectsystem.jasperreports.javabeansource.ForeignTousseApplicationVO; import com.forgon.disinfectsystem.jasperreports.javabeansource.ForeignTousseSterilizationMonitorAndDeliveryVO; import com.forgon.disinfectsystem.jasperreports.javabeansource.GodownEntryItemVo; @@ -48,10 +49,7 @@ import com.forgon.disinfectsystem.jasperreports.javabeansource.WorkQualityCollection; import com.forgon.disinfectsystem.jasperreports.javabeansource.YearReportChartBean; import com.forgon.disinfectsystem.jasperreports.javabeansource.YearWorkLoadReportBean; -import com.forgon.disinfectsystem.jasperreports.javabeansource.ForeignTousseAfterUseDeliveryVO; -import com.forgon.disinfectsystem.jasperreports.javabeansource.returnGoodsSummary; import com.forgon.disinfectsystem.vo.SupplyRoomMaterialStocktaking; -import com.forgon.tools.StrutsParamUtils; /** * @author wangyi 2012-08-15 上午12:04 Index: forgon-core/src/main/java/com/forgon/Constants.java =================================================================== diff -u -r15634 -r15743 --- forgon-core/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 15634) +++ forgon-core/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 15743) @@ -19,7 +19,7 @@ "3.3.0","3.3.8", "3.3.9", "3.3.10","3.3.12","3.3.13","3.8.0","3.9.0","3.9.1","3.9.2","4.0.2","4.0.3","4.0.4", "4.0.5","4.0.6","4.0.44","4.0.45","4.1.0","4.1.1","4.1.2","4.1.3","4.1.4","4.1.5","4.1.6","4.1.7","4.1.8","4.1.9","4.2.0","4.2.1","4.2.2", "4.2.3","4.2.4","4.2.5","4.2.6","4.2.7","4.2.8","4.2.9","4.3.0","4.3.1","4.3.2","4.3.3","4.3.4","4.3.5","4.3.6","4.3.7","4.3.8","4.3.9", - "4.4.0","4.4.1","4.4.2","4.4.3"};// 版本列表 + "4.4.0","4.4.1","4.4.2","4.4.3","4.4.4"};// 版本列表 public final static List SOFTWARE_VERSION_LIST = Arrays .asList(SOFTWARE_VERSION_ARRAY); public final static String SOFTWARE_VERSION = SOFTWARE_VERSION_ARRAY[SOFTWARE_VERSION_ARRAY.length - 1];// 软件最新版本 Index: ssts-web/src/main/java/com/forgon/disinfectsystem/inventoryrecord/service/InventoryRecordManagerImpl.java =================================================================== diff -u -r15651 -r15743 --- ssts-web/src/main/java/com/forgon/disinfectsystem/inventoryrecord/service/InventoryRecordManagerImpl.java (.../InventoryRecordManagerImpl.java) (revision 15651) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/inventoryrecord/service/InventoryRecordManagerImpl.java (.../InventoryRecordManagerImpl.java) (revision 15743) @@ -433,9 +433,10 @@ objectDao.saveOrUpdate(record); List items = new ArrayList(); + String inventoryDepartCoding = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig() + ","; String sql = "select min(m.externalCode),min(m.name),min(m.specification),sum(s.amount),min(m.cost),m.id,min(m.unit) from MaterialDefinition m " - + "left join GoodsStock s on m.id = s.materialDefinitionId where m.isMonthCheck = '是' and " + + "left join GoodsStock s on m.id = s.materialDefinitionId where m.inventoryDepartCoding like '%" + inventoryDepartCoding + "%' and " + "wareHouseId = " + wareHouseId + " group by m.id order by min(m.externalCode) asc"; ResultSet rs = objectDao.executeSql(sql); while(rs.next()){ Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ImportBasedataManagerImpl.java =================================================================== diff -u -r15665 -r15743 --- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ImportBasedataManagerImpl.java (.../ImportBasedataManagerImpl.java) (revision 15665) +++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ImportBasedataManagerImpl.java (.../ImportBasedataManagerImpl.java) (revision 15743) @@ -38,6 +38,7 @@ import com.forgon.disinfectsystem.basedatamanager.sterilisation.service.SterilisationManager; import com.forgon.disinfectsystem.basedatamanager.sterilizer.service.SterilizerManager; import com.forgon.disinfectsystem.basedatamanager.supplier.service.SupplierManager; +import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.basedatamanager.toussedefinition.service.TousseDefinitionUtils; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.common.CssdUtils; @@ -59,6 +60,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.sterilisation.Sterilisation; import com.forgon.disinfectsystem.entity.basedatamanager.sterilizer.Sterilizer; import com.forgon.disinfectsystem.entity.basedatamanager.supplier.Supplier; +import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; import com.forgon.disinfectsystem.entity.basedatamanager.taskGroup.TaskGroup; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinitionMaterial; @@ -130,6 +132,13 @@ private THTreeNodeManager thTreeNodeManager; + private SupplyRoomConfigManager supplyRoomConfigManager; + + public void setSupplyRoomConfigManager( + SupplyRoomConfigManager supplyRoomConfigManager) { + this.supplyRoomConfigManager = supplyRoomConfigManager; + } + public void setThTreeNodeManager(THTreeNodeManager thTreeNodeManager) { this.thTreeNodeManager = thTreeNodeManager; } @@ -1149,6 +1158,14 @@ String yesOrNo = ";是;否;"; List typeList = httpOptionManager .getHttpOptionTextById(HttpOption.SYSTEMSETTING_MATERIALTYPE); + + SupplyRoomConfig config = supplyRoomConfigManager.getFirstSupplyRoomConfig(); + + String orgUnitCoding = ""; + if(config != null){ + orgUnitCoding = config.getOrgUnitCoding(); + } + for (int i = 1; i <= lastRowNum; i++) { HSSFRow row = materialDefinitionSheet.getRow(i); int currentRowNum = i + 1; @@ -1319,7 +1336,7 @@ materialDefinition.setCost(cost); materialDefinition.setDepreciation(depreciation); materialDefinition.setIsTraceble(isTraceble); - materialDefinition.setIsMonthCheck(needCheck); + materialDefinition.setInventoryDepartCoding(needCheck, orgUnitCoding); materialDefinition.setDisinfectionPrice(disinfectorPrice); materialDefinition.setSterilizationPrice(sterilePrice); materialDefinition.setWashClassifyType(washClassifyType); @@ -1351,7 +1368,7 @@ materialDefinition.setIsTraceble(isTraceble); } if( StringUtils.isNotBlank(needCheck)){ - materialDefinition.setIsMonthCheck(needCheck); + materialDefinition.setInventoryDepartCoding(needCheck, orgUnitCoding); } if( disinfectorPrice != null){ materialDefinition.setDisinfectionPrice(disinfectorPrice); Index: ssts-web/src/main/webapp/dataUpdater/sqls/4.4.3_4.4.4_sqlserver.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/4.4.3_4.4.4_sqlserver.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/4.4.3_4.4.4_sqlserver.sql (revision 15743) @@ -0,0 +1 @@ +update MaterialDefinition set inventoryDepartCoding = (select orgUnitCoding + ',' from SupplyRoomConfig where supplyRoomType = 1) where isMonthCheck = '是'; \ No newline at end of file Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/materialdefinition/MaterialDefinition.java =================================================================== diff -u -r15198 -r15743 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/materialdefinition/MaterialDefinition.java (.../MaterialDefinition.java) (revision 15198) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/materialdefinition/MaterialDefinition.java (.../MaterialDefinition.java) (revision 15743) @@ -17,6 +17,8 @@ import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; +import com.forgon.Constants; +import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.disinfectsystem.entity.basedatamanager.imagefilemanager.ImageFile; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.string.StringTools; @@ -61,7 +63,10 @@ private String isTraceble; // 单一器械跟踪 - private String isMonthCheck; // 是否需要月盘点 + /** + * 月盘点科室编码 , 多个科室编码用,分割 + */ + private String inventoryDepartCoding; private String spelling; // 拼音码 @@ -311,17 +316,35 @@ this.isUploadImage = isUploadImage; } - public String getIsMonthCheck() { - if(isMonthCheck == null || "".equals(isMonthCheck)){ - isMonthCheck = "否"; + public String getInventoryDepartCoding() { + return inventoryDepartCoding; + } + + /** + * 是否月盘点科室 + * @param departCoding + * @return + */ + @Transient + public boolean isInventoryDepart(String departCoding){ + boolean isInventory = false; + if (StringUtils.isNotBlank(departCoding) + && StringUtils.isNotBlank(inventoryDepartCoding)) { + String[] departCodingArray = inventoryDepartCoding.split(","); + for (String coding : departCodingArray) { + if (departCoding.equals(coding)) { + isInventory = true; + break; + } + } } - return isMonthCheck; + return isInventory; } - public void setIsMonthCheck(String isMonthCheck) { - this.isMonthCheck = isMonthCheck; + public void setInventoryDepartCoding(String inventoryDepartCoding) { + this.inventoryDepartCoding = inventoryDepartCoding; } - + public String getInventorySerialNumber() { return inventorySerialNumber; } @@ -422,4 +445,62 @@ this.isImplant = isImplant; } + @Transient + public String getIsMonthCheck() { + String orgUnitCoding = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); + String inventoryDepartCoding = getInventoryDepartCoding(); + String codingStr = orgUnitCoding + ","; + String isMothCheck = Constants.STR_NO; + if (StringUtils.isNotBlank(inventoryDepartCoding)) { + int index = inventoryDepartCoding.indexOf(codingStr); + if(index != -1){ + isMothCheck = Constants.STR_YES; + } + } + return isMothCheck; + } + + public void setIsMonthCheck(String isMonthCheck) { + if (StringUtils.isNotBlank(isMonthCheck)) { + String orgUnitCoding = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); + setDepartCoding(isMonthCheck, orgUnitCoding); + } + } + + private void setDepartCoding(String isMonthCheck, String orgUnitCoding) { + if(StringUtils.isNotBlank(orgUnitCoding)){ + String inventoryDepartCoding = getInventoryDepartCoding(); + String codingStr = orgUnitCoding + ","; + if (Constants.STR_YES.equals(isMonthCheck)) { + if (StringUtils.isBlank(inventoryDepartCoding)) { + inventoryDepartCoding = codingStr; + } else { + int index = inventoryDepartCoding.indexOf(codingStr); + if (index == -1) { + inventoryDepartCoding += codingStr; + } + } + setInventoryDepartCoding(inventoryDepartCoding); + } else { + if (StringUtils.isNotBlank(inventoryDepartCoding)) { + int index = inventoryDepartCoding.indexOf(codingStr); + if (index != -1) { + String tmpCoding = inventoryDepartCoding.replaceAll(codingStr, ""); + setInventoryDepartCoding(tmpCoding); + } + } + } + } + } + + /** + * 设置月盘点科室编码 + * @param isMonthCheck + * @param orgUnitCoding + */ + public void setInventoryDepartCoding(String isMonthCheck,String orgUnitCoding){ + setDepartCoding(isMonthCheck,orgUnitCoding); + } + + } Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialdefinition/action/MaterialDefinitionAction.java =================================================================== diff -u -r15260 -r15743 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialdefinition/action/MaterialDefinitionAction.java (.../MaterialDefinitionAction.java) (revision 15260) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialdefinition/action/MaterialDefinitionAction.java (.../MaterialDefinitionAction.java) (revision 15743) @@ -27,6 +27,7 @@ import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; +import com.forgon.Constants; import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.model.OrgUnit; import com.forgon.disinfectsystem.basedatamanager.goodsstock.service.GoodsStockManager; @@ -135,7 +136,6 @@ */ public String saveMaterialDefinition() { JSONObject obj = new JSONObject(); - if (!DatabaseUtil.isPoIdValid(materialDefinition.getId())) { materialDefinition.setId(null); } @@ -169,7 +169,7 @@ StrutsResponseUtils.output(obj); return null; } - + public void deleteMaterialDefinition() { String idStr = StrutsParamUtils.getPraramValue("ids", ""); String message = ""; @@ -701,4 +701,22 @@ iniInfo(); } + public void loadCssdStore(){ + JSONArray array = supplyRoomConfigManager.getCssdList(); + JSONObject result = new JSONObject(); + result.put("totalCount", array.size()); + JSONArray data = new JSONArray(); + if(data != null){ + for (int i = 0; i < array.size(); i++) { + JSONObject obj = new JSONObject(); + JSONObject cssdJson = array.optJSONObject(i); + obj.put("value", cssdJson.optString("departCode")); + obj.put("text", cssdJson.optString("departName")); + data.add(obj); + } + } + result.put("data", data); + StrutsResponseUtils.output(result); + } + } Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/service/MaterialCheckManagerImpl.java =================================================================== diff -u -r15043 -r15743 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/service/MaterialCheckManagerImpl.java (.../MaterialCheckManagerImpl.java) (revision 15043) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/service/MaterialCheckManagerImpl.java (.../MaterialCheckManagerImpl.java) (revision 15743) @@ -36,9 +36,9 @@ @SuppressWarnings("unchecked") @Override public void materialCheck(Long warehouseId,Long inventoryRecordId) { - + String orgUnitCoding = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig() + ","; String sql = "select min(m.externalCode),min(m.name),min(m.specification),sum(s.amount),min(m.cost),m.id from MaterialDefinition m " - + "left join GoodsStock s on m.id = s.materialDefinitionId where m.isMonthCheck = '是' and " + + "left join GoodsStock s on m.id = s.materialDefinitionId where m.inventoryDepartCoding like '%" +orgUnitCoding + "%' and " + "wareHouseId = " + warehouseId + " group by m.id"; ResultSet rs = objectDao.executeSql(sql); if(rs != null){ Index: ssts-web/src/main/webapp/dataUpdater/sqls/4.4.3_4.4.4_oracle.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/4.4.3_4.4.4_oracle.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/4.4.3_4.4.4_oracle.sql (revision 15743) @@ -0,0 +1 @@ +update MaterialDefinition set inventoryDepartCoding = (select orgUnitCoding || ',' from SupplyRoomConfig where supplyRoomType = 1) where isMonthCheck = '是'; \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/materialDefinition/materialDefinitionView.jsp =================================================================== diff -u -r13520 -r15743 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/materialDefinition/materialDefinitionView.jsp (.../materialDefinitionView.jsp) (revision 13520) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/materialDefinition/materialDefinitionView.jsp (.../materialDefinitionView.jsp) (revision 15743) @@ -13,10 +13,8 @@ - - + +