|  |  | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 
 |  |  | import com.zy.asrs.common.openapi.entity.HostKey; | 
 |  |  | import com.zy.asrs.common.openapi.entity.dto.OrderListDto; | 
 |  |  | import com.zy.asrs.common.openapi.entity.param.CreateMatParam; | 
 |  |  | import com.zy.asrs.common.openapi.entity.param.GenerateOrderPakInParam; | 
 |  |  | import com.zy.asrs.common.openapi.entity.param.GenerateOrderPakOutParam; | 
 |  |  | import com.zy.asrs.common.openapi.entity.param.OrderListParam; | 
 |  |  | import com.zy.asrs.common.openapi.entity.param.*; | 
 |  |  | import com.zy.asrs.common.openapi.service.ApiService; | 
 |  |  | import com.zy.asrs.common.openapi.service.HostKeyService; | 
 |  |  | import com.zy.asrs.common.web.BaseController; | 
 |  |  | 
 |  |  | import com.zy.asrs.framework.common.Cools; | 
 |  |  | import com.zy.asrs.framework.common.R; | 
 |  |  | import com.zy.asrs.framework.exception.CoolException; | 
 |  |  | import com.zy.asrs.openapi.param.MatParam; | 
 |  |  | import com.zy.asrs.openapi.param.OrderParam; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.apache.commons.codec.digest.DigestUtils; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.web.bind.annotation.*; | 
 |  |  |  | 
 |  |  | import javax.servlet.http.HttpServletRequest; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.Map; | 
 |  |  |  | 
 |  |  | 
 |  |  |     private HostKeyService hostKeyService; | 
 |  |  |     @Autowired | 
 |  |  |     private ApiService apiService; | 
 |  |  |  | 
 |  |  |     @PostMapping("/test") | 
 |  |  |     public R test() { | 
 |  |  |         return R.ok(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 生成入库订单 | 
 |  |  | 
 |  |  |         if (Cools.isEmpty(param.getOrderType())) { | 
 |  |  |             return R.error("单据类型[orderType]不能为空"); | 
 |  |  |         } | 
 |  |  |         if (Cools.isEmpty(param.getOrderDetails())) { | 
 |  |  |             return R.error("单据明细[orderDetails]不能为空"); | 
 |  |  |         if (Cools.isEmpty(param.getMats())) { | 
 |  |  |             return R.error("物料[mats]不能为空"); | 
 |  |  |         } | 
 |  |  |         param.setHostId(hostKey.getHostId()); | 
 |  |  |         apiService.generateOrderPakIn(param); | 
 |  |  | 
 |  |  |         if (Cools.isEmpty(param.getOrderType())) { | 
 |  |  |             return R.error("单据类型[orderType]不能为空"); | 
 |  |  |         } | 
 |  |  |         if (Cools.isEmpty(param.getOrderDetails())) { | 
 |  |  |             return R.error("单据明细[orderDetails]不能为空"); | 
 |  |  |         if (Cools.isEmpty(param.getMats())) { | 
 |  |  |             return R.error("物料[mats]不能为空"); | 
 |  |  |         } | 
 |  |  |         param.setHostId(hostKey.getHostId()); | 
 |  |  |         apiService.generateOrderPakOut(param); | 
 |  |  | 
 |  |  |         return hostKey; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @PostMapping("order/execute/auth/v1") | 
 |  |  |     public R wms1(@RequestBody Map<String, Object> map) { | 
 |  |  |         log.info("order/execute/auth/v1:" + JSON.toJSONString(map)); | 
 |  |  |         OrderParam orderParam = JSON.parseObject(JSON.toJSONString(map), OrderParam.class); | 
 |  |  |         List<DocType> list = apiService.getOrderType(); | 
 |  |  |         DocType type = null; | 
 |  |  |         for (DocType docType : list) { | 
 |  |  |             if (docType.getDocName().equals(orderParam.getOrderType())) { | 
 |  |  |                 type = docType; | 
 |  |  |                 break; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if (type == null) { | 
 |  |  |             return R.error("单据类型不存在"); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         ArrayList<GenerateOrderMatParam> mats = new ArrayList<>(); | 
 |  |  |         for (MatParam matParam : orderParam.getList()) { | 
 |  |  |             GenerateOrderMatParam mat = new GenerateOrderMatParam(); | 
 |  |  |             mat.setMatnr(matParam.getMatnr()); | 
 |  |  |             mat.setBatch(matParam.getBatch()); | 
 |  |  |             mat.setAnfme(matParam.getCount()); | 
 |  |  |             mats.add(mat); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         if (orderParam.getInOut() == 1) { | 
 |  |  |             //入库 | 
 |  |  |             GenerateOrderPakInParam param = new GenerateOrderPakInParam(); | 
 |  |  |             param.setHostId(1L); | 
 |  |  |             param.setOrderType(type.getDocId().intValue()); | 
 |  |  |             param.setOrderNo(orderParam.getOrderNo()); | 
 |  |  |             param.setMats(mats); | 
 |  |  |             apiService.generateOrderPakIn(param); | 
 |  |  |         } else if (orderParam.getInOut() == 2) { | 
 |  |  |             //出库 | 
 |  |  |             GenerateOrderPakOutParam param = new GenerateOrderPakOutParam(); | 
 |  |  |             param.setHostId(1L); | 
 |  |  |             param.setOrderType(type.getDocId().intValue()); | 
 |  |  |             param.setOrderNo(orderParam.getOrderNo()); | 
 |  |  |             param.setMats(mats); | 
 |  |  |             apiService.generateOrderPakOut(param); | 
 |  |  |         }else { | 
 |  |  |             //其他 | 
 |  |  |             return R.error("出入库类型错误"); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         return R.ok(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |