Commit 84bc4c7e authored by 鲁鑫's avatar 鲁鑫

其他物品领发料流程/非生产性领料申请接口(待测试)

parent 0aa3d627
......@@ -83,21 +83,15 @@ function loadGrid() {
name: "sapMaterialSelect",
getParam: function (item) {
return {
filterValue:$("#werks").val()
filterValue:$("#werks").val(),
mtart:"ZGMB"
}
},
back: {
MATNR: "matnr",
MAKTX: "maktx",
MATKL: "matkl",
WGBEZ: "matklName",
EKGRP: "ekgrp",
EKNAM: "ekgrpName",
PEINH: "peinh",
MEINS: "meins",
MSEHL: "meinsName",
LGORT: "lgort",
LGOBE: "lgobe"
MSEHL: "msehl"
}
},
}
......
......@@ -22,6 +22,8 @@ function loadGrid() {
{display: "成本中心", name: "kostlName", width: 200, minWidth: 60, type: "string", align: "left"},
{display: "内部订单编号", name: "aufnr", width: 200, minWidth: 60, type: "string", align: "left"},
{display: "内部订单描述", name: "aufnrName", width: 200, minWidth: 60, type: "string", align: "left"},
{display: "消息类型", name: "typeTextView", width: 100, minWidth: 60, type: "string", align: "left"},
{display: "消息文本", name: "message", width: 200, minWidth: 60, type: "string", align: "left"},
],
dataAction: "server",
url: web_app.name + '/nonProducePick/slicedNonProducePickList.ajax',
......
package com.huigou.topsun.sap.nonProducePick.application.impl;
import com.alibaba.fastjson.JSONObject;
import com.huigou.data.domain.model.CommonDomainConstants;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.sap.common.DefaultHttpClient;
import com.huigou.topsun.sap.common.domain.SapResult;
import com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement;
import com.huigou.topsun.sap.nonProducePick.application.NonProducePickApplication;
import com.huigou.topsun.sap.nonProducePick.application.NonProducePickItemApplication;
......@@ -10,18 +13,27 @@ import com.huigou.topsun.sap.nonProducePick.domain.NonProducePick;
import com.huigou.topsun.sap.nonProducePick.domain.NonProducePickItem;
import com.huigou.topsun.sap.nonProducePick.domain.query.NonProducePickQueryRequest;
import com.huigou.topsun.sap.nonProducePick.repository.NonProducePickRepository;
import com.huigou.topsun.sap.nonProducePick.vo.NonProducePickItemVo;
import com.huigou.topsun.sap.nonProducePick.vo.NonProducePickVo;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bpm.FlowBroker;
import com.huigou.util.ClassHelper;
import com.huigou.util.DateUtil;
import com.huigou.util.StringUtil;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateTask;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Auther: xin.lu
......@@ -34,6 +46,8 @@ public class NonProducePickApplicationImpl extends FlowBroker implements NonProd
private NonProducePickRepository nonProducePickRepository;
@Autowired
private NonProducePickItemApplication nonProducePickItemApplication;
@Autowired
private DefaultHttpClient httpClient;
@Override
public NonProducePick findNonProducePickById(String id) {
return nonProducePickRepository.findOne(id);
......@@ -61,7 +75,40 @@ public class NonProducePickApplicationImpl extends FlowBroker implements NonProd
@Override
public void sendNonProducePickData(NonProducePick nonProducePick) {
List<NonProducePickVo> nonProducePickVoList = new ArrayList<>();
NonProducePickVo nonProducePickVo = new NonProducePickVo();
nonProducePickVo.setBudat(DateUtil.getDateFormat("yyyyMMdd",new Date()));
nonProducePickVo.setBldat(DateUtil.getDateFormat("yyyyMMdd",new Date()));
nonProducePickVo.setLfsnr(nonProducePick.getAufnr());
//若填写了成本中心,领料采用移动类型201;填写了内部订单,领料采用移动类型261,两者不可并存,SAP发起的刀工模板具领料采用移动类型Z01
if (StringUtil.isNotBlank(nonProducePick.getKostl())){
nonProducePickVo.setZencode("201");
} else if (StringUtil.isNotBlank(nonProducePick.getAufnr())) {
nonProducePickVo.setZencode("261");
}
List<NonProducePickItem> pickItemList = nonProducePickItemApplication.findByNonProducePickId(nonProducePick.getId());
List<NonProducePickItemVo> pickItemVoList = pickItemList.stream().map(pickItem -> {
NonProducePickItemVo nonProducePickItemVo = new NonProducePickItemVo();
BeanUtils.copyProperties(pickItem, nonProducePickItemVo);
nonProducePickItemVo.setWerks(nonProducePick.getWerks());
return nonProducePickItemVo;
}).collect(Collectors.toList());
nonProducePickVo.setItems(pickItemVoList);
nonProducePickVoList.add(nonProducePickVo);
try {
String execute = httpClient.execute(nonProducePickVoList, "cud_MM_rrm/rrm");
List<SapResult> resultList = JSONObject.parseArray(execute, SapResult.class);
SapResult sapResult = resultList.get(0);
if (!"S".equals(sapResult.getTYPE())){
throw new RuntimeException("数据传输失败,"+ sapResult.getMESSAGE());
}
nonProducePick.setType(sapResult.getTYPE());
nonProducePick.setMessage(sapResult.getMESSAGE());
nonProducePickRepository.save(nonProducePick);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
@Override
......@@ -132,18 +179,7 @@ public class NonProducePickApplicationImpl extends FlowBroker implements NonProd
NonProducePick nonProducePick = nonProducePickRepository.findOne(bizId);
nonProducePick.setStatusId(status.getId());
nonProducePickRepository.save(nonProducePick);
/*try {
String url = SystemCache.getParameter("sap.purchase.url", String.class);
String execute = httpClient.execute(nonProducePick, url);
List<SapResult> resultList = JSONObject.parseArray(execute, SapResult.class);
SapResult sapResult = resultList.get(0);
if (!"S".equals(sapResult.getTYPE())){
throw new RuntimeException("数据传输失败,"+ sapResult.getMESSAGE());
}
nonProducePickRepository.save(nonProducePick);
} catch (IOException e) {
throw new RuntimeException(e);
}*/
this.sendNonProducePickData(nonProducePick);
}
@Override
......
......@@ -43,6 +43,12 @@ public class NonProducePick extends FlowBillAbstractEntity {
@Column(name = "AUFNR_NAME")
private String aufnrName;
@Column(name = "type")
private String type;
@Column(name = "message")
private String message;
@Override
protected String getCodeRuleId() {
return "nonProducePick";
......
package com.huigou.topsun.sap.nonProducePick.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Auther: xin.lu
* @Date: 2024/03/13/9:33
* @Description: SAP非生产性领料申请与发料过账
*/
@Data
public class NonProducePickItemVo implements Serializable {
@JsonProperty("PLNR")
private String plnr;
@JsonProperty("AUFNR")
private String aufnr;
@JsonProperty("MATNR")
private String matnr;
@JsonProperty("WERKS")
private String werks;
@JsonProperty("LGORT")
private String lgort;
@JsonProperty("CHARG")
private String charg;
@JsonProperty("PACKNR")
private String packnr;
@JsonProperty("PAZEIL")
private String pazeil;
@JsonProperty("INSNAM")
private String insnam;
@JsonProperty("ZINSTNUM")
private String zinstnum;
@JsonProperty("ZSIZE")
private String zsize;
@JsonProperty("ZMNGO")
private String zmngo;
@JsonProperty("ZMNGL")
private String zmngl;
@JsonProperty("ERFME")
private String erfme;
@JsonProperty("BRGEW")
private String brgew;
@JsonProperty("NTGEW")
private String ntgew;
@JsonProperty("GEWEI")
private String gewei;
@JsonProperty("LGNUM")
private String lgnum;
@JsonProperty("NLTYP")
private String nltyp;
@JsonProperty("NLBER")
private String nlber;
@JsonProperty("NLPLA")
private String nlpla;
@JsonProperty("PACMG")
private String pacmg;
@JsonProperty("ERFMG")
private BigDecimal erfmg;
@JsonProperty("MIGO_INSMK")
private String migoInsmk;
@JsonProperty("HSDAT")
private String hsdat;
@JsonProperty("EBELN")
private String ebeln;
@JsonProperty("EBELP")
private String ebelp;
@JsonProperty("GERNR")
private String gernr;
@JsonProperty("LGTYP")
private String lgtyp;
@JsonProperty("LGPLA")
private String lgpla;
@JsonProperty("UMLGO")
private String umlgo;
@JsonProperty("UMCHA")
private String umcha;
@JsonProperty("MBLNR")
private String mblnr;
@JsonProperty("MJAHR")
private String mjahr;
@JsonProperty("MENGE")
private String menge;
@JsonProperty("MEINS")
private String meins;
@JsonProperty("KOSTL")
private String kostl;
}
package com.huigou.topsun.sap.nonProducePick.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Auther: xin.lu
* @Date: 2024/03/13/9:33
* @Description: SAP非生产性领料申请与发料过账
*/
@Data
public class NonProducePickVo implements Serializable {
@JsonProperty("LFSNR")
private String lfsnr;
@JsonProperty("BLDAT")
private String bldat;
@JsonProperty("BUDAT")
private String budat;
@JsonProperty("ZENCODE")
private String zencode;
@JsonProperty("ITEM")
private List<NonProducePickItemVo> items;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment