You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

480 lines
19 KiB

  1. package com.spring.ifs.bean;
  2. import com.alibaba.fastjson.JSON;
  3. import com.spring.ifs.api.IfsServer;
  4. import com.spring.ifs.api.ToolApi;
  5. import com.spring.modules.Tooling.data.ToolInfo;
  6. import com.spring.modules.Tooling.data.ToolInstance;
  7. import com.spring.modules.Tooling.data.ToolInstanceDate;
  8. import ifs.fnd.ap.APException;
  9. import ifs.fnd.ap.Server;
  10. import org.slf4j.Logger;
  11. import org.slf4j.LoggerFactory;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Component;
  14. import java.util.HashMap;
  15. import java.util.List;
  16. import java.util.Map;
  17. /**
  18. * @description: Tool的实现类
  19. * @author LR
  20. * @date 2024/12/9 15:44
  21. * @version 1.0
  22. */
  23. @Component
  24. public class ToolServiceBean {
  25. @Autowired
  26. private IfsServer ifsServer;
  27. private static final Logger logger = LoggerFactory.getLogger(ToolServiceBean.class);
  28. /**
  29. * @description: 查询Tool Header
  30. * @author LR
  31. * @date 2024/12/12 15:49
  32. * @version 1.0
  33. */
  34. public Map<String, String> getToolHeader(Server srv, ToolInfo inData) {
  35. logger.info("Tool Header查询参数:"+JSON.toJSONString(inData));
  36. //查询的参数
  37. Map<String, String> returnMap = new HashMap<>();
  38. String contract = inData.getContract();
  39. String toolId = inData.getToolId();
  40. try{
  41. Map<String, String> headerMap = ToolApi.getToolHeader(srv, contract, toolId);
  42. //判断是否需要插入到ifs
  43. if(headerMap == null || headerMap.isEmpty()) {
  44. throw new APException("Tool Header不存在!");
  45. }
  46. //设置ifs 信息
  47. inData.setIfsRowId(headerMap.get("IFSROWID"));
  48. inData.setIfsRowVersion(headerMap.get("IFSROWVERSION"));
  49. returnMap.put("resultCode", "200");
  50. returnMap.put("obj", JSON.toJSONString(inData));
  51. } catch(APException e){
  52. returnMap.put("resultCode", "400");
  53. returnMap.put("resultMsg", e.getMessage());
  54. logger.info("异常信息:"+e.getMessage());
  55. }
  56. //打印日志
  57. logger.info("Tool Header查询:"+JSON.toJSONString(inData));
  58. //返回结果集
  59. return returnMap;
  60. }
  61. /**
  62. * @description: Tool Header新增
  63. * @author LR
  64. * @date 2024/12/12 15:52
  65. * @version 1.0
  66. */
  67. public Map<String, String> syncToolHeader(Server srv, ToolInfo inData) {
  68. logger.info("Tool Header新增开始:"+JSON.toJSONString(inData));
  69. //查询的参数
  70. Map<String, String> returnMap = new HashMap<>();
  71. String contract = inData.getContract();
  72. String toolId = inData.getToolId();
  73. try{
  74. Map<String, String> headerMap = ToolApi.getToolHeader(srv, contract, toolId);
  75. //判断是否需要插入到ifs
  76. if(headerMap != null && !headerMap.isEmpty()) {
  77. throw new APException("Tool Header已存在!");
  78. }
  79. //调用api
  80. Map<String, String> resultMap = ToolApi.insertToolHeader(srv, inData);
  81. //设置ifs 信息
  82. inData.setIfsRowId(resultMap.get("OBJID"));
  83. inData.setIfsRowVersion(resultMap.get("OBJVERSION"));
  84. returnMap.put("resultCode", "200");
  85. returnMap.put("obj", JSON.toJSONString(inData));
  86. } catch(APException e){
  87. returnMap.put("resultCode", "400");
  88. returnMap.put("resultMsg", e.getMessage());
  89. logger.info("异常信息:"+e.getMessage());
  90. }
  91. //打印日志
  92. logger.info("Tool Header新增结束:"+JSON.toJSONString(inData));
  93. //返回结果集
  94. return returnMap;
  95. }
  96. /**
  97. * @description: Tool Header修改
  98. * @author LR
  99. * @date 2024/12/12 15:55
  100. * @version 1.0
  101. */
  102. public Map<String, String> modifyToolHeader(Server srv, ToolInfo inData) {
  103. logger.info("Tool Header修改开始:"+JSON.toJSONString(inData));
  104. //查询的参数
  105. Map<String, String> returnMap = new HashMap<>();
  106. String contract = inData.getContract();
  107. String toolId = inData.getToolId();
  108. try{
  109. //查询
  110. Map<String, String> headerMap = ToolApi.getToolHeader(srv, contract, toolId);
  111. //判断是否需要插入到ifs
  112. if(headerMap == null || headerMap.isEmpty()) {
  113. throw new APException("Tool Header不存在!");
  114. }
  115. //设置ifs 信息
  116. inData.setIfsRowId(headerMap.get("IFSROWID"));
  117. inData.setIfsRowVersion(headerMap.get("IFSROWVERSION"));
  118. //调用修改api
  119. Map<String, String> resultMap = ToolApi.modifyToolHeader(srv, inData);
  120. //设置ifs 信息
  121. inData.setIfsRowVersion(resultMap.get("OBJVERSION"));
  122. returnMap.put("resultCode", "200");
  123. returnMap.put("obj", JSON.toJSONString(inData));
  124. } catch(APException e){
  125. returnMap.put("resultCode", "400");
  126. returnMap.put("resultMsg", e.getMessage());
  127. logger.info("异常信息:"+e.getMessage());
  128. }
  129. //打印日志
  130. logger.info("Tool Header修改结束:"+JSON.toJSONString(inData));
  131. //返回结果集
  132. return returnMap;
  133. }
  134. /**
  135. * @description: Tool Header删除
  136. * @author LR
  137. * @date 2024/12/12 15:58
  138. * @version 1.0
  139. */
  140. public Map<String, String> removeToolHeader(Server srv, ToolInfo inData) {
  141. logger.info("Tool Header删除开始:"+JSON.toJSONString(inData));
  142. //查询的参数
  143. Map<String, String> returnMap = new HashMap<>();
  144. String contract = inData.getContract();
  145. String toolId = inData.getToolId();
  146. try{
  147. //查询
  148. Map<String, String> headerMap = ToolApi.getToolHeader(srv, contract, toolId);
  149. //判断是否需要插入到ifs
  150. if(headerMap == null || headerMap.isEmpty()) {
  151. throw new APException("Tool Header不存在!");
  152. }
  153. //设置ifs 信息
  154. inData.setIfsRowId(headerMap.get("IFSROWID"));
  155. inData.setIfsRowVersion(headerMap.get("IFSROWVERSION"));
  156. ToolApi.removeToolHeader(srv, inData);
  157. returnMap.put("resultCode", "200");
  158. returnMap.put("obj", JSON.toJSONString(inData));
  159. } catch(APException e){
  160. returnMap.put("resultCode", "400");
  161. returnMap.put("resultMsg", e.getMessage());
  162. logger.info("异常信息:"+e.getMessage());
  163. }
  164. //打印日志
  165. logger.info("Tool Header 删除结束:"+JSON.toJSONString(inData));
  166. //返回结果集
  167. return returnMap;
  168. }
  169. /**
  170. * @description: 查询Tool Instance
  171. * @author LR
  172. * @date 2024/12/12 16:59
  173. * @version 1.0
  174. */
  175. public Map<String, String> getToolInstance(Server srv, ToolInstance inData) {
  176. logger.info("Tool Instance 查询开始:"+JSON.toJSONString(inData));
  177. //公共参数
  178. Map<String, String> returnMap = new HashMap<>();
  179. String contract = inData.getContract();
  180. String toolId = inData.getToolId();
  181. String toolInstance = inData.getToolInstance();
  182. try{
  183. //查询工具实例的信息
  184. Map<String, String> instanceMap = ToolApi.getToolInstance(srv, contract, toolId, toolInstance);
  185. //判断是否需要插入到ifs
  186. if(instanceMap == null) {
  187. throw new APException("Tool Instance 不存在!");
  188. }
  189. //设置ifs 信息
  190. inData.setIfsRowId(instanceMap.get("IFSROWID"));
  191. inData.setIfsRowVersion(instanceMap.get("IFSROWVERSION"));
  192. returnMap.put("resultCode", "200");
  193. returnMap.put("obj", JSON.toJSONString(inData));
  194. } catch(APException e){
  195. returnMap.put("resultCode", "400");
  196. returnMap.put("resultMsg", e.getMessage());
  197. logger.info("异常信息:"+e.getMessage());
  198. }
  199. //打印日志
  200. logger.info("Tool Instance 查询结束:"+JSON.toJSONString(inData));
  201. //返回结果集
  202. return returnMap;
  203. }
  204. /**
  205. * @description: 插入Tool Instance
  206. * @author LR
  207. * @date 2024/12/12 17:03
  208. * @version 1.0
  209. */
  210. public Map<String, String> syncToolInstance(Server srv, ToolInstance inData) {
  211. logger.info("Tool Instance 新增开始:"+JSON.toJSONString(inData));
  212. //公共参数
  213. Map<String, String> returnMap = new HashMap<>();
  214. String contract = inData.getContract();
  215. String toolId = inData.getToolId();
  216. String toolInstance = inData.getToolInstance();
  217. try{
  218. //查询工具实例的信息
  219. Map<String, String> instanceMap = ToolApi.getToolInstance(srv, contract, toolId, toolInstance);
  220. //判断是否需要插入到ifs
  221. if(instanceMap != null && !instanceMap.isEmpty()) {
  222. throw new APException("Tool Instance 已存在!");
  223. }
  224. //调用新增api
  225. Map<String, String> resultMap = ToolApi.insertToolInstance(srv, inData);
  226. //设置ifs 信息
  227. inData.setIfsRowId(resultMap.get("OBJID"));
  228. inData.setIfsRowVersion(resultMap.get("OBJVERSION"));
  229. returnMap.put("resultCode", "200");
  230. returnMap.put("obj", JSON.toJSONString(inData));
  231. } catch(APException e){
  232. returnMap.put("resultCode", "400");
  233. returnMap.put("resultMsg", e.getMessage());
  234. logger.info("异常信息:"+e.getMessage());
  235. }
  236. //打印日志
  237. logger.info("Tool Instance 新增结束:"+JSON.toJSONString(inData));
  238. //返回结果集
  239. return returnMap;
  240. }
  241. /**
  242. * @description: 修改Tool Instance
  243. * @author LR
  244. * @date 2024/12/12 17:06
  245. * @version 1.0
  246. */
  247. public Map<String, String> modifyToolInstance(Server srv, ToolInstance inData) {
  248. logger.info("Tool Instance 修改开始:"+JSON.toJSONString(inData));
  249. //公共参数
  250. Map<String, String> returnMap = new HashMap<>();
  251. String contract = inData.getContract();
  252. String toolId = inData.getToolId();
  253. String toolInstance = inData.getToolInstance();
  254. try{
  255. //查询工具实例的信息
  256. Map<String, String> instanceMap = ToolApi.getToolInstance(srv, contract, toolId, toolInstance);
  257. //判断是否需要插入到ifs
  258. if(instanceMap == null || instanceMap.isEmpty()) {
  259. throw new APException("Tool Instance不存在!");
  260. }
  261. //设置ifs 信息
  262. inData.setIfsRowId(instanceMap.get("IFSROWID"));
  263. inData.setIfsRowVersion(instanceMap.get("IFSROWVERSION"));
  264. //调用api
  265. Map<String, String> resultMap = ToolApi.modifyToolInstance(srv, inData);
  266. //设置ifs 信息
  267. inData.setIfsRowVersion(resultMap.get("OBJVERSION"));
  268. returnMap.put("resultCode", "200");
  269. returnMap.put("obj", JSON.toJSONString(inData));
  270. } catch(APException e){
  271. returnMap.put("resultCode", "400");
  272. returnMap.put("resultMsg", e.getMessage());
  273. logger.info("异常信息:"+e.getMessage());
  274. }
  275. //打印日志
  276. logger.info("Tool Instance 修改结束:"+JSON.toJSONString(inData));
  277. //返回结果集
  278. return returnMap;
  279. }
  280. /**
  281. * @description: 删除Tool Instance
  282. * @author LR
  283. * @date 2024/12/12 17:07
  284. * @version 1.0
  285. */
  286. public Map<String, String> removeToolInstance(Server srv, ToolInstance inData) {
  287. logger.info("Tool Instance 删除开始:"+JSON.toJSONString(inData));
  288. //公共参数
  289. Map<String, String> returnMap = new HashMap<>();
  290. String contract = inData.getContract();
  291. String toolId = inData.getToolId();
  292. String toolInstance = inData.getToolInstance();
  293. try{
  294. //查询工具实例的信息
  295. Map<String, String> instanceMap = ToolApi.getToolInstance(srv, contract, toolId, toolInstance);
  296. //判断是否需要插入到ifs
  297. if(instanceMap == null || instanceMap.isEmpty()) {
  298. throw new APException("Tool Instance不存在!");
  299. }
  300. //设置ifs 信息
  301. inData.setIfsRowId(instanceMap.get("IFSROWID"));
  302. inData.setIfsRowVersion(instanceMap.get("IFSROWVERSION"));
  303. //调用api
  304. ToolApi.removeToolInstance(srv, inData);
  305. returnMap.put("resultCode", "200");
  306. returnMap.put("obj", JSON.toJSONString(inData));
  307. } catch(APException e){
  308. returnMap.put("resultCode", "400");
  309. returnMap.put("resultMsg", e.getMessage());
  310. logger.info("异常信息:"+e.getMessage());
  311. }
  312. //打印日志
  313. logger.info("Tool Instance 删除结束:"+JSON.toJSONString(inData));
  314. //返回结果集
  315. return returnMap;
  316. }
  317. /**
  318. * @description: 获取Tool Instance Date
  319. * @author LR
  320. * @date 2024/12/13 9:53
  321. * @version 1.0
  322. */
  323. public Map<String, String> getToolInstanceDate(Server srv, ToolInstanceDate inData) {
  324. logger.info("Tool Instance Date查询开始:"+JSON.toJSONString(inData));
  325. //公共参数
  326. Map<String, String> returnMap = new HashMap<>();
  327. String contract = inData.getContract();
  328. String toolId = inData.getToolId();
  329. String toolInstance = inData.getToolInstance();
  330. try{
  331. //查询制造商信息
  332. Map<String, String> instanceMap = ToolApi.getToolInstance(srv, contract, toolId, toolInstance);
  333. //判断是否需要插入到ifs
  334. if(instanceMap == null || instanceMap.isEmpty()) {
  335. throw new APException("Tool Instance不存在!");
  336. }
  337. //查询结果集
  338. List<ToolInstanceDate> resultList = ToolApi.getToolInstanceDateList(srv, contract, toolId, toolInstance);
  339. //判断是否查询数据
  340. if(resultList.isEmpty()) {
  341. throw new APException("工具实例不存在时间信息!");
  342. }
  343. returnMap.put("resultCode", "200");
  344. returnMap.put("obj", JSON.toJSONString(resultList));
  345. } catch(APException e){
  346. returnMap.put("resultCode", "400");
  347. returnMap.put("resultMsg", e.getMessage());
  348. logger.info("异常信息:"+e.getMessage());
  349. }
  350. //打印日志
  351. logger.info("Tool Instance Date查询结束:"+JSON.toJSONString(inData));
  352. //返回结果集
  353. return returnMap;
  354. }
  355. /**
  356. * @description: 新增Tool Instance Date
  357. * @author LR
  358. * @date 2024/12/12 17:23
  359. * @version 1.0
  360. */
  361. public Map<String, String> syncToolInstanceDate(Server srv, ToolInstanceDate inData) {
  362. logger.info("Bom替代明细集合新增开始:"+JSON.toJSONString(inData));
  363. //公共参数
  364. Map<String, String> returnMap = new HashMap<>();
  365. String contract = inData.getContract();
  366. String toolId = inData.getToolId();
  367. String toolInstance = inData.getToolInstance();
  368. try{
  369. //查询制造商信息
  370. Map<String, String> instanceMap = ToolApi.getToolInstance(srv, contract, toolId, toolInstance);
  371. //判断是否需要插入到ifs
  372. if(instanceMap == null || instanceMap.isEmpty()) {
  373. throw new APException("Tool Instance不存在!");
  374. }
  375. //调用api
  376. Map<String, String> resultMap = ToolApi.insertToolInstanceDate(srv, inData);
  377. //设置ifs 信息
  378. inData.setIfsRowId(resultMap.get("OBJID"));
  379. inData.setIfsRowVersion(resultMap.get("OBJVERSION"));
  380. returnMap.put("resultCode", "200");
  381. returnMap.put("obj", JSON.toJSONString(inData));
  382. } catch(APException e){
  383. returnMap.put("resultCode", "400");
  384. returnMap.put("resultMsg", e.getMessage());
  385. logger.info("异常信息:"+e.getMessage());
  386. }
  387. //打印日志
  388. logger.info("Bom替代明细集合新增开始:"+JSON.toJSONString(inData));
  389. //返回结果集
  390. return returnMap;
  391. }
  392. /**
  393. * @description: 修改Tool Instance Date
  394. * @author LR
  395. * @date 2024/12/13 10:24
  396. * @version 1.0
  397. */
  398. public Map<String, String> modifyToolInstanceDate(Server srv, ToolInstanceDate inData) {
  399. logger.info("Tool Instance Date新增开始:"+JSON.toJSONString(inData));
  400. //公共参数
  401. Map<String, String> returnMap = new HashMap<>();
  402. String contract = inData.getContract();
  403. String toolId = inData.getToolId();
  404. String toolInstance = inData.getToolInstance();
  405. try{
  406. //查询制造商信息
  407. Map<String, String> instanceMap = ToolApi.getToolInstance(srv, contract, toolId, toolInstance);
  408. //判断是否需要插入到ifs
  409. if(instanceMap == null || instanceMap.isEmpty()) {
  410. throw new APException("Tool Instance不存在!");
  411. }
  412. //调用api
  413. Map<String, String> resultMap = ToolApi.modifyToolInstanceDate(srv, inData);
  414. //设置ifs 信息
  415. inData.setIfsRowVersion(resultMap.get("OBJVERSION"));
  416. returnMap.put("resultCode", "200");
  417. returnMap.put("obj", JSON.toJSONString(inData));
  418. } catch(APException e){
  419. returnMap.put("resultCode", "400");
  420. returnMap.put("resultMsg", e.getMessage());
  421. logger.info("异常信息:"+e.getMessage());
  422. }
  423. //打印日志
  424. logger.info("Tool Instance Date新增结束:"+JSON.toJSONString(inData));
  425. //返回结果集
  426. return returnMap;
  427. }
  428. /**
  429. * @description: 删除Tool Instance Date
  430. * @author LR
  431. * @date 2024/12/13 10:26
  432. * @version 1.0
  433. */
  434. public Map<String, String> removeToolInstanceDate(Server srv, ToolInstanceDate inData) {
  435. logger.info("Tool Instance Date删除开始:"+JSON.toJSONString(inData));
  436. //公共参数
  437. Map<String, String> returnMap = new HashMap<>();
  438. String contract = inData.getContract();
  439. String toolId = inData.getToolId();
  440. String toolInstance = inData.getToolInstance();
  441. try{
  442. //查询制造商信息
  443. Map<String, String> instanceMap = ToolApi.getToolInstance(srv, contract, toolId, toolInstance);
  444. //判断是否需要插入到ifs
  445. if(instanceMap == null || instanceMap.isEmpty()) {
  446. throw new APException("Tool Instance不存在!");
  447. }
  448. //调用api删除数据
  449. ToolApi.removeToolInstanceDate(srv, inData);
  450. returnMap.put("resultCode", "200");
  451. returnMap.put("obj", JSON.toJSONString(inData));
  452. } catch(APException e){
  453. returnMap.put("resultCode", "400");
  454. returnMap.put("resultMsg", e.getMessage());
  455. logger.info("异常信息:"+e.getMessage());
  456. }
  457. //打印日志
  458. logger.info("Tool Instance Date删除结束:"+JSON.toJSONString(inData));
  459. //返回结果集
  460. return returnMap;
  461. }
  462. }