TBInitialStockServiceImpl.java 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. package cn.com.lzt.initialstock.service.impl;
  2. import cn.com.lzt.initialstock.entity.TBInitialStockEntity;
  3. import cn.com.lzt.initialstock.service.TBInitialStockServiceI;
  4. import cn.com.lzt.initialstockdetail.entity.TBInitialStockDetailEntity;
  5. import org.jeecgframework.core.common.exception.BusinessException;
  6. import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
  7. import org.jeecgframework.core.util.MyBeanUtils;
  8. import org.jeecgframework.core.util.oConvertUtils;
  9. import org.springframework.stereotype.Service;
  10. import org.springframework.transaction.annotation.Transactional;
  11. import java.util.List;
  12. import java.util.UUID;
  13. @Service("tBInitialStockService")
  14. @Transactional
  15. public class TBInitialStockServiceImpl extends CommonServiceImpl implements TBInitialStockServiceI {
  16. public <T> void delete(T entity) {
  17. super.delete(entity);
  18. //执行删除操作配置的sql增强
  19. this.doDelSql((TBInitialStockEntity)entity);
  20. }
  21. public void addMain(TBInitialStockEntity tBInitialStock,
  22. List<TBInitialStockDetailEntity> tBInitialStockDetailList){
  23. //保存主信息
  24. this.save(tBInitialStock);
  25. /**保存-期初库存详情*/
  26. for(TBInitialStockDetailEntity tBInitialStockDetail:tBInitialStockDetailList){
  27. //外键设置
  28. tBInitialStockDetail.setInitialStockId(tBInitialStock.getId());
  29. this.save(tBInitialStockDetail);
  30. }
  31. //执行新增操作配置的sql增强
  32. this.doAddSql(tBInitialStock);
  33. }
  34. // public void addMain_custom(TBInitialStockEntity tBInitialStock,
  35. // List<TBInitialStockDetailEntity> tBInitialStockDetailList, List<TBRealtimeStockEntity> realStickList){
  36. // //保存主信息
  37. // this.save(tBInitialStock);
  38. //
  39. // /**保存-期初库存详情*/
  40. // for(TBInitialStockDetailEntity tBInitialStockDetail:tBInitialStockDetailList){
  41. // //外键设置
  42. // tBInitialStockDetail.setInitialStockId(tBInitialStock.getId());
  43. // this.save(tBInitialStockDetail);
  44. // }
  45. // //设置实时库存
  46. // for(TBRealtimeStockEntity realStick : realStickList){
  47. // this.save(realStick);
  48. // }
  49. // //执行新增操作配置的sql增强
  50. // this.doAddSql(tBInitialStock);
  51. // }
  52. // public void addRealtimeStockList(TBInitialStockEntity initialStock, List<TBRealtimeStockEntity> realtimeStockList){
  53. // //更新期初库存
  54. // this.updateEntitie(initialStock);
  55. // //添加实时库存
  56. // for(TBRealtimeStockEntity realStick : realtimeStockList){
  57. // this.save(realStick);
  58. // }
  59. // }
  60. public void updateMain(TBInitialStockEntity tBInitialStock,
  61. List<TBInitialStockDetailEntity> tBInitialStockDetailList) {
  62. //保存主表信息
  63. this.saveOrUpdate(tBInitialStock);
  64. // this.updateEntitie(tBInitialStock);
  65. //===================================================================================
  66. //获取参数
  67. Object id0 = tBInitialStock.getId();
  68. //===================================================================================
  69. //1.查询出数据库的明细数据-期初库存详情
  70. String hql0 = "from TBInitialStockDetailEntity where 1 = 1 AND iNITIAL_STOCK_ID =? ";
  71. List<TBInitialStockDetailEntity> tBInitialStockDetailOldList = this.findHql(hql0,id0);
  72. //2.筛选更新明细数据-期初库存详情
  73. if(tBInitialStockDetailList!=null&&tBInitialStockDetailList.size()>0){
  74. for(TBInitialStockDetailEntity oldE:tBInitialStockDetailOldList){
  75. boolean isUpdate = false;
  76. for(TBInitialStockDetailEntity sendE:tBInitialStockDetailList){
  77. //需要更新的明细数据-期初库存详情
  78. if(oldE.getId().equals(sendE.getId())){
  79. try {
  80. MyBeanUtils.copyBeanNotNull2Bean(sendE,oldE);
  81. this.saveOrUpdate(oldE);
  82. } catch (Exception e) {
  83. e.printStackTrace();
  84. throw new BusinessException(e.getMessage());
  85. }
  86. isUpdate= true;
  87. break;
  88. }
  89. }
  90. if(!isUpdate){
  91. //如果数据库存在的明细,前台没有传递过来则是删除-期初库存详情
  92. super.delete(oldE);
  93. }
  94. }
  95. //3.持久化新增的数据-期初库存详情
  96. for(TBInitialStockDetailEntity tBInitialStockDetail:tBInitialStockDetailList){
  97. if(oConvertUtils.isEmpty(tBInitialStockDetail.getId())){
  98. //外键设置
  99. tBInitialStockDetail.setInitialStockId(tBInitialStock.getId());
  100. this.save(tBInitialStockDetail);
  101. }
  102. }
  103. }
  104. //执行更新操作配置的sql增强
  105. this.doUpdateSql(tBInitialStock);
  106. }
  107. // public void updateMain_custom(TBInitialStockEntity tBInitialStock,
  108. // List<TBInitialStockDetailEntity> tBInitialStockDetailList, List<TBRealtimeStockEntity> realStickList) {
  109. // //保存主表信息
  110. // this.saveOrUpdate(tBInitialStock);
  111. // //===================================================================================
  112. // //获取参数
  113. // Object id0 = tBInitialStock.getId();
  114. // //===================================================================================
  115. // //1.查询出数据库的明细数据-期初库存详情
  116. // String hql0 = "from TBInitialStockDetailEntity where 1 = 1 AND iNITIAL_STOCK_ID = ? ";
  117. // List<TBInitialStockDetailEntity> tBInitialStockDetailOldList = this.findHql(hql0,id0);
  118. // //2.筛选更新明细数据-期初库存详情
  119. // if(tBInitialStockDetailList!=null&&tBInitialStockDetailList.size()>0){
  120. // for(TBInitialStockDetailEntity oldE:tBInitialStockDetailOldList){
  121. // boolean isUpdate = false;
  122. // for(TBInitialStockDetailEntity sendE:tBInitialStockDetailList){
  123. // //需要更新的明细数据-期初库存详情
  124. // if(oldE.getId().equals(sendE.getId())){
  125. // try {
  126. // MyBeanUtils.copyBeanNotNull2Bean(sendE,oldE);
  127. // this.saveOrUpdate(oldE);
  128. // } catch (Exception e) {
  129. // e.printStackTrace();
  130. // throw new BusinessException(e.getMessage());
  131. // }
  132. // isUpdate= true;
  133. // break;
  134. // }
  135. // }
  136. // if(!isUpdate){
  137. // //如果数据库存在的明细,前台没有传递过来则是删除-期初库存详情
  138. // super.delete(oldE);
  139. // }
  140. //
  141. // }
  142. // //3.持久化新增的数据-期初库存详情
  143. // for(TBInitialStockDetailEntity tBInitialStockDetail:tBInitialStockDetailList){
  144. // if(oConvertUtils.isEmpty(tBInitialStockDetail.getId())){
  145. // //外键设置
  146. // tBInitialStockDetail.setInitialStockId(tBInitialStock.getId());
  147. // this.save(tBInitialStockDetail);
  148. // }
  149. // }
  150. // }
  151. // //执行更新操作配置的sql增强
  152. // this.doUpdateSql(tBInitialStock);
  153. // }
  154. public void delMain(TBInitialStockEntity tBInitialStock) {
  155. //删除主表信息
  156. this.delete(tBInitialStock);
  157. //===================================================================================
  158. //获取参数
  159. Object id0 = tBInitialStock.getId();
  160. //===================================================================================
  161. //删除-期初库存详情
  162. String hql0 = "from TBInitialStockDetailEntity where 1 = 1 AND iNITIAL_STOCK_ID =? ";
  163. List<TBInitialStockDetailEntity> tBInitialStockDetailOldList = this.findHql(hql0,id0);
  164. this.deleteAllEntitie(tBInitialStockDetailOldList);
  165. }
  166. /**
  167. * 默认按钮-sql增强-新增操作
  168. * @param id
  169. * @return
  170. */
  171. public boolean doAddSql(TBInitialStockEntity t){
  172. return true;
  173. }
  174. /**
  175. * 默认按钮-sql增强-更新操作
  176. * @param id
  177. * @return
  178. */
  179. public boolean doUpdateSql(TBInitialStockEntity t){
  180. return true;
  181. }
  182. /**
  183. * 默认按钮-sql增强-删除操作
  184. * @param id
  185. * @return
  186. */
  187. public boolean doDelSql(TBInitialStockEntity t){
  188. return true;
  189. }
  190. /**
  191. * 替换sql中的变量
  192. * @param sql
  193. * @return
  194. */
  195. public String replaceVal(String sql,TBInitialStockEntity t){
  196. sql = sql.replace("#{id}",String.valueOf(t.getId()));
  197. sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName()));
  198. sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy()));
  199. sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate()));
  200. sql = sql.replace("#{update_name}",String.valueOf(t.getUpdateName()));
  201. sql = sql.replace("#{update_by}",String.valueOf(t.getUpdateBy()));
  202. sql = sql.replace("#{update_date}",String.valueOf(t.getUpdateDate()));
  203. sql = sql.replace("#{warehouse_id}",String.valueOf(t.getWarehouseId()));
  204. sql = sql.replace("#{warehouse_code}",String.valueOf(t.getWarehouseCode()));
  205. sql = sql.replace("#{warehouse_name}",String.valueOf(t.getWarehouseName()));
  206. sql = sql.replace("#{total_money}",String.valueOf(t.getTotalMoney()));
  207. sql = sql.replace("#{byhand_id}",String.valueOf(t.getByhandId()));
  208. sql = sql.replace("#{byhand_name}",String.valueOf(t.getByhandName()));
  209. sql = sql.replace("#{byhand_by}",String.valueOf(t.getByhandBy()));
  210. sql = sql.replace("#{byhand_date}",String.valueOf(t.getByhandDate()));
  211. sql = sql.replace("#{checker_id}",String.valueOf(t.getCheckerId()));
  212. sql = sql.replace("#{check_name}",String.valueOf(t.getCheckName()));
  213. sql = sql.replace("#{check_by}",String.valueOf(t.getCheckBy()));
  214. sql = sql.replace("#{check_date}",String.valueOf(t.getCheckDate()));
  215. sql = sql.replace("#{remark}",String.valueOf(t.getRemark()));
  216. sql = sql.replace("#{UUID}",UUID.randomUUID().toString());
  217. return sql;
  218. }
  219. }