| | |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.DocType; |
| | | import com.zy.asrs.entity.Order; |
| | | import com.zy.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.service.ApiLogService; |
| | | import com.zy.asrs.service.DocTypeService; |
| | | import com.zy.asrs.service.OrderDetlService; |
| | | import com.zy.asrs.service.OrderService; |
| | | import com.zy.asrs.task.AbstractHandler; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | | import com.zy.common.service.erp.ErpService; |
| | | import com.zy.common.utils.HttpHandler; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * Created by vincent on 2020/7/7 |
| | |
| | | private ApiLogService apiLogService; |
| | | @Autowired |
| | | private DocTypeService docTypeService; |
| | | @Autowired |
| | | private ErpService erpService; |
| | | |
| | | @Value("${u8.url}") |
| | | private String url; |
| | |
| | | @Transactional |
| | | public ReturnT<String> start(Order order) { |
| | | |
| | | DocType docType = docTypeService.selectById(order.getDocType()); |
| | | if("手动出库单".equals(docType.getDocName()) |
| | | || "手动入库单".equals(docType.getDocName()) |
| | | || "自动补货单".equals(docType.getDocName()) |
| | | || "人工补货单".equals(docType.getDocName())){ |
| | | order.setSettle(8L); |
| | | orderService.updateById(order); |
| | | return SUCCESS; |
| | | } |
| | | |
| | | |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | Map<String, Object> param = new HashMap<>(); |
| | | param.put("id",order.getOrderNo()); |
| | | param.put("dDate",new Date()); |
| | | param.put("cHandler",9527); |
| | | param.put("dDate",sdf.format(new Date())); |
| | | param.put("cHandler","WMS系统"); |
| | | |
| | | List<Map<String,Object>> orderDetlsParam = new ArrayList<>(); |
| | | param.put("orderDetails",orderDetlsParam); |
| | | |
| | | List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); |
| | | |
| | | for (OrderDetl orderDetl : orderDetls){ |
| | | Map<String, Object> odMap = new HashMap<>(); |
| | | odMap.put("autoid",orderDetl.getItemNum()); |
| | | odMap.put("iQuantity",orderDetl.getQty()); |
| | | orderDetlsParam.add(odMap); |
| | | } |
| | | |
| | | int code = doHttpRequest(param, "单据审核", url, orderReportPath, null, "127.0.0.1"); |
| | | if(code == 200){ |
| | | if(code == 0){ |
| | | order.setSettle(6L); |
| | | orderService.updateById(order); |
| | | } |
| | | |
| | | |
| | | // DocType docType = docTypeService.selectById(order.getDocType()); |
| | | // if (null == docType) { |
| | | // return SUCCESS; |
| | | // } |
| | | // if (!Cools.isEmpty(docType.getMemo())) { |
| | | // if (docType.getMemo().equals("hand")) { |
| | | // // 修改订单状态 4.完成 ===>> 6.已上报 |
| | | // if (!orderService.updateSettle(order.getId(), 6L, null)) { |
| | | // throw new CoolException("服务器内部错误,请联系管理员"); |
| | | // } |
| | | // return SUCCESS; |
| | | // } |
| | | // } |
| | | |
| | | // List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); |
| | | // 入库完成上报 |
| | | // if (docType.getPakin() == 1) { |
| | | // try { |
| | | // // erp 同步 |
| | | // int state = 2; |
| | | // if (!erpService.updateStateForVoucher(order.getOrderNo(), state)) { |
| | | // throw new CoolException(order.getOrderNo() + "订单修改State为"+state+"失败"); |
| | | // } else { |
| | | // erpService.updateTimeForVoucherDetail(order.getOrderNo()); |
| | | // } |
| | | // |
| | | // // 修改订单状态 4.完成 ===>> 6.已上报 |
| | | // if (!orderService.updateSettle(order.getId(), 6L, null)) { |
| | | // throw new CoolException("服务器内部错误,请联系管理员"); |
| | | // } |
| | | // |
| | | // } catch (Exception e) { |
| | | // log.error("fail", e); |
| | | // return FAIL.setMsg(e.getMessage()); |
| | | // } |
| | | // } |
| | | // // 出库完成上报 |
| | | // if (docType.getPakout() == 1) { |
| | | // try { |
| | | // double TotalNum = 0.0; |
| | | // Integer TotalCount = orderDetls.size(); |
| | | // // erp 同步 |
| | | // int state = 2; |
| | | // if (!erpService.updateStateForVoucher(order.getOrderNo(), state)) { |
| | | // throw new CoolException(order.getOrderNo() + "订单修改State为"+state+"失败"); |
| | | // } else { |
| | | // Date now = new Date(); |
| | | // for (OrderDetl orderDetl : orderDetls) { |
| | | // TotalNum = TotalNum + orderDetl.getAnfme(); |
| | | // if (null == erpService.selectVoucherDetail(order.getOrderNo(), orderDetl.getBatch())) { |
| | | // VoucherDetail voucherDetail = new VoucherDetail(); |
| | | // voucherDetail.setVoucherID(order.getOrderNo()); |
| | | // voucherDetail.setPickID("fepvnn0496"); |
| | | // voucherDetail.setBarcode(orderDetl.getBatch()); |
| | | // voucherDetail.setLastUpdatedDate(DateUtils.convert(now)); |
| | | // if (!erpService.insertVoucherDetail(voucherDetail)) { |
| | | // throw new CoolException(order.getOrderNo() + "订单添加VoucherDetail"+ JSON.toJSONString(voucherDetail)+"失败"); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // // 更新重量和数量 |
| | | // if (!erpService.updateStateForVoucher(order.getOrderNo(), TotalNum, TotalCount)) { |
| | | // throw new CoolException(order.getOrderNo() + "订单修改重量和数量失败"); |
| | | // } |
| | | // |
| | | // // 修改订单状态 4.完成 ===>> 6.已上报 |
| | | // if (!orderService.updateSettle(order.getId(), 6L, null)) { |
| | | // throw new CoolException("服务器内部错误,请联系管理员"); |
| | | // } |
| | | // |
| | | // } catch (Exception e) { |
| | | // log.error("fail", e); |
| | | // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | // return FAIL.setMsg(e.getMessage()); |
| | | // } |
| | | // } |
| | | return SUCCESS; |
| | | } |
| | | |
| | |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | |
| | | int code = (int) jsonObject.get("code"); |
| | | if(code != 200){ |
| | | throw new CoolException(jsonObject.get("msg").toString()); |
| | | if(Cools.isEmpty(jsonObject.get("errCode"))){ |
| | | throw new CoolException(jsonObject.get("Message").toString()); |
| | | } |
| | | |
| | | int code = (int) jsonObject.get("errCode"); |
| | | if(code != 0){ |
| | | throw new CoolException(jsonObject.get("errMsg").toString()); |
| | | } |
| | | success = true; |
| | | return code; |