Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStorageRecordManagerImpl.java =================================================================== diff -u -r13926 -r14366 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStorageRecordManagerImpl.java (.../DisposableGoodsStorageRecordManagerImpl.java) (revision 13926) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStorageRecordManagerImpl.java (.../DisposableGoodsStorageRecordManagerImpl.java) (revision 14366) @@ -9,7 +9,12 @@ import com.forgon.Constants; import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsIdentification; import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntry; +import com.forgon.disinfectsystem.entity.invoicemanager.DiposableGoodsItem; +import com.forgon.disinfectsystem.entity.packing.PackingRecord; import com.forgon.tools.SqlBuilder; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; @@ -91,6 +96,18 @@ sb.append(" where "); sb.append(SqlBuilder.build_number_IN_Statement("rgr.warehouseID", SqlBuilder.IN, warehosueIds)); + sb.append(" union all "); + + //装配扣减 + sb.append(" select pr.packer as operator,'' as serialNumber,pr.packTime as time,'装配扣减' as type,'装配出库' as subType,dgbs.warehouseName as warehouseName," ); + sb.append(" dgi.amount, dgi.price as price,(dgi.amount*dgi.price) as totalPrice,dg.name,dg.specification"); + sb.append(" from " + PackingRecord.class.getSimpleName() + " pr "); + sb.append(" inner join " + DiposableGoodsItem.class.getSimpleName() + " dgi on pr.id=dgi.packingRecordId"); + sb.append(" inner join " + DisposableGoodsBatchStock.class.getSimpleName() + " dgbs on dgi.disposableGoodsBatchStockID=dgbs.id"); + sb.append(" inner join " + DisposableGoods.class.getSimpleName() + " dg on dg.id=dgi.disposableGoodsID"); + sb.append(" where dg.id=").append(disposableGoodsId).append(" and "); + sb.append(SqlBuilder.build_number_IN_Statement("dgbs.warehouseID", SqlBuilder.IN, warehosueIds)); + sb.append(" ) md "); sb.append(" where "); sb.append(dateQueryAdapter.dateAreaSql("time", startDate, endDate, true, true));