package cn.com.lzt.relatedunits.service.impl; import cn.com.lzt.relatedunits.entity.RelatedUnitsEntity; import cn.com.lzt.relatedunits.service.RelatedUnitsServiceI; import cn.com.lzt.relatedunitscontacts.entity.RelatedUnitsContactsEntity; import cn.com.lzt.relatedunitsextrainfo.entity.RelatedUnitsExtrainfoEntity; import org.jeecgframework.core.common.exception.BusinessException; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.jeecgframework.core.util.MyBeanUtils; import org.jeecgframework.core.util.oConvertUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.UUID; @Service("relatedUnitsService") @Transactional public class RelatedUnitsServiceImpl extends CommonServiceImpl implements RelatedUnitsServiceI { public void delete(T entity) { super.delete(entity); //执行删除操作配置的sql增强 this.doDelSql((RelatedUnitsEntity)entity); } public void addMain(RelatedUnitsEntity relatedUnits, List relatedUnitsContactsList,List relatedUnitsExtrainfoList){ //保存主信息 this.save(relatedUnits); /**保存-联系人信息*/ for(RelatedUnitsContactsEntity relatedUnitsContacts:relatedUnitsContactsList){ //外键设置 relatedUnitsContacts.setRelatedUnitsId(relatedUnits.getId()); this.save(relatedUnitsContacts); } /**保存-附加信息*/ for(RelatedUnitsExtrainfoEntity relatedUnitsExtrainfo:relatedUnitsExtrainfoList){ //外键设置 relatedUnitsExtrainfo.setRelatedUnitsId(relatedUnits.getId()); this.save(relatedUnitsExtrainfo); } //执行新增操作配置的sql增强 this.doAddSql(relatedUnits); } public void updateMain(RelatedUnitsEntity relatedUnits, List relatedUnitsContactsList,List relatedUnitsExtrainfoList) { //保存主表信息 this.saveOrUpdate(relatedUnits); //=================================================================================== //获取参数 Object id0 = relatedUnits.getId(); Object id1 = relatedUnits.getId(); //=================================================================================== //1.查询出数据库的明细数据-联系人信息 String hql0 = "from RelatedUnitsContactsEntity where 1 = 1 AND rELATED_UNITS_ID =? "; List relatedUnitsContactsOldList = this.findHql(hql0,id0); //2.筛选更新明细数据-联系人信息 if(relatedUnitsContactsList!=null&&relatedUnitsContactsList.size()>0){ for(RelatedUnitsContactsEntity oldE:relatedUnitsContactsOldList){ boolean isUpdate = false; for(RelatedUnitsContactsEntity sendE:relatedUnitsContactsList){ //需要更新的明细数据-联系人信息 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(RelatedUnitsContactsEntity relatedUnitsContacts:relatedUnitsContactsList){ if(oConvertUtils.isEmpty(relatedUnitsContacts.getId())){ //外键设置 relatedUnitsContacts.setRelatedUnitsId(relatedUnits.getId()); this.save(relatedUnitsContacts); } } } //=================================================================================== //1.查询出数据库的明细数据-附加信息 String hql1 = "from RelatedUnitsExtrainfoEntity where 1 = 1 AND rELATED_UNITS_ID =? "; List relatedUnitsExtrainfoOldList = this.findHql(hql1,id1); //2.筛选更新明细数据-附加信息 if(relatedUnitsExtrainfoList!=null&&relatedUnitsExtrainfoList.size()>0){ for(RelatedUnitsExtrainfoEntity oldE:relatedUnitsExtrainfoOldList){ boolean isUpdate = false; for(RelatedUnitsExtrainfoEntity sendE:relatedUnitsExtrainfoList){ //需要更新的明细数据-附加信息 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(RelatedUnitsExtrainfoEntity relatedUnitsExtrainfo:relatedUnitsExtrainfoList){ if(oConvertUtils.isEmpty(relatedUnitsExtrainfo.getId())){ //外键设置 relatedUnitsExtrainfo.setRelatedUnitsId(relatedUnits.getId()); this.save(relatedUnitsExtrainfo); } } } //执行更新操作配置的sql增强 this.doUpdateSql(relatedUnits); } public void delMain(RelatedUnitsEntity relatedUnits) { //删除主表信息 this.delete(relatedUnits); //=================================================================================== //获取参数 Object id0 = relatedUnits.getId(); Object id1 = relatedUnits.getId(); //=================================================================================== //删除-联系人信息 String hql0 = "from RelatedUnitsContactsEntity where 1 = 1 AND rELATED_UNITS_ID =? "; List relatedUnitsContactsOldList = this.findHql(hql0,id0); this.deleteAllEntitie(relatedUnitsContactsOldList); //=================================================================================== //删除-附加信息 String hql1 = "from RelatedUnitsExtrainfoEntity where 1 = 1 AND rELATED_UNITS_ID =? "; List relatedUnitsExtrainfoOldList = this.findHql(hql1,id1); this.deleteAllEntitie(relatedUnitsExtrainfoOldList); } /** * 默认按钮-sql增强-新增操作 * @param id * @return */ public boolean doAddSql(RelatedUnitsEntity t){ return true; } /** * 默认按钮-sql增强-更新操作 * @param id * @return */ public boolean doUpdateSql(RelatedUnitsEntity t){ return true; } /** * 默认按钮-sql增强-删除操作 * @param id * @return */ public boolean doDelSql(RelatedUnitsEntity t){ return true; } /** * 替换sql中的变量 * @param sql * @return */ public String replaceVal(String sql,RelatedUnitsEntity t){ sql = sql.replace("#{id}",String.valueOf(t.getId())); sql = sql.replace("#{unit_name}",String.valueOf(t.getUnitName())); sql = sql.replace("#{unit_code}",String.valueOf(t.getUnitCode())); sql = sql.replace("#{unit_level}",String.valueOf(t.getUnitLevel())); sql = sql.replace("#{unit_type}",String.valueOf(t.getUnitType())); sql = sql.replace("#{region_province}",String.valueOf(t.getRegionProvince())); sql = sql.replace("#{region_city}",String.valueOf(t.getRegionCity())); sql = sql.replace("#{region_country}",String.valueOf(t.getRegionCountry())); sql = sql.replace("#{detail_address}",String.valueOf(t.getDetailAddress())); sql = sql.replace("#{charge_persons}",String.valueOf(t.getChargePersons())); sql = sql.replace("#{telphone}",String.valueOf(t.getTelphone())); sql = sql.replace("#{email}",String.valueOf(t.getEmail())); sql = sql.replace("#{fax}",String.valueOf(t.getFax())); sql = sql.replace("#{preset_price_type}",String.valueOf(t.getPresetPriceType())); sql = sql.replace("#{preset_discount_type}",String.valueOf(t.getPresetDiscountType())); sql = sql.replace("#{credit_payable}",String.valueOf(t.getCreditPayable())); sql = sql.replace("#{credit_receivable}",String.valueOf(t.getCreditReceivable())); sql = sql.replace("#{collection_period}",String.valueOf(t.getCollectionPeriod())); sql = sql.replace("#{credit_period}",String.valueOf(t.getCreditPeriod())); sql = sql.replace("#{initial_receivable }",String.valueOf(t.getInitialReceivable ())); sql = sql.replace("#{early_payment}",String.valueOf(t.getEarlyPayment())); sql = sql.replace("#{amount_receivable}",String.valueOf(t.getAmountReceivable())); sql = sql.replace("#{payable_balance}",String.valueOf(t.getPayableBalance())); sql = sql.replace("#{advance_balance }",String.valueOf(t.getAdvanceBalance ())); sql = sql.replace("#{prepaid_balance }",String.valueOf(t.getPrepaidBalance ())); sql = sql.replace("#{status}",String.valueOf(t.getStatus())); sql = sql.replace("#{delete_flag}",String.valueOf(t.getDeleteFlag())); sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName())); sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy())); sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate())); sql = sql.replace("#{update_name}",String.valueOf(t.getUpdateName())); sql = sql.replace("#{update_by}",String.valueOf(t.getUpdateBy())); sql = sql.replace("#{update_date}",String.valueOf(t.getUpdateDate())); sql = sql.replace("#{UUID}",UUID.randomUUID().toString()); return sql; } }