ProjectPostGeneralServiceImpl.java 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462
  1. package cn.com.lzt.projectpostgeneral.service.impl;
  2. import cn.com.lzt.projectpostdetail.entity.ProjectPostDetailEntity;
  3. import cn.com.lzt.projectpostdetail.service.ProjectPostDetailServiceI;
  4. import cn.com.lzt.projectpostgeneral.dao.ProjectPostGeneralMinidao;
  5. import cn.com.lzt.projectpostgeneral.dto.ProjectPostGeneralDto;
  6. import cn.com.lzt.projectpostgeneral.entity.ProjectPostGeneralEntity;
  7. import cn.com.lzt.projectpostgeneral.service.ProjectPostGeneralServiceI;
  8. import org.jeecgframework.core.common.model.json.AjaxJson;
  9. import org.jeecgframework.core.common.service.CommonService;
  10. import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
  11. import org.jeecgframework.core.constant.Globals;
  12. import org.jeecgframework.core.util.*;
  13. import org.jeecgframework.minidao.annotation.Arguments;
  14. import org.jeecgframework.minidao.annotation.ResultType;
  15. import org.jeecgframework.minidao.pojo.MiniDaoPage;
  16. import org.jeecgframework.web.cgform.enhance.CgformEnhanceJavaInter;
  17. import org.jeecgframework.web.system.pojo.base.TSUser;
  18. import org.jeecgframework.web.system.service.SystemService;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.stereotype.Service;
  21. import org.springframework.transaction.annotation.Transactional;
  22. import javax.validation.Validator;
  23. import java.io.Serializable;
  24. import java.util.HashMap;
  25. import java.util.List;
  26. import java.util.Map;
  27. import java.util.UUID;
  28. @Service("projectPostGeneralService")
  29. @Transactional
  30. public class ProjectPostGeneralServiceImpl extends CommonServiceImpl implements ProjectPostGeneralServiceI {
  31. @Autowired
  32. private SystemService systemService;
  33. @Autowired
  34. private Validator validator;
  35. //公共方法类
  36. @Autowired
  37. private CommonService commonService;
  38. @Autowired
  39. ProjectPostGeneralMinidao projectPostGeneralMinidao;
  40. //项目岗位明细表
  41. @Autowired
  42. private ProjectPostDetailServiceI projectPostDetailServiceI;
  43. public void delete(ProjectPostGeneralEntity entity) throws Exception{
  44. super.delete(entity);
  45. //执行删除操作增强业务
  46. this.doDelBus(entity);
  47. }
  48. public Serializable save(ProjectPostGeneralEntity entity) throws Exception{
  49. Serializable t = super.save(entity);
  50. //执行新增操作增强业务
  51. this.doAddBus(entity);
  52. return t;
  53. }
  54. public void saveOrUpdate(ProjectPostGeneralEntity entity) throws Exception{
  55. super.saveOrUpdate(entity);
  56. //执行更新操作增强业务
  57. this.doUpdateBus(entity);
  58. }
  59. /**
  60. * 新增操作增强业务
  61. * @param t
  62. * @return
  63. */
  64. private void doAddBus(ProjectPostGeneralEntity t) throws Exception{
  65. //-----------------sql增强 start----------------------------
  66. //-----------------sql增强 end------------------------------
  67. //-----------------java增强 start---------------------------
  68. //-----------------java增强 end-----------------------------
  69. }
  70. /**
  71. * 更新操作增强业务
  72. * @param t
  73. * @return
  74. */
  75. private void doUpdateBus(ProjectPostGeneralEntity t) throws Exception{
  76. //-----------------sql增强 start----------------------------
  77. //-----------------sql增强 end------------------------------
  78. //-----------------java增强 start---------------------------
  79. //-----------------java增强 end-----------------------------
  80. }
  81. /**
  82. * 删除操作增强业务
  83. * @param id
  84. * @return
  85. */
  86. private void doDelBus(ProjectPostGeneralEntity t) throws Exception{
  87. //-----------------sql增强 start----------------------------
  88. //-----------------sql增强 end------------------------------
  89. //-----------------java增强 start---------------------------
  90. //-----------------java增强 end-----------------------------
  91. }
  92. private Map<String,Object> populationMap(ProjectPostGeneralEntity t){
  93. Map<String,Object> map = new HashMap<String,Object>();
  94. map.put("id", t.getId());
  95. map.put("pid", t.getPid());
  96. map.put("overall_situation", t.getOverallSituation());
  97. map.put("setter_id", t.getSetterId());
  98. map.put("create_name", t.getCreateName());
  99. map.put("create_by", t.getCreateBy());
  100. map.put("create_date", t.getCreateDate());
  101. map.put("update_name", t.getUpdateName());
  102. map.put("update_by", t.getUpdateBy());
  103. map.put("update_date", t.getUpdateDate());
  104. map.put("sys_org_code", t.getSysOrgCode());
  105. map.put("sys_company_code", t.getSysCompanyCode());
  106. map.put("delete_flag", t.getDeleteFlag());
  107. return map;
  108. }
  109. /**
  110. * 替换sql中的变量
  111. * @param sql
  112. * @param t
  113. * @return
  114. */
  115. public String replaceVal(String sql,ProjectPostGeneralEntity t){
  116. sql = sql.replace("#{id}",String.valueOf(t.getId()));
  117. sql = sql.replace("#{pid}",String.valueOf(t.getPid()));
  118. sql = sql.replace("#{overall_situation}",String.valueOf(t.getOverallSituation()));
  119. sql = sql.replace("#{setter_id}",String.valueOf(t.getSetterId()));
  120. sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName()));
  121. sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy()));
  122. sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate()));
  123. sql = sql.replace("#{update_name}",String.valueOf(t.getUpdateName()));
  124. sql = sql.replace("#{update_by}",String.valueOf(t.getUpdateBy()));
  125. sql = sql.replace("#{update_date}",String.valueOf(t.getUpdateDate()));
  126. sql = sql.replace("#{sys_org_code}",String.valueOf(t.getSysOrgCode()));
  127. sql = sql.replace("#{sys_company_code}",String.valueOf(t.getSysCompanyCode()));
  128. sql = sql.replace("#{delete_flag}",String.valueOf(t.getDeleteFlag()));
  129. sql = sql.replace("#{UUID}",UUID.randomUUID().toString());
  130. return sql;
  131. }
  132. /**
  133. * 执行JAVA增强
  134. */
  135. private void executeJavaExtend(String cgJavaType,String cgJavaValue,Map<String,Object> data) throws Exception {
  136. if(StringUtil.isNotEmpty(cgJavaValue)){
  137. Object obj = null;
  138. try {
  139. if("class".equals(cgJavaType)){
  140. //因新增时已经校验了实例化是否可以成功,所以这块就不需要再做一次判断
  141. obj = MyClassLoader.getClassByScn(cgJavaValue).newInstance();
  142. }else if("spring".equals(cgJavaType)){
  143. obj = ApplicationContextUtil.getContext().getBean(cgJavaValue);
  144. }
  145. if(obj instanceof CgformEnhanceJavaInter){
  146. CgformEnhanceJavaInter javaInter = (CgformEnhanceJavaInter) obj;
  147. javaInter.execute("t_bus_project_post_general",data);
  148. }
  149. } catch (Exception e) {
  150. e.printStackTrace();
  151. throw new Exception("执行JAVA增强出现异常!");
  152. }
  153. }
  154. }
  155. @Override
  156. public void logicDel(ProjectPostGeneralEntity entity) throws Exception {
  157. super.updateEntitie(entity);
  158. //执行更新操作增强业务
  159. this.doUpdateBus(entity);
  160. }
  161. /*@Override
  162. public AjaxJson saveProjectPostGeneralEntity(
  163. ProjectPostGeneralEntity projectPostGeneralEntity) throws Exception {
  164. TSUser user = ResourceUtil.getSessionUser();
  165. String userId = user.getId();
  166. AjaxJson j = new AjaxJson();
  167. String message = null;
  168. message = "";
  169. projectPostGeneralEntity.setId(projectPostGeneralEntity.getProjectPostDetailList().get(0).getId());
  170. String myPId=projectPostGeneralEntity.getProjectPostDetailList().get(0).getPostid();
  171. if(myPId!=null&&myPId.length()>0){
  172. myPId=myPId.split(",")[0];
  173. }
  174. projectPostGeneralEntity.setPid(myPId);
  175. // if(myPId.indexOf(",")!=-1){
  176. // projectPostGeneralEntity.setPid(myPId.substring(0, myPId.indexOf(",")));
  177. // }else{
  178. // projectPostGeneralEntity.setPid(myPId);
  179. // }
  180. projectPostGeneralEntity.setOverallSituation(projectPostGeneralEntity.getProjectPostDetailList().get(0).getRemark());
  181. if (StringUtil.isNotEmpty(projectPostGeneralEntity.getId())) {
  182. ProjectPostGeneralEntity t = this.get(ProjectPostGeneralEntity.class, projectPostGeneralEntity.getId());
  183. try {
  184. MyBeanUtils.copyBeanNotNull2Bean(projectPostGeneralEntity, t);
  185. projectPostGeneralEntity.setSetterId(userId);
  186. this.saveOrUpdate(t);
  187. for (int i = 1; i < projectPostGeneralEntity.getProjectPostDetailList().size(); i++) {
  188. if(projectPostGeneralEntity.getProjectPostDetailList().get(i)!=null){
  189. //projectPostDetailService.save(projectPostGeneral.getProjectPostDetailList().get(i));
  190. projectPostGeneralEntity.getProjectPostDetailList().get(i).setPtjPostGeneralid(t.getId());
  191. projectPostGeneralEntity.getProjectPostDetailList().get(i).setPid(myPId);
  192. saveProjectPostDetailEntity(projectPostGeneralEntity.getProjectPostDetailList().get(i));
  193. }
  194. }
  195. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  196. message = "项目岗位总览更新成功";
  197. } catch (Exception e) {
  198. e.printStackTrace();
  199. message = "项目岗位总览更新失败";
  200. j.setSuccess(false);
  201. }
  202. } else {
  203. try{
  204. projectPostGeneralEntity.setDeleteFlag(Globals.Delete_Normal.toString());
  205. projectPostGeneralEntity.setSetterId(userId);
  206. this.save(projectPostGeneralEntity);
  207. for (int i = 1; i < projectPostGeneralEntity.getProjectPostDetailList().size(); i++) {
  208. if(projectPostGeneralEntity.getProjectPostDetailList().get(i)!=null){
  209. projectPostGeneralEntity.getProjectPostDetailList().get(i).setPtjPostGeneralid(projectPostGeneralEntity.getId());
  210. projectPostGeneralEntity.getProjectPostDetailList().get(i).setPid(myPId);
  211. saveProjectPostDetailEntity(projectPostGeneralEntity.getProjectPostDetailList().get(i));
  212. }
  213. }
  214. systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
  215. message = "项目岗位总览添加成功";
  216. }catch(Exception e){
  217. e.printStackTrace();
  218. message = "项目岗位总览添加失败";
  219. j.setSuccess(false);
  220. }
  221. }
  222. j.setMsg(message);
  223. return j;
  224. }*/
  225. @Override
  226. public AjaxJson saveProjectPostGeneralEntity(ProjectPostDetailEntity projectPostDetailEntity,String overallSituation) throws Exception {
  227. TSUser user = ResourceUtil.getSessionUser();
  228. String userId = user.getId();
  229. AjaxJson j = new AjaxJson();
  230. String message = "";
  231. String ptjPostGeneralid="";
  232. ProjectPostGeneralEntity projectPostGeneralEntity=new ProjectPostGeneralEntity();
  233. projectPostGeneralEntity.setId(projectPostDetailEntity.getPtjPostGeneralid());
  234. projectPostGeneralEntity.setPid(projectPostDetailEntity.getPid());
  235. projectPostGeneralEntity.setSetterId(userId);
  236. projectPostGeneralEntity.setOverallSituation(overallSituation);
  237. if (StringUtil.isNotEmpty(projectPostGeneralEntity.getId())) {
  238. ProjectPostGeneralEntity t = this.get(ProjectPostGeneralEntity.class, projectPostGeneralEntity.getId());
  239. try {
  240. MyBeanUtils.copyBeanNotNull2Bean(projectPostGeneralEntity, t);
  241. this.saveOrUpdate(t);
  242. ptjPostGeneralid=t.getId();
  243. if(projectPostDetailEntity.getPtjPostGeneralid()!=null&&projectPostDetailEntity.getPtjPostGeneralid().length()>0){//更新
  244. saveProjectPostDetailEntity(projectPostDetailEntity);
  245. }else{//添加
  246. projectPostDetailEntity.setPtjPostGeneralid(t.getId());
  247. saveProjectPostDetailEntity(projectPostDetailEntity);
  248. }
  249. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  250. message = "项目岗位总览更新成功";
  251. } catch (Exception e) {
  252. j.setSuccess(false);
  253. e.printStackTrace();
  254. message = "项目岗位总览更新失败";
  255. }
  256. } else {
  257. try{
  258. projectPostGeneralEntity.setDeleteFlag(Globals.Delete_Normal.toString());
  259. this.save(projectPostGeneralEntity);
  260. ptjPostGeneralid=projectPostGeneralEntity.getId();
  261. projectPostDetailEntity.setPtjPostGeneralid(projectPostGeneralEntity.getId());
  262. saveProjectPostDetailEntity(projectPostDetailEntity);
  263. systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
  264. message = "项目岗位总览添加成功";
  265. }catch(Exception e){
  266. j.setSuccess(false);
  267. e.printStackTrace();
  268. message = "项目岗位总览添加失败";
  269. }
  270. }
  271. j.setMsg(message);
  272. Map<String, Object> map=new HashMap<String, Object>();
  273. map.put("ptjPostGeneralid", ptjPostGeneralid);
  274. j.setAttributes(map);
  275. return j;
  276. }
  277. @Override
  278. public AjaxJson saveProjectPostDetailEntity(ProjectPostDetailEntity projectPostDetailEntity) throws Exception {
  279. String message = "";
  280. AjaxJson j = new AjaxJson();
  281. if (StringUtil.isNotEmpty(projectPostDetailEntity.getId())) {
  282. ProjectPostDetailEntity t = this.get(ProjectPostDetailEntity.class, projectPostDetailEntity.getId());
  283. try {
  284. MyBeanUtils.copyBeanNotNull2Bean(projectPostDetailEntity, t);
  285. this.saveOrUpdate(t);
  286. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  287. message = "项目岗位明细更新成功";
  288. } catch (Exception e) {
  289. j.setSuccess(false);
  290. e.printStackTrace();
  291. message = "项目岗位明细更新失败";
  292. }
  293. } else {
  294. try{
  295. projectPostDetailEntity.setDeleteFlag(Globals.Delete_Normal.toString());
  296. this.save(projectPostDetailEntity);
  297. systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
  298. message = "项目岗位明细添加成功";
  299. }catch(Exception e){
  300. j.setSuccess(false);
  301. e.printStackTrace();
  302. message = "项目岗位明细添加失败";
  303. }
  304. }
  305. j.setMsg(message);
  306. return j;
  307. }
  308. @Override
  309. public AjaxJson logicDelProjectPostGeneralEntity(
  310. ProjectPostGeneralEntity projectPostGeneralEntity) throws Exception {
  311. String message = null;
  312. AjaxJson j = new AjaxJson();
  313. projectPostGeneralEntity = systemService.getEntity(ProjectPostGeneralEntity.class, projectPostGeneralEntity.getId());
  314. message = "项目岗位总览删除成功";
  315. try{
  316. projectPostGeneralEntity.setDeleteFlag(Globals.Delete_Forbidden.toString());
  317. this.logicDel(projectPostGeneralEntity);
  318. StringBuffer hql = new StringBuffer(" FROM ProjectPostDetailEntity ppd where ppd.ptjPostGeneralid=? ");
  319. List<ProjectPostDetailEntity> projectPostDetailEntityList = commonService.findHql(hql.toString(),projectPostGeneralEntity.getId());
  320. for (int i = 0; i < projectPostDetailEntityList.size(); i++) {
  321. if(projectPostDetailEntityList.get(i)!=null){
  322. logicDelProjectPostDetailEntity(projectPostDetailEntityList.get(i));
  323. }
  324. }
  325. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  326. }catch(Exception e){
  327. e.printStackTrace();
  328. message = "项目岗位总览删除失败";
  329. j.setSuccess(false);
  330. }
  331. j.setMsg(message);
  332. return j;
  333. }
  334. @Override
  335. public AjaxJson logicDelProjectPostDetailEntity(
  336. ProjectPostDetailEntity projectPostDetailEntity) throws Exception {
  337. String message = null;
  338. AjaxJson j = new AjaxJson();
  339. projectPostDetailEntity = systemService.getEntity(ProjectPostDetailEntity.class, projectPostDetailEntity.getId());
  340. message = "项目岗位明细删除成功";
  341. try{
  342. projectPostDetailEntity.setDeleteFlag(Globals.Delete_Forbidden.toString());
  343. projectPostDetailServiceI.logicDel(projectPostDetailEntity);
  344. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  345. }catch(Exception e){
  346. j.setSuccess(false);
  347. e.printStackTrace();
  348. message = "项目岗位明细删除失败";
  349. }
  350. j.setMsg(message);
  351. return j;
  352. }
  353. @Override
  354. public AjaxJson logicDelProjectPostDetailUpdateProjectPostGeneral(
  355. ProjectPostDetailEntity projectPostDetailEntity,
  356. String overallSituation) throws Exception {
  357. TSUser user = ResourceUtil.getSessionUser();
  358. String userId = user.getId();
  359. AjaxJson j = new AjaxJson();
  360. String message = "";
  361. //项目岗位明细删除
  362. j=logicDelProjectPostDetailEntity(projectPostDetailEntity);
  363. ProjectPostGeneralEntity projectPostGeneralEntity=new ProjectPostGeneralEntity();
  364. projectPostGeneralEntity.setId(projectPostDetailEntity.getPtjPostGeneralid());
  365. projectPostGeneralEntity.setPid(projectPostDetailEntity.getPid());
  366. projectPostGeneralEntity.setSetterId(userId);
  367. projectPostGeneralEntity.setOverallSituation(overallSituation);
  368. if (StringUtil.isNotEmpty(projectPostGeneralEntity.getId())) {
  369. ProjectPostGeneralEntity t = this.get(ProjectPostGeneralEntity.class, projectPostGeneralEntity.getId());
  370. try {
  371. MyBeanUtils.copyBeanNotNull2Bean(projectPostGeneralEntity, t);
  372. this.saveOrUpdate(t);
  373. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  374. message = "项目岗位总览更新成功";
  375. } catch (Exception e) {
  376. j.setSuccess(false);
  377. e.printStackTrace();
  378. message = "项目岗位总览更新失败";
  379. }
  380. }
  381. j.setMsg(message);
  382. return j;
  383. }
  384. @Override
  385. public MiniDaoPage<ProjectPostGeneralDto> getProjectPostGeneralDtoPage(
  386. ProjectPostGeneralDto projectPostGeneralDto, int page, int rows,
  387. String authSql) {
  388. // TODO Auto-generated method stub
  389. return projectPostGeneralMinidao.getProjectPostGeneralDtoPage(projectPostGeneralDto, page, rows, authSql);
  390. }
  391. @Override
  392. @Arguments({ "projectPostGeneralDto", "authSql" })
  393. @ResultType(ProjectPostGeneralDto.class)
  394. public List<ProjectPostGeneralDto> getProjectPostGeneralDtoExport(
  395. ProjectPostGeneralDto projectPostGeneralDto, String authSql)
  396. throws Exception {
  397. // List<ProjectPostGeneralDto> projectPostGeneralDtoList=projectPostGeneralMinidao.getProjectPostGeneralDtoExport(projectPostGeneralDto, authSql);
  398. /*//获取项目名称
  399. List<DictEntity> departList=systemService.queryDict("t_s_depart", "id", "departname");
  400. Map<String, String> departMap=new HashMap<String, String>();
  401. for (int i = 0; i < departList.size(); i++) {
  402. departMap.put(departList.get(i).getTypecode(), departList.get(i).getTypename());
  403. }
  404. //获取用户名称
  405. List<DictEntity> baseUserList=systemService.queryDict("t_s_base_user", "id", "realname");
  406. Map<String, String> baseUserMap=new HashMap<String, String>();
  407. for (int i = 0; i < baseUserList.size(); i++) {
  408. baseUserMap.put(baseUserList.get(i).getTypecode(), baseUserList.get(i).getTypename());
  409. }
  410. for (int i = 0; i < projectPostGeneralDtoList.size(); i++) {
  411. projectPostGeneralDtoList.get(i).setPid(departMap.get(projectPostGeneralDtoList.get(i).getPid()));
  412. projectPostGeneralDtoList.get(i).setSetterId(baseUserMap.get(projectPostGeneralDtoList.get(i).getSetterId()));
  413. }*/
  414. return projectPostGeneralMinidao.getProjectPostGeneralDtoExport(projectPostGeneralDto, authSql);
  415. }
  416. }