Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/MaterialInvoiceManagerImpl.java =================================================================== diff -u -r13103 -r13107 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/MaterialInvoiceManagerImpl.java (.../MaterialInvoiceManagerImpl.java) (revision 13103) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/MaterialInvoiceManagerImpl.java (.../MaterialInvoiceManagerImpl.java) (revision 13107) @@ -3,121 +3,27 @@ import java.math.BigDecimal; import java.sql.ResultSet; import java.sql.SQLException; -import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.Collection; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import net.sf.json.JSONArray; -import net.sf.json.JSONObject; - import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; -import org.apache.commons.collections4.Predicate; -import org.apache.commons.collections4.functors.AllPredicate; -import org.apache.commons.collections4.map.MultiValueMap; -import org.apache.commons.lang3.ArrayUtils; -import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.log4j.Logger; -import org.hibernate.LockMode; -import org.hibernate.Query; -import org.hibernate.Session; -import com.forgon.Constants; -import com.forgon.databaseadapter.service.DateQueryAdapter; -import com.forgon.directory.acegi.tools.AcegiHelper; -import com.forgon.directory.model.BarcodeDevice; -import com.forgon.directory.service.OrgUnitManager; -import com.forgon.disinfectsystem.barcode.service.BarcodeManager; import com.forgon.disinfectsystem.basedatamanager.goodsstock.service.GoodsStockManager; import com.forgon.disinfectsystem.basedatamanager.invoice.service.InvoiceUtils; -import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; -import com.forgon.disinfectsystem.basedatamanager.toussedefinition.service.TousseDefinitionUtils; -import com.forgon.disinfectsystem.basedatamanager.toussedefinition.service.TousseInstanceUtils; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; -import com.forgon.disinfectsystem.common.CssdUtils; -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.DisposableGoodsBatch; -import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; -import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; -import com.forgon.disinfectsystem.entity.assestmanagement.IdentificationOfDisposableGoods; -import com.forgon.disinfectsystem.entity.assestmanagement.TousseStock; -import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; -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.departmentstock.DepartmentStock; -import com.forgon.disinfectsystem.entity.foreigntousseapplication.ForeignTousseApplication; import com.forgon.disinfectsystem.entity.goodsstock.GoodsStock; -import com.forgon.disinfectsystem.entity.invoicemanager.DiposableGoodsItem; -import com.forgon.disinfectsystem.entity.invoicemanager.Invoice; -import com.forgon.disinfectsystem.entity.invoicemanager.InvoiceGoodsVo; -import com.forgon.disinfectsystem.entity.invoicemanager.InvoiceItem; -import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; -import com.forgon.disinfectsystem.entity.invoicemanager.LostMaterialItem; import com.forgon.disinfectsystem.entity.invoicemanager.MaterialInvoice; import com.forgon.disinfectsystem.entity.invoicemanager.MaterialInvoiceItem; import com.forgon.disinfectsystem.entity.invoicemanager.MaterialItem; -import com.forgon.disinfectsystem.entity.invoicemanager.TimeQuantum; -import com.forgon.disinfectsystem.entity.packing.ReviewedBasket; -import com.forgon.disinfectsystem.entity.recyclingapplication.RecyclingApplication; -import com.forgon.disinfectsystem.entity.sterilizationmanager.foreignproxydisinfection.ForeignProxyItem; -import com.forgon.disinfectsystem.entity.sterilizationmanager.proxydisinfection.ProxyDisinfection; -import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecord; -import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; import com.forgon.disinfectsystem.inventorymanagement.service.WriteBackInventoryHelper; -import com.forgon.disinfectsystem.invoicemanager.vo.InvoicePrintVo; -import com.forgon.disinfectsystem.invoicemanager.vo.InvoiceStaticsVo; -import com.forgon.disinfectsystem.invoicemanager.vo.WaitSignGoodsSummary; -import com.forgon.disinfectsystem.project.service.ProjectManager; -import com.forgon.disinfectsystem.recyclingapplication.service.InvoicePlanManager; -import com.forgon.disinfectsystem.recyclingapplication.vo.ApplicationGoodsVo; -import com.forgon.disinfectsystem.recyclingapplication.vo.GridDataVo; -import com.forgon.disinfectsystem.recyclingapplication.vo.MaterialVO; -import com.forgon.disinfectsystem.recyclingrecord.service.RecyclingRecordManager; -import com.forgon.disinfectsystem.stockmanage.cssdstock.service.TousseStockManager; -import com.forgon.disinfectsystem.stockmanage.departmentstock.service.DepartmentStockManager; -import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; -import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseInstanceManager; -import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseInstanceManagerImpl; -import com.forgon.disinfectsystem.vo.TousseItemVo; -import com.forgon.security.model.User; -import com.forgon.serialnumber.model.SerialNum; import com.forgon.serialnumber.service.SerialNumManager; import com.forgon.tools.GB2Alpha; import com.forgon.tools.GB2WB; -import com.forgon.tools.MathTools; -import com.forgon.tools.SqlBuilder; -import com.forgon.tools.date.DateTools; import com.forgon.tools.db.DatabaseUtil; -import com.forgon.tools.db.InitDbConnection; import com.forgon.tools.hibernate.ObjectDao; -import com.forgon.tools.json.GsonUtil; -import com.forgon.tools.json.JSONUtil; -import com.forgon.tools.util.SqlUtils; -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import com.google.gson.JsonPrimitive; -import com.google.gson.reflect.TypeToken; /** * @author WangYi 2012-3-5 @@ -298,9 +204,12 @@ materialItem.setMaterialInvoice(materialInvoice); materialItem.setMaterialInvoiceItemID(materialInvoiceItem.getId()); materialItem.setName(materialInvoiceItem.getMaterialName()); + materialItem.setMaterialDefinitionId(goodsStock.getMaterialDefinitionId()); materialItem.setPrice(goodsStock.getPrice()); objectDao.saveOrUpdate(materialItem); + materialInvoice.getMaterialItemList().add(materialItem); + settlementPrice = new BigDecimal(settlementPrice.toString()).add( new BigDecimal(materialItem.getPrice().toString()) .multiply(new BigDecimal(materialItem @@ -317,9 +226,12 @@ materialItem.setMaterialInvoice(materialInvoice); materialItem.setMaterialInvoiceItemID(materialInvoiceItem.getId()); materialItem.setName(materialInvoiceItem.getMaterialName()); + materialItem.setMaterialDefinitionId(goodsStock.getMaterialDefinitionId()); materialItem.setPrice(goodsStock.getPrice()); objectDao.saveOrUpdate(materialItem); + materialInvoice.getMaterialItemList().add(materialItem); + settlementPrice = new BigDecimal(settlementPrice.toString()).add( new BigDecimal(materialItem.getPrice().toString()) .multiply(new BigDecimal(materialItem