|
|
@@ -668,11 +668,111 @@ public class ERPServiceImpl implements ERPService {
|
|
|
retMap.put("message","单据已确认采集,不允许重复同步。");
|
|
|
return retMap;
|
|
|
}
|
|
|
+ if (!StringUtil.hasText(prodInOut.getPiWmsInType())
|
|
|
+ || (StringUtil.hasText(prodInOut.getPiWmsInType())
|
|
|
+ && !prodInOut.getPiWmsInType().equals("in")
|
|
|
+ && !prodInOut.getPiWmsInType().equals("out")
|
|
|
+ && !prodInOut.getPiWmsInType().equals("move")
|
|
|
+ )) {
|
|
|
+ retMap.put("success",false);
|
|
|
+ retMap.put("message","WMS单据类型为空或异常,不允许同步。");
|
|
|
+ return retMap;
|
|
|
+ }
|
|
|
//构建请求主体
|
|
|
String masterName = baseDao.queryForObject("select max(ma_function) masterName from DATACENTER_P.master where ma_user = '"+master+"' ",String.class);
|
|
|
Long piId = prodInOut.getPiId();
|
|
|
+ String errMsg = null;
|
|
|
+ if("in".equals(prodInOut.getPiWmsInType())){
|
|
|
+ errMsg = sendInToWms(prodInOut,masterName);
|
|
|
+ }
|
|
|
+ if("out".equals(prodInOut.getPiWmsInType())){
|
|
|
+ errMsg = sendOutToWms(prodInOut,masterName);
|
|
|
+ }
|
|
|
+ if(errMsg!=null){
|
|
|
+ if(errMsg.startsWith("OrderId:")){
|
|
|
+ retMap.put("OrderId",errMsg.replaceAll("OrderId:",""));
|
|
|
+ logger.info("sendIO-End-Sucess master {} piid {} OrderId {}",master,piId,errMsg.replaceAll("EntryOrderId:",""));
|
|
|
+ }else {
|
|
|
+ errMsg = errMsg.replaceAll("'","''");
|
|
|
+ logger.info("sendIO-End-failure master {} piid {} errorTip {}",master,piId,errMsg);
|
|
|
+ retMap.put("success",false);
|
|
|
+ retMap.put("message",errMsg);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ logger.info("sendIO-End-success master {} piid {} ",master,piId);
|
|
|
+ }
|
|
|
+ return retMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ private String sendOutToWms(ProdInout prodInOut, String masterName) {
|
|
|
+ StockOutAndDetRequest stockOutAndDetRequest = new StockOutAndDetRequest();
|
|
|
+ DeliveryOrder deliveryOrder = new DeliveryOrder();
|
|
|
+ deliveryOrder.setOutBizCode(prodInOut.getPiOrderType()+"-"+System.currentTimeMillis());// 外部业务代码 消息ID, 用于去重, 因为网络等原因导致重复传输, 请求不会被重复处理
|
|
|
+ deliveryOrder.setDeliveryOrderCode(prodInOut.getPiInoutno());// 出库单号
|
|
|
+ deliveryOrder.setOwnerCode(vwmsConfig.getOwnerCode());// 货主编码
|
|
|
+ deliveryOrder.setWarehouseCode(vwmsConfig.getWarehouseCode());// 仓库编码
|
|
|
+ deliveryOrder.setPlacedAt(prodInOut.getPiDate());// 订单创建时间
|
|
|
+ deliveryOrder.setOrderType(prodInOut.getPiOrderType());// 订单类型
|
|
|
+ deliveryOrder.setCustomerCode(prodInOut.getPiCardCode());// 客户编码
|
|
|
+ deliveryOrder.setCustomer(prodInOut.getPiTitle());// 客户名称
|
|
|
+ /*
|
|
|
+ * 提交对接创建-> 0=未释放
|
|
|
+ * 审核 -> 1=已释放
|
|
|
+ * prodInOut.getPiInvoStatusCode().equals("COMMITED") &&
|
|
|
+ * */
|
|
|
+ if(prodInOut.getPiSendwmsflag()>0){
|
|
|
+ deliveryOrder.setIsRelease("1");
|
|
|
+ }else {
|
|
|
+ deliveryOrder.setIsRelease("0");
|
|
|
+ }
|
|
|
+ deliveryOrder.setDocumentMaker(prodInOut.getPiRecordman());// 制单人
|
|
|
+ deliveryOrder.setCreateTime(prodInOut.getPiRecordDate());
|
|
|
+ deliveryOrder.setRemark(prodInOut.getPiRemark());// 备注
|
|
|
+ DeliveryOrder.ReceiverInfo receiverInfo = new DeliveryOrder.ReceiverInfo();
|
|
|
+ receiverInfo.setName(prodInOut.getPiLxr());
|
|
|
+ receiverInfo.setMobile(prodInOut.getPiLxdh());
|
|
|
+ receiverInfo.setDetailAddress(prodInOut.getPiKhdz());
|
|
|
+ deliveryOrder.setReceiverInfo(receiverInfo);
|
|
|
+ //写入明细表
|
|
|
+ List<OrderLineOut> orderLineOuts = (List<OrderLineOut>) getOrderLines(prodInOut, masterName);
|
|
|
+ stockOutAndDetRequest.setDeliveryOrder(deliveryOrder);
|
|
|
+ StockOutAndDetRequest.OutOrderLines orderLines = new StockOutAndDetRequest.OutOrderLines();
|
|
|
+ orderLines.setOrderLine(orderLineOuts);
|
|
|
+ stockOutAndDetRequest.setOrderLines(orderLines);
|
|
|
+ //转换为JSON字符串
|
|
|
+ String json = null;
|
|
|
+ String method = null;
|
|
|
+ if(prodInOut.getPiSendwmsflag() == 0){
|
|
|
+ BaseReq<StockOutAndDetRequest> req = new BaseReq();
|
|
|
+ req.setRequest(stockOutAndDetRequest);
|
|
|
+ method = "openapi.stockout.create";
|
|
|
+ try {
|
|
|
+ json = objectMapper.writeValueAsString(req);
|
|
|
+ } catch (JsonProcessingException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return "JSON转换失败";
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ method = "openapi.stockout.batchupdate";
|
|
|
+ BaseReq<OrderVastRequest<StockOutAndDetRequest>> req = new BaseReq();
|
|
|
+ OrderVastRequest<StockOutAndDetRequest> vastReq = new OrderVastRequest();
|
|
|
+ OrderVastRequest.OrdersRequest<StockOutAndDetRequest> orders = new OrderVastRequest.OrdersRequest<StockOutAndDetRequest>();
|
|
|
+ orders.setOrder(Arrays.asList(stockOutAndDetRequest));
|
|
|
+ vastReq.setOutBizCode(stockOutAndDetRequest.getDeliveryOrder().getOutBizCode());
|
|
|
+ vastReq.setOrders(orders);
|
|
|
+ req.setRequest(vastReq);
|
|
|
+ try {
|
|
|
+ json = objectMapper.writeValueAsString(req);
|
|
|
+ } catch (JsonProcessingException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return "JSON转换失败";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return doSendOrderToWms(json,method);
|
|
|
+ }
|
|
|
+
|
|
|
+ private String sendInToWms(ProdInout prodInOut,String masterName){
|
|
|
EntryOrder entryOrder = new EntryOrder();
|
|
|
- OrderLines orderLines = new OrderLines();
|
|
|
entryOrder.setOutBizCode(prodInOut.getPiOrderType()+"-"+System.currentTimeMillis());// 外部业务代码 消息ID, 用于去重, 因为网络等原因导致重复传输, 请求不会被重复处理
|
|
|
entryOrder.setEntryOrderCode(prodInOut.getPiInoutno());// 入库单号
|
|
|
entryOrder.setOwnerCode(vwmsConfig.getOwnerCode());// 货主编码
|
|
|
@@ -683,44 +783,49 @@ public class ERPServiceImpl implements ERPService {
|
|
|
entryOrder.setSupplierName(prodInOut.getPiTitle());// 供应商名称
|
|
|
entryOrder.setDocumentMaker(prodInOut.getPiRecordman());// 制单人
|
|
|
entryOrder.setRemark(prodInOut.getPiRemark());// 备注
|
|
|
- List<OrderLine> orderLineList = getOrderLines(prodInOut,masterName);
|
|
|
- orderLines.setOrderLine(orderLineList);
|
|
|
+ List<OrderLineIn> orderList = (List<OrderLineIn>) getOrderLines(prodInOut, masterName);
|
|
|
EntryOrderAndDetRequest entryOrderAndDetRequest = new EntryOrderAndDetRequest();
|
|
|
+ EntryOrderAndDetRequest.InOrderLines orderLineIns = new EntryOrderAndDetRequest.InOrderLines();
|
|
|
+ orderLineIns.setOrderLine(orderList);
|
|
|
entryOrderAndDetRequest.setEntryOrder(entryOrder);
|
|
|
- entryOrderAndDetRequest.setOrderLines(orderLines);
|
|
|
- String errMsg = null;
|
|
|
- String docOp = "创建";
|
|
|
+ entryOrderAndDetRequest.setOrderLines(orderLineIns);
|
|
|
+ //转换为JSON字符串
|
|
|
+ String json = null;
|
|
|
+ String method = null;
|
|
|
if(prodInOut.getPiSendwmsflag() == 0){
|
|
|
- errMsg = createIoToWms(piId,master,entryOrderAndDetRequest);
|
|
|
- if(errMsg.startsWith("EntryOrderId:")){
|
|
|
- retMap.put("EntryOrderId",errMsg.replaceAll("EntryOrderId:",""));
|
|
|
- errMsg = null;
|
|
|
+ method = "openapi.entryorder.create";
|
|
|
+ BaseReq<EntryOrderAndDetRequest> req = new BaseReq();
|
|
|
+ req.setRequest(entryOrderAndDetRequest);
|
|
|
+ try {
|
|
|
+ json = objectMapper.writeValueAsString(req);
|
|
|
+ } catch (JsonProcessingException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return "JSON转换失败";
|
|
|
}
|
|
|
//TODO 写入表:WMS_IO_RECORD_SEQ
|
|
|
}else {
|
|
|
- docOp = "更新";
|
|
|
- errMsg = updateIoToWms(piId,master,entryOrderAndDetRequest);
|
|
|
- }
|
|
|
- if(errMsg!=null){
|
|
|
- errMsg = errMsg.replaceAll("'","''");
|
|
|
- logger.info("sendIO-End-failure master {} piid {} errorTip {}",master,piId,errMsg);
|
|
|
-// baseDao.execute("update "+master+".prodinout set pi_sendwmsstatus='"+docOp+"失败',pi_sendwmserr=UNISTR('"+errMsg+"') where pi_id = "+piId);
|
|
|
- retMap.put("success",false);
|
|
|
- retMap.put("message",errMsg);
|
|
|
- }else {
|
|
|
- logger.info("sendIO-End-success master {} piid {} ",master,piId);
|
|
|
+ method = "openapi.entryorder.batchupdate";
|
|
|
+ BaseReq<OrderVastRequest<EntryOrderAndDetRequest>> req = new BaseReq();
|
|
|
+ OrderVastRequest<EntryOrderAndDetRequest> vastReq = new OrderVastRequest();
|
|
|
+ OrderVastRequest.OrdersRequest<EntryOrderAndDetRequest> orders = new OrderVastRequest.OrdersRequest<EntryOrderAndDetRequest>();
|
|
|
+ orders.setOrder(Arrays.asList(entryOrderAndDetRequest));
|
|
|
+ vastReq.setOutBizCode(entryOrderAndDetRequest.getEntryOrder().getOutBizCode());
|
|
|
+ vastReq.setOrders(orders);
|
|
|
+ req.setRequest(vastReq);
|
|
|
+ try {
|
|
|
+ json = objectMapper.writeValueAsString(req);
|
|
|
+ } catch (JsonProcessingException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return "JSON转换失败";
|
|
|
+ }
|
|
|
}
|
|
|
- return retMap;
|
|
|
+ return doSendOrderToWms(json,method);
|
|
|
}
|
|
|
- private String createIoToWms(Long piId,String master,EntryOrderAndDetRequest entryOrderAndDetRequest){
|
|
|
+ private String doSendOrderToWms(String json,String method){
|
|
|
String eMsg = null;
|
|
|
- BaseReq<EntryOrderAndDetRequest> entryOrderReq = new BaseReq();
|
|
|
- entryOrderReq.setRequest(entryOrderAndDetRequest);
|
|
|
try {
|
|
|
- //转换为JSON字符串
|
|
|
- String json = objectMapper.writeValueAsString(entryOrderReq);
|
|
|
- logger.info("sendIO-add-Request: {}", json);
|
|
|
- HttpUtil.Response response = HttpUtil.doPostToVWMS("openapi.entryorder.create", json,vwmsConfig);
|
|
|
+ logger.info("doSendInOrderToWms method:{} json: {}",method, json);
|
|
|
+ HttpUtil.Response response = HttpUtil.doPostToVWMS(method, json,vwmsConfig);
|
|
|
if(!String.valueOf(response.getStatusCode()).startsWith("2")){
|
|
|
eMsg = "("+response.getStatusCode()+")"+StringUtil.nvl(response.getResponseText(),"未知").replaceAll("'","''");
|
|
|
}else {
|
|
|
@@ -728,56 +833,16 @@ public class ERPServiceImpl implements ERPService {
|
|
|
BaseVastResp.Response baseVastRespResponse= baseVastResp.getResponse();
|
|
|
if(baseVastRespResponse!=null){
|
|
|
if("success".equals(baseVastRespResponse.getFlag())){
|
|
|
- eMsg = "EntryOrderId:"+baseVastRespResponse.getEntryOrderId();
|
|
|
- logger.info("sendIO-add-response-success code: {} entryOrderId {} message: {}", baseVastRespResponse.getCode(),baseVastRespResponse.getEntryOrderId(),baseVastRespResponse.getMessage());
|
|
|
-// baseDao.execute("update "+master+".prodinout set pi_wmsordercode='"+baseVastRespResponse.getEntryOrderId()+"',pi_sendwmsstatus='同步成功' ,pi_sendwmserr=null,pi_sendwmsflag=-1 where pi_id = "+piId);
|
|
|
- }else {
|
|
|
- eMsg = "(" + baseVastRespResponse.getCode() + ")";
|
|
|
- String errorMessage = baseVastRespResponse.getMessage();
|
|
|
- if (baseVastRespResponse.getOrders() != null &&
|
|
|
- !CollectionUtil.isEmpty(baseVastRespResponse.getOrders().getOrder())) {
|
|
|
- errorMessage = StringUtil.nvl(baseVastRespResponse.getOrders().getOrder().get(0).getMessage(),baseVastRespResponse.getMessage());
|
|
|
+ String orderId = "";
|
|
|
+ if("openapi.entryorder.create".equals(method)){
|
|
|
+ orderId = baseVastRespResponse.getEntryOrderId();
|
|
|
+ eMsg = "OrderId:"+orderId;
|
|
|
}
|
|
|
- eMsg += StringUtil.nvl(errorMessage, "未知").replaceAll("'", "''");
|
|
|
- }
|
|
|
- }else {
|
|
|
- eMsg = "RespJSON转换失败:"+response.getStatusCode()+":"+response.getResponseText();
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (JsonProcessingException e) {
|
|
|
- e.printStackTrace();
|
|
|
- eMsg = "JSON转换失败";
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- eMsg = StringUtil.nvl(e.getMessage(),"无").replaceAll("'","''");
|
|
|
- }
|
|
|
- return eMsg;
|
|
|
- }
|
|
|
-
|
|
|
- private String updateIoToWms(Long piId,String master,EntryOrderAndDetRequest entryOrderAndDetRequest){
|
|
|
- String eMsg = "";
|
|
|
- BaseReq<EntryOrderVastRequest<EntryOrderAndDetRequest>> baseEntryOrderReq = new BaseReq();
|
|
|
- EntryOrderVastRequest<EntryOrderAndDetRequest> entryOrderVastRequest = new EntryOrderVastRequest();
|
|
|
- EntryOrdersRequest<EntryOrderAndDetRequest> ordersRequest = new EntryOrdersRequest();
|
|
|
- ordersRequest.setOrder(Arrays.asList(entryOrderAndDetRequest));
|
|
|
- entryOrderVastRequest.setOutBizCode(entryOrderAndDetRequest.getEntryOrder().getOutBizCode());
|
|
|
- entryOrderVastRequest.setOrders(ordersRequest);
|
|
|
- baseEntryOrderReq.setRequest(entryOrderVastRequest);
|
|
|
- try {
|
|
|
- //转换为JSON字符串
|
|
|
- String json = objectMapper.writeValueAsString(baseEntryOrderReq);
|
|
|
- logger.info("sendIO-update-Request: {}", json);
|
|
|
- HttpUtil.Response response = HttpUtil.doPostToVWMS("openapi.entryorder.batchupdate", json,vwmsConfig);
|
|
|
- if(!String.valueOf(response.getStatusCode()).startsWith("2")){
|
|
|
- eMsg = "("+response.getStatusCode()+")"+StringUtil.nvl(response.getResponseText(),"无").replaceAll("'","''");
|
|
|
- }else {
|
|
|
- logger.info("sendIO-update-Response: {}", response.getResponseText());
|
|
|
- BaseVastResp baseVastResp = new ObjectMapper().readValue(response.getResponseText(), BaseVastResp.class);
|
|
|
- BaseVastResp.Response baseVastRespResponse = baseVastResp.getResponse();
|
|
|
- if(baseVastRespResponse!=null){
|
|
|
- if("success".equals(baseVastRespResponse.getFlag())){
|
|
|
- logger.info("sendIO-update-response-success code: {} message: {}", baseVastRespResponse.getCode(),baseVastRespResponse.getMessage());
|
|
|
-// baseDao.execute("update "+master+".prodinout set pi_sendwmsstatus='更新成功',pi_sendwmserr=null where pi_id = "+piId);
|
|
|
+ if("openapi.stockout.create".equals(method)){
|
|
|
+ orderId = baseVastRespResponse.getDeliveryOrderId();
|
|
|
+ eMsg = "OrderId:"+orderId;
|
|
|
+ }
|
|
|
+ logger.info("doSendInOrderToWms-resp-s code: {} method {} OrderId {} message: {}", baseVastRespResponse.getCode(),method,orderId,baseVastRespResponse.getMessage());
|
|
|
}else {
|
|
|
eMsg = "(" + baseVastRespResponse.getCode() + ")";
|
|
|
String errorMessage = baseVastRespResponse.getMessage();
|
|
|
@@ -792,8 +857,8 @@ public class ERPServiceImpl implements ERPService {
|
|
|
}
|
|
|
}
|
|
|
} catch (JsonProcessingException e) {
|
|
|
- eMsg = "JSON转换失败";
|
|
|
e.printStackTrace();
|
|
|
+ eMsg = "JSON转换失败";
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
eMsg = StringUtil.nvl(e.getMessage(),"无").replaceAll("'","''");
|
|
|
@@ -822,22 +887,15 @@ public class ERPServiceImpl implements ERPService {
|
|
|
return retMap;
|
|
|
}
|
|
|
Long piId = prodInOut.getPiId();
|
|
|
- EntryOrderVastRequest<EntryOrderCancel> cancelIOSRequest = new EntryOrderVastRequest();
|
|
|
- EntryOrdersRequest<EntryOrderCancel> orders = new EntryOrdersRequest();
|
|
|
- cancelIOSRequest.setOutBizCode("sendIO-cancel-"+prodInOut.getPiOrderType()+"-"+System.currentTimeMillis());// 外部业务代码 消息ID, 用于去重, 因为网络等原因导致重复传输, 请求不会被重复处理
|
|
|
- EntryOrderCancel cancelOrder = new EntryOrderCancel();
|
|
|
- cancelOrder.setWarehouseCode(vwmsConfig.getWarehouseCode());// 仓库编码
|
|
|
- cancelOrder.setOwnerCode(vwmsConfig.getOwnerCode());// 货主编码
|
|
|
- cancelOrder.setOrderCode(prodInOut.getPiInoutno());// 入库单号
|
|
|
- cancelOrder.setCancelReason(cancelReason);
|
|
|
- cancelOrder.setCancelType(prodInOut.getPiWmsInType());
|
|
|
- orders.setOrder(Arrays.asList(cancelOrder));
|
|
|
- cancelIOSRequest.setOrders(orders);
|
|
|
- BaseReq<EntryOrderVastRequest<EntryOrderCancel>> iobaseReq = new BaseReq();
|
|
|
- iobaseReq.setRequest(cancelIOSRequest);
|
|
|
+ BaseReq<OrderVastRequest<OrderCancel>> req = new BaseReq();
|
|
|
+ OrderVastRequest<OrderCancel> cancelReq = new OrderVastRequest();
|
|
|
+ cancelReq.setOutBizCode("sendIO-cancel-"+prodInOut.getPiOrderType()+"-"+System.currentTimeMillis());// 外部业务代码 消息ID, 用于去重, 因为网络等原因导致重复传输, 请求不会被重复处理
|
|
|
+ OrderVastRequest.OrdersRequest<OrderCancel> orders = getOrderCancelOrdersRequest(cancelReason, prodInOut);
|
|
|
+ cancelReq.setOrders(orders);
|
|
|
+ req.setRequest(cancelReq);
|
|
|
try {
|
|
|
//转换为JSON字符串
|
|
|
- String json = objectMapper.writeValueAsString(iobaseReq);
|
|
|
+ String json = objectMapper.writeValueAsString(req);
|
|
|
logger.info("sendIO-cancel-Request JSON: {}", json);
|
|
|
HttpUtil.Response response = HttpUtil.doPostToVWMS("openapi.order.batchcancel.v2", json,vwmsConfig);
|
|
|
if(!String.valueOf(response.getStatusCode()).startsWith("2")){
|
|
|
@@ -883,12 +941,24 @@ public class ERPServiceImpl implements ERPService {
|
|
|
return retMap;
|
|
|
}
|
|
|
|
|
|
+ private OrderVastRequest.OrdersRequest<OrderCancel> getOrderCancelOrdersRequest(String cancelReason, ProdInout prodInOut) {
|
|
|
+ OrderVastRequest.OrdersRequest<OrderCancel> orders = new OrderVastRequest.OrdersRequest<OrderCancel>();
|
|
|
+ OrderCancel cancelOrder = new OrderCancel();
|
|
|
+ cancelOrder.setWarehouseCode(vwmsConfig.getWarehouseCode());// 仓库编码
|
|
|
+ cancelOrder.setOwnerCode(vwmsConfig.getOwnerCode());// 货主编码
|
|
|
+ cancelOrder.setOrderCode(prodInOut.getPiInoutno());// 入库单号
|
|
|
+ cancelOrder.setCancelReason(cancelReason);
|
|
|
+ cancelOrder.setCancelType(prodInOut.getPiWmsInType());
|
|
|
+ orders.setOrder(Arrays.asList(cancelOrder));
|
|
|
+ return orders;
|
|
|
+ }
|
|
|
|
|
|
private ProdInout getIO(String master,String id,boolean onlyMain){
|
|
|
List<ProdInout> prodInOuts = baseDao.getJdbcTemplate().query(
|
|
|
"select pi_Wmsordertype piOrderType,pi_id piId,pi_inoutno piInoutno,pi_class piClass,pi_type piType,to_char(pi_recorddate,'yyyy-mm-dd hh24:mi:ss') piDate" +
|
|
|
",pi_Cardcode piCardcode,pi_Title piTitle,pi_Recordman piRecordman,to_char(pi_recorddate,'yyyy-mm-dd hh24:mi:ss') piRecorddate,pi_Remark piRemark" +
|
|
|
- ",abs(nvl(pi_sendwmsflag,0)) piSendwmsflag,nvl(pi_WmsInType,'in') piWmsInType,pi_wmsstatus piWmsstatus " +
|
|
|
+ ",abs(nvl(pi_sendwmsflag,0)) piSendwmsflag,nvl(pi_WmsInType,'in') piWmsInType,pi_wmsstatus piWmsstatus" +
|
|
|
+ ",pi_invostatuscode piInvoStatusCode,pi_lxr_user piLxr,pi_lxdh_user piLxdh,pi_khdz_user piKhdz " +
|
|
|
" from "+master+".prodinout where pi_id = "+id,
|
|
|
new BeanPropertyRowMapper<ProdInout>(ProdInout.class));
|
|
|
ProdInout prodInOut = prodInOuts.get(0);
|
|
|
@@ -920,17 +990,23 @@ public class ERPServiceImpl implements ERPService {
|
|
|
return prodInOut;
|
|
|
}
|
|
|
|
|
|
- private List<OrderLine> getOrderLines(ProdInout prodInOut,String masterName) {
|
|
|
+ private List<? extends OrderLine> getOrderLines(ProdInout prodInOut,String masterName) {
|
|
|
List<OrderLine> orderLineList = new ArrayList<>();
|
|
|
for (Prodiodetail detail : prodInOut.getDetails()) {
|
|
|
- OrderLine orderLine = new OrderLine();
|
|
|
- orderLine.setLineNo(detail.getPdPdno());// 行号
|
|
|
+ OrderLine orderLine;
|
|
|
+ if ("in".equals(prodInOut.getPiWmsInType())) {
|
|
|
+ orderLine = new OrderLineIn(); // 创建入库订单行对象
|
|
|
+ ((OrderLineIn) orderLine).setStockinDate(prodInOut.getPiDate()); // 设置入库日期
|
|
|
+ } else {
|
|
|
+ orderLine = new OrderLine(); // 创建普通订单行对象
|
|
|
+ }
|
|
|
+ // 设置通用属性
|
|
|
+ orderLine.setLineNo(String.valueOf(detail.getPdPdno()));// 行号
|
|
|
orderLine.setOwnerCode(vwmsConfig.getOwnerCode());// 货主编码
|
|
|
orderLine.setItemCode(detail.getPdProdcode());// 商品编码
|
|
|
orderLine.setItemName(detail.getPdProdname());// 商品名称
|
|
|
orderLine.setPlanQty(detail.getPdQty());// 数量
|
|
|
orderLine.setVirtualWarehouse(detail.getPdWhname());// 虚拟仓库编号
|
|
|
- orderLine.setStockinDate(prodInOut.getPiDate());// 入库日期
|
|
|
orderLine.setUserDefined1(detail.getPdInBatch());// 入库批次
|
|
|
orderLine.setUserDefined3(detail.getPdBrandName());// 品牌
|
|
|
orderLine.setUserDefined4(masterName);//账套
|