Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsBatchManagerImpl.java =================================================================== diff -u -r13189 -r16832 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsBatchManagerImpl.java (.../DisposableGoodsBatchManagerImpl.java) (revision 13189) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsBatchManagerImpl.java (.../DisposableGoodsBatchManagerImpl.java) (revision 16832) @@ -6,15 +6,16 @@ import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatch; import com.forgon.tools.db.DatabaseUtil; +import com.forgon.tools.hibernate.BasePoManagerImpl; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.string.StringTools; -public class DisposableGoodsBatchManagerImpl implements DisposableGoodsBatchManager { - private ObjectDao objectDao; +public class DisposableGoodsBatchManagerImpl extends BasePoManagerImpl + implements DisposableGoodsBatchManager { - public void setObjectDao(ObjectDao objectDao) { - this.objectDao = objectDao; + public DisposableGoodsBatchManagerImpl() { + super(DisposableGoodsBatch.class); } @SuppressWarnings("unchecked") Index: ssts-web/src/test/java/test/forgon/disinfectsystem/reports/TestDepartmentMonthDetail.java =================================================================== diff -u -r14888 -r16832 --- ssts-web/src/test/java/test/forgon/disinfectsystem/reports/TestDepartmentMonthDetail.java (.../TestDepartmentMonthDetail.java) (revision 14888) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/reports/TestDepartmentMonthDetail.java (.../TestDepartmentMonthDetail.java) (revision 16832) @@ -13,20 +13,31 @@ import java.util.List; import java.util.Set; +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.annotation.Rollback; import org.testng.annotations.Test; import test.forgon.constant.Constants; import test.forgon.disinfectsystem.AbstractCSSDTest; +import test.forgon.disinfectsystem.invoicemanager.model.InvoiceInfo; +import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.model.BarcodeDevice; +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.DisposableGoodsIdentification; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.materialinstance.MaterialInstance; +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.foreigntousseapplication.ForeignTousseApplication; import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; import com.forgon.disinfectsystem.entity.recyclingapplication.RecyclingApplication; @@ -86,110 +97,122 @@ */ @SuppressWarnings("unchecked") @Test + @Rollback(value=false) public void test() { // 准备初始数据 initCSSDData(); + prepareSystemSet(); prepareTousseDefinition(); prepareDiposableGoods(); prepareApplication(); prepareRecyclingError(); prepareTousseInstance(); -// prepareInvoice(); + prepareInvoice(); prepareReturnGoods(); objectDao.flush(); - + double disposbleFluctuation = supplyRoomConfigManager.getSystemParamsObj().getDiposablePriceFluctuation(); + double tousseFluctuation = supplyRoomConfigManager.getSystemParamsObj().getToussePriceFluctuation(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date time = Calendar.getInstance().getTime(); String formatTime = sdf.format(time); List datas = jasperReportManager.getDepartmentMonthDetailList(formatTime,formatTime, null, null,null, null,null,"精确查询",false,"","",false); - assertEquals(1, datas.size());// 断言:只有一个科室 + assertEquals(datas.size(), 1);// 断言:只有一个科室 for (DepartmentMonthDetail detail : datas) { assertEquals(applicationDepart, detail.getDepart());// 断言:科室名是否相同 double assertTotalPrice = 0.0; // 普通器械包 - assertTotalPrice += MathTools.mul(price1, barcodeArray1.length,2).doubleValue(); + assertTotalPrice += MathTools.mul(price1, barcodeArray1.length).doubleValue(); // 消毒物品 - assertTotalPrice += MathTools.mul(price2, barcodeArray2.length,2).doubleValue(); + assertTotalPrice += MathTools.mul(price2, barcodeArray2.length).doubleValue(); // 外来器械 - assertTotalPrice += MathTools.mul(price3, barcodeArray3.length,2).doubleValue(); + assertTotalPrice += MathTools.mul(price3, barcodeArray3.length).doubleValue(); // 自定义器械包 - assertTotalPrice += MathTools.mul(price4, barcodeArray4.length,2).doubleValue(); + assertTotalPrice += MathTools.mul(price4, barcodeArray4.length).doubleValue(); // 外部代理灭菌 - assertTotalPrice += MathTools.mul(price5, barcodeArray5.length,2).doubleValue(); + assertTotalPrice += MathTools.mul(price5, barcodeArray5.length).doubleValue(); // 一次性物品 - assertTotalPrice += new BigDecimal(price6 * 700).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + assertTotalPrice += new BigDecimal(price6*DIPOSABLEGOODS_PRICE_F * 700).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); // 器械包退货 - assertTotalPrice += new BigDecimal(-price1 * 1).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + assertTotalPrice += new BigDecimal(-price1 * 1).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); // 一次性物品退货 - assertTotalPrice += new BigDecimal(-price6 * 100).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + assertTotalPrice += new BigDecimal(-price6*DIPOSABLEGOODS_PRICE_F * 100).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); // 器械丢失 - assertTotalPrice += new BigDecimal(30 * 1).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); - assertTotalPrice = new BigDecimal(assertTotalPrice).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + assertTotalPrice += new BigDecimal(30 * 1).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); + assertTotalPrice = new BigDecimal(assertTotalPrice).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); // 一次性物品多批次 - assertTotalPrice += new BigDecimal(price7 * 700).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); - assertEquals(assertTotalPrice, detail.getTotalPrice());// 断言:总价格是否相同 + assertTotalPrice += new BigDecimal(price7*DIPOSABLEGOODS_PRICE_F * 700).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); + assertEquals(detail.getTotalPrice(),assertTotalPrice);// 断言:总价格是否相同 for (DepartmentMonthDetailItem detailItem : detail.getItems()) { if (detailItem.getGoodsName().equals("普通器械包")) { - double price = new BigDecimal(price1).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + double price = new BigDecimal(price1).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); if (detailItem.getAmount() > 0) { assertEquals(barcodeArray1.length, detailItem.getAmount()); assertEquals(price, detailItem.getPrice()); - assertEquals(new BigDecimal(price * barcodeArray1.length).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue() , detailItem.getSettlementPrice()); + assertEquals(new BigDecimal(price * barcodeArray1.length).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue() , detailItem.getSettlementPrice()); } else {// 退货 assertEquals(-1, detailItem.getAmount()); assertEquals(price, detailItem.getPrice()); - assertEquals(new BigDecimal(-price * 1).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue() , detailItem.getSettlementPrice()); + assertEquals(new BigDecimal(-price * 1).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue() , detailItem.getSettlementPrice()); } } else if (detailItem.getGoodsName().equals("(妇产科护士)消毒物品")) { assertEquals(barcodeArray2.length * 10, detailItem.getAmount()); - double price = new BigDecimal(price2).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + double price = new BigDecimal(price2).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); double tp = price * barcodeArray2.length; - assertEquals(new BigDecimal(tp/(barcodeArray2.length * 10)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getPrice()); - assertEquals(new BigDecimal(price * barcodeArray2.length).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getSettlementPrice()); + assertEquals(new BigDecimal(tp/(barcodeArray2.length * 10)).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getPrice()); + assertEquals(new BigDecimal(price * barcodeArray2.length).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getSettlementPrice()); } else if (detailItem.getGoodsName().equals("外来器械包")) { assertEquals(barcodeArray3.length, detailItem.getAmount()); - double price = new BigDecimal(price3).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + double price = new BigDecimal(price3).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); assertEquals(price, detailItem.getPrice()); - assertEquals(new BigDecimal(price * barcodeArray3.length).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getSettlementPrice()); + assertEquals(new BigDecimal(price * barcodeArray3.length).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getSettlementPrice()); } else if (detailItem.getGoodsName().equals("自定义器械包")) { assertEquals(barcodeArray4.length, detailItem.getAmount()); - double price = new BigDecimal(price4).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + double price = new BigDecimal(price4).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); assertEquals(price, detailItem.getPrice()); - assertEquals(new BigDecimal(price * barcodeArray4.length).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getSettlementPrice()); + assertEquals(new BigDecimal(price * barcodeArray4.length).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getSettlementPrice()); } else if (detailItem.getGoodsName().equals("外部代理灭菌包")) { assertEquals(barcodeArray5.length, detailItem.getAmount()); - double price = new BigDecimal(price5).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + double price = new BigDecimal(price5).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); assertEquals(price, detailItem.getPrice()); - assertEquals(new BigDecimal(price * barcodeArray5.length).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getSettlementPrice()); + assertEquals(new BigDecimal(price * barcodeArray5.length).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getSettlementPrice()); } else if (detailItem.getGoodsName().equals("一次性物品A[小号]")) { if (detailItem.getAmount() > 0) { assertEquals(700, detailItem.getAmount()); - double tp = new BigDecimal(price6 * 700).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); - assertEquals(new BigDecimal(tp/700).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getPrice()); + double tp = new BigDecimal(price6*DIPOSABLEGOODS_PRICE_F * 700).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); + assertEquals(new BigDecimal(tp/700).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getPrice()); assertEquals(tp, detailItem.getSettlementPrice()); } else {// 退货 assertEquals(-100, detailItem.getAmount()); - double tp = new BigDecimal(-price6 * 100).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); - assertEquals(new BigDecimal(-tp/100).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getPrice()); + double tp = new BigDecimal(-price6*DIPOSABLEGOODS_PRICE_F * 100).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); + assertEquals(new BigDecimal(-tp/100).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getPrice()); assertEquals(tp, detailItem.getSettlementPrice()); } } else if (detailItem.getGoodsName().equals("一次性物品B[小号]")) { - double tp = new BigDecimal(price7 * 350).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); - assertEquals(new BigDecimal(tp/350).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getPrice()); + double tp = new BigDecimal(price7*DIPOSABLEGOODS_PRICE_F * 350).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); + assertEquals(new BigDecimal(tp/350).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(), detailItem.getPrice()); assertEquals(tp, detailItem.getSettlementPrice()); - } else if (detailItem.getGoodsName().equals("新增 剪刀")) { + } else if (detailItem.getGoodsName().equals("剪刀")) { assertEquals(1, detailItem.getAmount()); - assertEquals(30, detailItem.getPrice()); - assertEquals(30, detailItem.getSettlementPrice()); + assertEquals(30.0, detailItem.getPrice()); + assertEquals(30.0, detailItem.getSettlementPrice()); } } } } - + private void prepareSystemSet(){ + //设置外来器械包的处理科室 + SupplyRoomConfig config = supplyRoomConfigManager.getSystemParamsObj(); + config.setDptCodeOfForeignTousse(AcegiHelper.getCurrentOrgUnitCode()); + + config = supplyRoomConfigManager.getSystemParamsObj(); + assertEquals(config.getDptCodeOfForeignTousse(),AcegiHelper.getCurrentOrgUnitCode()); + //当前用户是供应室用户,这个得跟makeActiveUser中的一致 + assertEquals(Constants.ORG_UNIT_CODE_CSSD,AcegiHelper.getCurrentOrgUnitCode()); + } /** * 准备多种类型器械包 */ @@ -208,110 +231,188 @@ materialInstance.setTousse(tousseDefinition1); tousseDefinition1.setMaterialInstances(new ArrayList()); tousseDefinition1.getMaterialInstances().add(materialInstance); + tousseDefinition1.setHandlerDepartCode(Constants.ORG_UNIT_CODE_CSSD); tousseDefinitionManager.saveOrUpdate(tousseDefinition1); // 消毒物品 + // 材料 + MaterialDefinition md = new MaterialDefinition(); + md.setName("消毒物品_2014001"); + materialDefinitionManager.saveOrUpdate(md); + + MaterialInstance mi = new MaterialInstance(); + mi.setCount(10); + mi.setMaterialDefinition(md); + materialInstanceManager.saveOrUpdate(mi); + TousseDefinition tousseDefinition2 = new TousseDefinition(); tousseDefinition2.setName("(妇产科护士)消毒物品_2014001"); tousseDefinition2.setTousseType(TousseDefinition.PACKAGE_TYPE_DISINFECTION); + tousseDefinition2.setHandlerDepartCode(Constants.ORG_UNIT_CODE_CSSD); + tousseDefinition2.getMaterialInstances().add(mi); tousseDefinitionManager.saveOrUpdate(tousseDefinition2); + mi.setTousse(tousseDefinition2); + //外来器械包 TousseDefinition tousseDefinition3 = new TousseDefinition(); tousseDefinition3.setName("外来器械包"); tousseDefinition3.setTousseType(TousseDefinition.PACKAGE_TYPE_FOREIGN); + tousseDefinition3.setHandlerDepartCode(Constants.ORG_UNIT_CODE_CSSD); tousseDefinitionManager.saveOrUpdate(tousseDefinition3); //自定义器械包 TousseDefinition tousseDefinition4 = new TousseDefinition(); tousseDefinition4.setName("自定义器械包_2014002"); tousseDefinition4.setTousseType(TousseDefinition.PACKAGE_TYPE_CUSTOM); + tousseDefinition4.setHandlerDepartCode(Constants.ORG_UNIT_CODE_CSSD); tousseDefinitionManager.saveOrUpdate(tousseDefinition4); //外部代理灭菌器械包 TousseDefinition tousseDefinition5 = new TousseDefinition(); tousseDefinition5.setName("外部代理灭菌包"); tousseDefinition5.setTousseType(TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY); + tousseDefinition5.setHandlerDepartCode(Constants.ORG_UNIT_CODE_CSSD); tousseDefinitionManager.saveOrUpdate(tousseDefinition5); } - /** + * 保存一次性物品定义 + * @param name + * @param specification + * @param minApplyAmount + * @return + */ + private DisposableGoods saveDisposableGoods(String name,String specification,Integer minApplyAmount){ + DisposableGoods disposableGoods = new DisposableGoods(); + disposableGoods.setName(name); + disposableGoods.setSpecification(specification); + disposableGoods.setMinApplyAmount(minApplyAmount); + diposableGoodsManager.saveOrUpdate(disposableGoods); + return disposableGoods; + } + /** + * 保存一次性物品批次定义 + * @param disposableGoods + * @param barcode + * @param batchNumber + * @return + */ + private DisposableGoodsBatch saveDisposableGoodsBatch(DisposableGoods disposableGoods,String barcode,String batchNumber){ + DisposableGoodsBatch disposableGoodsBatch = new DisposableGoodsBatch(); + disposableGoodsBatch.setBarcode(barcode); + disposableGoodsBatch.setBatchNumber(batchNumber); + disposableGoodsBatch.setDiposableGoods(disposableGoods); + disposableGoodsBatchManager.save(disposableGoodsBatch); + return disposableGoodsBatch; + } + /** * 准备一次性物品 */ private void prepareDiposableGoods(){ + WareHouse wh = wareHouseManager.getDefaultWareHouseByUnitCode(Constants.ORG_UNIT_CODE_CSSD); + DisposableGoods disposableGoods = saveDisposableGoods("一次性物品A","小号",100); + //一次性物品 - DisposableGoodsStock diposableGoods = new DisposableGoodsStock(); - diposableGoods.setName("一次性物品A"); - diposableGoods.setSpecification("小号"); + DisposableGoodsStock disposableGoodsStock = new DisposableGoodsStock(); + disposableGoodsStock.setName("一次性物品A"); + disposableGoodsStock.setSpecification("小号"); // diposableGoods.setAmount(700L); - diposableGoods.setReferencePrice(1.2); - diposableGoods.setMinApplyAmount(100); + disposableGoodsStock.setReferencePrice(1.2); + disposableGoodsStock.setMinApplyAmount(100); + disposableGoodsStock.setDisposableGoodsID(disposableGoods.getId()); + disposableGoodsStock.setWarehouseID(wh.getId()); + objectDao.saveOrUpdate(disposableGoodsStock); //批次 Set batchList = new HashSet(); for (String barcode : barcodeArray6) { - DisposableGoodsBatchStock batch = new DisposableGoodsBatchStock(); - batch.setDiposableGoods(diposableGoods); - batch.setBatchNumber("1402180001"); - batch.setBarcode(barcode); - batch.setStorage(700L); - batch.setCost(price6); + DisposableGoodsBatch disposableGoodsBatch = saveDisposableGoodsBatch(disposableGoods,barcode,"1402180001"); + DisposableGoodsBatchStock batchStock = new DisposableGoodsBatchStock(); + batchStock.setDiposableGoods(disposableGoodsStock); + batchStock.setBatchNumber("1402180001"); + batchStock.setBarcode(barcode); + batchStock.setStorage(700L); + batchStock.setCost(price6); + batchStock.setWarehouseID(wh.getId()); + batchStock.setDisposableGoodsBatchId(disposableGoodsBatch.getId()); + batchStock.setDisposableGoodsId(disposableGoods.getId()); + batchStock.setDisposableGoodsStockId(disposableGoodsStock.getId()); + batchStock.setWarehouseID(wh.getId()); Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_YEAR, 1); Date date = c.getTime(); - batch.setExpDate(date); - batchList.add(batch); + batchStock.setExpDate(date); + batchList.add(batchStock); //标识号 List list = new ArrayList(); DisposableGoodsIdentification identification = new DisposableGoodsIdentification(); identification.setAmount(700L); - identification.setBatchStock(batch); + identification.setBatchStock(batchStock); identification.setIdentification("00001"); identification.setPrice(price6); identification.setEntryDate(date); + identification.setWarehouseID(wh.getId()); + identification.setDisposableGoodsBatchID(disposableGoodsBatch.getId()); + identification.setDisposableGoodsID(disposableGoods.getId()); + identification.setDisposableGoodsStockID(disposableGoodsStock.getId()); list.add(identification); - batch.setIdentifications(list); + batchStock.setIdentifications(list); } - diposableGoods.setGoodsBatchs(batchList); - diposableGoods.recalculateAmount(); - objectDao.saveOrUpdate(diposableGoods); + disposableGoodsStock.setGoodsBatchs(batchList); + disposableGoodsStock.recalculateAmount(); + objectDao.saveOrUpdate(disposableGoodsStock); + DisposableGoods disposableGoods2 = saveDisposableGoods("一次性物品B","小号",100); // 多批次一次性物品 - DisposableGoodsStock diposableGoods2 = new DisposableGoodsStock(); - diposableGoods2.setName("一次性物品B"); - diposableGoods2.setSpecification("小号"); + DisposableGoodsStock disposableGoodsStock2 = new DisposableGoodsStock(); + disposableGoodsStock2.setName("一次性物品B"); + disposableGoodsStock2.setSpecification("小号"); // diposableGoods2.setAmount(700L); - diposableGoods2.setReferencePrice(1.2); - diposableGoods2.setMinApplyAmount(100); + disposableGoodsStock2.setReferencePrice(1.2); + disposableGoodsStock2.setMinApplyAmount(100); + disposableGoodsStock2.setDisposableGoodsID(disposableGoods2.getId()); + disposableGoodsStock2.setWarehouseID(wh.getId()); + objectDao.saveOrUpdate(disposableGoodsStock2); //批次 Set batchList2 = new HashSet(); for (String barcode : barcodeArray7) { - DisposableGoodsBatchStock batch = new DisposableGoodsBatchStock(); - batch.setDiposableGoods(diposableGoods); - batch.setBatchNumber("batch" + barcode); - batch.setBarcode(barcode); - batch.setStorage(350L); - batch.setCost(price7); + DisposableGoodsBatch disposableGoodsBatch = saveDisposableGoodsBatch(disposableGoods2,barcode,"batch" + barcode); + DisposableGoodsBatchStock batchStock = new DisposableGoodsBatchStock(); + batchStock.setDiposableGoods(disposableGoodsStock2); + batchStock.setBatchNumber("batch" + barcode); + batchStock.setBarcode(barcode); + batchStock.setStorage(350L); + batchStock.setCost(price7); + batchStock.setWarehouseID(wh.getId()); + batchStock.setDisposableGoodsBatchId(disposableGoodsBatch.getId()); + batchStock.setDisposableGoodsId(disposableGoods2.getId()); + batchStock.setDisposableGoodsStockId(disposableGoodsStock2.getId()); + batchStock.setWarehouseID(wh.getId()); + Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_YEAR, 1); Date date = c.getTime(); - batch.setExpDate(date); - batchList2.add(batch); + batchStock.setExpDate(date); + batchList2.add(batchStock); //标识号 List list = new ArrayList(); DisposableGoodsIdentification identification = new DisposableGoodsIdentification(); identification.setAmount(350L); - identification.setBatchStock(batch); + identification.setBatchStock(batchStock); identification.setIdentification("00001"); identification.setPrice(price7); identification.setEntryDate(date); + identification.setWarehouseID(wh.getId()); + identification.setDisposableGoodsBatchID(disposableGoodsBatch.getId()); + identification.setDisposableGoodsID(disposableGoods2.getId()); + identification.setDisposableGoodsStockID(disposableGoodsStock2.getId()); list.add(identification); - batch.setIdentifications(list); + batchStock.setIdentifications(list); } - diposableGoods.setGoodsBatchs(batchList2); - diposableGoods2.recalculateAmount(); - objectDao.saveOrUpdate(diposableGoods2); + disposableGoodsStock2.setGoodsBatchs(batchList2); + disposableGoodsStock2.recalculateAmount(); + objectDao.saveOrUpdate(disposableGoodsStock2); } @@ -320,6 +421,7 @@ */ private void prepareApplication() { // 普通器械包申请单 + TousseDefinition tdInside = tousseDefinitionManager.getTousseDefinitionByName("普通器械包"); RecyclingApplication application1 = new RecyclingApplication(); application1.setSerialNumber("2014021100001"); application1.setApplicant("吴启华"); @@ -329,17 +431,23 @@ application1.setSettleAccountsDepart(applicationDepart); application1.setDeliverStatus(InvoicePlan.DELIVERSTATUS_AWAITDELIVER); application1.setType(InvoicePlan.TYPE_TOUSSE_APPLICATION_FORM); + recyclingApplicationManager.saveOrUpdate(application1); List list = new ArrayList(); TousseItem item1 = new TousseItem(); item1.setTousseName("普通器械包"); - item1.setAmount(3); + item1.setAmount(barcodeArray1.length); item1.setDiposable("否"); item1.setInvoicePlan(application1); + item1.setTousseDefinitionId(tdInside.getId()); + item1.setInvoicePlanID(application1.getId()); + item1.setTousseType(tdInside.getTousseType()); list.add(item1); application1.setApplicationItems(list); + application1.setHandleDepartCoding(Constants.ORG_UNIT_CODE_CSSD); recyclingApplicationManager.saveOrUpdate(application1); // 消毒物品申请单 + TousseDefinition tdDisinfect = tousseDefinitionManager.getTousseDefinitionByName("(妇产科护士)消毒物品_2014001"); RecyclingApplication application2 = new RecyclingApplication(); List list3 = new ArrayList(); application2.setSerialNumber("2014021100003"); @@ -350,16 +458,23 @@ application2.setSettleAccountsDepart(applicationDepart); application2.setDeliverStatus(InvoicePlan.DELIVERSTATUS_AWAITDELIVER); application2.setType(InvoicePlan.TYPE_DISINFECT_GOODS_APPLICATION_FORM); + recyclingApplicationManager.saveOrUpdate(application2); TousseItem item3 = new TousseItem(); item3.setTousseName("(妇产科护士)消毒物品_2014001"); item3.setAmount(1); item3.setDiposable("否"); item3.setInvoicePlan(application2); + item3.setTousseDefinitionId(tdDisinfect.getId()); + item3.setInvoicePlanID(application2.getId()); + item3.setTousseType(tdDisinfect.getTousseType()); list3.add(item3); application2.setApplicationItems(list3); + application2.setHandleDepartCoding(Constants.ORG_UNIT_CODE_CSSD); recyclingApplicationManager.saveOrUpdate(application2); // 外来器械 + //外来器械包 + TousseDefinition foreignTousse = tousseDefinitionManager.getTousseDefinitionByName("外来器械包"); ForeignTousseApplication application3 = new ForeignTousseApplication(); List list2 = new ArrayList(); application3.setSerialNumber("2014021100002"); @@ -375,11 +490,15 @@ item2.setAmount(1); item2.setDiposable("否"); item2.setInvoicePlan(application3); + item2.setTousseDefinitionId(foreignTousse.getId()); + item2.setTousseType(foreignTousse.getTousseType()); list2.add(item2); application3.setApplicationItems(list2); + application3.setHandleDepartCoding(Constants.ORG_UNIT_CODE_CSSD); foreignTousseApplicationManager.saveOrUpdate(application3); // 自定义器械包申请单 + TousseDefinition customTousse = tousseDefinitionManager.getTousseDefinitionByName("自定义器械包_2014002"); RecyclingApplication application4 = new RecyclingApplication(); List list4 = new ArrayList(); application4.setSerialNumber("2014021100004"); @@ -390,13 +509,18 @@ application4.setSettleAccountsDepart(applicationDepart); application4.setDeliverStatus(InvoicePlan.DELIVERSTATUS_AWAITDELIVER); application4.setType(InvoicePlan.TYPE_CUSTOM_TOUSSE_APPLIACTION_FORM); + recyclingApplicationManager.saveOrUpdate(application4); TousseItem item4 = new TousseItem(); item4.setTousseName("自定义器械包_2014002"); item4.setAmount(1); item4.setDiposable("否"); item4.setInvoicePlan(application4); + item4.setTousseDefinitionId(customTousse.getId()); + item4.setInvoicePlanID(application4.getId()); + item4.setTousseType(customTousse.getTousseType()); list4.add(item4); application4.setApplicationItems(list4); + application4.setHandleDepartCoding(Constants.ORG_UNIT_CODE_CSSD); recyclingApplicationManager.saveOrUpdate(application4); // 外部代理灭菌申请单 @@ -410,13 +534,18 @@ application5.setSettleAccountsDepart(applicationDepart); application5.setDeliverStatus(InvoicePlan.DELIVERSTATUS_AWAITDELIVER); application5.setType(InvoicePlan.TYPE_FOREIGNPROXYDISINFECTION); + + //外部代理灭菌器械包 + TousseDefinition foreignproxyTousse = tousseDefinitionManager.getTousseDefinitionByName("外部代理灭菌包"); for (String barcode : barcodeArray5) { TousseItem item5 = new TousseItem(); item5.setTousseName("外部代理灭菌包"); item5.setAmount(1); item5.setSendOutAmount(0); item5.setDiposable("否"); item5.setInvoicePlan(application5); + item5.setTousseDefinitionId(foreignproxyTousse.getId()); + item5.setTousseType(TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY); tiList.add(item5); } application5.setApplicationItems(tiList); @@ -427,8 +556,12 @@ item5.setPackageType("无纺布"); item5.setSterilingType("P1器械"); item5.setForeignProxyDisinfection(application5); - //外部代理灭菌器械包 - TousseDefinition foreignproxyTousse = tousseDefinitionManager.getTousseDefinitionByName("外部代理灭菌包"); + list5.add(item5); + application5.setForeignProxyItems(list5); + application5.setHandleDepartCoding(Constants.ORG_UNIT_CODE_CSSD); + foreignProxyDisinfectionManager.saveOrUpdate(application5); + + int index = 0; for (String barcode : barcodeArray5) { TousseInstance tousseInstance1 = new TousseInstance(); tousseInstance1.setTousseDefinition(foreignproxyTousse); @@ -439,23 +572,24 @@ tousseInstance1.setPrice(price5); tousseInstance1.setFluctuationPrice(price5); tousseInstance1.setSterilingType("P1"); - tousseInstance1.setOrgUnitCoding(Constants.ORG_UNIT_CODE_DISINFECT); - tousseInstance1.setOrgUnitName(Constants.ORG_UNIT_NAME_DISINFECT); + tousseInstance1.setOrgUnitCoding(Constants.ORG_UNIT_CODE_CSSD); + tousseInstance1.setOrgUnitName(Constants.ORG_UNIT_NAME_CSSD); tousseInstance1.setStatisticsAmount(1); + tousseInstance1.setApplicationTousseItemId(application5.getApplicationItems().get(index++).getId()); + tousseInstance1.setForeignTousseApp_id(application5.getId()); + tousseInstance1.setInvoicePlanID(application5.getId()); Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_YEAR, 1); Date date = c.getTime(); tousseInstance1.setValidUntil(date); tousseInstance1.setForeignProxyItem_id(item5.getId()); - tousseInstanceManager.setToDefaultWareHouse(tousseInstance1, Constants.ORG_UNIT_CODE_DISINFECT); -// tousseInstanceManager.saveOrUpdate(tousseInstance1); + tousseInstanceManager.setToDefaultWareHouse(tousseInstance1, Constants.ORG_UNIT_CODE_CSSD); + tousseInstanceManager.saveOrUpdate(tousseInstance1); // tousseStockManager.increaseStockByTousseName(tousseInstance1.getTousseName()); } - list5.add(item5); - application5.setForeignProxyItems(list5); - foreignProxyDisinfectionManager.saveOrUpdate(application5); // 一次性物品申请单 + DisposableGoods disposableGoods = diposableGoodsManager.getDisposableGoodsByName("一次性物品A", "小号"); RecyclingApplication application6 = new RecyclingApplication(); application6.setType(InvoicePlan.TYPE_DIPOSABLE_GOODS_APPLICATION_FORM); List items = new ArrayList(); @@ -464,6 +598,8 @@ item.setAmount(700); item.setDiposable("是"); item.setInvoicePlan(application6); + item.setTousseType(TousseItem.TYPE_DIPOSABLE_GOODS); + item.setDisposableGoodsId(disposableGoods.getId()); items.add(item); application6.setApplicationItems(items); application6.setDepartCoding(applicationDepartCoding); @@ -472,9 +608,11 @@ application6.setSettleAccountsDepart(applicationDepart); application6.setDeliverStatus(InvoicePlan.DELIVERSTATUS_AWAITDELIVER); application6.setSerialNumber("2014021800001"); + application6.setHandleDepartCoding(Constants.ORG_UNIT_CODE_CSSD); objectDao.saveOrUpdate(application6); // 多一次性物品申请单 + DisposableGoods disposableGoodsB = diposableGoodsManager.getDisposableGoodsByName("一次性物品B", "小号"); RecyclingApplication application7 = new RecyclingApplication(); application7.setType(InvoicePlan.TYPE_DIPOSABLE_GOODS_APPLICATION_FORM); List items7 = new ArrayList(); @@ -483,6 +621,8 @@ item7_1.setAmount(700); item7_1.setDiposable("是"); item7_1.setInvoicePlan(application7); + item7_1.setTousseType(TousseItem.TYPE_DIPOSABLE_GOODS); + item7_1.setDisposableGoodsId(disposableGoodsB.getId()); items7.add(item7_1); application7.setApplicationItems(items7); application7.setDepartCoding(applicationDepartCoding); @@ -491,6 +631,7 @@ application7.setSettleAccountsDepart(applicationDepart); application7.setDeliverStatus(InvoicePlan.DELIVERSTATUS_AWAITDELIVER); application7.setSerialNumber("2014021100007"); + application7.setHandleDepartCoding(Constants.ORG_UNIT_CODE_CSSD); objectDao.saveOrUpdate(application7); } @@ -509,16 +650,16 @@ tousseInstance1.setPrice(price1); tousseInstance1.setFluctuationPrice(price1); tousseInstance1.setSterilingType("P1"); - tousseInstance1.setOrgUnitCoding(Constants.ORG_UNIT_CODE_DISINFECT); - tousseInstance1.setOrgUnitName(Constants.ORG_UNIT_NAME_DISINFECT); + tousseInstance1.setOrgUnitCoding(Constants.ORG_UNIT_CODE_CSSD); + tousseInstance1.setOrgUnitName(Constants.ORG_UNIT_NAME_CSSD); tousseInstance1.setStatisticsAmount(1); Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_YEAR, 1); Date date = c.getTime(); tousseInstance1.setValidUntil(date); - tousseInstanceManager.setToDefaultWareHouse(tousseInstance1, Constants.ORG_UNIT_CODE_DISINFECT); + tousseInstanceManager.setToDefaultWareHouse(tousseInstance1, Constants.ORG_UNIT_CODE_CSSD); tousseInstanceManager.saveOrUpdate(tousseInstance1); - tousseStockManager.increaseStockByTousseName(tousseInstance1.getTousseName()); +// tousseStockManager.increaseStockByTousseName(tousseInstance1.getTousseName()); } //消毒物品 @@ -533,14 +674,14 @@ tousseInstance1.setPrice(price2); tousseInstance1.setFluctuationPrice(price2); tousseInstance1.setSterilingType("P1"); - tousseInstance1.setOrgUnitCoding(Constants.ORG_UNIT_CODE_DISINFECT); - tousseInstance1.setOrgUnitName(Constants.ORG_UNIT_NAME_DISINFECT); + tousseInstance1.setOrgUnitCoding(Constants.ORG_UNIT_CODE_CSSD); + tousseInstance1.setOrgUnitName(Constants.ORG_UNIT_NAME_CSSD); tousseInstance1.setStatisticsAmount(10); Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_YEAR, 1); Date date = c.getTime(); tousseInstance1.setValidUntil(date); - tousseInstanceManager.setToDefaultWareHouse(tousseInstance1, Constants.ORG_UNIT_CODE_DISINFECT); + tousseInstanceManager.setToDefaultWareHouse(tousseInstance1, Constants.ORG_UNIT_CODE_CSSD); tousseInstanceManager.saveOrUpdate(tousseInstance1); tousseStockManager.increaseStockByTousseName(tousseInstance1.getTousseName()); } @@ -560,16 +701,16 @@ tousseInstance1.setInvoicePlanID(app.getId()); tousseInstance1.setFluctuationPrice(price3); tousseInstance1.setSterilingType("P1"); - tousseInstance1.setOrgUnitCoding(Constants.ORG_UNIT_CODE_DISINFECT); - tousseInstance1.setOrgUnitName(Constants.ORG_UNIT_NAME_DISINFECT); + tousseInstance1.setOrgUnitCoding(Constants.ORG_UNIT_CODE_CSSD); + tousseInstance1.setOrgUnitName(Constants.ORG_UNIT_NAME_CSSD); tousseInstance1.setStatisticsAmount(10); Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_YEAR, 1); Date date = c.getTime(); tousseInstance1.setValidUntil(date); - tousseInstanceManager.setToDefaultWareHouse(tousseInstance1, Constants.ORG_UNIT_CODE_DISINFECT); + tousseInstanceManager.setToDefaultWareHouse(tousseInstance1, Constants.ORG_UNIT_CODE_CSSD); tousseInstanceManager.saveOrUpdate(tousseInstance1); - tousseStockManager.increaseStockByTousseName(tousseInstance1.getTousseName()); +// tousseStockManager.increaseStockByTousseName(tousseInstance1.getTousseName()); } //自定义器械包 TousseDefinition customTousse = tousseDefinitionManager.getTousseDefinitionByName("自定义器械包_2014002"); @@ -583,63 +724,52 @@ tousseInstance1.setPrice(price4); tousseInstance1.setFluctuationPrice(price4); tousseInstance1.setSterilingType("P1"); - tousseInstance1.setOrgUnitCoding(Constants.ORG_UNIT_CODE_DISINFECT); - tousseInstance1.setOrgUnitName(Constants.ORG_UNIT_NAME_DISINFECT); + tousseInstance1.setOrgUnitCoding(Constants.ORG_UNIT_CODE_CSSD); + tousseInstance1.setOrgUnitName(Constants.ORG_UNIT_NAME_CSSD); tousseInstance1.setStatisticsAmount(10); Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_YEAR, 1); Date date = c.getTime(); tousseInstance1.setValidUntil(date); - tousseInstanceManager.setToDefaultWareHouse(tousseInstance1, Constants.ORG_UNIT_CODE_DISINFECT); + tousseInstanceManager.setToDefaultWareHouse(tousseInstance1, Constants.ORG_UNIT_CODE_CSSD); tousseInstanceManager.saveOrUpdate(tousseInstance1); - tousseStockManager.increaseStockByTousseName(tousseInstance1.getTousseName()); +// tousseStockManager.increaseStockByTousseName(tousseInstance1.getTousseName()); } } - /*private void prepareInvoice() { - StringBuffer sb1 = new StringBuffer(); - StringBuffer sb2 = new StringBuffer(); + private void prepareInvoice() { List barcodes = new ArrayList(); CollectionUtils.addAll(barcodes, barcodeArray1); CollectionUtils.addAll(barcodes, barcodeArray2); CollectionUtils.addAll(barcodes, barcodeArray3); CollectionUtils.addAll(barcodes, barcodeArray4); CollectionUtils.addAll(barcodes, barcodeArray5); - for (String barcode : barcodes) { - TousseInstance tousseInstance = super.tousseInstanceManager.getTousseInstanceByBarcode(barcode); - if (sb1.length() > 0) { - sb1.append("#@"); - } - String validDateStr = new SimpleDateFormat("yyyy-MM-dd").format(tousseInstance.getValidUntil()); - String tousseName = tousseInstance.getTousseName(); - sb1.append(barcode + "#&1#&否#&" + tousseName + "#&" + tousseInstance.getPrice() + "#&" + validDateStr + "#&" + tousseInstance.getFluctuationPrice() + ""); - } - sb2.append("普通器械包#&" + barcodeArray1.length + "#&否#&" + barcodeArray1.length); - sb2.append("#@(妇产科护士)消毒物品_2014001#&" + barcodeArray2.length + "#&否#&" + barcodeArray2.length); - sb2.append("#@外来器械包#&" + barcodeArray3.length + "#&否#&" + barcodeArray3.length); - sb2.append("#@自定义器械包_2014002#&" + barcodeArray4.length + "#&否#&" + barcodeArray4.length); - for (String barcode : barcodeArray5) { - sb2.append("#@外部代理灭菌包#&1#&否#&1"); - } - + WareHouse wareHouse = wareHouseManager.getDefaultWareHouseByUnitCode(Constants.ORG_UNIT_CODE_CSSD); + InvoiceInfo ii = InvoiceInfo.getDepartInvoiceParam("3266", "张晓丽", "李小明", + wareHouse.getId(), barcodes.toArray(new String[0])); + invoiceManager.submitInvoice(JSONObject.fromObject(ii)); + + JSONArray array = new JSONArray(); for (String barcode : barcodeArray6) { - if (sb1.length() > 0) { - sb1.append("#@"); - } - sb1.append(barcode + "#&700#&是#&一次性物品A[小号]#&" + price6 + "#&1402180001#&" + price6 ); + JSONObject item = buildDisposableGoodsInvoiceItem(wareHouse, barcode, 700); + array.add(item); } - sb2.append("#@一次性物品A[小号]#&700#&是#&700"); for (String barcode : barcodeArray7) { - if (sb1.length() > 0) { - sb1.append("#@"); - } - sb1.append(barcode + "#&350#&是#&一次性物品B[小号]#&" + price7 + "#&batch" + barcode + "#&" + price7); + JSONObject item = buildDisposableGoodsInvoiceItem(wareHouse, barcode, 350); + array.add(item); } - sb2.append("#@一次性物品B[小号]#&700#&是#&700"); + JSONObject params = new JSONObject(); + params.put("mode", "depart"); + params.put("departCode", "3266"); + params.put("assistantSender", "张晓丽"); + params.put("sender", "李小明"); + params.put("invoiceItems", array); + params.put("sourceWarehouseId", wareHouse.getId()); + params.put("sourceWarehouseName", wareHouse.getName()); - invoicePlanManager.sendOutGoods("3266", sb1.toString(), sb2.toString(), "张晓丽", "李小明"); - }*/ + invoiceManager.submitInvoice(params); + } /** * 准备退货数据 @@ -655,8 +785,10 @@ returnGoodsItem1.setAmount(1); returnGoodsItem1.setFluctuationPrice(price1); returnGoodsItem1.setReturnGoodsRecord(returnRecord1); + returnGoodsItem1.setSettlementPrice(MathTools.mul(1,price1)); returnRecord1.setReturnGoodsItems(new ArrayList()); returnRecord1.getReturnGoodsItems().add(returnGoodsItem1); + returnRecord1.setHandleDepartCode(Constants.ORG_UNIT_CODE_CSSD); objectDao.saveOrUpdate(returnRecord1); // 一次性物品退货 @@ -667,10 +799,12 @@ ReturnGoodsItem returnGoodsItem2 = new ReturnGoodsItem(); returnGoodsItem2.setTousseName("一次性物品A[小号]"); returnGoodsItem2.setAmount(100); - returnGoodsItem2.setFluctuationPrice(price6); + returnGoodsItem2.setFluctuationPrice(supplyRoomConfigManager.getDisposableGoodsFluctuationPrice(price6)); returnGoodsItem2.setReturnGoodsRecord(returnRecord2); + returnGoodsItem2.setSettlementPrice(MathTools.mul(100,returnGoodsItem2.getFluctuationPrice())); returnRecord2.setReturnGoodsItems(new ArrayList()); returnRecord2.getReturnGoodsItems().add(returnGoodsItem2); + returnRecord2.setHandleDepartCode(Constants.ORG_UNIT_CODE_CSSD); objectDao.saveOrUpdate(returnRecord2); } @@ -701,9 +835,17 @@ TousseItem tousseItem = new TousseItem(); tousseItem.setRecyclingRecord(recyclingRecord); RecyclingError error = new RecyclingError(); + MaterialDefinition materialDefinition = materialDefinitionManager.getMaterialDefinitionByNameAndspecification("剪刀", null); + error.setMaterialDefinitionId(materialDefinition.getId()); error.setMaterialName("剪刀"); + error.setDepart(applicationDepart); + error.setDepartCode(applicationDepartCoding); error.setErrorType(RecyclingError.ERRORTYPE_REDUCE); error.setAmount(1); + error.setMaterialCost(materialDefinition.getCost()); + error.setAdditionalAmount(1); + error.setAdditionalTime(new Date()); + error.setHandleDepartCode(Constants.ORG_UNIT_CODE_CSSD); tousseItem.setRecyclingErrors(new ArrayList()); tousseItem.getRecyclingErrors().add(error); recyclingRecord.getItems().add(tousseItem); Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r16654 -r16832 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 16654) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 16832) @@ -2329,7 +2329,7 @@ } Map result = sterilizationRecordManager.saveOrUpdateSterilizationRecord( sterileRecord, tousseInstanceBarcodes, containerBarcodes,null,barcodePosition); - return new JSONStringer().object().key("success").value(result.get("success")).key("error").value(result.get("error")) + return new JSONStringer().object().key("success").value(result.get("success")).key("error").value(result.get(JSONUtil.JSON_KEY_MESSAGE)) .endObject().toString(); } Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsBatchManager.java =================================================================== diff -u -r12838 -r16832 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsBatchManager.java (.../DisposableGoodsBatchManager.java) (revision 12838) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsBatchManager.java (.../DisposableGoodsBatchManager.java) (revision 16832) @@ -3,8 +3,9 @@ import java.util.List; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatch; +import com.forgon.tools.hibernate.BasePoManager; -public interface DisposableGoodsBatchManager { +public interface DisposableGoodsBatchManager extends BasePoManager { /** * 根据一次性物品定义的id获取一次性物品批次定义 * @param disposableGoodsId 一次性物品定义的id