package com.iamberry.rst.controllers.approval; import com.iamberry.rst.core.approval.*; import com.iamberry.rst.core.cm.SendProdcue; import com.iamberry.rst.core.order.OrderBatch; import com.iamberry.rst.core.page.PageRequest; import com.iamberry.rst.core.page.PagedResult; import com.iamberry.rst.core.sys.Admin; import com.iamberry.rst.faces.approval.*; import com.iamberry.rst.faces.sys.SysService; import com.iamberry.rst.service.approval.ApprovalProductionContractServiceImpl; import com.iamberry.rst.utils.StitchAttrUtil; import com.iamberry.wechat.core.entity.WechatUtils; import com.iamberry.wechat.tools.ResponseJson; import net.sf.json.JSONArray; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.List; import java.util.Map; @Controller @RequestMapping("/wechat/applyPick") public class ApplyPickController { @Autowired private ApplyPickService applyPickService; @Autowired private ApplyPickItemService applyPickItemService; @Autowired private ApprovalTaskService approvalTaskService; @Autowired private SysService sysService; @Autowired private ApprovalOrderService approvalOrderService; @Autowired private ApprovalProductionContractServiceImpl approvalProductionContractService; @Autowired private ApprovalProductionService approvalProductionService; /** * 获取已审批通过的订单 * @return */ @ResponseBody @RequestMapping("/listApprovalOrder") @RequiresPermissions("pick:listApprovalOrder") public ResponseJson listApprovalOrder() { return null; } /** * 获取提货列表 * @return */ @ResponseBody @RequestMapping("/listApplyPick") public ResponseJson listApplyPick(HttpServletRequest request,Integer applyPickStruts, @RequestParam(value= "pageSize",defaultValue= "10" ,required=false) Integer pageSize, @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum ) { String openId = WechatUtils.getUserBySession(request).getUserOpenid(); Admin admin = sysService.getByOpenid(openId); if(admin == null){ return new ResponseJson(500, "FAILURE", 500); } ApprovalApplyPick approvalApplyPick = new ApprovalApplyPick(); approvalApplyPick.setAdminId(admin.getAdminId()); approvalApplyPick.setApplyPickStruts(applyPickStruts); PagedResult pagedResult = applyPickService.listOrderBatchPage(pageNo, pageSize, approvalApplyPick, totalNum == 0); if (totalNum != 0){ pagedResult.setTotal(totalNum); } ResponseJson rj = ResponseJson.getSUCCESS(); rj.addResponseKeyValue("lastPage",StitchAttrUtil.getSa().getLastPage(pagedResult)); rj.addResponseKeyValue("list",pagedResult.getDataList()); return rj; } /** * 添加提货 * @return */ @ResponseBody @RequestMapping("/addApplyPick") public ResponseJson addApplyPick(HttpServletRequest request,ApprovalApplyPick approvalApplyPick,String listApplyPickItemJson,String imageJson) { ResponseJson rj = new ResponseJson(500, "FAILURE", 500); String openId = WechatUtils.getUserBySession(request).getUserOpenid(); Map map = verification(approvalApplyPick); boolean flag = (boolean) map.get("status"); if(!flag){ rj.setResultMsg((String) map.get("msg")); return rj; } JSONArray imageJSONArray = JSONArray.fromObject(imageJson); List approvalProductionContractList = (List) JSONArray.toCollection(imageJSONArray, ApprovalProductionContract.class); JSONArray jsonArray = JSONArray.fromObject(listApplyPickItemJson); List listApplyPickItem = (List) JSONArray.toCollection(jsonArray, ApprovalApplyPickItem.class); approvalApplyPick.setListApplyPickItem(listApplyPickItem); approvalApplyPick.setApplyPickStruts(1); //获取审批任务id Map taskinfo = approvalTaskService.salesmanSubmitApply(2); try{ applyPickService.save(approvalApplyPick,openId,taskinfo,approvalProductionContractList); }catch (Exception e){ e.printStackTrace(); rj.setResultMsg("添加提货失败,"+ e.getMessage()); return rj; } rj = ResponseJson.getSUCCESS(); return rj; } /** * 验证提货申请 * @param approvalApplyPick * @return */ public Map verification(ApprovalApplyPick approvalApplyPick){ Map map = new HashMap<>(); map.put("status",false); if(approvalApplyPick.getApplyPickName() == null || "".equals(approvalApplyPick.getApplyPickName())){ map.put("msg","姓名为空"); return map; } if(approvalApplyPick.getApplyPickTel() == null || "".equals(approvalApplyPick.getApplyPickTel())){ map.put("msg","电话号码为空"); return map; } if(approvalApplyPick.getProductionApprovalId() == null || "".equals(approvalApplyPick.getProductionApprovalId())){ map.put("msg","未选择审批订单"); return map; }else{ ApprovalInfo approvalInfo = approvalOrderService.getApprovalInfoById(approvalApplyPick.getProductionApprovalId()); if(approvalInfo == null){ map.put("msg","选择生产审批订单id错误"); return map; } } map.put("status",true); map.put("msg","success"); return map; } /** * 获取提货信息 * @return */ @ResponseBody @RequestMapping("/getApplyPick") public ResponseJson getApplyPick(HttpServletRequest request,Integer applyPickId) { if(applyPickId == null){ return new ResponseJson(500, "FAILURE", 500); } ResponseJson rj = ResponseJson.getSUCCESS(); ApprovalApplyPick approvalApplyPick = applyPickService.getApprovalApplyPickById(applyPickId); ApprovalApplyPickItem approvalApplyPickItem = new ApprovalApplyPickItem(); approvalApplyPickItem.setApplyPickId(applyPickId); List approvalApplyPickItemList = applyPickItemService.getApprovalApplyPickItemList(approvalApplyPickItem); approvalApplyPick.setListApplyPickItem(approvalApplyPickItemList); ApprovalProductionContract approvalProductionContract = new ApprovalProductionContract(); approvalProductionContract.setApprovalId(approvalApplyPick.getApprovalId()); List approvalProductionContractList = approvalProductionContractService.getApprovalProductionContractList(approvalProductionContract); /*该提货所属的审批信息*/ ApprovalInfo approvalInfo = approvalOrderService.getApprovalInfoById(approvalApplyPick.getApprovalId()); /*绑定的生产审批信息*/ ApprovalInfo productionApprovalInfo = approvalOrderService.getApprovalInfoById(approvalApplyPick.getProductionApprovalId()); ApprovalProduction ap = new ApprovalProduction(); ap.setApprovalId(productionApprovalInfo.getApprovalId()); List approvalProductionList = approvalProductionService.getApprovalProductionList(ap); if(approvalProductionList != null && approvalProductionList.size() > 0 ){ ap = approvalProductionList.get(0); ApprovalProductionItem approvalProductionItem = new ApprovalProductionItem(); approvalProductionItem.setProductionId(ap.getProductionId()); List approvalProductionItemList = approvalProductionService.getApprovalProductionItemList(approvalProductionItem); ap.setListProductionItem(approvalProductionItemList); rj.addResponseKeyValue("ApprovalProduction",ap); } rj.addResponseKeyValue("approvalApplyPick",approvalApplyPick); rj.addResponseKeyValue("productionContractList",approvalProductionContractList); rj.addResponseKeyValue("approvalInfo",approvalInfo); rj.addResponseKeyValue("productionApprovalInfo",productionApprovalInfo); return rj; } /** * 发货 * @return */ @ResponseBody @RequestMapping("/ship") public ResponseJson ship(HttpServletRequest request,Integer applyPickId, String applyPickShipWay,String applyPickCertificate) { if(applyPickId == null || applyPickCertificate == null || "".equals(applyPickCertificate) ){ return new ResponseJson(500, "FAILURE", 500); } if(applyPickCertificate == null || "".equals(applyPickCertificate) ){ return new ResponseJson(500, "FAILURE", 500); } if(applyPickCertificate == null || "".equals(applyPickCertificate) ){ return new ResponseJson(500, "FAILURE", 500); } ResponseJson rj = ResponseJson.getSUCCESS(); ApprovalApplyPick approvalApplyPick = new ApprovalApplyPick(); approvalApplyPick.setApplyPickStruts(2); approvalApplyPick.setApplyPickId(applyPickId); // approvalApplyPick.(applyPickCertificate); Integer flag = applyPickService.update(approvalApplyPick); if(flag < 1){ return new ResponseJson(500, "FAILURE", 500); } return rj; } }