ApplyPickController.java 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. package com.iamberry.rst.controllers.approval;
  2. import com.iamberry.rst.core.approval.*;
  3. import com.iamberry.rst.core.cm.SendProdcue;
  4. import com.iamberry.rst.core.order.OrderBatch;
  5. import com.iamberry.rst.core.page.PageRequest;
  6. import com.iamberry.rst.core.page.PagedResult;
  7. import com.iamberry.rst.core.sys.Admin;
  8. import com.iamberry.rst.faces.approval.*;
  9. import com.iamberry.rst.faces.sys.SysService;
  10. import com.iamberry.rst.service.approval.ApprovalProductionContractServiceImpl;
  11. import com.iamberry.rst.utils.StitchAttrUtil;
  12. import com.iamberry.wechat.core.entity.WechatUtils;
  13. import com.iamberry.wechat.tools.ResponseJson;
  14. import net.sf.json.JSONArray;
  15. import org.apache.shiro.authz.annotation.RequiresPermissions;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Controller;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RequestParam;
  20. import org.springframework.web.bind.annotation.ResponseBody;
  21. import javax.servlet.http.HttpServletRequest;
  22. import java.util.HashMap;
  23. import java.util.List;
  24. import java.util.Map;
  25. @Controller
  26. @RequestMapping("/wechat/applyPick")
  27. public class ApplyPickController {
  28. @Autowired
  29. private ApplyPickService applyPickService;
  30. @Autowired
  31. private ApplyPickItemService applyPickItemService;
  32. @Autowired
  33. private ApprovalTaskService approvalTaskService;
  34. @Autowired
  35. private SysService sysService;
  36. @Autowired
  37. private ApprovalOrderService approvalOrderService;
  38. @Autowired
  39. private ApprovalProductionContractServiceImpl approvalProductionContractService;
  40. @Autowired
  41. private ApprovalProductionService approvalProductionService;
  42. /**
  43. * 获取已审批通过的订单
  44. * @return
  45. */
  46. @ResponseBody
  47. @RequestMapping("/listApprovalOrder")
  48. @RequiresPermissions("pick:listApprovalOrder")
  49. public ResponseJson listApprovalOrder() {
  50. return null;
  51. }
  52. /**
  53. * 获取提货列表
  54. * @return
  55. */
  56. @ResponseBody
  57. @RequestMapping("/listApplyPick")
  58. public ResponseJson listApplyPick(HttpServletRequest request,Integer applyPickStruts,
  59. @RequestParam(value= "pageSize",defaultValue= "10" ,required=false) Integer pageSize,
  60. @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
  61. @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum
  62. ) {
  63. String openId = WechatUtils.getUserBySession(request).getUserOpenid();
  64. Admin admin = sysService.getByOpenid(openId);
  65. if(admin == null){
  66. return new ResponseJson(500, "FAILURE", 500);
  67. }
  68. ApprovalApplyPick approvalApplyPick = new ApprovalApplyPick();
  69. approvalApplyPick.setAdminId(admin.getAdminId());
  70. approvalApplyPick.setApplyPickStruts(applyPickStruts);
  71. PagedResult<ApprovalApplyPick> pagedResult = applyPickService.listOrderBatchPage(pageNo, pageSize, approvalApplyPick, totalNum == 0);
  72. if (totalNum != 0){
  73. pagedResult.setTotal(totalNum);
  74. }
  75. ResponseJson rj = ResponseJson.getSUCCESS();
  76. rj.addResponseKeyValue("lastPage",StitchAttrUtil.getSa().getLastPage(pagedResult));
  77. rj.addResponseKeyValue("list",pagedResult.getDataList());
  78. return rj;
  79. }
  80. /**
  81. * 添加提货
  82. * @return
  83. */
  84. @ResponseBody
  85. @RequestMapping("/addApplyPick")
  86. public ResponseJson addApplyPick(HttpServletRequest request,ApprovalApplyPick approvalApplyPick,String listApplyPickItemJson,String imageJson) {
  87. ResponseJson rj = new ResponseJson(500, "FAILURE", 500);
  88. String openId = WechatUtils.getUserBySession(request).getUserOpenid();
  89. Map<String,Object> map = verification(approvalApplyPick);
  90. boolean flag = (boolean) map.get("status");
  91. if(!flag){
  92. rj.setResultMsg((String) map.get("msg"));
  93. return rj;
  94. }
  95. JSONArray imageJSONArray = JSONArray.fromObject(imageJson);
  96. List<ApprovalProductionContract> approvalProductionContractList = (List) JSONArray.toCollection(imageJSONArray, ApprovalProductionContract.class);
  97. JSONArray jsonArray = JSONArray.fromObject(listApplyPickItemJson);
  98. List<ApprovalApplyPickItem> listApplyPickItem = (List) JSONArray.toCollection(jsonArray, ApprovalApplyPickItem.class);
  99. approvalApplyPick.setListApplyPickItem(listApplyPickItem);
  100. approvalApplyPick.setApplyPickStruts(1);
  101. //获取审批任务id
  102. Map<String, Object> taskinfo = approvalTaskService.salesmanSubmitApply(2);
  103. try{
  104. applyPickService.save(approvalApplyPick,openId,taskinfo,approvalProductionContractList);
  105. }catch (Exception e){
  106. e.printStackTrace();
  107. rj.setResultMsg("添加提货失败,"+ e.getMessage());
  108. return rj;
  109. }
  110. rj = ResponseJson.getSUCCESS();
  111. return rj;
  112. }
  113. /**
  114. * 验证提货申请
  115. * @param approvalApplyPick
  116. * @return
  117. */
  118. public Map<String,Object> verification(ApprovalApplyPick approvalApplyPick){
  119. Map<String,Object> map = new HashMap<>();
  120. map.put("status",false);
  121. if(approvalApplyPick.getApplyPickName() == null || "".equals(approvalApplyPick.getApplyPickName())){
  122. map.put("msg","姓名为空");
  123. return map;
  124. }
  125. if(approvalApplyPick.getApplyPickTel() == null || "".equals(approvalApplyPick.getApplyPickTel())){
  126. map.put("msg","电话号码为空");
  127. return map;
  128. }
  129. if(approvalApplyPick.getProductionApprovalId() == null || "".equals(approvalApplyPick.getProductionApprovalId())){
  130. map.put("msg","未选择审批订单");
  131. return map;
  132. }else{
  133. ApprovalInfo approvalInfo = approvalOrderService.getApprovalInfoById(approvalApplyPick.getProductionApprovalId());
  134. if(approvalInfo == null){
  135. map.put("msg","选择生产审批订单id错误");
  136. return map;
  137. }
  138. }
  139. map.put("status",true);
  140. map.put("msg","success");
  141. return map;
  142. }
  143. /**
  144. * 获取提货信息
  145. * @return
  146. */
  147. @ResponseBody
  148. @RequestMapping("/getApplyPick")
  149. public ResponseJson getApplyPick(HttpServletRequest request,Integer applyPickId) {
  150. if(applyPickId == null){
  151. return new ResponseJson(500, "FAILURE", 500);
  152. }
  153. ResponseJson rj = ResponseJson.getSUCCESS();
  154. ApprovalApplyPick approvalApplyPick = applyPickService.getApprovalApplyPickById(applyPickId);
  155. ApprovalApplyPickItem approvalApplyPickItem = new ApprovalApplyPickItem();
  156. approvalApplyPickItem.setApplyPickId(applyPickId);
  157. List<ApprovalApplyPickItem> approvalApplyPickItemList = applyPickItemService.getApprovalApplyPickItemList(approvalApplyPickItem);
  158. approvalApplyPick.setListApplyPickItem(approvalApplyPickItemList);
  159. ApprovalProductionContract approvalProductionContract = new ApprovalProductionContract();
  160. approvalProductionContract.setApprovalId(approvalApplyPick.getApprovalId());
  161. List<ApprovalProductionContract> approvalProductionContractList = approvalProductionContractService.getApprovalProductionContractList(approvalProductionContract);
  162. /*该提货所属的审批信息*/
  163. ApprovalInfo approvalInfo = approvalOrderService.getApprovalInfoById(approvalApplyPick.getApprovalId());
  164. /*绑定的生产审批信息*/
  165. ApprovalInfo productionApprovalInfo = approvalOrderService.getApprovalInfoById(approvalApplyPick.getProductionApprovalId());
  166. ApprovalProduction ap = new ApprovalProduction();
  167. ap.setApprovalId(productionApprovalInfo.getApprovalId());
  168. List<ApprovalProduction> approvalProductionList = approvalProductionService.getApprovalProductionList(ap);
  169. if(approvalProductionList != null && approvalProductionList.size() > 0 ){
  170. ap = approvalProductionList.get(0);
  171. ApprovalProductionItem approvalProductionItem = new ApprovalProductionItem();
  172. approvalProductionItem.setProductionId(ap.getProductionId());
  173. List<ApprovalProductionItem> approvalProductionItemList = approvalProductionService.getApprovalProductionItemList(approvalProductionItem);
  174. ap.setListProductionItem(approvalProductionItemList);
  175. rj.addResponseKeyValue("ApprovalProduction",ap);
  176. }
  177. rj.addResponseKeyValue("approvalApplyPick",approvalApplyPick);
  178. rj.addResponseKeyValue("productionContractList",approvalProductionContractList);
  179. rj.addResponseKeyValue("approvalInfo",approvalInfo);
  180. rj.addResponseKeyValue("productionApprovalInfo",productionApprovalInfo);
  181. return rj;
  182. }
  183. /**
  184. * 发货
  185. * @return
  186. */
  187. @ResponseBody
  188. @RequestMapping("/ship")
  189. public ResponseJson ship(HttpServletRequest request,Integer applyPickId, String applyPickShipWay,String applyPickCertificate) {
  190. if(applyPickId == null || applyPickCertificate == null || "".equals(applyPickCertificate) ){
  191. return new ResponseJson(500, "FAILURE", 500);
  192. }
  193. if(applyPickCertificate == null || "".equals(applyPickCertificate) ){
  194. return new ResponseJson(500, "FAILURE", 500);
  195. }
  196. if(applyPickCertificate == null || "".equals(applyPickCertificate) ){
  197. return new ResponseJson(500, "FAILURE", 500);
  198. }
  199. ResponseJson rj = ResponseJson.getSUCCESS();
  200. ApprovalApplyPick approvalApplyPick = new ApprovalApplyPick();
  201. approvalApplyPick.setApplyPickStruts(2);
  202. approvalApplyPick.setApplyPickId(applyPickId);
  203. // approvalApplyPick.(applyPickCertificate);
  204. Integer flag = applyPickService.update(approvalApplyPick);
  205. if(flag < 1){
  206. return new ResponseJson(500, "FAILURE", 500);
  207. }
  208. return rj;
  209. }
  210. }