RelatedUnitsServiceImpl.java 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. package cn.com.lzt.relatedunits.service.impl;
  2. import cn.com.lzt.relatedunits.entity.RelatedUnitsEntity;
  3. import cn.com.lzt.relatedunits.service.RelatedUnitsServiceI;
  4. import cn.com.lzt.relatedunitscontacts.entity.RelatedUnitsContactsEntity;
  5. import cn.com.lzt.relatedunitsextrainfo.entity.RelatedUnitsExtrainfoEntity;
  6. import org.jeecgframework.core.common.exception.BusinessException;
  7. import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
  8. import org.jeecgframework.core.util.MyBeanUtils;
  9. import org.jeecgframework.core.util.oConvertUtils;
  10. import org.springframework.stereotype.Service;
  11. import org.springframework.transaction.annotation.Transactional;
  12. import java.util.List;
  13. import java.util.UUID;
  14. @Service("relatedUnitsService")
  15. @Transactional
  16. public class RelatedUnitsServiceImpl extends CommonServiceImpl implements RelatedUnitsServiceI {
  17. public <T> void delete(T entity) {
  18. super.delete(entity);
  19. //执行删除操作配置的sql增强
  20. this.doDelSql((RelatedUnitsEntity)entity);
  21. }
  22. public void addMain(RelatedUnitsEntity relatedUnits,
  23. List<RelatedUnitsContactsEntity> relatedUnitsContactsList,List<RelatedUnitsExtrainfoEntity> relatedUnitsExtrainfoList){
  24. //保存主信息
  25. this.save(relatedUnits);
  26. /**保存-联系人信息*/
  27. for(RelatedUnitsContactsEntity relatedUnitsContacts:relatedUnitsContactsList){
  28. //外键设置
  29. relatedUnitsContacts.setRelatedUnitsId(relatedUnits.getId());
  30. this.save(relatedUnitsContacts);
  31. }
  32. /**保存-附加信息*/
  33. for(RelatedUnitsExtrainfoEntity relatedUnitsExtrainfo:relatedUnitsExtrainfoList){
  34. //外键设置
  35. relatedUnitsExtrainfo.setRelatedUnitsId(relatedUnits.getId());
  36. this.save(relatedUnitsExtrainfo);
  37. }
  38. //执行新增操作配置的sql增强
  39. this.doAddSql(relatedUnits);
  40. }
  41. public void updateMain(RelatedUnitsEntity relatedUnits,
  42. List<RelatedUnitsContactsEntity> relatedUnitsContactsList,List<RelatedUnitsExtrainfoEntity> relatedUnitsExtrainfoList) {
  43. //保存主表信息
  44. this.saveOrUpdate(relatedUnits);
  45. //===================================================================================
  46. //获取参数
  47. Object id0 = relatedUnits.getId();
  48. Object id1 = relatedUnits.getId();
  49. //===================================================================================
  50. //1.查询出数据库的明细数据-联系人信息
  51. String hql0 = "from RelatedUnitsContactsEntity where 1 = 1 AND rELATED_UNITS_ID =? ";
  52. List<RelatedUnitsContactsEntity> relatedUnitsContactsOldList = this.findHql(hql0,id0);
  53. //2.筛选更新明细数据-联系人信息
  54. if(relatedUnitsContactsList!=null&&relatedUnitsContactsList.size()>0){
  55. for(RelatedUnitsContactsEntity oldE:relatedUnitsContactsOldList){
  56. boolean isUpdate = false;
  57. for(RelatedUnitsContactsEntity sendE:relatedUnitsContactsList){
  58. //需要更新的明细数据-联系人信息
  59. if(oldE.getId().equals(sendE.getId())){
  60. try {
  61. MyBeanUtils.copyBeanNotNull2Bean(sendE,oldE);
  62. this.saveOrUpdate(oldE);
  63. } catch (Exception e) {
  64. e.printStackTrace();
  65. throw new BusinessException(e.getMessage());
  66. }
  67. isUpdate= true;
  68. break;
  69. }
  70. }
  71. if(!isUpdate){
  72. //如果数据库存在的明细,前台没有传递过来则是删除-联系人信息
  73. super.delete(oldE);
  74. }
  75. }
  76. //3.持久化新增的数据-联系人信息
  77. for(RelatedUnitsContactsEntity relatedUnitsContacts:relatedUnitsContactsList){
  78. if(oConvertUtils.isEmpty(relatedUnitsContacts.getId())){
  79. //外键设置
  80. relatedUnitsContacts.setRelatedUnitsId(relatedUnits.getId());
  81. this.save(relatedUnitsContacts);
  82. }
  83. }
  84. }
  85. //===================================================================================
  86. //1.查询出数据库的明细数据-附加信息
  87. String hql1 = "from RelatedUnitsExtrainfoEntity where 1 = 1 AND rELATED_UNITS_ID =? ";
  88. List<RelatedUnitsExtrainfoEntity> relatedUnitsExtrainfoOldList = this.findHql(hql1,id1);
  89. //2.筛选更新明细数据-附加信息
  90. if(relatedUnitsExtrainfoList!=null&&relatedUnitsExtrainfoList.size()>0){
  91. for(RelatedUnitsExtrainfoEntity oldE:relatedUnitsExtrainfoOldList){
  92. boolean isUpdate = false;
  93. for(RelatedUnitsExtrainfoEntity sendE:relatedUnitsExtrainfoList){
  94. //需要更新的明细数据-附加信息
  95. if(oldE.getId().equals(sendE.getId())){
  96. try {
  97. MyBeanUtils.copyBeanNotNull2Bean(sendE,oldE);
  98. this.saveOrUpdate(oldE);
  99. } catch (Exception e) {
  100. e.printStackTrace();
  101. throw new BusinessException(e.getMessage());
  102. }
  103. isUpdate= true;
  104. break;
  105. }
  106. }
  107. if(!isUpdate){
  108. //如果数据库存在的明细,前台没有传递过来则是删除-附加信息
  109. super.delete(oldE);
  110. }
  111. }
  112. //3.持久化新增的数据-附加信息
  113. for(RelatedUnitsExtrainfoEntity relatedUnitsExtrainfo:relatedUnitsExtrainfoList){
  114. if(oConvertUtils.isEmpty(relatedUnitsExtrainfo.getId())){
  115. //外键设置
  116. relatedUnitsExtrainfo.setRelatedUnitsId(relatedUnits.getId());
  117. this.save(relatedUnitsExtrainfo);
  118. }
  119. }
  120. }
  121. //执行更新操作配置的sql增强
  122. this.doUpdateSql(relatedUnits);
  123. }
  124. public void delMain(RelatedUnitsEntity relatedUnits) {
  125. //删除主表信息
  126. this.delete(relatedUnits);
  127. //===================================================================================
  128. //获取参数
  129. Object id0 = relatedUnits.getId();
  130. Object id1 = relatedUnits.getId();
  131. //===================================================================================
  132. //删除-联系人信息
  133. String hql0 = "from RelatedUnitsContactsEntity where 1 = 1 AND rELATED_UNITS_ID =? ";
  134. List<RelatedUnitsContactsEntity> relatedUnitsContactsOldList = this.findHql(hql0,id0);
  135. this.deleteAllEntitie(relatedUnitsContactsOldList);
  136. //===================================================================================
  137. //删除-附加信息
  138. String hql1 = "from RelatedUnitsExtrainfoEntity where 1 = 1 AND rELATED_UNITS_ID =? ";
  139. List<RelatedUnitsExtrainfoEntity> relatedUnitsExtrainfoOldList = this.findHql(hql1,id1);
  140. this.deleteAllEntitie(relatedUnitsExtrainfoOldList);
  141. }
  142. /**
  143. * 默认按钮-sql增强-新增操作
  144. * @param id
  145. * @return
  146. */
  147. public boolean doAddSql(RelatedUnitsEntity t){
  148. return true;
  149. }
  150. /**
  151. * 默认按钮-sql增强-更新操作
  152. * @param id
  153. * @return
  154. */
  155. public boolean doUpdateSql(RelatedUnitsEntity t){
  156. return true;
  157. }
  158. /**
  159. * 默认按钮-sql增强-删除操作
  160. * @param id
  161. * @return
  162. */
  163. public boolean doDelSql(RelatedUnitsEntity t){
  164. return true;
  165. }
  166. /**
  167. * 替换sql中的变量
  168. * @param sql
  169. * @return
  170. */
  171. public String replaceVal(String sql,RelatedUnitsEntity t){
  172. sql = sql.replace("#{id}",String.valueOf(t.getId()));
  173. sql = sql.replace("#{unit_name}",String.valueOf(t.getUnitName()));
  174. sql = sql.replace("#{unit_code}",String.valueOf(t.getUnitCode()));
  175. sql = sql.replace("#{unit_level}",String.valueOf(t.getUnitLevel()));
  176. sql = sql.replace("#{unit_type}",String.valueOf(t.getUnitType()));
  177. sql = sql.replace("#{region_province}",String.valueOf(t.getRegionProvince()));
  178. sql = sql.replace("#{region_city}",String.valueOf(t.getRegionCity()));
  179. sql = sql.replace("#{region_country}",String.valueOf(t.getRegionCountry()));
  180. sql = sql.replace("#{detail_address}",String.valueOf(t.getDetailAddress()));
  181. sql = sql.replace("#{charge_persons}",String.valueOf(t.getChargePersons()));
  182. sql = sql.replace("#{telphone}",String.valueOf(t.getTelphone()));
  183. sql = sql.replace("#{email}",String.valueOf(t.getEmail()));
  184. sql = sql.replace("#{fax}",String.valueOf(t.getFax()));
  185. sql = sql.replace("#{preset_price_type}",String.valueOf(t.getPresetPriceType()));
  186. sql = sql.replace("#{preset_discount_type}",String.valueOf(t.getPresetDiscountType()));
  187. sql = sql.replace("#{credit_payable}",String.valueOf(t.getCreditPayable()));
  188. sql = sql.replace("#{credit_receivable}",String.valueOf(t.getCreditReceivable()));
  189. sql = sql.replace("#{collection_period}",String.valueOf(t.getCollectionPeriod()));
  190. sql = sql.replace("#{credit_period}",String.valueOf(t.getCreditPeriod()));
  191. sql = sql.replace("#{initial_receivable }",String.valueOf(t.getInitialReceivable ()));
  192. sql = sql.replace("#{early_payment}",String.valueOf(t.getEarlyPayment()));
  193. sql = sql.replace("#{amount_receivable}",String.valueOf(t.getAmountReceivable()));
  194. sql = sql.replace("#{payable_balance}",String.valueOf(t.getPayableBalance()));
  195. sql = sql.replace("#{advance_balance }",String.valueOf(t.getAdvanceBalance ()));
  196. sql = sql.replace("#{prepaid_balance }",String.valueOf(t.getPrepaidBalance ()));
  197. sql = sql.replace("#{status}",String.valueOf(t.getStatus()));
  198. sql = sql.replace("#{delete_flag}",String.valueOf(t.getDeleteFlag()));
  199. sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName()));
  200. sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy()));
  201. sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate()));
  202. sql = sql.replace("#{update_name}",String.valueOf(t.getUpdateName()));
  203. sql = sql.replace("#{update_by}",String.valueOf(t.getUpdateBy()));
  204. sql = sql.replace("#{update_date}",String.valueOf(t.getUpdateDate()));
  205. sql = sql.replace("#{UUID}",UUID.randomUUID().toString());
  206. return sql;
  207. }
  208. }