Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/MaterialInvoice.java =================================================================== diff -u -r23492 -r23652 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/MaterialInvoice.java (.../MaterialInvoice.java) (revision 23492) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/MaterialInvoice.java (.../MaterialInvoice.java) (revision 23652) @@ -5,8 +5,6 @@ import java.util.List; import javax.persistence.Entity; -import org.hibernate.annotations.DynamicInsert; -import org.hibernate.annotations.DynamicUpdate; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; @@ -18,8 +16,11 @@ import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.Cascade; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.forgon.Constants; /** * @author shuyongfu @@ -86,6 +87,14 @@ * 发货的仓库名称 */ private String sourceWarehouseName; + /** + * 是否已打印 + */ + private String isPrint = Constants.STR_NO; + /** + * 打印时间 + */ + private Date printTime; @Id @GeneratedValue(strategy = GenerationType.AUTO) @@ -241,4 +250,20 @@ this.sourceWarehouseName = sourceWarehouseName; } + public String getIsPrint() { + return isPrint; + } + + public Date getPrintTime() { + return printTime; + } + + public void setIsPrint(String isPrint) { + this.isPrint = isPrint; + } + + public void setPrintTime(Date printTime) { + this.printTime = printTime; + } + } Index: ssts-web/src/main/webapp/disinfectsystem/invoice/materialInvoiceView.js =================================================================== diff -u -r18608 -r23652 --- ssts-web/src/main/webapp/disinfectsystem/invoice/materialInvoiceView.js (.../materialInvoiceView.js) (revision 18608) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/materialInvoiceView.js (.../materialInvoiceView.js) (revision 23652) @@ -684,7 +684,7 @@ //更新打印状态 function updatePrintStatus(ids){ - InvoiceTableManager.updatePrintStatus(ids,function(printSuccess){ + InvoiceTableManager.updateMaterialInvoicePrintStatus(ids,function(printSuccess){ if(printSuccess){ grid.dwrReload(); showResult("已打印!"); @@ -928,6 +928,8 @@ {header : "总价",width : 200,dataIndex : 'totalPrice'}, {header : "操作员",width : 200,dataIndex : 'sender'}, {header : "发货时间",width : 200,dataIndex : 'sendTime' , renderer : myDateFormatByMinute}, + {header : "打印状态",width : 200,dataIndex : 'isPrint'}, + {header : "打印时间",width : 200,dataIndex : 'printTime' , renderer : myDateFormatByMinute}, {id : 'operationRemark',header : "备注",width : 120,dataIndex : 'remark'} ]; @@ -938,7 +940,8 @@ {name : 'totalPrice'}, {name : 'sender'}, {name : 'sendTime'}, - {name : 'sendTime'}, + {name : 'isPrint'}, + {name : 'printTime'}, {name : 'remark'} ]; @@ -949,6 +952,8 @@ {type: 'string', dataIndex: 'totalPrice'}, {type: 'string', dataIndex: 'sender'}, {type: 'date', dataIndex: 'sendTime'}, + {type: 'string', dataIndex: 'isPrint'}, + {type: 'date', dataIndex: 'printTime'}, {type: 'string', dataIndex: 'remark'} ]} ); Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/dwr/table/InvoiceTableManager.java =================================================================== diff -u -r21103 -r23652 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/dwr/table/InvoiceTableManager.java (.../InvoiceTableManager.java) (revision 21103) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/dwr/table/InvoiceTableManager.java (.../InvoiceTableManager.java) (revision 23652) @@ -20,7 +20,6 @@ import com.forgon.directory.model.OrgUnit; import com.forgon.directory.service.OrgUnitManager; import com.forgon.disinfectsystem.barcode.service.BarcodeManager; -import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodBatchStockManager; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; @@ -35,6 +34,7 @@ import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; import com.forgon.disinfectsystem.invoicemanager.service.InvoiceManager; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; +import com.forgon.exception.service.ExceptionHandler; import com.forgon.security.model.User; import com.forgon.tools.MathTools; import com.forgon.tools.SqlBuilder; @@ -58,8 +58,6 @@ private TousseDefinitionManager tousseDefinitionManager; - private SupplyRoomConfigManager supplyRoomConfigManager; - private DiposableGoodBatchStockManager diposableGoodBatchStockManager; private ObjectDao objectDao; @@ -68,6 +66,12 @@ private DateQueryAdapter dateQueryAdapter; + private ExceptionHandler exceptionHandler; + + public void setExceptionHandler(ExceptionHandler exceptionHandler) { + this.exceptionHandler = exceptionHandler; + } + public void setDateQueryAdapter(DateQueryAdapter dateQueryAdapter) { this.dateQueryAdapter = dateQueryAdapter; } @@ -77,11 +81,6 @@ this.diposableGoodBatchStockManager = diposableGoodBatchStockManager; } - public void setSupplyRoomConfigManager( - SupplyRoomConfigManager supplyRoomConfigManager) { - this.supplyRoomConfigManager = supplyRoomConfigManager; - } - public TousseDefinitionManager getTousseDefinitionManager() { return tousseDefinitionManager; } @@ -388,6 +387,16 @@ return success; } + + public boolean updateMaterialInvoicePrintStatus(String invoiceIds){ + try { + invoiceManager.updateMaterialInvoicePrintStatus(invoiceIds); + return true; + } catch (Exception e) { + exceptionHandler.handleException(e); + return false; + } + } public String getInvoicePrintDetail(String invoiceId){ String str = ""; Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r23646 -r23652 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 23646) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 23652) @@ -88,6 +88,7 @@ import com.forgon.disinfectsystem.entity.invoicemanager.InvoiceItem; import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; import com.forgon.disinfectsystem.entity.invoicemanager.Invoice_InvoicePlan; +import com.forgon.disinfectsystem.entity.invoicemanager.MaterialInvoice; import com.forgon.disinfectsystem.entity.invoicemanager.TimeQuantum; import com.forgon.disinfectsystem.entity.operationreservation.OperationReservation; import com.forgon.disinfectsystem.entity.packing.PackingTask; @@ -1055,6 +1056,17 @@ sql = String.format("update " + InvoiceItem.class.getSimpleName() + " set isPrint = '是' where invoice_id in (%s)", invoiceIds); session.createQuery(sql).executeUpdate(); } + + @Override + public void updateMaterialInvoicePrintStatus(String invoiceIds){ + Session session = objectDao.getHibernateSession(); + String nowTime = dateQueryAdapter.dateAdapter(new Date()); + String idSql = SqlUtils.getNonStringFieldInLargeCollectionsPredicate("id", StringTools.parseToLongs(invoiceIds, ",")); + String sql = String.format("update %s set isPrint = '是',printTime = %s where %s", + MaterialInvoice.class.getSimpleName(),nowTime, idSql); + Query query = session.createQuery(sql); + query.executeUpdate(); + } /** * 更新发货单价格、发货明细价格、自定义器械包实例价格 Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManager.java =================================================================== diff -u -r23581 -r23652 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManager.java (.../InvoiceManager.java) (revision 23581) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManager.java (.../InvoiceManager.java) (revision 23652) @@ -81,6 +81,11 @@ public void updateInvoicePrintStatus(String departCoding); public void updatePrintStatus(String invoiceIds); + /** + * 更新材料发货单的打印状态,并设置打印时间 + * @param invoiceIds + */ + public void updateMaterialInvoicePrintStatus(String invoiceIds); public void updateCustomTousseInvoicePrice(Invoice invoice, String barcode, String newPrice);