ApprovalOrderServiceImpl.java 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. package com.iamberry.rst.service.approval;
  2. import com.github.pagehelper.PageHelper;
  3. import com.iamberry.rst.core.approval.*;
  4. import com.iamberry.rst.core.cm.CustomerInfo;
  5. import com.iamberry.rst.core.page.PagedResult;
  6. import com.iamberry.rst.core.sys.Admin;
  7. import com.iamberry.rst.faces.approval.ApprovalOrderService;
  8. import com.iamberry.rst.faces.approval.ApprovalTaskService;
  9. import com.iamberry.rst.service.approval.mapper.ApprovalOrderMapper;
  10. import com.iamberry.rst.service.sys.mapper.SysMapper;
  11. import com.iamberry.rst.util.PageUtil;
  12. import com.iamberry.wechat.core.entity.WechatUtils;
  13. import com.iamberry.wechat.tools.ResponseJson;
  14. import net.sf.json.JSONArray;
  15. import net.sf.json.JSONObject;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import org.springframework.transaction.annotation.Transactional;
  19. import java.util.*;
  20. /**
  21. * 提货项信息接口
  22. * @author
  23. * @Date 2018-09-19
  24. */
  25. @Service
  26. public class ApprovalOrderServiceImpl implements ApprovalOrderService {
  27. @Autowired
  28. private ApprovalOrderMapper approvalOrderMapper;
  29. @Autowired
  30. private SysMapper sysMapper;
  31. @Override
  32. public Integer insertApprovalInfo(ApprovalInfo approvalInfo) {
  33. return approvalOrderMapper.insertApprovalInfo(approvalInfo);
  34. }
  35. @Override
  36. @Transactional
  37. public boolean insertApprovalProduction(ApprovalProduction approvalProduction,
  38. List<ApprovalProductionItem> listApprovalProductionItem,
  39. List<ApprovalProductionContract> productionContracts,
  40. Map<String, Object> tasknfo,
  41. String openId) {
  42. //获取登录人信息
  43. Admin admin = sysMapper.getByOpenid(openId);
  44. if(admin == null){
  45. throw new RuntimeException("未查询到当前登录人信息");
  46. }
  47. //添加审批信息
  48. ApprovalInfo approvalInfo = new ApprovalInfo();
  49. approvalInfo.setApprovalName(admin.getAdminName()+"的审批订单");
  50. approvalInfo.setApprovalType(1);
  51. approvalInfo.setApprovalStatus(1);
  52. approvalInfo.setAdminId(admin.getAdminId());
  53. approvalInfo.setApprovalApplicant(approvalProduction.getApplicantName());
  54. approvalInfo.setActivitiId(tasknfo.get("pid").toString());
  55. approvalInfo.setApprovalDetails("html内容");
  56. approvalInfo.setApprovalRemark(approvalProduction.getProductionRemark());
  57. int returnValue = approvalOrderMapper.insertApprovalInfo(approvalInfo);
  58. if(returnValue < 1){
  59. throw new RuntimeException("添加审批信息失败");
  60. }
  61. //添加生产审批信息
  62. approvalProduction.setApprovalId(approvalInfo.getApprovalId());
  63. approvalProduction.setApplicantId(admin.getAdminId());
  64. approvalProduction.setApplicantOrderNo("订单编号");
  65. approvalProduction.setApplicantName(admin.getAdminName());
  66. //申请人ID
  67. approvalProduction.setApplicantId(1);
  68. approvalProduction.setProductionState(1);
  69. int returnValue2 = approvalOrderMapper.insertApprovalProduction(approvalProduction);
  70. if(returnValue2 < 1){
  71. throw new RuntimeException("添加生产审批信息失败");
  72. }
  73. //添加合同信息
  74. for(ApprovalProductionContract approvalProductionContract : productionContracts){
  75. approvalProductionContract.setApprovalId(approvalProduction.getProductionId());
  76. approvalProductionContract.setContractName(admin.getAdminName()+"的审批订单合同");
  77. approvalOrderMapper.insertProductionContract(approvalProductionContract);
  78. }
  79. //封装生产审批产品项
  80. int returnValue3 = approvalOrderMapper.insertItem(listApprovalProductionItem);
  81. if(returnValue3 < 1){
  82. throw new RuntimeException("添加生产审批产品项信息失败");
  83. }
  84. //添加流程信息
  85. ProcessInfo processInfo = new ProcessInfo();
  86. processInfo.setAdminId(admin.getAdminId());
  87. processInfo.setApprovalId(approvalInfo.getApprovalId());
  88. processInfo.setProcessDesc(approvalInfo.getApprovalDetails());
  89. processInfo.setProcessState(1);
  90. int returnValue4 = approvalOrderMapper.insertProcessInfo(processInfo);
  91. if(returnValue4 < 1){
  92. throw new RuntimeException("添加生产审批流程信息失败");
  93. }
  94. //添加审批历史记录
  95. ApprovalInfo info = new ApprovalInfo();
  96. info.setApprovalId(approvalInfo.getApprovalId());
  97. if(tasknfo.get("users") == null){
  98. throw new RuntimeException("获取下一个审批人信息失败"+tasknfo);
  99. }
  100. String[] split = tasknfo.get("users").toString().split(",");
  101. for (String name : split){
  102. //通过name查询管理员id
  103. Admin approvalAdmin = sysMapper.getByName(name);
  104. if(approvalAdmin == null){
  105. throw new RuntimeException("获取下一个审批管理员信息失败"+tasknfo);
  106. }
  107. HistoricalRecord recordInfo = new HistoricalRecord();
  108. recordInfo.setApprovalId(approvalInfo.getApprovalId());
  109. recordInfo.setAdminId(approvalAdmin.getAdminId());
  110. recordInfo.setRecordState(1);
  111. recordInfo.setTaskId(tasknfo.get("taskId").toString());
  112. if(approvalOrderMapper.insertHistoricalRecord(recordInfo) < 1){
  113. throw new RuntimeException("添加历史审批信息失败"+tasknfo);
  114. }
  115. //修改审核信息表
  116. info.setApprovalStatusDetails("待"+name+"审批");
  117. if(approvalOrderMapper.updateApprovalInfo(info) < 1){
  118. throw new RuntimeException("修改审批信息失败"+tasknfo);
  119. }
  120. }
  121. HistoricalRecord historicalRecord = new HistoricalRecord();
  122. historicalRecord.setApprovalId(approvalInfo.getApprovalId());
  123. historicalRecord.setAdminId(admin.getAdminId());
  124. historicalRecord.setRecordState(1);
  125. historicalRecord.setTaskId(tasknfo.get("taskId").toString());
  126. historicalRecord.setApprovalTime(new Date());
  127. int returnValue5 = approvalOrderMapper.insertHistoricalRecord(historicalRecord);
  128. if(returnValue5 < 1){
  129. throw new RuntimeException("添加生产审批历史记录失败");
  130. }
  131. return true;
  132. }
  133. @Override
  134. public Integer insertItem(List<ApprovalProductionItem> listApprovalProductionItem) {
  135. return approvalOrderMapper.insertItem(listApprovalProductionItem);
  136. }
  137. @Override
  138. public Integer insertProductionContract(ApprovalProductionContract approvalProductionContract) {
  139. return approvalOrderMapper.insertProductionContract(approvalProductionContract);
  140. }
  141. @Override
  142. public Integer insertProcessInfo(ProcessInfo processInfo) {
  143. return approvalOrderMapper.insertProcessInfo(processInfo);
  144. }
  145. @Override
  146. public Integer insertHistoricalRecord(HistoricalRecord historicalRecord) {
  147. return approvalOrderMapper.insertHistoricalRecord(historicalRecord);
  148. }
  149. @Override
  150. public PagedResult<ApprovalInfo> listApprovalInfo(int pageNO, int pageSize, ApprovalInfo approvalInfo, boolean isTotalNum) {
  151. PageHelper.startPage(pageNO, pageSize, isTotalNum);
  152. //查询客诉列表
  153. List<ApprovalInfo> approvalList = approvalOrderMapper.listApprovalInfo(approvalInfo);
  154. return PageUtil.getPage(approvalList);
  155. }
  156. @Override
  157. public Integer updateHistoricalRecord(HistoricalRecord historicalRecord) {
  158. return approvalOrderMapper.updateHistoricalRecord(historicalRecord);
  159. }
  160. @Override
  161. public HistoricalRecord getHistoricalRecord(HistoricalRecord historicalRecord) {
  162. return approvalOrderMapper.getHistoricalRecord(historicalRecord);
  163. }
  164. @Override
  165. public List<ProcessInfo> listProcessInfo(ProcessInfo processInfo) {
  166. return approvalOrderMapper.listProcessInfo(processInfo);
  167. }
  168. @Override
  169. public Integer updateApprovalInfo(ApprovalInfo approvalInfo) {
  170. return approvalOrderMapper.updateApprovalInfo(approvalInfo);
  171. }
  172. @Override
  173. public Integer deleteHistoricalRecord(Integer approvalId) {
  174. return approvalOrderMapper.deleteHistoricalRecord(approvalId);
  175. }
  176. @Override
  177. public List<ApprovalInfo> getApprovalInfo(ApprovalInfo approvalInfo) {
  178. return approvalOrderMapper.listApprovalInfo(approvalInfo);
  179. }
  180. @Override
  181. public Integer updateProductionItem(ApprovalProductionItem approvalProductionItem) {
  182. return approvalOrderMapper.updateProductionItem(approvalProductionItem);
  183. }
  184. @Override
  185. public Integer insertInventoryRecords(ApprovalInventoryRecords approvalInventoryRecords) {
  186. return approvalOrderMapper.insertInventoryRecords(approvalInventoryRecords);
  187. }
  188. @Override
  189. public ApprovalProductionItem getProductionItem(Integer itemId) {
  190. return approvalOrderMapper.getProductionItem(itemId);
  191. }
  192. }