KKLController.java 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  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. //09.27 改为通过业务关联规则更新菜单计划状态
  48. /*if(approve){
  49. kklService.updateState(UtilMap.getString(data,"poid"));
  50. }*/
  51. return McR.success();
  52. }
  53. /**
  54. * 菜单计划审批
  55. * -
  56. * 通过:数据更新到切配工作单及计划采购单
  57. * 拒绝:回退数据到菜单计划
  58. */
  59. @PostMapping("planApproval")
  60. McR planApproval(@RequestBody Map data) {
  61. log.info("planApproval, {}", JSON.toJSONString(data));
  62. if(PublicUtil.isNull(data,"fid","backFid","results","userId")){
  63. return McR.errorNullPointer();
  64. }
  65. kklService.planApproval(data);
  66. return McR.success();
  67. }
  68. /**
  69. * 定价单: 项目点 & 供应商大类, 数据匹配
  70. */
  71. @PostMapping("service")
  72. McR service(HttpServletRequest request) {
  73. Map data = UtilServlet.getParamMap(request);
  74. log.info("service, {}", JSON.toJSONString(data));
  75. kklService.serviceRate(data);
  76. return McR.success();
  77. }
  78. /**
  79. * 物料档案: 价格调整
  80. */
  81. @PostMapping("adjust")
  82. McR adjust(HttpServletRequest request) {
  83. Map data = UtilServlet.getParamMap(request);
  84. log.info("adjust, {}", JSON.toJSONString(data));
  85. kklService.adjustCost(data);
  86. return McR.success();
  87. }
  88. /**
  89. * 供应商原材料档案: 新增匹配
  90. * 更新定价单
  91. */
  92. @PostMapping("addition")
  93. McR addition(HttpServletRequest request) {
  94. Map data = UtilServlet.getParamMap(request);
  95. log.info("addition, {}", JSON.toJSONString(data));
  96. kklService.adjustCost(data);
  97. return McR.success();
  98. }
  99. /***
  100. * 新增定价单
  101. * @param request
  102. * @return
  103. */
  104. @PostMapping("updateDjd")
  105. McR updateDjd(HttpServletRequest request) {
  106. Map data = UtilServlet.getParamMap(request);
  107. log.info("addition, {}", JSON.toJSONString(data));
  108. kklService.additionMaterial(data);
  109. return McR.success();
  110. }
  111. /**
  112. * 周日同步更新价格
  113. */
  114. @PostMapping("sync")
  115. McR sync() {
  116. log.info("sync price");
  117. kklService.syncPrice();
  118. return McR.success();
  119. }
  120. /**
  121. * 获取新老供应商差异匹配(供应商原材料全量匹配)
  122. * @param oldSupplierCode
  123. * @param newSupplierCode
  124. * @return
  125. */
  126. @GetMapping("getDiffMatchingSuppliers")
  127. McR getDiffMatchingSuppliers(String oldSupplierCode,String newSupplierCode){
  128. if (Strings.isNullOrEmpty(oldSupplierCode) || Strings.isNullOrEmpty(newSupplierCode)){
  129. return McR.errorParam("参数缺失");
  130. }
  131. List<Map<String,String>> result = kklService.getDiffMatchingSuppliers(oldSupplierCode,newSupplierCode);
  132. return McR.success(result);
  133. }
  134. /**
  135. * 获取新老供应商差异匹配(定价单明细中间表匹配)
  136. * @param projectCode
  137. * @param oldSupplierCode
  138. * @param newSupplierCode
  139. * @return
  140. */
  141. @GetMapping("getDiffMatchingSuppliers2")
  142. McR getDiffMatchingSuppliers2(String projectCode,String oldSupplierCode,String newSupplierCode){
  143. if (Strings.isNullOrEmpty(projectCode) || Strings.isNullOrEmpty(oldSupplierCode) || Strings.isNullOrEmpty(newSupplierCode)){
  144. return McR.errorParam("参数缺失");
  145. }
  146. List<Map<String,String>> result = kklService.getDiffMatchingSuppliers2(projectCode,oldSupplierCode,newSupplierCode);
  147. return McR.success(result);
  148. }
  149. /**
  150. * 更新定价单供应商
  151. * @param map
  152. * @return
  153. */
  154. @PostMapping("updateSuppliers")
  155. McR updateSuppliers(@RequestBody Map map) {
  156. String formInstId = String.valueOf(map.get("formInstId"));
  157. if (Strings.isNullOrEmpty(formInstId)){
  158. return McR.errorParam("参数缺失");
  159. }
  160. kklService.updateSuppliers(formInstId);
  161. return McR.success();
  162. }
  163. @PostMapping("test")
  164. McR test(HttpServletRequest request) {
  165. Map data = UtilServlet.getParamMap(request);
  166. log.info("xxxx, {}", data);
  167. return McR.success();
  168. }
  169. }