Commit 60965108 authored by 覃振观's avatar 覃振观 👶

验收单标记(查询已测)需要更改

1、删除 JS setCriteria() 设置查询条件
2、未做数据更新测试及相关修改
已更新
ok TestClientHttp => HttpClient
ok acceptanceFormAckGrid 完善显示字段
ok 查询与提交时,测试代码数据类型与接口返回不一致的
ok 测试完成后,需要把进入页面默认加载数据 变更为 点击查询之后才查询数据
parent a3f773d8
......@@ -16,20 +16,50 @@ function loadAcceptanceFormAckGrid() {
});
gridManager = UICtrl.grid("#acceptanceFormAckGrid", {
columns: [
{display: "验收单业务标记", name: "zacsmk", width: 120, minWidth: 60, type: "string", align: "center",
{display: "验收单业务标记", name: "zcsamk", width: 120, minWidth: 60, type: "string", align: "center",
render: function(item) {
if(item.zacsmk === "1") {
if(item.zacsmk === "x") {
return "<a href='#' class='GridStyle' onclick=\"sampling('" + encodeURIComponent(JSON.stringify(item)) + "')\">取消</a>";
}
return "<a href='#' class='GridStyle' onclick=\"sampling('" + encodeURIComponent(JSON.stringify(item)) + "')\">标记</a>";
}},
{display: "验收单财务标记", name: "zacfmk", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "销售订单", name: "vgbel", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "销售订单行", name: "vgpos", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "物料编号", name: "matnr", width: 100, minWidth: 60, type: "string", align: "left"},
{display: "物料名称", name: "maktx", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "交货单号", name: "vbeln", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "交货单项", name: "posnr", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "销售凭证", name: "vgbel", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "销售凭证项目", name: "vgpos", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "物料编号", name: "matnr", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "物料描述", name: "maktx", width: 100, minWidth: 60, type: "string", align: "left"},
{display: "销售和分销凭证号", name: "vbeln", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "销售和分销凭证的项目号", name: "posnr", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "销售组织", name: "vkorg", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "售达方", name: "kunag", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "名称", name: "vkorg", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "请款联", name: "katr6", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "交货日期", name: "lfdat", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "客户编号", name: "zhdlr", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "客户名称", name: "zhdnm", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "验收单标记人", name: "zmkp4", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "验收单标记时间", name: "zmkt4", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "验收单业务标记", name: "vkorg", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "销售组织", name: "zacsmk", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "验收单业务标记人", name: "zmkp5", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "验收单业务标记时间", name: "zmkt5", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "客户物料", name: "kdmat", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "参考的描述", name: "postx", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "客户参考", name: "bstkd", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "指令号", name: "zinsn", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "型体号", name: "zmold", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "配色号", name: "zmapcolor", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "段别", name: "zsegm", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "实际已交货量(按销售单位)", name: "lfimg", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "以销售单位表示的累计订购数量", name: "kwmeng", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "请款数量", name: "zcorqt", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "销售单位", name: "vrkme", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "净价", name: "netpr", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "SD 凭证货币", name: "waerk", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "备注", name: "zcnote", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "请款单号", name: "zcrnr", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "请款单项次", name: "zcritm", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "做账人", name: "zcrrsp", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "做账时间", name: "zctime", width: 120, minWidth: 60, type: "string", align: "left"}
],
dataAction: "server",
url: web_app.name + '/sapAcceptanceForm/findAcceptanceForm.ajax',
......@@ -71,11 +101,8 @@ function sampling (str) {
}
function query() {
let process = $('#queryMainForm').formToJSON({ check: true });
if(!process) { return; }
// $('#taskBar').find('div.ui-grid-query-div').find('input').val('');
var params = $('#queryMainForm').formToJSON();
if(!compareForDate(params.zmkt4, params.zmkt4_end)) {
$('#zmkt4').val('').onFocus();
......@@ -87,9 +114,23 @@ function query() {
$('#lfdat_end').val('')
return;
}
params.zaicsm = params.zaicsm === undefined ? '' : !(params.zaicsm*1) ? '' : 'X';
params.zacfmk = params.zacfmk === undefined ? '' : !(params.zacfmk*1) ? '' : 'X';
setCriteria(params);
// params.singleProcInstShowOneTask = $("#singleProcInstShowOneTask").is(":checked");
UICtrl.gridSearch(gridManager, params);
}
function setCriteria(params) {
params.zacfmk='X';
params.vkorg='1000';
params.kunag='0000600005';
params.vbeln_low='0080000002';
params.vbeln_high='0080000005';
params.zsckdt_low='20240101';
params.zsckdt_high='20240510';
params.lfdat_low='20240101';
params.lfdat_high='20240510';
}
/**
* 展开搜索框
......@@ -102,16 +143,18 @@ function searchAreaToggle() {
//日期大小比较
function compareForDate(start,end){
start=start.replace(/-/g,'').replace(/ /g,'').replace(/:/g,'');
end=end.replace(/-/g,'').replace(/ /g,'').replace(/:/g,'');
start=parseInt(start,10);
end=parseInt(end,10);
if(isNaN(start)||isNaN(end)){
return true;
}
if(start>end){
Public.tip('开始时间不能大于结束时间!');
return false;
if(start && end) {
start = start.replace(/-/g,'').replace(/ /g,'').replace(/:/g,'');
end=end.replace(/-/g,'').replace(/ /g,'').replace(/:/g,'');
start = parseInt(start,10);
end=parseInt(end,10);
if(isNaN(start)||isNaN(end)){
return true;
}
if(start>end){
Public.tip('开始时间不能大于结束时间!');
return false;
}
}
return true;
}
......@@ -120,7 +163,3 @@ function resetForm(obj) {
$(obj).formClean();
}
// if(!$("#kunag").val()){
// Public.tip("请选择输入客户编码!");
// return;
// }
\ No newline at end of file
......@@ -22,30 +22,42 @@
<x:title title="搜索" hideTable="queryMainForm" isHide="false" />
<form class="hg-form ui-hide" method="post" action="" id="queryMainForm">
<div class="hg-form-row">
<x:inputC name="vbeln" required="false" label="交货单-VBELN" labelCol="1" fieldCol="2"/>
<x:inputC name="bstnk" required="false" label="客户单号-BSTNK" labelCol="1" fieldCol="2"/>
<x:inputC name="zinstnum" required="false" label="指令号-ZINSTNUM" labelCol="1" fieldCol="2"/>
<x:inputC name="kunag" required="true" label="售达方" labelCol="1" fieldCol="2"/>
<x:inputC name="vkorg" required="false" label="销售组织" labelCol="1" fieldCol="2"/>
<x:inputC name="zcors" required="false" label="做账状态-ZCORS" labelCol="1" fieldCol="2"/>
<x:inputC name="zacrc" required="false" label="客户验收要求" labelCol="1" fieldCol="2"/>
</div>
<div class="hg-form-row">
<x:inputC name="kunag" required="true" label="客户编码-KUNAG" labelCol="1" fieldCol="2"/>
<x:inputC name="vkorg" required="false" label="销售组织-VKORG" labelCol="1" fieldCol="2"/>
<div class="col-xs-12 col-sm-3 col-warp checkBoxDiv">
<div><x:checkbox name="zacsmk" label="仅显示未标记"/></div>
</div>
<x:inputC name="vbeln_low" required="false" label="交货单号开始" labelCol="1" fieldCol="2"/>
<x:inputC name="vbeln_high" required="false" label="交货单号结束" labelCol="1" fieldCol="2"/>
<x:inputC name="bstnk_low" required="false" label="客户单号开始" labelCol="1" fieldCol="2"/>
<x:inputC name="bstnk_high" required="false" label="客户单号结束" labelCol="1" fieldCol="2"/>
</div>
<div class="hg-form-row">
<x:inputC name="zacrc" required="false" label="客户验收要求-ZACRC" labelCol="1" fieldCol="2"/>
<x:inputC name="zmkt4" required="false" label="业务标记日期起" labelCol="1" fieldCol="2" wrapper="date"/>
<x:inputC name="zmkt4_end" required="false" label="业务标记日期止" labelCol="1" fieldCol="2" wrapper="date"/>
<x:inputC name="zsckdt_low" required="false" label="业务标记日期起" labelCol="1" fieldCol="2" wrapper="date"/>
<x:inputC name="zsckdt_high" required="false" label="业务标记日期止" labelCol="1" fieldCol="2" wrapper="date"/>
<x:inputC name="lfdat_low" required="false" label="交货单日期起" labelCol="1" fieldCol="2" wrapper="date"/>
<x:inputC name="lfdat_high" required="false" label="交货单日期止" labelCol="1" fieldCol="2" wrapper="date"/>
</div>
<div class="hg-form-row">
<x:inputC name="zcors" required="false" label="做账状态-ZCORS" labelCol="1" fieldCol="2"/>
<x:inputC name="lfdat" required="false" label="交货单日期起" labelCol="1" fieldCol="2" wrapper="date"/>
<x:inputC name="lfdat_end" required="false" label="交货单日期止" labelCol="1" fieldCol="2" wrapper="date"/>
<x:inputC name="zinstnum_low" required="false" label="指令号开始" labelCol="1" fieldCol="2"/>
<x:inputC name="zinstnum_high" required="false" label="指令号结束" labelCol="1" fieldCol="2"/>
<div class="col-xs-12 col-sm-1 col-warp checkBoxDiv">
<div><x:checkbox name="zacfmk" label="验收单标记"/></div>
</div>
<div class="col-xs-12 col-sm-2 col-warp checkBoxDiv">
<div><x:checkbox name="zaicsm" label="仅显示未业务标记验收单"/></div>
</div>
</div>
<x:searchButtons/>
<div class="hg-form-row">
<x:searchButtons/>
</div>
</form>
<div class="blank_div clearfix"></div>
......
package com.huigou.topsun.sap.acceptanceFormAck.application.impl;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.MapperFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.huigou.topsun.sap.acceptanceFormAck.domain.SapAcceptanceFormAck;
import com.huigou.topsun.sap.acceptanceFormAck.application.SapAcceptanceFormAckApplication;
import com.huigou.topsun.sap.acceptanceFormAck.domain.SapAcceptanceFormAck;
import com.huigou.topsun.sap.common.HttpClient;
import com.huigou.topsun.util.TestClientHttp;
import com.huigou.util.SDO;
import lombok.RequiredArgsConstructor;
......@@ -18,10 +20,8 @@ import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@author YourUserName
......@@ -32,6 +32,8 @@ public class SapAcceptanceFormAckApplicationImpl implements SapAcceptanceFormAc
private final ObjectMapper objectMapper;
private final HttpClient httpClient;
@PersistenceContext(unitName = "system")
private EntityManager entityManager;
......@@ -39,11 +41,17 @@ public class SapAcceptanceFormAckApplicationImpl implements SapAcceptanceFormAc
public ArrayList<Map<String, Object>> findAcceptanceForm(SDO sdo) {
String execute;
Map<String, Object> param = sdo.getProperties();
Set<Object> criteriaParam = setCriteria(param);
String url = "query_dn_mark/query_dn_mark";
List<SapAcceptanceFormAck> acceptanceForms = null;
try {
execute = TestClientHttp.execute(param, "http://127.0.0.1:8080/topsun_xt_war/sapAcceptanceForm/queryAcceptanceForm.ajax");
String resultStr = JSONObject.parseObject(execute).get("data").toString();
acceptanceForms = objectMapper.readValue(resultStr, new TypeReference<List<SapAcceptanceFormAck>>() {});
execute = httpClient.execute(criteriaParam, url);
//忽略不存在
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
//忽略大小写
objectMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
acceptanceForms = objectMapper.readValue(execute, new TypeReference<List<SapAcceptanceFormAck>>() {});
} catch (JsonProcessingException e) {
e.printStackTrace();
return null;
......@@ -54,6 +62,47 @@ public class SapAcceptanceFormAckApplicationImpl implements SapAcceptanceFormAc
});
}
// execute = TestClientHttp.execute(param, "http://127.0.0.1:8080/topsun_xt_war/sapAcceptanceForm/queryAcceptanceForm.ajax");
// String resultStr = JSONObject.parseObject(execute).get("data").toString();
public Set<Object> setCriteria(Map<String, Object> param) {
Map<String, Object> vbeln = new HashMap<>(3);
vbeln.put("VBELN_LOW", param.get("vbeln_low"));
vbeln.put("VBELN_HIGH", param.get("vbeln_high"));
param.put("vbeln", new Object[] { vbeln });
Map<String, Object> bstnk = new HashMap<>(3);
bstnk.put("BSTNK_LOW", param.get("bstnk_low"));
bstnk.put("BSTNK_HIGH", param.get("bstnk_high"));
param.put("bstnk", new Object[] { bstnk });
Map<String, Object> zsckdt = new HashMap<>(3);
zsckdt.put("ZSCKDT_LOW", param.get("zsckdt_low"));
zsckdt.put("ZSCKDT_HIGH", param.get("zsckdt_high"));
param.put("zsckdt", new Object[] { zsckdt });
Map<String, Object> lfdat = new HashMap<>(3);
lfdat.put("LFDAT_LOW", param.get("lfdat_low"));
lfdat.put("LFDAT_HIGH", param.get("lfdat_high"));
param.put("lfdat", new Object[] { lfdat });
Map<String, Object> zinstnum = new HashMap<>(3);
zinstnum.put("ZINSTNUM_LOW", param.get("zinstnum_low"));
zinstnum.put("ZINSTNUM_HIGH", param.get("zinstnum_high"));
param.put("zinstnum", new Object[] { zinstnum });
Map<String, Object> upperCaseMap = param.entrySet().stream()
.collect(Collectors.toMap(
entry -> entry.getKey().toUpperCase(),
Map.Entry::getValue
));
Set<Object> set = new HashSet<>();
set.add(upperCaseMap);
return set;
}
@Override
public String ackAcceptanceForm(SDO sdo) {
String execute;
......
......@@ -5,7 +5,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.huigou.context.Operator;
import com.huigou.topsun.sap.acceptanceFormAck.application.SapAcceptanceFormAckApplication;
import com.huigou.topsun.sap.acceptanceFormAck.domain.SapAcceptanceFormAck;
import com.huigou.topsun.sap.workcenter.domain.SapWorkCenter;
import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.annotation.SkipAuth;
import com.huigou.uasp.client.CommonController;
......@@ -53,8 +52,11 @@ public class SapAcceptanceFormAckController extends CommonController {
public String findAcceptanceForm() {
SDO sdo = this.getSDO();
HashMap<Object, Object> map = new HashMap<>(6);
if(sdo.getProperties().size() <= 3) {
return toResult(map);
}
ArrayList<Map<String, Object>> list = ackServer.findAcceptanceForm(sdo);
HashMap<Object, Object> map = new HashMap<>(3);
map.put("Rows", list);
return toResult(map);
}
......
package com.huigou.topsun.sap.purchaseOrder.controller;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.huigou.context.Operator;
import com.huigou.context.OrgUnit;
import com.huigou.topsun.sap.acceptanceFormAck.domain.SapAcceptanceFormAck;
import com.huigou.topsun.sap.purchaseOrder.application.SapPurchaseOrderApplication;
import com.huigou.topsun.sap.purchaseOrder.application.SapPurchaseOrderItemApplication;
import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder;
import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrderItem;
import com.huigou.topsun.sap.purchaseOrder.domain.query.SapPurchaseOrderQueryRequest;
import com.huigou.topsun.sap.purchaseOrder.domain.vo.SapPurchaseOrderDto;
import com.huigou.topsun.sap.purchaseOrder.domain.vo.SapPurchaseOrderVo;
import com.huigou.topsun.util.MyBaseUtil;
import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.annotation.SkipAuth;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.client.CommonController;
import com.huigou.util.SDO;
import org.springframework.stereotype.Controller;
......@@ -25,16 +19,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Auther: xin.lu
......
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