Commit 38f5ed4f authored by 刘学辉's avatar 刘学辉

品质异常单根据异常类型获取不同接口数据

parent c6015faa
...@@ -65,12 +65,17 @@ ...@@ -65,12 +65,17 @@
<div class="hg-form-cols" id="produceDiv"> <div class="hg-form-cols" id="produceDiv">
<div class="hg-form-row"> <div class="hg-form-row">
<x:inputC name="customerNo" label="客户编号" labelCol="1" fieldCol="2" required="false"/> <x:inputC name="customerNo" label="客户编号" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="customerOrderNo" label="生产订单号/销售订单号" labelCol="2" fieldCol="4" wrapper="select" required="false"/> <x:inputC name="customerOrderNo" label="生产单号/客户单号" labelCol="2" fieldCol="4" wrapper="select" required="false"/>
<x:inputC name="customerName" label="客户名称" labelCol="1" fieldCol="2" required="false" readonly="true"/> <x:inputC name="customerName" label="客户名称" labelCol="1" fieldCol="2" required="false" readonly="true"/>
</div> </div>
<x:title title="单号信息" name="group" hideTable="#info" /> <x:title title="单号信息" name="group" hideTable="#info" />
<div class="hg-form-cols" id="producegridDiv">
<div id="producegrid"></div> <div id="producegrid"></div>
</div> </div>
<div class="hg-form-cols" id="clientgridDiv">
<div id="clientgrid"></div>
</div>
</div>
<div class="hg-form-cols"> <div class="hg-form-cols">
<div style="padding-top: 15px;"> <div style="padding-top: 15px;">
......
...@@ -306,12 +306,25 @@ public class ResourceSearchController { ...@@ -306,12 +306,25 @@ public class ResourceSearchController {
Integer pageSize = sdo.getInteger("pageSize",10); Integer pageSize = sdo.getInteger("pageSize",10);
PageRequest pageRequest = new PageRequest(intPage - 1, pageSize); PageRequest pageRequest = new PageRequest(intPage - 1, pageSize);
EasySearchParse easySearchParse = new EasySearchParse(); EasySearchParse easySearchParse = new EasySearchParse();
List<QuerySchemeField> fields = List<QuerySchemeField> fields =new ArrayList<>();
if ("2".equals(queryRequest.getReasonType())){ //生产异常
fields =
Arrays.asList(
new QuerySchemeField("订单号", "VBELN", "string", 150L),
// new QuerySchemeField("订单描述", "KTEXT", "string", 160L),
new QuerySchemeField("物料编码", "MATNR", "string", 160L),
new QuerySchemeField("物料描述", "MAKTX", "string", 160L),
new QuerySchemeField("数量", "PSMNG", "string", 100L),
new QuerySchemeField("单位", "MEINS", "string", 100L)
);
} else {
fields =
Arrays.asList( Arrays.asList(
new QuerySchemeField("订单号", "VBELN", "string", 130L),
new QuerySchemeField("客户编号", "KUNNR", "string", 60L), new QuerySchemeField("客户编号", "KUNNR", "string", 60L),
new QuerySchemeField("客户名称", "NAME1", "string", 150L), new QuerySchemeField("客户名称", "NAME1", "string", 150L)
new QuerySchemeField("订单号", "VBELN", "string", 160L)
); );
}
easySearchParse.setFields(fields); easySearchParse.setFields(fields);
easySearchParse.setWidth(500L); easySearchParse.setWidth(500L);
MemEasySearcher<Map<String, String>> memEasySearcher = new MemEasySearcherImpl<>(); MemEasySearcher<Map<String, String>> memEasySearcher = new MemEasySearcherImpl<>();
......
...@@ -64,6 +64,7 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication { ...@@ -64,6 +64,7 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication {
OrderQueryVo orderQueryVo=new OrderQueryVo(); OrderQueryVo orderQueryVo=new OrderQueryVo();
SignVo signVo=null; SignVo signVo=null;
String InterfaceName="SALES_ORDERS/SALES"; //客户异常 查询销售订单接口
if (StringUtils.isNotBlank(queryRequest.getWerks())) { //工厂 if (StringUtils.isNotBlank(queryRequest.getWerks())) { //工厂
signVo=new SignVo(); signVo=new SignVo();
signVo.setLow(queryRequest.getWerks()); signVo.setLow(queryRequest.getWerks());
...@@ -71,19 +72,24 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication { ...@@ -71,19 +72,24 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication {
werksList.add(signVo); werksList.add(signVo);
orderQueryVo.setWERKS(werksList); orderQueryVo.setWERKS(werksList);
} }
if (StringUtils.isNotBlank(queryRequest.getKunnr())) { //客户 if (StringUtils.isNotBlank(queryRequest.getKunnr())&&"3".equals(queryRequest.getReasonType())) { //客户编号
signVo=new SignVo(); signVo = new SignVo();
signVo.setLow(queryRequest.getKunnr()); signVo.setLow(queryRequest.getKunnr());
List <SignVo> kunnrList=new ArrayList<>(); List<SignVo> kunnrList = new ArrayList<>();
kunnrList.add(signVo); kunnrList.add(signVo);
orderQueryVo.setKUNNR(kunnrList); orderQueryVo.setKUNNR(kunnrList);
if (StringUtils.isNotBlank(queryRequest.getParamValue())) { //过滤参数 }
if (StringUtils.isNotBlank(queryRequest.getParamValue())) { //过滤参数 按订单号查询
signVo=new SignVo(); signVo=new SignVo();
signVo.setLow("*"+queryRequest.getParamValue()+"*"); signVo.setLow("*"+queryRequest.getParamValue()+"*");
signVo.setOption("CP"); signVo.setOption("CP");
List <SignVo> vbelnList=new ArrayList<>(); List <SignVo> vbelnList=new ArrayList<>();
vbelnList.add(signVo); vbelnList.add(signVo);
orderQueryVo.setVBELN(vbelnList); if ("3".equals(queryRequest.getReasonType())) { //如果是客户异常
orderQueryVo.setBSTNK(vbelnList);
} else { // 是生产异常
orderQueryVo.setAUFNR(vbelnList);
}
} }
if ("3".equals(queryRequest.getReasonType())){ //如果是客户异常 if ("3".equals(queryRequest.getReasonType())){ //如果是客户异常
List <SignVo>auartList=new ArrayList<>(); List <SignVo>auartList=new ArrayList<>();
...@@ -94,20 +100,75 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication { ...@@ -94,20 +100,75 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication {
signVo2.setLow("ZEO"); signVo2.setLow("ZEO");
auartList.add(signVo2); auartList.add(signVo2);
orderQueryVo.setAUART(auartList); orderQueryVo.setAUART(auartList);
} else{ //生产异常
InterfaceName="SEARCH/SCH_AUFNR";
} }
}
if (StringUtils.isNotBlank(queryRequest.getVbeln())) { //客户销售订单号 if (StringUtils.isNotBlank(queryRequest.getVbeln())&&"3".equals(queryRequest.getReasonType())) { //客户单号
signVo=new SignVo(); signVo=new SignVo();
signVo.setLow(queryRequest.getVbeln()); signVo.setLow(queryRequest.getVbeln());
List <SignVo> vbelnList=new ArrayList<>(); List <SignVo> vbelnList=new ArrayList<>();
vbelnList.add(signVo); vbelnList.add(signVo);
orderQueryVo.setVBELN(vbelnList); orderQueryVo.setBSTNK(vbelnList);
} }
Object obj = JSONObject.toJSON(orderQueryVo); Object obj = JSONObject.toJSON(orderQueryVo);
try { try {
String json = httpClient.execute(obj, "SALES_ORDERS/SALES"); String json ="";
List<Map<String, Object>> mapList = JSONUtil.toListMap(json); List<Map<String, Object>> mapList=new ArrayList<>();
if ("3".equals(queryRequest.getReasonType())) { //如果是客户异常
if (StringUtils.isNotBlank(queryRequest.getParamValue())||StringUtils.isNotBlank(queryRequest.getVbeln())) { //必须输入参数
json = httpClient.execute(obj, InterfaceName);
mapList = JSONUtil.toListMap(json);
}
} else { //生产异常
Map<String,Object> param = new HashMap<>();
param.put("BUKRS",queryRequest.getWerks());
if (StringUtils.isNotBlank(queryRequest.getVbeln())){ //生产订单号
param.put("AUFNR",queryRequest.getVbeln());
}
if (StringUtils.isNotBlank(queryRequest.getParamValue())){
param.put("AUFNR",queryRequest.getParamValue());
}
List<Map<String,String>> mapList2 = new ArrayList<>();
json=httpClient.execute(param, "search/sch_aufnr");
Map<String, String> map = JSONObject.parseObject(json, Map.class);
SapResult sapResult = JSONObject.parseObject(cn.hutool.json.JSONUtil.toJsonStr(map.get("MSG")), SapResult.class);
if ("S".equals(sapResult.getTYPE())) {
ObjectMapper objectMapper = SAPUtils.objectMapper();
mapList2 = objectMapper.readValue(com.huigou.util.JSONUtil.toString(map.get("RDATA")), new TypeReference<List<Map<String, String>>>() {
});
if (StringUtils.isNotBlank(queryRequest.getVbeln())) {
for (Map mapItem : mapList2) {
Map newMap = new HashMap();
newMap.put("MATNR", mapItem.get("PLNBEZ")); //物料编号
newMap.put("MAKTX", mapItem.get("MAKTX")); //物料描述
newMap.put("PSMNG", mapItem.get("GAMNG")); //数量
newMap.put("MEINS", mapItem.get("GMEIN")); //单位
sapOrderVoList.add(newMap);
}
} else {
for (Map mapItem : mapList2) {
Map newMap = new HashMap();
newMap.put("VBELN", mapItem.get("AUFNR")); //订单号
newMap.put("KTEXT", mapItem.get("KTEXT")); //订单描述
newMap.put("MATNR", mapItem.get("PLNBEZ")); //物料编号
newMap.put("MAKTX", mapItem.get("MAKTX")!=null?mapItem.get("MAKTX"):""); //物料描述
newMap.put("PSMNG", mapItem.get("GAMNG")); //数量
newMap.put("MEINS", mapItem.get("GMEIN")); //单位
if (StringUtils.isNotBlank(queryRequest.getParamValue())
&&mapItem.get("AUFNR").toString().indexOf(queryRequest.getParamValue())>-1
) { //过滤参数
sapOrderVoList.add(newMap);
break;
}
//sapOrderVoList.add(newMap);
}
}
}
}
if (StringUtils.isNotBlank(queryRequest.getVbeln())) { //按生产订单号 if (StringUtils.isNotBlank(queryRequest.getVbeln())) { //按生产订单号
for (Map map : mapList) { for (Map map : mapList) {
Map newMap = new HashMap(); Map newMap = new HashMap();
...@@ -117,7 +178,12 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication { ...@@ -117,7 +178,12 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication {
newMap.put("MAKTX", mapItem.get("MAKTX")); //物料名称 newMap.put("MAKTX", mapItem.get("MAKTX")); //物料名称
newMap.put("AUFNR", mapItem.get("AUFNR")); //生产单号 newMap.put("AUFNR", mapItem.get("AUFNR")); //生产单号
newMap.put("PSMNG", mapItem.get("PSMNG")); //生产数量 newMap.put("PSMNG", mapItem.get("PSMNG")); //生产数量
newMap.put("LFDAT", mapItem.get("LFDAT")); //出货日期 String sendDate="";
if (!"00000000".equals(mapItem.get("LFDAT").toString())){
sendDate=mapItem.get("LFDAT").toString();
sendDate=sendDate.substring(0,4)+"-"+sendDate.substring(4,6)+"-"+sendDate.substring(6,8);
}
newMap.put("LFDAT", sendDate); //出货日期
newMap.put("MEINS", mapItem.get("MEINS_O")); //单位 newMap.put("MEINS", mapItem.get("MEINS_O")); //单位
// KPEIN //定价单位 // KPEIN //定价单位
......
...@@ -105,6 +105,7 @@ public class SapPaymentApplicationImpl implements SapPaymentApplication { ...@@ -105,6 +105,7 @@ public class SapPaymentApplicationImpl implements SapPaymentApplication {
public List<Map<String, String>> getCompanyOrders(String BUKRS) throws IOException { public List<Map<String, String>> getCompanyOrders(String BUKRS) throws IOException {
Map<String,Object> param = new HashMap<>(); Map<String,Object> param = new HashMap<>();
param.put("BUKRS",BUKRS); param.put("BUKRS",BUKRS);
param.put("ZTYPE","N");
String execute = null; String execute = null;
List<Map<String,String>> mapList = new ArrayList<>(); List<Map<String,String>> mapList = new ArrayList<>();
try { try {
...@@ -114,7 +115,6 @@ public class SapPaymentApplicationImpl implements SapPaymentApplication { ...@@ -114,7 +115,6 @@ public class SapPaymentApplicationImpl implements SapPaymentApplication {
if ("S".equals(sapResult.getTYPE())) { if ("S".equals(sapResult.getTYPE())) {
ObjectMapper objectMapper = SAPUtils.objectMapper(); ObjectMapper objectMapper = SAPUtils.objectMapper();
mapList = objectMapper.readValue(com.huigou.util.JSONUtil.toString(map.get("RDATA")), new TypeReference<List<Map<String, String>>>() {}); mapList = objectMapper.readValue(com.huigou.util.JSONUtil.toString(map.get("RDATA")), new TypeReference<List<Map<String, String>>>() {});
} }
// else { // else {
// throw new RuntimeException("查询公司内部订单失败:" + sapResult.getMESSAGE()); // throw new RuntimeException("查询公司内部订单失败:" + sapResult.getMESSAGE());
......
...@@ -14,6 +14,8 @@ public class SapDialogOrderQuery { ...@@ -14,6 +14,8 @@ public class SapDialogOrderQuery {
private String vbeln; //销售订单号 private String vbeln; //销售订单号
private String aufnr; //生产订单号
private String werks; //工厂 private String werks; //工厂
private String reasonType; //异常原因类型 private String reasonType; //异常原因类型
......
...@@ -11,10 +11,17 @@ public class OrderQueryVo { ...@@ -11,10 +11,17 @@ public class OrderQueryVo {
private List<SignVo> KUNNR; private List<SignVo> KUNNR;
@JSONField(name="WERKS") @JSONField(name="WERKS")
private List<SignVo> WERKS; private List<SignVo> WERKS;
@JSONField(name="VBELN") @JSONField(name="VBELN")
private List<SignVo> VBELN; private List<SignVo> VBELN;
@JSONField(name="BSTNK")
private List<SignVo> BSTNK;
@JSONField(name="AUART") @JSONField(name="AUART")
private List<SignVo> AUART; private List<SignVo> AUART;
@JSONField(name="AUFNR")
private List<SignVo> AUFNR;
} }
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