KKLController.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. package com.malk.kuaikeli.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.google.common.base.Strings;
  4. import com.malk.kuaikeli.service.KKLService;
  5. import com.malk.server.aliwork.YDConf;
  6. import com.malk.server.aliwork.YDParam;
  7. import com.malk.server.common.McR;
  8. import com.malk.utils.PublicUtil;
  9. import com.malk.utils.UtilMap;
  10. import com.malk.utils.UtilServlet;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.*;
  14. import javax.servlet.http.HttpServletRequest;
  15. import java.util.List;
  16. import java.util.Map;
  17. import java.util.Objects;
  18. /**
  19. * 错误抛出与拦截详见 CatchException
  20. */
  21. @Slf4j
  22. @RestController
  23. @RequestMapping()
  24. public class KKLController {
  25. @Autowired
  26. private KKLService kklService;
  27. /**
  28. * [动态] 发起单据, 分供应商进行流程推送
  29. */
  30. @PostMapping("supplier")
  31. McR supplier(HttpServletRequest request) {
  32. Map data = UtilServlet.getParamMap(request);
  33. log.info("supplier, {}", JSON.toJSONString(data));
  34. kklService.matchSupplier(data);
  35. return McR.success();
  36. }
  37. /**
  38. * 菜单计划, 编辑校验
  39. * -
  40. * 前端提交动作: 校验是否审批通过, 是否当日之前计划, 是否当日且在16点及以后时间, 均不允许提交
  41. * 后端校验返回、加任何产品都要走审批,减少20%以内直接过,每一个原材料
  42. */
  43. @PostMapping("validate")
  44. McR validate(@RequestBody Map data) {
  45. log.info("validate, {}", JSON.toJSONString(data));
  46. boolean approve=kklService.validateApprove(data);
  47. if(approve){
  48. kklService.updateState(UtilMap.getString(data,"poid"));
  49. }
  50. return McR.success();
  51. }
  52. /**
  53. * 菜单计划审批
  54. * -
  55. * 通过:数据更新到切配工作单及计划采购单
  56. * 拒绝:回退数据到菜单计划
  57. */
  58. @PostMapping("planApproval")
  59. McR planApproval(@RequestBody Map data) {
  60. log.info("planApproval, {}", JSON.toJSONString(data));
  61. if(PublicUtil.isNull(data,"fid","backFid","results","userId")){
  62. return McR.errorNullPointer();
  63. }
  64. kklService.planApproval(data);
  65. return McR.success();
  66. }
  67. /**
  68. * 定价单: 项目点 & 供应商大类, 数据匹配
  69. */
  70. @PostMapping("service")
  71. McR service(HttpServletRequest request) {
  72. Map data = UtilServlet.getParamMap(request);
  73. log.info("service, {}", JSON.toJSONString(data));
  74. kklService.serviceRate(data);
  75. return McR.success();
  76. }
  77. /**
  78. * 物料档案: 价格调整
  79. */
  80. @PostMapping("adjust")
  81. McR adjust(HttpServletRequest request) {
  82. Map data = UtilServlet.getParamMap(request);
  83. log.info("adjust, {}", JSON.toJSONString(data));
  84. kklService.adjustCost(data);
  85. return McR.success();
  86. }
  87. /**
  88. * 供应商原材料档案: 新增匹配
  89. * 更新定价单
  90. */
  91. @PostMapping("addition")
  92. McR addition(HttpServletRequest request) {
  93. Map data = UtilServlet.getParamMap(request);
  94. log.info("addition, {}", JSON.toJSONString(data));
  95. kklService.adjustCost(data);
  96. return McR.success();
  97. }
  98. /***
  99. * 新增定价单
  100. * @param request
  101. * @return
  102. */
  103. @PostMapping("updateDjd")
  104. McR updateDjd(HttpServletRequest request) {
  105. Map data = UtilServlet.getParamMap(request);
  106. log.info("addition, {}", JSON.toJSONString(data));
  107. kklService.additionMaterial(data);
  108. return McR.success();
  109. }
  110. /**
  111. * 周日同步更新价格
  112. */
  113. @PostMapping("sync")
  114. McR sync() {
  115. log.info("sync price");
  116. kklService.syncPrice();
  117. return McR.success();
  118. }
  119. /**
  120. * 获取新老供应商差异匹配(供应商原材料全量匹配)
  121. * @param oldSupplierCode
  122. * @param newSupplierCode
  123. * @return
  124. */
  125. @GetMapping("getDiffMatchingSuppliers")
  126. McR getDiffMatchingSuppliers(String oldSupplierCode,String newSupplierCode){
  127. if (Strings.isNullOrEmpty(oldSupplierCode) || Strings.isNullOrEmpty(newSupplierCode)){
  128. return McR.errorParam("参数缺失");
  129. }
  130. List<Map<String,String>> result = kklService.getDiffMatchingSuppliers(oldSupplierCode,newSupplierCode);
  131. return McR.success(result);
  132. }
  133. /**
  134. * 获取新老供应商差异匹配(定价单明细中间表匹配)
  135. * @param projectCode
  136. * @param oldSupplierCode
  137. * @param newSupplierCode
  138. * @return
  139. */
  140. @GetMapping("getDiffMatchingSuppliers2")
  141. McR getDiffMatchingSuppliers2(String projectCode,String oldSupplierCode,String newSupplierCode){
  142. if (Strings.isNullOrEmpty(projectCode) || Strings.isNullOrEmpty(oldSupplierCode) || Strings.isNullOrEmpty(newSupplierCode)){
  143. return McR.errorParam("参数缺失");
  144. }
  145. List<Map<String,String>> result = kklService.getDiffMatchingSuppliers2(projectCode,oldSupplierCode,newSupplierCode);
  146. return McR.success(result);
  147. }
  148. @PostMapping("updateSuppliers")
  149. McR updateSuppliers(@RequestBody Map map) {
  150. String formInstId = String.valueOf(map.get("formInstId"));
  151. if (Strings.isNullOrEmpty(formInstId)){
  152. return McR.errorParam("参数缺失");
  153. }
  154. return kklService.updateSuppliers(formInstId);
  155. }
  156. @PostMapping("test")
  157. McR test(HttpServletRequest request) {
  158. Map data = UtilServlet.getParamMap(request);
  159. log.info("xxxx, {}", data);
  160. return McR.success();
  161. }
  162. }