|  |  |  | 
|---|
|  |  |  | package com.zy.asrs.controller; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.alibaba.fastjson.JSON; | 
|---|
|  |  |  | import com.alibaba.fastjson.JSONObject; | 
|---|
|  |  |  | import com.core.annotations.AppAuth; | 
|---|
|  |  |  | import com.core.common.*; | 
|---|
|  |  |  | import com.core.common.BaseRes; | 
|---|
|  |  |  | import com.core.common.Cools; | 
|---|
|  |  |  | import com.core.common.R; | 
|---|
|  |  |  | import com.core.exception.CoolException; | 
|---|
|  |  |  | import com.zy.asrs.entity.param.*; | 
|---|
|  |  |  | import com.zy.asrs.service.OpenService; | 
|---|
|  |  |  | import com.zy.common.model.DetlDto; | 
|---|
|  |  |  | import com.zy.common.web.BaseController; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import javax.servlet.http.HttpServletRequest; | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Created by vincent on 2022/4/8 | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static void main(String[] args) { | 
|---|
|  |  |  | // 1 | 
|---|
|  |  |  | System.out.println("======================================"); | 
|---|
|  |  |  | OpenOrderPakinParam param = new OpenOrderPakinParam(); | 
|---|
|  |  |  | param.setOrderNo(String.valueOf(new SnowflakeIdWorker().nextId())); | 
|---|
|  |  |  | param.setOrderType("打包上线单"); | 
|---|
|  |  |  | param.setOrderTime(DateUtils.convert(new Date())); | 
|---|
|  |  |  | List<DetlDto> orderDetails = new ArrayList<>(); | 
|---|
|  |  |  | param.setOrderDetails(orderDetails); | 
|---|
|  |  |  | for (int i = 0; i < 3; i++) { | 
|---|
|  |  |  | DetlDto detlDto = new DetlDto(); | 
|---|
|  |  |  | switch (i) { | 
|---|
|  |  |  | case 0: | 
|---|
|  |  |  | detlDto.setMatnr("MDH020030530"); | 
|---|
|  |  |  | detlDto.setBatch("500"); | 
|---|
|  |  |  | detlDto.setAnfme(18.0); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 1: | 
|---|
|  |  |  | detlDto.setMatnr("MDH020016416"); | 
|---|
|  |  |  | detlDto.setBatch("500"); | 
|---|
|  |  |  | detlDto.setAnfme(32.0); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 2: | 
|---|
|  |  |  | detlDto.setMatnr("LSH90152025"); | 
|---|
|  |  |  | detlDto.setAnfme(50.0); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | orderDetails.add(detlDto); | 
|---|
|  |  |  | @PostMapping("/order/matSync/default/v1") | 
|---|
|  |  |  | public synchronized R syncMatInfoU8(@RequestHeader(required = false) String appkey, | 
|---|
|  |  |  | @RequestBody(required = false) Map<String, Object> param, | 
|---|
|  |  |  | HttpServletRequest request){ | 
|---|
|  |  |  | auth(appkey, param, request); | 
|---|
|  |  |  | if (Cools.isEmpty(param)) { | 
|---|
|  |  |  | return R.parse(BaseRes.PARAM); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | System.out.println(JSON.toJSONString(param)); | 
|---|
|  |  |  | // 2 | 
|---|
|  |  |  | System.out.println("======================================"); | 
|---|
|  |  |  | OpenOrderCompleteParam param1 = new OpenOrderCompleteParam(); | 
|---|
|  |  |  | param1.setOrderNo("963001846497017856"); | 
|---|
|  |  |  | System.out.println(JSON.toJSONString(param1)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | int msgU = 0; | 
|---|
|  |  |  | int msgT = 0; | 
|---|
|  |  |  | int msgF = 0; | 
|---|
|  |  |  | StringBuilder msg= new StringBuilder("原因:"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<MatInfoParam> matDetails = (List<MatInfoParam>) param.get("matDetails"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (Object matDetail : matDetails){ | 
|---|
|  |  |  | MatInfoParam matInfoParam = JSONObject.parseObject(JSON.toJSONString(matDetail),MatInfoParam.class); | 
|---|
|  |  |  | if (Cools.isEmpty(matDetails)) { | 
|---|
|  |  |  | msgF++; | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | openService.syncMat(matInfoParam); | 
|---|
|  |  |  | if(matInfoParam.isUpdate()){ | 
|---|
|  |  |  | msgU++; | 
|---|
|  |  |  | }else if(matInfoParam.isInsert()){ | 
|---|
|  |  |  | msgT++; | 
|---|
|  |  |  | } else if(matInfoParam.isError()){ | 
|---|
|  |  |  | msgF++; | 
|---|
|  |  |  | msg.append(matInfoParam.getCinvcode()).append(":").append(matInfoParam.getMemo()).append(";"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String message = ""; | 
|---|
|  |  |  | boolean success = false; | 
|---|
|  |  |  | if(msgT != 0){ | 
|---|
|  |  |  | message += "成功接收物料:"+msgT+"个"; | 
|---|
|  |  |  | success = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(msgU != 0){ | 
|---|
|  |  |  | message += "成功修改物料:"+msgU+"个"; | 
|---|
|  |  |  | success = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(msgF != 0){ | 
|---|
|  |  |  | message += "接收物料失败:"+msgF+"个;"+msg; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(success){ | 
|---|
|  |  |  | return R.ok(message); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | return R.error(message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //        if (MsgF==0){ | 
|---|
|  |  |  | //            return R.ok("成功接收物料:"+MsgT+"个"); | 
|---|
|  |  |  | //        }else if (MsgT==0){ | 
|---|
|  |  |  | //            return R.error("接收物料失败:"+MsgF+"个;"+Msg); | 
|---|
|  |  |  | //        }else { | 
|---|
|  |  |  | //            return R.ok("成功接收物料:"+MsgT+"个;"+"接收物料失败:"+MsgF+"个;"+Msg); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping("/order/pakin/default/v1") | 
|---|
|  |  |  | @AppAuth(memo = "生成入库单据") | 
|---|
|  |  |  | public synchronized R orderPakin(@RequestHeader(required = false) String appkey, | 
|---|
|  |  |  | @RequestBody(required = false) Map<String, Object> param, | 
|---|
|  |  |  | HttpServletRequest request){ | 
|---|
|  |  |  | auth(appkey, param, request); | 
|---|
|  |  |  | if (Cools.isEmpty(param)) { | 
|---|
|  |  |  | return R.parse(BaseRes.PARAM); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | openService.syncOrder(param,true); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return R.ok("入库单据接受成功"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping("/order/pakout/default/v1") | 
|---|
|  |  |  | @AppAuth(memo = "生成出库单据") | 
|---|
|  |  |  | public synchronized R orderPakout(@RequestHeader(required = false) String appkey, | 
|---|
|  |  |  | @RequestBody(required = false) Map<String, Object> param, | 
|---|
|  |  |  | HttpServletRequest request){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | auth(appkey, param, request); | 
|---|
|  |  |  | if (Cools.isEmpty(param)) { | 
|---|
|  |  |  | return R.parse(BaseRes.PARAM); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | openService.syncOrder(param,false); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return R.ok("出库单据接受成功"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping("/order/delete/default/v1") | 
|---|
|  |  |  | @AppAuth(memo = "单据删除审核") | 
|---|
|  |  |  | public synchronized R orderDelete(@RequestHeader(required = false) String appkey, | 
|---|
|  |  |  | @RequestBody(required = false) Map<String, Object> param, | 
|---|
|  |  |  | HttpServletRequest request){ | 
|---|
|  |  |  | auth(appkey, param, request); | 
|---|
|  |  |  | if (Cools.isEmpty(param)) { | 
|---|
|  |  |  | return R.parse(BaseRes.PARAM); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | boolean success = openService.orderDelete(param.get("id").toString()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(success){ | 
|---|
|  |  |  | return R.ok("单据删除成功"); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | return R.error("单据正在执行,删除失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|