Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/ExpensiveGoods.java =================================================================== diff -u -r21619 -r21851 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/ExpensiveGoods.java (.../ExpensiveGoods.java) (revision 21619) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/ExpensiveGoods.java (.../ExpensiveGoods.java) (revision 21851) @@ -20,10 +20,13 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.forgon.Constants; import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.disinfectsystem.entity.basedatamanager.supplier.ExpensiveGoodsSupplier; import com.forgon.disinfectsystem.entity.basedatamanager.supplier.RegistrationCertification; +import com.forgon.disinfectsystem.entity.expensivegoods.ExpensiveGoodsModel; import com.forgon.disinfectsystem.expensivegoods.ExpensiveGoodsUtils; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.string.StringTools; +import com.forgon.tools.util.SqlUtils; /** * @author jeffli 2017年11月9日 下午1:54:28 @@ -704,4 +707,27 @@ } return null; } + + public String getManufacturer(ObjectDao objectDao){ + RegistrationCertification registrationCertification = getRegistrationCertification(objectDao); + if(registrationCertification != null){ + ExpensiveGoodsSupplier expensiveGoodsSupplier = registrationCertification.getExpensiveGoodsSupplier(); + if(expensiveGoodsSupplier != null){ + return expensiveGoodsSupplier.getCompanyName(); + } + } + return null; + } + + /** + * 获取型号 + * @return List + */ + public List getExpensiveGoodsModelList(ObjectDao objectDao ) { + if(id == null){ + return null; + } + String sql = String.format("where %s", SqlUtils.getLongFieldPredicate("po.expensiveGoods.id", id)); + return objectDao.findBySql(ExpensiveGoodsModel.class.getSimpleName(), sql); + } } Index: ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/service/ExpensiveGoodsManager.java =================================================================== diff -u -r21777 -r21851 --- ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/service/ExpensiveGoodsManager.java (.../ExpensiveGoodsManager.java) (revision 21777) +++ ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/service/ExpensiveGoodsManager.java (.../ExpensiveGoodsManager.java) (revision 21851) @@ -293,6 +293,7 @@ * @return */ public ExpensiveGoodsModel getExpensiveGoodsModelByModel(String model,Long expensiveGoodsId); + public ExpensiveGoodsModel getDefaultExpensiveGoodsModel(Long expensiveGoodsId); /** * 根据仓库id,型号,高值耗材物品定义的id,获取高值耗材物品型号库存定义 Index: ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/service/ExpensiveGoodsManagerImpl.java =================================================================== diff -u -r21777 -r21851 --- ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/service/ExpensiveGoodsManagerImpl.java (.../ExpensiveGoodsManagerImpl.java) (revision 21777) +++ ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/service/ExpensiveGoodsManagerImpl.java (.../ExpensiveGoodsManagerImpl.java) (revision 21851) @@ -62,6 +62,7 @@ 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.expensivegoods.ExpensiveGoodsBatch; import com.forgon.disinfectsystem.entity.expensivegoods.ExpensiveGoodsModel; import com.forgon.disinfectsystem.entity.expensivegoods.ExpensiveGoodsModelStock; import com.forgon.disinfectsystem.entity.goodsstock.GoodsStock; @@ -90,17 +91,13 @@ import com.forgon.tools.GB2WB; import com.forgon.tools.MathTools; import com.forgon.tools.SqlBuilder; -import com.forgon.tools.StrutsParamUtils; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.db.InitDbConnection; import com.forgon.tools.excel.ParerUtils; import com.forgon.tools.format.FormatString; import com.forgon.tools.hibernate.BasePoManagerImpl; import com.forgon.tools.string.StringTools; import com.forgon.tools.util.SqlUtils; -import com.forgon.disinfectsystem.entity.expensivegoods.ExpensiveGoodsBatch; -import com.forgon.disinfectsystem.entity.expensivegoods.ExpensiveGoodsModel; -import com.forgon.disinfectsystem.entity.expensivegoods.ExpensiveGoodsModelStock; @Service("expensiveGoodsManagerTarget") @@ -201,10 +198,24 @@ } } } - + // 创建空的型号 objectDao.saveOrUpdate(expensiveGoodss); + createDefaultModel(expensiveGoodss); } + private void createDefaultModel(ExpensiveGoods expensiveGoods){ + ExpensiveGoodsModel defaultExpensiveGoodsModel = getDefaultExpensiveGoodsModel(expensiveGoods.getId()); + if(defaultExpensiveGoodsModel == null){ + ExpensiveGoodsModel expensiveGoodsModel = new ExpensiveGoodsModel(); + String barcode = serialNumManager + .getSerialNumberStr(SerialNum.TYPE_BARCODE); + expensiveGoodsModel.setBarcode(barcode); + expensiveGoodsModel.setExpensiveGoods(expensiveGoods); + expensiveGoodsModel.setManufacturer(expensiveGoods.getManufacturer(objectDao)); + objectDao.save(expensiveGoodsModel); + } + } + /** * 更新持久化的对象. * @param curExpensiveGoods 持久化的对象 @@ -2225,6 +2236,15 @@ } return null; } + + public ExpensiveGoodsModel getDefaultExpensiveGoodsModel(Long expensiveGoodsId){ + if(DatabaseUtil.isPoIdValid(expensiveGoodsId)){ + String sql = String.format("where %s and po.model is null ", + SqlUtils.getLongFieldPredicate("po.expensiveGoods.id", expensiveGoodsId)); + return (ExpensiveGoodsModel) objectDao.getBySql(ExpensiveGoodsModel.class.getSimpleName(), sql); + } + return null; + } /** * 根据高值耗材物品定义的id获取高值耗材型号定义