public void addMain( TScIcitemEntity tScIcitem, List<TScItemPriceEntity> tScItemPriceList, List<TScItemPhotoEntity> tScItemPhotoList) { // 保存主信息 this.save(tScIcitem); /** 保存-单位价格表 */ for (TScItemPriceEntity tScItemPrice : tScItemPriceList) { // 外键设置 if (StringUtils.isNotEmpty(tScItemPrice.getUnitID())) { TScMeasureunitToIcItemEntity entity = this.get(TScMeasureunitToIcItemEntity.class, tScItemPrice.getUnitID()); entity.setId(tScItemPrice.getUnitID()); tScItemPrice.setMeasureunitToIcItemEntity(entity); } tScItemPrice.setPriceToIcItem(tScIcitem); // tScItemPrice.setItemID(tScIcitem.getId()); // if(tScItemPrice.getDefaultCG() == null){ // tScItemPrice.setDefaultCG(0); // } // if(tScItemPrice.getDefaultXS() == null){ // tScItemPrice.setDefaultXS(0); // } // if(tScItemPrice.getDefaultCK() ==null){ // tScItemPrice.setDefaultCK(0); // } // if(tScItemPrice.getDefaultSC() == null){ // tScItemPrice.setDefaultSC(0); // } this.save(tScItemPrice); } /** 保存-商品图片表 */ for (TScItemPhotoEntity tScItemPhoto : tScItemPhotoList) { // 外键设置 tScItemPhoto.setItemID(tScIcitem.getId()); this.save(tScItemPhoto); } // 执行新增操作配置的sql增强 this.doAddSql(tScIcitem); }
public void updateMain( TScIcitemEntity tScIcitem, List<TScItemPriceEntity> tScItemPriceList, List<TScItemPhotoEntity> tScItemPhotoList) { // 保存主表信息 this.saveOrUpdate(tScIcitem); // =================================================================================== // 获取参数 Object id0 = tScIcitem.getId(); Object id1 = tScIcitem.getId(); // =================================================================================== // 1.查询出数据库的明细数据-单位价格表 String hql0 = "from TScItemPriceEntity where 1 = 1 AND priceToIcItem.id = ? "; List<TScItemPriceEntity> tScItemPriceOldList = this.findHql(hql0, id0); // 2.筛选更新明细数据-单位价格表 for (TScItemPriceEntity oldE : tScItemPriceOldList) { boolean isUpdate = false; for (TScItemPriceEntity sendE : tScItemPriceList) { if (StringUtils.isNotEmpty(sendE.getUnitID())) { TScMeasureunitToIcItemEntity entity = this.get(TScMeasureunitToIcItemEntity.class, sendE.getUnitID()); // 持久化 entity.setId(sendE.getUnitID()); sendE.setMeasureunitToIcItemEntity(entity); } // 需要更新的明细数据-单位价格表 if (oldE.getId().equals(sendE.getId())) { try { // 计数单位 if (!oldE.getMeasureunitToIcItemEntity().getId().equals(sendE.getUnitID())) { TScCountEntity countEntity = new TScCountEntity(); countEntity.setType(Globals.COUNT_UPDATE_TYPE); countEntity.setOldId(oldE.getMeasureunitToIcItemEntity().getId()); // 原先的单位 countEntity.setNewId(sendE.getUnitID()); // 更改后的单位 tScMeasureunitService.updateMeasureunitCount(countEntity); } // if(sendE.getDefaultCG() == null){ // sendE.setDefaultCG(0); // } // if(sendE.getDefaultXS() == null){ // sendE.setDefaultXS(0); // } // if(sendE.getDefaultCK() ==null){ // sendE.setDefaultCK(0); // } // if(sendE.getDefaultSC() == null){ // sendE.setDefaultSC(0); // } // MyBeanUtils.copyBeanNotNull2Bean(sendE, oldE); MyBeanUtils.copyBean2Bean(oldE, sendE); oldE.setPriceToIcItem(tScIcitem); this.saveOrUpdate(oldE); } catch (Exception e) { e.printStackTrace(); throw new BusinessException(e.getMessage()); } isUpdate = true; break; } } if (!isUpdate) { // 计数单位 TScCountEntity countEntity = new TScCountEntity(); countEntity.setType(Globals.COUNT_DEL_TYPE); countEntity.setOldId(oldE.getMeasureunitToIcItemEntity().getId()); // 原先的单位 tScMeasureunitService.updateMeasureunitCount(countEntity); // 如果数据库存在的明细,前台没有传递过来则是删除-单位价格表 super.delete(oldE); } } // 3.持久化新增的数据-单位价格表 for (TScItemPriceEntity tScItemPrice : tScItemPriceList) { if (oConvertUtils.isEmpty(tScItemPrice.getId())) { // 计数单位 TScCountEntity countEntity = new TScCountEntity(); countEntity.setType(Globals.COUNT_ADD_TYPE); countEntity.setOldId(tScItemPrice.getUnitID()); // 原先的单位 tScMeasureunitService.updateMeasureunitCount(countEntity); if (StringUtils.isNotEmpty(tScItemPrice.getUnitID())) { TScMeasureunitToIcItemEntity entity = this.get(TScMeasureunitToIcItemEntity.class, tScItemPrice.getUnitID()); entity.setId(tScItemPrice.getUnitID()); tScItemPrice.setMeasureunitToIcItemEntity(entity); } // 外键设置 // tScItemPrice.setItemID(tScIcitem.getId()); tScItemPrice.setPriceToIcItem(tScIcitem); this.save(tScItemPrice); } } // =================================================================================== // 1.查询出数据库的明细数据-商品图片表 String hql1 = "from TScItemPhotoEntity where 1 = 1 AND iTEMID = ? "; List<TScItemPhotoEntity> tScItemPhotoOldList = this.findHql(hql1, id1); // 2.筛选更新明细数据-商品图片表 for (TScItemPhotoEntity oldE : tScItemPhotoOldList) { boolean isUpdate = false; for (TScItemPhotoEntity sendE : tScItemPhotoList) { // 需要更新的明细数据-商品图片表 if (oldE.getId().equals(sendE.getId())) { try { MyBeanUtils.copyBeanNotNull2Bean(sendE, oldE); this.saveOrUpdate(oldE); } catch (Exception e) { e.printStackTrace(); throw new BusinessException(e.getMessage()); } isUpdate = true; break; } } if (!isUpdate) { // 如果数据库存在的明细,前台没有传递过来则是删除-商品图片表 super.delete(oldE); } } // 3.持久化新增的数据-商品图片表 for (TScItemPhotoEntity tScItemPhoto : tScItemPhotoList) { if (oConvertUtils.isEmpty(tScItemPhoto.getId())) { // 外键设置 tScItemPhoto.setItemID(tScIcitem.getId()); this.save(tScItemPhoto); } } // 执行更新操作配置的sql增强 this.doUpdateSql(tScIcitem); }