DocInfoService.java 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. package com.dderp.common.api;
  2. import com.dderp.common.entity.base.InvokeCallParams;
  3. import com.dderp.common.entity.base.InvokeCallResult;
  4. import com.dderp.common.entity.base.ProcessSearchItem;
  5. import com.dderp.common.entity.base.ScriptContent;
  6. import com.dderp.common.entity.doc.BusinessScript;
  7. import com.dderp.common.entity.inquire.InquireExecRecord;
  8. import com.dderp.common.entity.inquire.InquireMainInfo;
  9. import com.dderp.common.entity.site.ERPTokenUser;
  10. import com.dderp.common.entity.system.CompanyInfo;
  11. import com.sweetfish.service.RetResult;
  12. import com.sweetfish.source.PageFlipper;
  13. import com.sweetfish.util.AutoLoad;
  14. import org.rex.RMap;
  15. import java.util.List;
  16. /**
  17. * Created by jlutt on 2020-07-28
  18. * 基础档案
  19. * 注意档案服务必须保证至少有一个和业务类服务order或者施工单在一个进程内
  20. * 这样脚本才能返回
  21. *
  22. * @author jlutt
  23. */
  24. @AutoLoad(false)
  25. public interface DocInfoService extends ScriptService {
  26. //region 业务脚本
  27. /**
  28. * 从redis中按code获取脚本
  29. * 脚本数据量不会太大,维护从数据库中获取即可,但redis中会存有code对应的信息,用于其他业务快速使用
  30. *
  31. * @param code 脚本编码
  32. * @param supplierCode 分表
  33. * @return 脚本信息
  34. */
  35. BusinessScript getRedisBusinessScript(String code, long supplierCode);
  36. /**
  37. * 从redis中获取脚本名称
  38. *
  39. * @param code 脚本编码
  40. * @param supplierCode 分表
  41. * @return 脚本名称
  42. */
  43. String getRedisBusinessScriptName(String code, long supplierCode);
  44. /**
  45. * 分页获取业务脚本列表
  46. * 从数据库中获取数据
  47. *
  48. * @param searchData 查询条件
  49. * @param pageFlipper 分页信息
  50. * @return 脚本列表
  51. */
  52. @SuppressWarnings({"rawtypes"})
  53. RMap getBusinessScriptList(RMap searchData, PageFlipper pageFlipper, String dataSourceId, long supplierCode);
  54. /**
  55. * 从code获取业务脚本信息
  56. *
  57. * @param code 脚本编码
  58. * @param supplierCode 分表
  59. * @return 脚本信息
  60. */
  61. @SuppressWarnings({"rawtypes"})
  62. RMap getBusinessScriptInfo(String code, String dataSourceId, long supplierCode);
  63. /**
  64. * 增加业务脚本
  65. *
  66. * @param businessScript
  67. * @param currentUser
  68. * @param dataSourceId
  69. * @param supplierCode
  70. */
  71. int addBusinessScriptLocal(BusinessScript businessScript, ERPTokenUser currentUser, String dataSourceId, long supplierCode);
  72. /**
  73. * 增加业务脚本
  74. *
  75. * @param businessScript
  76. * @param currentUser
  77. * @return
  78. */
  79. @SuppressWarnings({"rawtypes"})
  80. RMap addBusinessScript(BusinessScript businessScript, ERPTokenUser currentUser, String dataSourceId, long supplierCode);
  81. /**
  82. * 修改业务脚本
  83. *
  84. * @param businessScript
  85. * @param currentUser
  86. * @return
  87. */
  88. @SuppressWarnings({"rawtypes"})
  89. RMap updateBusinessScript(BusinessScript businessScript, ERPTokenUser currentUser, String dataSourceId, long supplierCode);
  90. /**
  91. * 启用、禁用业务脚本
  92. *
  93. * @param businessScript
  94. * @param currentUser
  95. * @return
  96. */
  97. @SuppressWarnings({"rawtypes"})
  98. RMap voidBusinessScript(BusinessScript businessScript, ERPTokenUser currentUser, String dataSourceId, long supplierCode);
  99. /**
  100. * 获取业务脚本脚本内容
  101. *
  102. * @param code 脚本编号
  103. * @return 脚本内容
  104. */
  105. RetResult<ScriptContent> getBusinessScriptContent(String code, String dataSourceId, long supplierCode);
  106. /**
  107. * 编译业务脚本脚本
  108. *
  109. * @param script
  110. * @return
  111. */
  112. @SuppressWarnings({"rawtypes"})
  113. RMap compileBusinessScriptContent(ScriptContent script, String dataSourceId, long supplierCode);
  114. /**
  115. * 存储业务脚本脚本
  116. *
  117. * @param script
  118. * @return
  119. */
  120. int saveBusinessScriptContent(ScriptContent script, boolean clearCache, String dataSourceId, long supplierCode, ERPTokenUser currentUser);
  121. //endregion
  122. //region 查询统计
  123. RetResult<List<InquireMainInfo>> queryInquireMainInfo(RMap searchData, PageFlipper pageFlipper, ERPTokenUser currentUser, String dataSourceId, long supplierCode);
  124. RetResult<InquireMainInfo> getInquireMainInfo(long id, ERPTokenUser currentUser, String dataSourceId, long supplierCode);
  125. RetResult<InquireMainInfo> addInquireInfo(InquireMainInfo mainInfo, ERPTokenUser currentUser, String dataSourceId, long supplierCode);
  126. RetResult<InquireMainInfo> updateInquireInfo(InquireMainInfo inquireMainInfo, ERPTokenUser currentUser, String dataSourceId, long supplierCode);
  127. RetResult<InquireMainInfo> voidInquireInfo(InquireMainInfo inquireMainInfo, ERPTokenUser currentUser, String dataSourceId, long supplierCode);
  128. RetResult<List<InquireExecRecord>> execInquireResult(ProcessSearchItem source);
  129. RetResult<InquireMainInfo> addExcelTemplate(long id, ERPTokenUser currentUser, String dataSourceId, long supplierCode);
  130. //endregion
  131. //region 分厂档案
  132. /**
  133. * 从id获取分厂信息信息
  134. * @param id id
  135. * @return 分厂对象
  136. */
  137. CompanyInfo getCompanyInfo(long id, long supplierCode);
  138. /**
  139. * 从redis中获取分厂信息
  140. * @param id id
  141. * @param supplierCode 分表
  142. * @return 分行名
  143. */
  144. String getRedisCompanyInfoName(long id, long supplierCode);
  145. /**
  146. * 分页获取分厂信息列表
  147. * 从数据库中获取数据
  148. * @param searchData 查询条件
  149. * @param pageFlipper 分页
  150. * @return 分厂列表
  151. */
  152. @SuppressWarnings({"rawtypes"})
  153. RetResult<List<CompanyInfo>> getCompanyInfoList(RMap searchData, PageFlipper pageFlipper, String dataSourceId, long supplierCode);
  154. /**
  155. * 获取所有的分厂信息,供下拉方式选择
  156. * @param dataSourceId 分库
  157. * @param supplierCode 分表
  158. * @return 分厂列表
  159. */
  160. RetResult<List<CompanyInfo>> getAllCompanyInfoList(String dataSourceId, long supplierCode);
  161. /**
  162. * 增加分厂信息
  163. * @param companyInfo 分厂对象
  164. * @param currentUser 当前用户
  165. * @return 成功失败
  166. */
  167. RetResult<CompanyInfo> addCompanyInfo(CompanyInfo companyInfo, ERPTokenUser currentUser, String dataSourceId, long supplierCode);
  168. /**
  169. * 修改分厂信息
  170. * @param companyInfo 分厂对象
  171. * @param currentUser 当前用户
  172. * @return 成功失败
  173. */
  174. RetResult<CompanyInfo> updateCompanyInfo(CompanyInfo companyInfo, ERPTokenUser currentUser, String dataSourceId, long supplierCode);
  175. /**
  176. * 启用、禁用分厂信息
  177. * @param companyInfo 分厂对象
  178. * @param currentUser 当前用户
  179. * @return 成功失败
  180. */
  181. RetResult<CompanyInfo> voidCompanyInfo(CompanyInfo companyInfo, ERPTokenUser currentUser, String dataSourceId, long supplierCode);
  182. //endregion
  183. RetResult<InvokeCallResult> callDoc(InvokeCallParams source, ERPTokenUser currentUser, String dataSourceId, long supplierCode);
  184. }