Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java =================================================================== diff -u -r12679 -r12738 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 12679) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 12738) @@ -23,6 +23,7 @@ import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodBatchStockManager; import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodsManager; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; @@ -41,10 +42,10 @@ @ParentPackage(value = "default") @Namespace(value = "/disinfectSystem") @Action(value = "diposableGoodsAction") -public class DiposableGoodsAction implements ModelDriven, +public class DiposableGoodsAction implements ModelDriven, Preparable { - private DisposableGoodsStock diposableGoods; + private DisposableGoods diposableGoods; private String spell; @@ -110,7 +111,7 @@ // 设置五笔码 diposableGoods.setWbCode(GB2WB.getWBCode(diposableGoods.getName())); if(DatabaseUtil.isPoIdValid(diposableGoods.getId())){ - diposableGoodsManager.update_TRANS_REQUIRED(diposableGoods); + diposableGoodsManager.updateDisposableGoods_TRANS_REQUIRED(diposableGoods); }else{ diposableGoodsManager.saveOrUpdate(diposableGoods); } @@ -334,8 +335,10 @@ } String allItems = StrutsParamUtils.getPraramValue("allItems", null); - JSONObject json = diposableGoodsManager.searchDiposableGoods( - spell, allItems); + String wareHouseId = StrutsParamUtils.getPraramValue("wareHouseId", + null); + JSONObject json = diposableGoodsManager.searchDisposableGoodsList( + spell, allItems,wareHouseId); HttpServletResponse response = StrutsParamUtils.getResponse(); response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); @@ -548,12 +551,12 @@ if (StringUtils.isNotBlank(id) && !id.equals("0")) { diposableGoods = diposableGoodsManager.getDiposableGoodsById(id); } else { - diposableGoods = new DisposableGoodsStock(); + diposableGoods = new DisposableGoods(); } } @Override - public DisposableGoodsStock getModel() { + public DisposableGoods getModel() { return diposableGoods; } Index: ssts-web/src/main/java/com/forgon/disinfectsystem/stocktakemanager/service/StockTakeInfoManagerImpl.java =================================================================== diff -u -r12730 -r12738 --- ssts-web/src/main/java/com/forgon/disinfectsystem/stocktakemanager/service/StockTakeInfoManagerImpl.java (.../StockTakeInfoManagerImpl.java) (revision 12730) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/stocktakemanager/service/StockTakeInfoManagerImpl.java (.../StockTakeInfoManagerImpl.java) (revision 12738) @@ -19,7 +19,7 @@ import com.forgon.disinfectsystem.basedatamanager.goodsstock.service.GoodsStockManager; import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodsManager; import com.forgon.disinfectsystem.diposablegoods.service.GodownEntryManager; -import com.forgon.disinfectsystem.diposablegoods.util.DiposableGoodsUtils; +import com.forgon.disinfectsystem.diposablegoods.util.DisposableGoodsUtils; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntry; @@ -468,7 +468,7 @@ diposableGoodsBatchIDsSet.add(batchID);// 批次ID } // 根据批次库存ID,获取一次性物品库存ID。 - List diposableGoodsIDs = DiposableGoodsUtils + List diposableGoodsIDs = DisposableGoodsUtils .getDiposableGoodsIdsFromGoodsBatchByBatchIDs(objectDao, diposableGoodsBatchIDsSet); //如果该一次性物品在对应仓库不存在的话则抛出异常(暂时不进行判断,一般来说一次性物品批次在对应仓库存在那么该一次性物品在对仓库的库存数据也会存在) diposableGoodsIDsSet.addAll(diposableGoodsIDs); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/action/WareHouseAction.java =================================================================== diff -u -r12674 -r12738 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/action/WareHouseAction.java (.../WareHouseAction.java) (revision 12674) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/action/WareHouseAction.java (.../WareHouseAction.java) (revision 12738) @@ -6,6 +6,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; + import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONObject; @@ -20,7 +21,6 @@ import org.apache.struts2.convention.annotation.ParentPackage; import com.forgon.directory.acegi.tools.AcegiHelper; -import com.forgon.directory.model.OrgUnit; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; @@ -201,22 +201,7 @@ public void getWareHouseData() { try { String orgUnitCoding = AcegiHelper.getLoginUser().getCurrentOrgUnitCode(); - OrgUnit orgUnit = new OrgUnit(); - orgUnit.setOrgUnitCoding(orgUnitCoding); - List wareHouselist = wareHouseManager.getWareHouseListByOrgUnit(orgUnit); - List> data = new ArrayList>(); - for (WareHouse wareHouse : wareHouselist) { - Map temp = new HashMap(); - temp.put("id", wareHouse.getId()); - temp.put("name", wareHouse.getName()); - temp.put("orgUnitCode", wareHouse.getOrgUnitCode()); - data.add(temp); - } - Map map = new HashMap(); - map.put("totalCount", data.size()); - map.put("data", data); - - JSONObject json = JSONObject.fromObject(map); + JSONObject json = wareHouseManager.getAllWareHouse(orgUnitCoding); HttpServletResponse response = StrutsParamUtils.getResponse(); response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); @@ -227,6 +212,7 @@ } } + @Override public void prepare() throws Exception { String id = StrutsParamUtils.getPraramValue("id", ""); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/util/DiposableGoodsUtils.java =================================================================== diff -u -r12727 -r12738 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/util/DiposableGoodsUtils.java (.../DiposableGoodsUtils.java) (revision 12727) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/util/DiposableGoodsUtils.java (.../DisposableGoodsUtils.java) (revision 12738) @@ -10,18 +10,21 @@ import org.apache.commons.lang3.StringUtils; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatch; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntryItem; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.string.StringTools; import com.forgon.util.SqlUtils; /** * @author Jeff Li * */ -public class DiposableGoodsUtils { +public class DisposableGoodsUtils { // 是否包含某个id public static boolean isGodownEntryItemsContainItemId( List items, Long id) { @@ -139,5 +142,4 @@ } return name; } - } Index: ssts-receiverecord/src/main/java/com/forgon/disinfectsystem/receiverecord/service/ReceiveRecordManagerImpl.java =================================================================== diff -u -r12728 -r12738 --- ssts-receiverecord/src/main/java/com/forgon/disinfectsystem/receiverecord/service/ReceiveRecordManagerImpl.java (.../ReceiveRecordManagerImpl.java) (revision 12728) +++ ssts-receiverecord/src/main/java/com/forgon/disinfectsystem/receiverecord/service/ReceiveRecordManagerImpl.java (.../ReceiveRecordManagerImpl.java) (revision 12738) @@ -33,7 +33,7 @@ import com.forgon.disinfectsystem.basedatamanager.goodsstock.service.GoodsStockManager; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodsManager; -import com.forgon.disinfectsystem.diposablegoods.util.DiposableGoodsUtils; +import com.forgon.disinfectsystem.diposablegoods.util.DisposableGoodsUtils; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.assestmanagement.IdentificationOfDisposableGoods; @@ -462,7 +462,7 @@ batchIDsSet.add(objID);// 批次ID } // 根据批次ID,获取一次性物品ID。 - List diposableGoodsIDs = DiposableGoodsUtils.getDiposableGoodsIDsByBatchIDs(objectDao, batchIDsSet); + List diposableGoodsIDs = DisposableGoodsUtils.getDiposableGoodsIDsByBatchIDs(objectDao, batchIDsSet); diposableGoodsIDsSet.addAll(diposableGoodsIDs); // 标识号id Long recordID = record.getId(); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GoodPurchasePlanManagerImpl.java =================================================================== diff -u -r12728 -r12738 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GoodPurchasePlanManagerImpl.java (.../GoodPurchasePlanManagerImpl.java) (revision 12728) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GoodPurchasePlanManagerImpl.java (.../GoodPurchasePlanManagerImpl.java) (revision 12738) @@ -22,7 +22,7 @@ import com.forgon.Constants; import com.forgon.directory.service.OrgUnitManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; -import com.forgon.disinfectsystem.diposablegoods.util.DiposableGoodsUtils; +import com.forgon.disinfectsystem.diposablegoods.util.DisposableGoodsUtils; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntry; Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodBatchStockManager.java =================================================================== diff -u -r12728 -r12738 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodBatchStockManager.java (.../DiposableGoodBatchStockManager.java) (revision 12728) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodBatchStockManager.java (.../DiposableGoodBatchStockManager.java) (revision 12738) @@ -5,6 +5,7 @@ import java.util.List; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.assestmanagement.IdentificationOfDisposableGoods; Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r12728 -r12738 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 12728) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 12738) @@ -57,6 +57,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; +import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; import com.forgon.disinfectsystem.entity.departmentstock.DepartmentStock; import com.forgon.disinfectsystem.entity.foreigntousseapplication.ForeignTousseApplication; import com.forgon.disinfectsystem.entity.invoicemanager.DiposableGoodsItem; @@ -2938,7 +2939,21 @@ result.add("tips", tips); return result; - } else { + }else if(barcodeDevice instanceof WareHouse){ + WareHouse wareHouse = (WareHouse)barcodeDevice; + JsonObject data = new JsonObject(); + data.addProperty("wareHouseID", wareHouse.getId()); + data.addProperty("wareHouseName", wareHouse.getName()); + + JsonObject result = new JsonObject(); + result.addProperty("success", true); + result.addProperty("barcode", barcode); + result.addProperty("type", "wareHouse"); + + result.add("data", data); + result.add("tips", tips); + return result; + }else { return buildErrorMsgJsonResult("查无此物品"); } } Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/GodownEntryAction.java =================================================================== diff -u -r12692 -r12738 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/GodownEntryAction.java (.../GodownEntryAction.java) (revision 12692) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/GodownEntryAction.java (.../GodownEntryAction.java) (revision 12738) @@ -213,7 +213,10 @@ private void buildGodownEntryParamsForSave(GodownEntry entry) { String items = StrutsParamUtils.getPraramValue("items", ""); - setGodownEntryItemsFromParams(entry, items); + String formParams = StrutsParamUtils.getPraramValue("formParams", ""); + + setGodownEntryPropertiesFromParams(entry,formParams,items); + //setGodownEntryItemsFromParams(entry, items); } /* 增加一次性物品的并发控制,可以多个人同时入库同一个物品 Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManagerImpl.java =================================================================== diff -u -r12732 -r12738 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManagerImpl.java (.../WareHouseManagerImpl.java) (revision 12732) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManagerImpl.java (.../WareHouseManagerImpl.java) (revision 12738) @@ -2,8 +2,12 @@ import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import net.sf.json.JSONObject; + import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -158,4 +162,25 @@ public WareHouse getWareHouseById(Long id){ return (WareHouse)objectDao.getByProperty(WareHouse.class.getSimpleName(), "id", id); } + + @Override + public JSONObject getAllWareHouse(String orgUnitCoding) { + OrgUnit orgUnit = new OrgUnit(); + orgUnit.setOrgUnitCoding(orgUnitCoding); + List wareHouselist = getWareHouseListByOrgUnit(orgUnit); + List> data = new ArrayList>(); + for (WareHouse wareHouse : wareHouselist) { + Map temp = new HashMap(); + temp.put("id", wareHouse.getId()); + temp.put("name", wareHouse.getName()); + temp.put("orgUnitCode", wareHouse.getOrgUnitCode()); + data.add(temp); + } + Map map = new HashMap(); + map.put("totalCount", data.size()); + map.put("data", data); + map.put("success", true); + + return JSONObject.fromObject(map); + } } Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStockManagerImpl.java =================================================================== diff -u --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStockManagerImpl.java (revision 0) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStockManagerImpl.java (revision 12738) @@ -0,0 +1,32 @@ +package com.forgon.disinfectsystem.diposablegoods.service; + +import java.util.List; + +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; +import com.forgon.tools.db.DatabaseUtil; +import com.forgon.tools.hibernate.ObjectDao; + +public class DisposableGoodsStockManagerImpl implements + DisposableGoodsStockManager { + + private ObjectDao objectDao; + + public void setObjectDao(ObjectDao objectDao) { + this.objectDao = objectDao; + } + + @Override + public DisposableGoodsStock getDisposableGoodsStockByDisposableGoodsId( + String disposableGoodsId,String wareHouseId) { + if(DatabaseUtil.isPoIdValid(disposableGoodsId) && DatabaseUtil.isPoIdValid(wareHouseId)){ + String sql = " where po.disposableGoodsID = " + disposableGoodsId + + " and po.warehouseID = " + + wareHouseId + " order by po.id desc"; + List list = objectDao.findBySql(DisposableGoodsStock.class.getSimpleName(), sql); + if(list != null && !list.isEmpty()){ + return (DisposableGoodsStock)list.get(0); + } + } + return null; + } +} Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java =================================================================== diff -u -r12731 -r12738 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 12731) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 12738) @@ -18,6 +18,7 @@ import javax.servlet.http.HttpServletRequest; +import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.commons.lang.StringUtils; @@ -33,7 +34,7 @@ import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.model.BarcodeDevice; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; -import com.forgon.disinfectsystem.diposablegoods.util.DiposableGoodsUtils; +import com.forgon.disinfectsystem.diposablegoods.util.DisposableGoodsUtils; import com.forgon.disinfectsystem.entity.assestmanagement.DiposableGoodsInstance; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatch; @@ -72,6 +73,7 @@ import com.forgon.tools.excel.ParerUtils; import com.forgon.tools.format.FormatString; import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.string.StringTools; import com.forgon.tools.util.SqlUtils; public class DiposableGoodsManagerImpl implements DiposableGoodsManager { @@ -92,6 +94,8 @@ private SerialNumManager serialNumManager; + private DisposableGoodsStockManager disposableGoodsStockManager; + public void setAttachFileManager(AttachFileManager attachFileManager) { this.attachFileManager = attachFileManager; } @@ -127,6 +131,11 @@ this.serialNumManager = serialNumManager; } + public void setDisposableGoodsStockManager( + DisposableGoodsStockManager disposableGoodsStockManager) { + this.disposableGoodsStockManager = disposableGoodsStockManager; + } + public void saveOrUpdate(DisposableGoodsStock disposableGoodsStock) { // 处理“” if (StringUtils.isBlank(disposableGoodsStock.getSpecification())) { @@ -136,6 +145,18 @@ disposableGoodsStock.recalculateAmount(); objectDao.saveOrUpdate(disposableGoodsStock); } + /** + * 保存一次性物品定义 + */ + public void saveOrUpdate(DisposableGoods disposableGoods) { + // 处理“” + if (StringUtils.isBlank(disposableGoods.getSpecification())) { + disposableGoods.setSpecification(null); + } + // 重新计算库存 + //disposableGoods.recalculateAmount(); + objectDao.saveOrUpdate(disposableGoods); + } public void update_TRANS_REQUIRED(DisposableGoodsStock disposableGoodsStock){ saveOrUpdate(disposableGoodsStock); @@ -156,7 +177,30 @@ updateNameAndSpecification(oldName, oldSpecification, newName, newSpecification); } } - + /** + * 更新一次性物品定义 + */ + @Override + public void updateDisposableGoods_TRANS_REQUIRED( + DisposableGoods diposableGoods) { + saveOrUpdate(diposableGoods); + // 如果修改了名称或者规则,同步修改其他关联的表 + String oldName = diposableGoods.getOrginalName(); + String oldSpecification = diposableGoods.getOrginalSpecification(); + String newName = diposableGoods.getName(); + String newSpecification = diposableGoods.getSpecification(); + boolean nameChanged = false; + if(!StringUtils.isBlank(oldName) || !StringUtils.isBlank(newName)){ + nameChanged = !StringUtils.equals(oldName, newName); + } + boolean specificationChanged = false; + if(!StringUtils.isBlank(oldName) || !StringUtils.isBlank(newName)){ + specificationChanged = !StringUtils.equals(oldSpecification, newSpecification); + } + if(nameChanged || specificationChanged){ + updateNameAndSpecification(oldName, oldSpecification, newName, newSpecification); + } + } // 出库的最终方法,优先从批次里面出库,即使限定了价格。一个批次里面优先从指定的价格出库 // public void outStorage(DiposableGoods diposableGoods, String batchNumber, // boolean limitBatchNumber, double cost, boolean limitCost, @@ -454,11 +498,14 @@ } } - public DisposableGoodsStock getDiposableGoodsById(String id) { + public DisposableGoods getDiposableGoodsById(String id) { + return (DisposableGoods) objectDao.getByProperty( + DisposableGoods.class.getSimpleName(), "id", Long.valueOf(id)); + } + public DisposableGoodsStock getDiposableGoodsStockById(String id){ return (DisposableGoodsStock) objectDao.getByProperty( DisposableGoodsStock.class.getSimpleName(), "id", Long.valueOf(id)); } - public void deleteDiposableGoodsById(String id) { objectDao.delete(getDiposableGoodsById(id)); } @@ -474,7 +521,7 @@ } else { sql += " and po.specification is null"; } - if (objectDao.getBySql(DisposableGoodsStock.class.getSimpleName(), sql) != null) { + if (objectDao.getBySql(DisposableGoods.class.getSimpleName(), sql) != null) { return false; } else { return true; @@ -511,19 +558,127 @@ * 获取一次性物品NAME和ID */ @SuppressWarnings("unchecked") - public JSONObject searchDiposableGoods(String simpleSpell, String allItems) { - JSONObject json = null; - String sql = null; + public JSONObject searchDisposableGoodsList(String simpleSpell, String allItems, + String wareHouseId) { + String sql = buildGetDisposableGoodsSql(simpleSpell, allItems); + + if(DatabaseUtil.isPoIdValid(wareHouseId)){ + sql += " and po.wareHouseID = " + wareHouseId; + } + List disposableGoodsList = objectDao.findBySql( + DisposableGoods.class.getSimpleName(), sql); + + SupplyRoomConfig config = supplyRoomConfigManager.getSystemParamsObj(); + double floatPercent = config.getDiposablePriceFluctuation();// 一次性物品浮动价格系数/ + JSONArray jArray = new JSONArray(); + for (DisposableGoods disposableGoods : disposableGoodsList) { + DisposableGoodsStock goodsStock = disposableGoodsStockManager.getDisposableGoodsStockByDisposableGoodsId( + disposableGoods.getId() + "",wareHouseId); + JSONObject item = buildDisposableGoodsJSONObject(disposableGoods,goodsStock,floatPercent, + true); + if(item != null){ + jArray.add(item); + } + } + JSONObject json = new JSONObject(); + json.put("totalCount", jArray.size()); + json.put("data",jArray); + return json; + } + + private JSONObject buildDisposableGoodsJSONObject(DisposableGoods disposableGoods, + DisposableGoodsStock goodsStock,double floatPercent,boolean showReferencePrice) { + if(disposableGoods == null) + return null; + JSONObject temp = new JSONObject(); + + String goodsName = DisposableGoodsUtils.getDisposableGoodsFullName(disposableGoods.getName(), + disposableGoods.getSpecification()) ; + + temp.put("id", disposableGoods.getId()); + // TousseDefintionManagerImpl中的查询加上了type,需确认是否可以去掉 + temp.put("type", "一次性物品"); + + temp.put("name", goodsName); + temp.put("spelling", disposableGoods.getSpelling()); + temp.put("amount", disposableGoods.getAmount()); + temp.put("externalCode", disposableGoods.getExternalCode()); + temp.put("minApplyAmount", disposableGoods.getMinApplyAmount()); + temp.put("unit", StringTools.getDefaultString(disposableGoods.getUnit())); + temp.put("tousseType", "一次性物品"); + temp.put("packageSpec", disposableGoods.getPackageSpec()); + + String displayName; + + if (showReferencePrice) { + temp.put("referencePrice", disposableGoods.getReferencePrice()); + + // 价格修改为浮动价格 + Double price = getRecentPrice(disposableGoods); + price = MathTools.mul(price, floatPercent, 2); + temp.put("price", price); + displayName = getDisposableGoodsDisplayName(disposableGoods,goodsStock,price); + }else{ + displayName = getDisposableGoodsDisplayName(disposableGoods,goodsStock); + } + + temp.put("displayName", displayName); + + return temp; + } + + private String getDisposableGoodsDisplayName(DisposableGoods disposableGoods, + DisposableGoodsStock goodsStock){ + if(disposableGoods == null){ + return StringTools.EMPTY; + } + String displayName = DisposableGoodsUtils.getDisposableGoodsFullName( + disposableGoods.getName(),disposableGoods.getSpecification()); + if(goodsStock != null){ + displayName += "(库存:"; + displayName += goodsStock.getAmount(); + displayName += ")"; + } + return displayName; + } + private String getDisposableGoodsDisplayName(DisposableGoods disposableGoods, + DisposableGoodsStock goodsStock,Double price){ + if(disposableGoods == null){ + return StringTools.EMPTY; + } + String displayName = DisposableGoodsUtils.getDisposableGoodsFullName( + disposableGoods.getName(),disposableGoods.getSpecification()); + if(price != null){ + String packageSpec = disposableGoods.getPackageSpec(); + if (StringUtils.isBlank(packageSpec)) { + packageSpec = ""; + } else { + packageSpec = "(" + packageSpec + + ")"; + } + + if(goodsStock != null){ + displayName = displayName + packageSpec + + "(参考价:" + price + ")(库存:" + + goodsStock.getAmount() + ")"; + } + } + return displayName; + } + + private String buildGetDisposableGoodsSql(String simpleSpell, + String allItems) { + String sql; if (StringUtils.equals(allItems, "yes")) { sql = "where 1=1"; } else { sql = " where po.isApplicationMaterial = '" - + DisposableGoodsStock.CONSTANT_YES + "'"; + + DisposableGoods.CONSTANT_YES + "'"; } Matcher m = Constants.ChineseCharPattern.matcher(simpleSpell); String searchMode = AcegiHelper.getLoginUser().getSearchMode(); - if (simpleSpell.trim().length() > 0) { + if (StringUtils.isNotBlank(simpleSpell)) { simpleSpell = simpleSpell.toUpperCase(); if (m.find()) { sql += " and po.name like '%" + simpleSpell + "%'"; @@ -532,16 +687,47 @@ simpleSpell); } } - - List> diposableGoodsList = getDiposableGoodsList(sql,true); - - Map map = new HashMap(); - map.put("totalCount", diposableGoodsList.size()); - map.put("data", diposableGoodsList); - json = JSONObject.fromObject(map); - return json; + return sql; } + /** + * 获取一次性物品定义的浮动价格,是diposableGoodBatchStockManager中的方法 public Double getRecentPrice(DisposableGoodsStock disposableGoodsStock);对一次性物品定义的替代版本 + * @param disposableGoods + * @return + */ + private Double getRecentPrice(DisposableGoods disposableGoods){ + + String sql = ""; + String database = dbConnection.getDatabase(); + if (DatabaseUtil.isSqlServer(database)) { + sql = "select * from (select top 1 d.cost from DisposableGoodsBatchStock d where d.diposableGoods_id = " + + disposableGoods.getId() + + " and storage > 0 order by d.id asc) as temp"; + } else if (DatabaseUtil.isOracle(database)) { + sql = "select * from (select d.cost from DisposableGoodsBatchStock d where d.diposableGoods_id = " + + disposableGoods.getId() + + " and storage > 0 order by d.id asc) where rownum =1"; + } + ResultSet rs = objectDao.executeSql(sql); + Double returnValue = null; + try { + while (rs.next()) { + returnValue = rs.getDouble("cost"); + } + } catch (SQLException e) { + e.printStackTrace(); + }finally { + DatabaseUtil.closeResultSetAndStatement(rs); + } + // 如果无价格,使用一次性物品指导价 + if (returnValue == null) { + returnValue = disposableGoods.getReferencePrice(); + if (returnValue == null) { + returnValue = 0d; + } + } + return returnValue; + } @SuppressWarnings("unchecked") public List> getDiposableGoodsList(String sql,boolean showReferencePrice) { List disposableGoodsStockList = objectDao.findBySql( @@ -675,7 +861,7 @@ GodownEntryItem.class.getSimpleName(), "where po.diposableGoods.id = " + id); if (item != null) { - DisposableGoodsStock disposableGoodsStock = getDiposableGoodsById(id); + DisposableGoods disposableGoodsStock = getDiposableGoodsById(id); if (returnValue == null) { returnValue = disposableGoodsStock.getName(); } else { @@ -1206,8 +1392,8 @@ // 修改一次性物品名字/规则 public void updateNameAndSpecification(String oldName, String oldSpecification, String newName, String newSpecification) { - String oldNameAndSpecification = DiposableGoodsUtils.getDisposableGoodsFullName(oldName, oldSpecification); - String newNameAndSpecification = DiposableGoodsUtils.getDisposableGoodsFullName(newName, newSpecification); + String oldNameAndSpecification = DisposableGoodsUtils.getDisposableGoodsFullName(oldName, oldSpecification); + String newNameAndSpecification = DisposableGoodsUtils.getDisposableGoodsFullName(newName, newSpecification); // DiposableGoods updateNameAndSpecification(DisposableGoodsStock.class.getSimpleName(), "name", "specification", oldName, oldSpecification, newName, newSpecification); // DataDirectory_GYEY_COST_ACCOUNTING Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java =================================================================== diff -u -r12731 -r12738 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 12731) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 12738) @@ -19,10 +19,15 @@ public void saveOrUpdate(DisposableGoodsStock disposableGoodsStock); + public void saveOrUpdate(DisposableGoods disposableGoods); + // 更新标识号和相应的批次,一次性物品库存 public void updateStorage_TRANS_MANDATORY(Iterable identifications); - public DisposableGoodsStock getDiposableGoodsById(String id); + public DisposableGoods getDiposableGoodsById(String id); + + public DisposableGoodsStock getDiposableGoodsStockById(String id); + public DisposableGoodsStock getDiposableGoodsByName(String name, String specification); @@ -39,7 +44,15 @@ public String getDiposableGoodsTypeTreeJson(); - public JSONObject searchDiposableGoods(String simpleSpell, String allItems); + //public JSONObject searchDiposableGoods(String simpleSpell, String allItems,String wareHouseId); + /** + * 获取一次性物品定义的列表 + * @param simpleSpell 拼音或五笔码,或者是物品名称 + * @param allItems 是否能被科室申请的标志,值yes表示能 + * @param wareHouseId 科室的id,可以为null + * @return + */ + public JSONObject searchDisposableGoodsList(String simpleSpell, String allItems,String wareHouseId); public JSONObject searchMaterialAndDiposableGoods(String simpleSpell); @@ -81,6 +94,10 @@ public void update_TRANS_REQUIRED(DisposableGoodsStock disposableGoodsStock); + public void updateDisposableGoods_TRANS_REQUIRED( + DisposableGoods diposableGoods); + + public DisposableGoodsStock createDisposableGoodsStock(Long warehouseID,String warehouseName,DisposableGoods disposableGoods); public void saveOrUpdate(DisposableGoodsBatch disposableGoodsBatch); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStockManager.java =================================================================== diff -u --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStockManager.java (revision 0) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStockManager.java (revision 12738) @@ -0,0 +1,16 @@ +package com.forgon.disinfectsystem.diposablegoods.service; + +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; + +/** + * 一次性物品库存操作的接口。目前很多的接口都定义在DiposableGoodsManager中 + * @author kzh + * + */ +public interface DisposableGoodsStockManager { + /** + * 根据一次性物品的定义,获取对应的一次性物品的库存 + * @return + */ + public DisposableGoodsStock getDisposableGoodsStockByDisposableGoodsId(String disposableGoodsId,String wareHouseId); +} Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java =================================================================== diff -u -r12737 -r12738 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 12737) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 12738) @@ -26,7 +26,7 @@ import com.forgon.directory.vo.LoginUserData; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; -import com.forgon.disinfectsystem.diposablegoods.util.DiposableGoodsUtils; +import com.forgon.disinfectsystem.diposablegoods.util.DisposableGoodsUtils; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatch; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; @@ -595,13 +595,13 @@ if(itemID == null){ continue; } - GodownEntryItem originalGodownEntryItem = DiposableGoodsUtils.getGodownEntryItemsByItemId(originalItemList, itemID); + GodownEntryItem originalGodownEntryItem = DisposableGoodsUtils.getGodownEntryItemsByItemId(originalItemList, itemID); if(originalGodownEntryItem == null){ // 在页面上被删除了。 //continue; throw new RuntimeException("参数错误!"); } - GodownEntryItem curGodownEntryItem = DiposableGoodsUtils.getGodownEntryItemsByItemId(curItemList, itemID); + GodownEntryItem curGodownEntryItem = DisposableGoodsUtils.getGodownEntryItemsByItemId(curItemList, itemID); if(curGodownEntryItem == null){ // 被并发删除了,也不需要处理 continue; @@ -820,12 +820,12 @@ if(itemID == null){ continue; } - GodownEntryItem godownEntryItem = DiposableGoodsUtils.getGodownEntryItemsByItemId(itemList, itemID); + GodownEntryItem godownEntryItem = DisposableGoodsUtils.getGodownEntryItemsByItemId(itemList, itemID); if(godownEntryItem != null){// 现在还存在,就不是删除项 // 在页面上被删除了。 continue; } - GodownEntryItem curGodownEntryItem = DiposableGoodsUtils.getGodownEntryItemsByItemId(curItemList, itemID); + GodownEntryItem curGodownEntryItem = DisposableGoodsUtils.getGodownEntryItemsByItemId(curItemList, itemID); if(curGodownEntryItem == null){ // 被并发删除了。也不需要处理 continue; @@ -1589,12 +1589,12 @@ if(itemID == null){ continue; } - GodownEntryItem godownEntryItem = DiposableGoodsUtils.getGodownEntryItemsByItemId(itemList, itemID); + GodownEntryItem godownEntryItem = DisposableGoodsUtils.getGodownEntryItemsByItemId(itemList, itemID); if(godownEntryItem != null){// 现在还存在,就不是删除项 // 在页面上被删除了。 continue; } - GodownEntryItem curGodownEntryItem = DiposableGoodsUtils.getGodownEntryItemsByItemId(curItemList, itemID); + GodownEntryItem curGodownEntryItem = DisposableGoodsUtils.getGodownEntryItemsByItemId(curItemList, itemID); if(curGodownEntryItem == null){ // 被并发删除了。也不需要处理 continue; Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/diposableGoods/diposableGoodsView.jsp =================================================================== diff -u -r12331 -r12738 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/diposableGoods/diposableGoodsView.jsp (.../diposableGoodsView.jsp) (revision 12331) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/diposableGoods/diposableGoodsView.jsp (.../diposableGoodsView.jsp) (revision 12738) @@ -1,6 +1,6 @@ <%@ page contentType="text/html; charset=UTF-8"%> <%@ include file="/common/taglibs.jsp"%> -<%@page import="com.forgon.disinfectsystem.entity.assestmanagement.DiposableGoods"%> +<%@page import="com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods"%> @@ -24,11 +24,11 @@ SSTS_DiposableGoods_Delete = false; - var CONSTANT_YES = '<%=DiposableGoods.CONSTANT_YES %>';//能 - var CONSTANT_NO = '<%=DiposableGoods.CONSTANT_NO %>';//否 + var CONSTANT_YES = '<%=DisposableGoods.CONSTANT_YES %>';//能 + var CONSTANT_NO = '<%=DisposableGoods.CONSTANT_NO %>';//否 - var SUPPLYROOMGOODS_YES = '<%=DiposableGoods.SUPPLYROOMGOODS_YES %>';//能 - var SUPPLYROOMGOODS_NO = '<%=DiposableGoods.SUPPLYROOMGOODS_NO %>';//否 + var SUPPLYROOMGOODS_YES = '<%=DisposableGoods.SUPPLYROOMGOODS_YES %>';//能 + var SUPPLYROOMGOODS_NO = '<%=DisposableGoods.SUPPLYROOMGOODS_NO %>';//否 Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownEntryView.js =================================================================== diff -u -r12683 -r12738 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownEntryView.js (.../godownEntryView.js) (revision 12683) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownEntryView.js (.../godownEntryView.js) (revision 12738) @@ -355,7 +355,7 @@ id : 'wareHouseName' },{ id : 'serialNum', - columnWidth : .25, + columnWidth : .20, layout : 'form', labelWidth : 40, hidden:true, @@ -371,7 +371,7 @@ anchor : '95%' }] },{ - columnWidth : .25, + columnWidth : .20, layout : 'form', labelWidth : 40, items:[{ @@ -405,7 +405,7 @@ } }] }, { - columnWidth : .25, + columnWidth : .20, layout : 'form', labelWidth : 60, items : [{ @@ -421,7 +421,7 @@ anchor : '95%' }] }, { - columnWidth : .25, + columnWidth : .20, layout : 'form', labelWidth : 60, items : [{ @@ -435,7 +435,7 @@ anchor : '95%' }] }, { - columnWidth : .25, + columnWidth : .20, layout : 'form', labelWidth : 80, items : [{ Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java =================================================================== diff -u -r12672 -r12738 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 12672) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 12738) @@ -45,6 +45,7 @@ import com.forgon.disinfectsystem.basedatamanager.reportoption.GoodsOptionManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodsManager; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.reportoption.GoodsOption; @@ -2890,7 +2891,7 @@ if(StringUtils.isNotBlank(ids1)){ String value = ""; for (String id : ids1.split(";")) { - DisposableGoodsStock goods = diposableGoodsManager.getDiposableGoodsById(id); + DisposableGoods goods = diposableGoodsManager.getDiposableGoodsById(id); if(goods != null){ if(value.length() > 0){ value += ";"; @@ -2962,7 +2963,7 @@ if(StringUtils.isNotBlank(ids5)){ String value = ""; for (String id : ids5.split(";")) { - DisposableGoodsStock goods = diposableGoodsManager.getDiposableGoodsById(id); + DisposableGoods goods = diposableGoodsManager.getDiposableGoodsById(id); if(goods != null){ if(value.length() > 0){ value += ";"; Index: ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/service/InventoryManagerImpl.java =================================================================== diff -u -r12728 -r12738 --- ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/service/InventoryManagerImpl.java (.../InventoryManagerImpl.java) (revision 12728) +++ ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/service/InventoryManagerImpl.java (.../InventoryManagerImpl.java) (revision 12738) @@ -31,7 +31,7 @@ import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodBatchStockManager; import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodsManager; import com.forgon.disinfectsystem.diposablegoods.service.GodownEntryManager; -import com.forgon.disinfectsystem.diposablegoods.util.DiposableGoodsUtils; +import com.forgon.disinfectsystem.diposablegoods.util.DisposableGoodsUtils; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntry; Fisheye: Tag 12738 refers to a dead (removed) revision in file `ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/util/DiposableGoodsUtils.java'. Fisheye: No comparison available. Pass `N' to diff? Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/departmentapplicationtemplate/action/DepartmentAppTemplateAction.java =================================================================== diff -u -r12672 -r12738 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/departmentapplicationtemplate/action/DepartmentAppTemplateAction.java (.../DepartmentAppTemplateAction.java) (revision 12672) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/departmentapplicationtemplate/action/DepartmentAppTemplateAction.java (.../DepartmentAppTemplateAction.java) (revision 12738) @@ -26,6 +26,7 @@ import com.forgon.directory.service.OrgUnitManager; import com.forgon.disinfectsystem.departmentapplicationtemplate.service.DepartmentAppTemplateManager; import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodsManager; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.basedatamanager.departmentapplicationtemplate.DepartmentAppTemplate; import com.forgon.disinfectsystem.entity.basedatamanager.departmentapplicationtemplate.DiposableGoodsTemplateItem; @@ -203,7 +204,7 @@ String [] diposableGoodsdsArry = diposableGoodsIds.split(","); for (String diposableGoodsId : diposableGoodsdsArry) { String [] diposableGoodsItemArray = diposableGoodsId.split(";"); - DisposableGoodsStock diposableGoods = diposableGoodsManager.getDiposableGoodsById(diposableGoodsItemArray[0]); + DisposableGoodsStock diposableGoods = diposableGoodsManager.getDiposableGoodsStockById(diposableGoodsItemArray[0]); DiposableGoodsTemplateItem oldDiposalbeGoodsItem = diposableGoodsMap.get(diposableGoods.getId()); if(diposableGoods != null && oldDiposalbeGoodsItem != null && diposableGoods.getId().equals(oldDiposalbeGoodsItem.getApplicationDiposableGoods().getId())){ oldDiposalbeGoodsItem.setSortNumber(Integer.parseInt(diposableGoodsItemArray[1])); Index: ssts-web/src/main/resources/spring/applicationContext-disinfectsystem-service.xml =================================================================== diff -u -r12712 -r12738 --- ssts-web/src/main/resources/spring/applicationContext-disinfectsystem-service.xml (.../applicationContext-disinfectsystem-service.xml) (revision 12712) +++ ssts-web/src/main/resources/spring/applicationContext-disinfectsystem-service.xml (.../applicationContext-disinfectsystem-service.xml) (revision 12738) @@ -820,7 +820,17 @@ class="com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodsManagerImpl"> + + + + + + + + + Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r12728 -r12738 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 12728) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 12738) @@ -51,6 +51,7 @@ import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.basedatamanager.taskGroup.service.TaskGroupManager; import com.forgon.disinfectsystem.basedatamanager.toussedefinition.service.TousseDefinitionUtils; +import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.common.CSSDConstants; import com.forgon.disinfectsystem.common.CssdUtils; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; @@ -170,6 +171,7 @@ private TousseDefinitionManager tousseDefinitionManager; private RecyclingApplicationManager recyclingApplicationManager; private PackingManager packingManager; + private WareHouseManager wareHouseManager; public void setPackingManager(PackingManager packingManager) { @@ -215,6 +217,10 @@ this.taskGroupManager = taskGroupManager; } + public void setWareHouseManager(WareHouseManager wareHouseManager) { + this.wareHouseManager = wareHouseManager; + } + private final PasswordEncoder passwordEncoder = new Md5PasswordEncoder(); public void setReviewedBasketManager( @@ -1017,7 +1023,10 @@ return JSONUtil.buildErrorMsgJsonResult(ex.getMessage()); } } - + public String getAllWareHouse(JSONObject params){ + String orgUnitCoding = JSONUtil.optString(params, "orgUnitCoding", ""); + return wareHouseManager.getAllWareHouse(orgUnitCoding).toString(); + } // 获取某部门的所有使用记录 public String getUseRecordList(JSONObject params) { String departCode = params.optString("departCode"); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/DiposableGoodsTableManager.java =================================================================== diff -u -r12679 -r12738 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/DiposableGoodsTableManager.java (.../DiposableGoodsTableManager.java) (revision 12679) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/DiposableGoodsTableManager.java (.../DiposableGoodsTableManager.java) (revision 12738) @@ -14,6 +14,7 @@ import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodBatchStockManager; import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodsManager; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.basedatamanager.datasynchronization.HisMaterialDefinition; @@ -76,7 +77,7 @@ sql += " and 1=1"; } return gridManager.renderGrid(parameterMap, - DisposableGoodsStock.class.getSimpleName(), sql, + DisposableGoods.class.getSimpleName(), sql, new String[] { "goodsBatchs" }); } @@ -290,7 +291,7 @@ public String getDiposableGoodsInfoForGoodPurchase(String diposableGoodsId){ DisposableGoodsStock goods = diposableGoodsManager - .getDiposableGoodsById(diposableGoodsId); + .getDiposableGoodsStockById(diposableGoodsId); if(goods != null){ DisposableGoodsBatchStock lastBatchStock = getDiposableGoodLastBatchStock(goods); String manufacturer = ""; @@ -317,7 +318,7 @@ } public String getDiposableGoodsCertification(String diposableGoodsId) { DisposableGoodsStock goods = diposableGoodsManager - .getDiposableGoodsById(diposableGoodsId); + .getDiposableGoodsStockById(diposableGoodsId); if (goods != null) { String certification = goods.getCertification(); DisposableGoodsBatchStock lastBatchStock = getDiposableGoodLastBatchStock(goods); @@ -367,7 +368,7 @@ public String getDiposableGoodBatchProperty(String goodsId, String batchNumber) { DisposableGoodsStock goods = diposableGoodsManager - .getDiposableGoodsById(goodsId); + .getDiposableGoodsStockById(goodsId); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); for (DisposableGoodsBatchStock batchStock : goods.getGoodsBatchs()) { if (batchStock.getBatchNumber().equals(batchNumber)) { Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManager.java =================================================================== diff -u -r12711 -r12738 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManager.java (.../WareHouseManager.java) (revision 12711) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManager.java (.../WareHouseManager.java) (revision 12738) @@ -1,7 +1,12 @@ package com.forgon.disinfectsystem.basedatamanager.warehouse.service; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import net.sf.json.JSONObject; + import com.forgon.directory.model.OrgUnit; import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; @@ -54,4 +59,11 @@ * @return */ public WareHouse getWareHouseById(Long id); + + /** + * 根据科室编码获取科室下所有的仓库,返回json对象 + * @param orgUnitCoding 科室编码 + * @return + */ + public JSONObject getAllWareHouse(String orgUnitCoding); }