Index: ssts-web/src/main/webapp/disinfectsystem/returnGoodsRecord/returnGoodsRecordForm.js =================================================================== diff -u -r30001 -r30062 --- ssts-web/src/main/webapp/disinfectsystem/returnGoodsRecord/returnGoodsRecordForm.js (.../returnGoodsRecordForm.js) (revision 30001) +++ ssts-web/src/main/webapp/disinfectsystem/returnGoodsRecord/returnGoodsRecordForm.js (.../returnGoodsRecordForm.js) (revision 30062) @@ -356,6 +356,11 @@ return top.Ext.getCmp('settleAccountsDepart').getValue(); } +//获取结算科室编码 +function getSettleAccountsDepartCoding(){ + return top.Ext.getCmp('settleAccountsDepartCoding').getValue(); +} + //扫描条码加载物品 function loadReturnDiposableGoodsItem() { var barcode = top.Ext.getCmp('barcode').getValue(); @@ -451,9 +456,17 @@ function loadReturnBatchsByDiposableGoodsId(diposableGoods) { var depart = getCurrentDepart(); if (depart == '') { - showResult("必须先填写部门!"); + showResult("必须先填写申请科室!"); return; } + //申请科室编码 + var departCoding = getCurrentDepartCoding(); + //结算科室编码 + var settleAccountsDepartCoding = getSettleAccountsDepartCoding(); + if (settleAccountsDepartCoding == '') { + showResult("必须填写结算科室!"); + return; + } var warehouseID = top.Ext.getCmp("warehouseID").getValue(); if (isUndefinedOrNullOrEmpty(warehouseID)) { showResult('请先选择仓库!'); @@ -465,7 +478,7 @@ // 清空批次价格 clearBatchNumberAndPrice(); - ReturnGoodsRecordTableManager.getBatchStocksByStockIDWarehouseDepart(diposableGoods.id, warehouseID, depart, function (batchesStr) { + ReturnGoodsRecordTableManager.getBatchStocksByStockIDWarehouseDepart(diposableGoods.id, warehouseID, departCoding,settleAccountsDepartCoding , function (batchesStr) { var batches = top.Ext4.JSON.decode(batchesStr); if (batches.length > 0) { for (var i = 0; i < batches.length; ++i) { Index: ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManager.java =================================================================== diff -u -r21818 -r30062 --- ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManager.java (.../ReturnGoodsRecordManager.java) (revision 21818) +++ ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManager.java (.../ReturnGoodsRecordManager.java) (revision 30062) @@ -48,9 +48,16 @@ public Map saveForReturnDiposableGoods_TRANS_REQUIRED(ReturnGoodsRecord returnGoodsRecord); - // 根据一次性物品ID和部门,找出可以退货的批次 + /** + * 根据一次性物品ID和申请科室编码及结算科室编码,找出可以退货的批次 + * @param diposableGoodsID 一次性物品ID + * @param warehouseID 仓库id + * @param departCoding 申请科室编码 + * @param settleAccountsDepartCoding 结算科室编码 + * @return + */ public String getDisposableGoodsBatchStocksByDisposableGoodsStockIDAndWarehouseDepart(String diposableGoodsID, - String warehouseID,String depart); + String warehouseID,String departCoding,String settleAccountsDepartCoding); public JSONArray loadDiposableGoodsReturnGoodsInfoByInvoicePlanId(String warehouseID,Long invoicePlanId); public JSONArray loadReturnedTousseItemsByInvoicePlanId(Long invoicePlanId); public JSONArray loadReturnedTousseItemsByInvoiceId(Long invoiceId); Index: ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/dwr/table/ReturnGoodsRecordTableManager.java =================================================================== diff -u -r25130 -r30062 --- ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/dwr/table/ReturnGoodsRecordTableManager.java (.../ReturnGoodsRecordTableManager.java) (revision 25130) +++ ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/dwr/table/ReturnGoodsRecordTableManager.java (.../ReturnGoodsRecordTableManager.java) (revision 30062) @@ -120,10 +120,17 @@ return priceAmountList; } - // 根据一次性物品ID和部门,找出可以退货的批次 - public String getBatchStocksByStockIDWarehouseDepart(String diposableGoodsID,String warehouseID,String depart) { + /** + * 根据一次性物品ID和申请科室编码及结算科室编码,找出可以退货的批次 + * @param diposableGoodsID 一次性物品ID + * @param warehouseID 仓库id + * @param departCoding 申请科室编码 + * @param settleAccountsDepartCoding 结算科室编码 + * @return + */ + public String getBatchStocksByStockIDWarehouseDepart(String diposableGoodsID,String warehouseID,String departCoding,String settleAccountsDepartCoding) { return returnGoodsRecordManager.getDisposableGoodsBatchStocksByDisposableGoodsStockIDAndWarehouseDepart( - diposableGoodsID,warehouseID, depart); + diposableGoodsID,warehouseID, departCoding, settleAccountsDepartCoding); } public List findReturnGoodsItemVoListByReturnGoodsRecordId(String returnGoodsRecordId){ Index: ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java =================================================================== diff -u -r29904 -r30062 --- ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 29904) +++ ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 30062) @@ -1733,18 +1733,19 @@ return priceAmountList; } - // 根据一次性物品ID和部门,找出可以退货的批次 + @Override public String getDisposableGoodsBatchStocksByDisposableGoodsStockIDAndWarehouseDepart(String disposableGoodsID,String warehouseID, - String depart) { + String departCoding,String settleAccountsDepartCoding) { String isNullFunction = DatabaseUtil.getSqlIsNullFunctionName(dbConnection); String sql = String .format(" where po.id in(select distinct d.disposableGoodsBatchStockID from %s i,%s d" - + " where i.id = d.invoice.id and d.disposableGoodsID='%s' and %s(d.amount,0)>(%s(d.returnedAmount,0)+%s(d.useAmount,0)) and i.sourceWarehouseId=%s and i.settleAccountsDepart ='%s')", + + " where i.id = d.invoice.id and d.disposableGoodsID='%s' and %s(d.amount,0)>(%s(d.returnedAmount,0)+%s(d.useAmount,0)) " + + " and i.sourceWarehouseId=%s and i.departCoding ='%s' and i.settleAccountsDepartCoding ='%s')", Invoice.class.getSimpleName(), DiposableGoodsItem.class.getSimpleName(), disposableGoodsID, isNullFunction, isNullFunction,isNullFunction,warehouseID, - depart); + departCoding,settleAccountsDepartCoding); List batchStocks = diposableGoodBatchStockManager .getDisposableGoodsBatchStockBySql(sql); String batchs = "[]";