Browse Source

opt:优化查询

master
DESKTOP-5DIJMF9\admin 2 months ago
parent
commit
4da95600b7
  1. 14
      lxapi/com/noblelift/imp/products/mes/api/st/rc/ReceiveService.java
  2. 4
      lxapp/app/products/mes/md/me/material_query.jsp
  3. 60
      lxapp/app/products/mes/st/rc/receive_dtl3.jsp
  4. 42
      lxapp/src/wql/mes/ifs/sap/IFS_SAP_INTERFACE_01.wql
  5. 8
      lxapp/src/wql/mes/st/rc/ST_RC_RECEIVE_04.wql
  6. 276
      lxservice/com/noblelift/imp/products/mes/service/ifs/sap/SapToWmsServiceImpl.java
  7. 101
      lxservice/com/noblelift/imp/products/mes/service/st/rc/ReceiveServiceImpl.java

14
lxapi/com/noblelift/imp/products/mes/api/st/rc/ReceiveService.java

@ -147,6 +147,19 @@ public interface ReceiveService {
* 排序字段
*/
public ServiceResultBean querySourceByForm(ServiceContext context, String accountId, JSONObject form, String orderBy);
/**
* 分页查询列表
*
* @param context
* 上下文
* @param accountId
* 操作账号ID
* @param form
* 信息
* @param orderBy
* 排序字段
*/
public ServiceResultBean querySourceByForm2(ServiceContext context, String accountId, JSONObject form, String orderBy);
/**
* 生成订单信息查询
*
@ -201,5 +214,6 @@ public interface ReceiveService {
public ServiceResultBean queryDestroyMater(ServiceContext context, String accountId, JSONObject form, String orderBy);
public ServiceResultBean excelSave(ServiceContext context, JSONObject accountInfo,String fileid);
}

4
lxapp/app/products/mes/md/me/material_query.jsp

@ -10,13 +10,13 @@
//初始化加载左侧的树
$(function(){
$.exceluploader({
/* $.exceluploader({
id:'excel_div'
,uploadSuccess:function(file,res){
fileid = res.fileid;
btn_save(fileid);
}
});
}); */
//物料分类标准下拉初始化
Combo_box_material();
//初始化加载组织树

60
lxapp/app/products/mes/st/rc/receive_dtl3.jsp

@ -13,7 +13,7 @@
$(function() {
//查询grid数据
//组织参数
var dataParam = getGridQueryParam(stor_uuid);
var dataParam = getGridQueryParam(stor_uuid,null);
var gridid = $.grid({
id : _gridid,
containerid : 'layout_grid',
@ -29,17 +29,20 @@
nowrap:true, //自动换行
pagination:true,
});
excel();
});
//获取grid查询参数
function getGridQueryParam(stor_uuid){
function getGridQueryParam(stor_uuid,result){
//获取form对象值
var FieldValues = $.getFieldValue({formid:'search_form'});
FieldValues.stor_uuid = stor_uuid;
FieldValues.result = result;
FieldValues.flag = "3";
//组织参数
var dataParam = {
_SRVNAME:'server.store.receiveMst'
,_SRVMETHOD:'querySourceByForm'
,_SRVMETHOD:'querySourceByForm2'
,_DATA:$.json2str({
accountId:$.getSessionUser().account_id
,form: FieldValues
@ -51,11 +54,51 @@
};
return dataParam;
}
function excel(){
$.exceluploader({
id:'excel_div'
,uploadSuccess:function(file,res){
fileid = res.fileid;
btn_save(fileid);
}
});
}
function btn_save(fileid) {
$.wait_open();
$.cuajax({
url : 'wdk?action=wdk.pub&method=call_service&ajaxparam='+ new Date().getTime(),
method : "post",
timeout : WDK_Timeout,
data : {
_SRVNAME : 'server.store.receiveMst',
_SRVMETHOD : 'excelSave',//
_DATA : $.json2str({
accountInfo:$.getSessionUser() //登陆账号的信息
,fileid : fileid
})
},
success : function(result) {
$.wait_close();
//返回值字符串转json
var jres = $.str2json(result);
if (jres.code == "1") { //操作成功
alert(jres.desc);
query(jres.result);
} else {
alert(jres.desc);
}
},
error : function(result) {
$.wait_close();
alert('网络错误!result=' + result);
}
});
}
//查询
function query() {
function query(result) {
//组织参数
var dataParam = getGridQueryParam(stor_uuid);
var dataParam = getGridQueryParam(stor_uuid,result);
$.grid_reload({
id:_gridid,
queryParams:dataParam
@ -80,6 +123,9 @@
<body class="easyui-layout" data-options="fit:true">
<div data-options="region:'north',border:false,collapsed:false" class="page-title" style="overflow:hidden">
<div class="page-toolbar">
<div style="float: right;">
<div id="excel_div">excel查询</div>
</div>
<a href="javascript:void(0);" class="easyui-linkbutton" data-options="iconCls:'fa fa-save'" onclick="save();">确定</a>
<a href="javascript:void(0);" class="easyui-linkbutton" data-options="iconCls:'fa fa-close'" onclick="_close();">关闭</a>
</div>
@ -91,7 +137,7 @@
<div class="h_layout">
<div>
<div class="inputgroup" style="margin-top:8px">
<label>模糊查询:</label>
<label>物料编码查询:</label>
<div>
<input class="easyui-validatebox" data-options="validType:'length[0,50]',tipPosition:'bottom'" id="search_bar" name="search_bar" placeholder="可输入物料编号" style="width:200px;"/>
</div>

42
lxapp/src/wql/mes/ifs/sap/IFS_SAP_INTERFACE_01.wql

@ -380,6 +380,48 @@ IF 输入.flag = "7"
ENDSELECT
ENDPAGEQUERY
ENDIF
IF 输入.flag = "8"
QUERY
SELECT
'uuid-' + ma.MATNR as material_uuid,
ma.MATNR as material_code,
ma.MAKTX as material_name,
unit.measure_unit_uuid as base_unit_uuid,
wunit.measure_unit_uuid as weight_unit_uuid,
ma.NTGEW as net_weight,
ma.LGORT,
mb.english_name,
sect.sect_type,
sect.sect_uuid,
sect.sect_code,
sect.sect_name
FROM
if_sap_mater ma
LEFT JOIN MD_ME_MaterialBase mb ON (mb.material_code = ma.MATNR and mb.sysisdelete='0')
inner join MD_PB_MeasureUnit unit on unit.unit_name = ma.MEINS
left join MD_PB_MeasureUnit wunit on wunit.unit_name = ma.GEWEI
left join (SELECT
sect_type,
sect_uuid,
sect_name,
sect_code,
ext_id
FROM
ST_BS_SectAttr
WHERE
sysisdelete = '0'
AND is_virtual = '0'
AND sect_type <> '01'
GROUP BY
sect_type,
sect_uuid,
sect_name,
sect_code,
ext_id) sect on sect.ext_id=ma.LGORT
ENDSELECT
ENDQUERY
ENDIF

8
lxapp/src/wql/mes/st/rc/ST_RC_RECEIVE_04.wql

@ -55,6 +55,9 @@
//工厂
输入.factory_code TYPEAS s_string
//仓位类型
输入.material_codes TYPEAS f_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
@ -282,7 +285,10 @@
base.sect_type in (输入.sect_types)
ENDOPTION
OPTION 输入.search_bar <> ""
mater.material_code LIKE 输入.search_bar
mater.material_code = 输入.search_bar
ENDOPTION
OPTION 输入.material_codes <> ""
mater.material_code in (输入.material_codes)
ENDOPTION
ENDSELECT
ENDPAGEQUERY

276
lxservice/com/noblelift/imp/products/mes/service/ifs/sap/SapToWmsServiceImpl.java

@ -11,6 +11,7 @@ import org.wdk.core.bean.WDKLogger;
import org.wdk.core.env.context.ServiceContext;
import org.wdk.core.spring.annotation.WDKTransaction;
import org.wdk.core.util.uString;
import org.wdk.core.wql.WQL;
import org.wdk.core.wql.core.bean.ResultBean;
import org.wdk.core.wql.core.bean.WQLData;
import org.wdk.core.wql.core.bean.WQLObject;
@ -741,16 +742,25 @@ public class SapToWmsServiceImpl implements SapToWmsService {
// 物料基本信息接口表
WQLObject wo_SAP_Mater = WQLObject.getWQLObject("IF_SAP_Mater");
WQLData wd_SAP_Mater = new WQLData(wo_SAP_Mater);
// 物料表
WQLObject MD_ME_MaterialBase = WQLObject.getWQLObject("MD_ME_MaterialBase");
WQLData wd_MaterialBase = new WQLData(MD_ME_MaterialBase);
// 物料分类中间表
WQLObject MD_PB_BaseData_ClassInfo = WQLObject.getWQLObject("MD_PB_BaseData_ClassInfo");
WQLData wd_BaseData_ClassInfo = new WQLData(MD_PB_BaseData_ClassInfo);
// 物料唯一表
WQLObject ST_BS_WMSMaterial = WQLObject.getWQLObject("ST_BS_WMSMaterial");
WQLData wd_WMSMaterial = new WQLData(ST_BS_WMSMaterial);
// 物料呆滞表
WQLObject ST_BS_WMSMaterialIsDull = WQLObject.getWQLObject("ST_BS_WMSMaterialIsDull");
WQLData wd_WMSMaterialIsDull = new WQLData(ST_BS_WMSMaterialIsDull);
logger.debug("数据数量:" + tblexport.getNumRows());
nums = tblexport.getNumRows() + "";
// 删除
wo_SAP_Mater.delete("1=1");
for (int i = 0; i < tblexport.getNumRows(); i++) {
tblexport.setRow(i);
JSONObject joi = new JSONObject();
@ -760,6 +770,9 @@ public class SapToWmsServiceImpl implements SapToWmsService {
String MEINS = tblexport.getString("MEINS");
String LGORT = tblexport.getString("LGORT");
MAKTX = MAKTX.replace("\"","’");
MAKTX = MAKTX.replace("'","’");
joi.put("MATNR", MATNR);
joi.put("MAKTX", MAKTX);
joi.put("LGORT", LGORT);
@ -772,158 +785,131 @@ public class SapToWmsServiceImpl implements SapToWmsService {
Double startdirection2 = bd1.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
joi.put("NTGEW", startdirection2 + "");
joi.put("MEINS", MEINS);
FieldWhereUtil whereExpr = new FieldWhereUtil();
whereExpr.add("MAKTX", "=", MAKTX);
whereExpr.add("MATNR", "=", MATNR);
whereExpr.add("MEINS", "=", MEINS);
whereExpr.add("LGORT", "=", LGORT);
// 删除
WdkUtil.deleteByAttr(whereExpr.toJSONArray(), "IF_SAP_Mater");
joi.put("id", WDK.getUUID());
// 新增
wo_SAP_Mater.insert(joi);
Iterator<String> it = joi.keys();
wd_SAP_Mater.insert();
while(it.hasNext()){
String key = it.next();
String value = joi.optString(key);
if(wo_SAP_Mater.existField(key))
wd_SAP_Mater.setValue(key, value);
}
}
//批量新增物料到接口表
if(wd_SAP_Mater.getRowCount()!=0){
wo_SAP_Mater.updateAll(wd_SAP_Mater);
}
JSONArray ja = WQL.getWO("IFS_SAP_INTERFACE_01").addParam("flag", "8").process().getResultJSONArray(0);
String datanow = WDK.getDateTime();
for(int i=0;i<ja.size();i++){
JSONObject jo = ja.getJSONObject(i);
JSONObject jo = MD_ME_MaterialBase.query("sysisdelete='0' and material_code='" + MATNR + "'").uniqueResult(0);
String datanow = WDK.getDateTime();
if (jo == null) {// 新增
jo = new JSONObject();
jo.put("material_code", joi.optString("MATNR"));
String material_name = joi.optString("MAKTX");
material_name = material_name.replace("\"","’");
material_name = material_name.replace("'","’");
jo.put("material_name", material_name);
JSONObject unit = WQLObject.getWQLObject("MD_PB_MeasureUnit")
.query("unit_name = '" + joi.optString("MEINS") + "'").uniqueResult(0);
jo.put("base_unit_uuid", unit.optString("measure_unit_uuid"));
String GEWEI = joi.optString("GEWEI");
if (uString.isBlank(GEWEI)) {
GEWEI = "KG";
}
JSONObject weight_unit = WQLObject.getWQLObject("MD_PB_MeasureUnit")
.query("unit_name = '" + GEWEI + "'").uniqueResult(0);
if(weight_unit==null||weight_unit.isNullObject()){
jo.put("weight_unit_uuid", "EFA1CBA910AF4EBFA7246DBA89C73058");
}else{
jo.put("weight_unit_uuid", weight_unit.optString("measure_unit_uuid"));
}
jo.put("sysupdateuseruuid", "0000");
jo.put("sysupdatetime", datanow);
jo.put("syscreatedate", datanow);
jo.put("syscreatoruuid", "0000");
jo.put("material_uuid", "uuid-" + MATNR);
jo.put("is_seal_up", "0");
jo.put("sysisdelete", "0");
jo.put("salver_limit_height", "0");
jo.put("salver_qty", "0");
jo.put("net_weight", joi.optString("NTGEW"));
String LGORT2 = joi.optString("LGORT");
if (uString.isBlank(LGORT2)) {
LGORT2 = "-1";
}
JSONObject sect = WQLObject.getWQLObject("ST_BS_SectAttr")
.query("sysisdelete='0' and ext_id = '" + LGORT2 + "'").uniqueResult(0);
if (sect == null) {
sect = new JSONObject();
sect.put("sect_type", "");
}
if (sect.optString("sect_type").equals("01")) {
jo.put("sect_type", "01");
} else {
jo.put("sect_type", sect.optString("sect_type", ""));
jo.put("sect_uuid", sect.optString("sect_uuid", ""));
jo.put("sect_code", sect.optString("sect_code", ""));
jo.put("sect_name", sect.optString("sect_name", ""));
}
MD_ME_MaterialBase.insert(jo);
jo.put("class_uuid", "B5CFEA82959F4A8EB53847C693F58E6B");
jo.put("base_data_uuid", "uuid-" + MATNR);
jo.put("base_data_type", "03");
jo.put("sysisdelete", "0");
MD_PB_BaseData_ClassInfo.insert(jo);
JSONObject wmsmaterial = new JSONObject();
wmsmaterial.put("wmsmaterial_uuid", "uuid-" + MATNR + "-1060");
wmsmaterial.put("material_uuid", "uuid-" + MATNR);
wmsmaterial.put("material_code", MATNR);
wmsmaterial.put("material_name", MAKTX);
wmsmaterial.put("factory_uuid", "1060");
ST_BS_WMSMaterial.insert(wmsmaterial);
wmsmaterial.put("is_dull", "0");
ST_BS_WMSMaterialIsDull.insert(wmsmaterial);
//暂时屏蔽1061的物料
/*wmsmaterial.put("wmsmaterial_uuid", "uuid-" + MATNR + "-1061");
wmsmaterial.put("factory_uuid", "1061");
ST_BS_WMSMaterial.insert(wmsmaterial);
wmsmaterial.put("is_dull", "0");
ST_BS_WMSMaterialIsDull.insert(wmsmaterial);*/
} else {// 更新
jo.put("sysupdatetime", datanow);
jo.put("sysupdateuseruuid", "0000");
String material_code = jo.optString("material_code");
String material_name = jo.optString("material_name");
if (uString.isNotBlank(jo.getString("english_name"))) {
material_name = "(旧"+jo.getString("english_name")+")"+material_name;
}
jo.put("material_name", material_name);
if (uString.isBlank(jo.optString("weight_unit_uuid"))) {
jo.put("weight_unit_uuid", "EFA1CBA910AF4EBFA7246DBA89C73058");
}
jo.put("sysupdateuseruuid", "0000");
jo.put("sysupdatetime", datanow);
jo.put("syscreatedate", datanow);
jo.put("syscreatoruuid", "0000");
jo.put("is_seal_up", "0");
jo.put("sysisdelete", "0");
jo.put("salver_limit_height", "0");
jo.put("salver_qty", "0");
if ("1002".equals(jo.optString("LGORT"))) {
jo.put("sect_type", "01");
}
if (uString.isBlank(jo.optString("LGORT"))) {
jo.put("sect_type", "01");
jo.put("sect_uuid", "");
jo.put("sect_code", "");
jo.put("sect_name", "");
}
Iterator<String> it = jo.keys();
wd_MaterialBase.insert();
while(it.hasNext()){
String key = it.next();
String value = jo.optString(key);
if(MD_ME_MaterialBase.existField(key))
wd_MaterialBase.setValue(key, value);
}
MD_ME_MaterialBase.delete("material_uuid='"+jo.getString("material_uuid")+"'");
String material_name = joi.optString("MAKTX");
material_name = material_name.replace("\"","’");
material_name = material_name.replace("'","’");
if (uString.isNotBlank(jo.getString("english_name"))) {
material_name = "(旧"+jo.getString("english_name")+")"+material_name;
}
jo.put("material_name", material_name);
JSONObject unit = WQLObject.getWQLObject("MD_PB_MeasureUnit")
.query("unit_name = '" + joi.optString("MEINS") + "'").uniqueResult(0);
jo.put("base_unit_uuid", unit.optString("measure_unit_uuid"));
String GEWEI = joi.optString("GEWEI");
if (uString.isBlank(GEWEI)) {
GEWEI = "KG";
}
JSONObject weight_unit = WQLObject.getWQLObject("MD_PB_MeasureUnit")
.query("unit_name = '" + GEWEI + "'").uniqueResult(0);
if(weight_unit==null||weight_unit.isNullObject()){
jo.put("weight_unit_uuid", "EFA1CBA910AF4EBFA7246DBA89C73058");
}else{
jo.put("weight_unit_uuid", weight_unit.optString("measure_unit_uuid"));
}
jo.put("net_weight", joi.optString("NTGEW"));
String LGORT2 = joi.optString("LGORT");
if (uString.isBlank(LGORT2)) {
LGORT2 = "-1";
}
JSONObject sect = WQLObject.getWQLObject("ST_BS_SectAttr")
.query("sysisdelete='0' and ext_id = '" + LGORT2 + "'").uniqueResult(0);
if (sect == null) {
sect = new JSONObject();
sect.put("sect_type", "");
}
if (sect.optString("sect_type").equals("01")) {
jo.put("sect_type", "01");
jo.put("sect_uuid", "");
jo.put("sect_code", "");
jo.put("sect_name", "");
} else {
jo.put("sect_type", sect.optString("sect_type", ""));
jo.put("sect_uuid", sect.optString("sect_uuid", ""));
jo.put("sect_code", sect.optString("sect_code", ""));
jo.put("sect_name", sect.optString("sect_name", ""));
}
MD_ME_MaterialBase.update(jo);
//更新物料唯一表
HashMap<String, String> map = new HashMap<String, String>();
map.put("material_name", material_name);
ResultBean rb2 = ST_BS_WMSMaterial.update(map, "material_code = ?",
new String[] { MATNR });
JSONObject jo2 = new JSONObject();
jo2.put("class_uuid", "B5CFEA82959F4A8EB53847C693F58E6B");
jo2.put("base_data_uuid", "uuid-" + material_code);
jo2.put("base_data_type", "03");
jo2.put("sysisdelete", "0");
Iterator<String> it2 = jo2.keys();
wd_BaseData_ClassInfo.insert();
while(it2.hasNext()){
String key = it2.next();
String value = jo2.optString(key);
if(MD_PB_BaseData_ClassInfo.existField(key))
wd_BaseData_ClassInfo.setValue(key, value);
}
MD_PB_BaseData_ClassInfo.delete("class_uuid='B5CFEA82959F4A8EB53847C693F58E6B' and base_data_uuid='"+jo2.optString("base_data_uuid")+"'");
JSONObject wmsmaterial = new JSONObject();
wmsmaterial.put("wmsmaterial_uuid", "uuid-" + material_code + "-1060");
wmsmaterial.put("material_uuid", "uuid-" + material_code);
wmsmaterial.put("material_code", material_code);
wmsmaterial.put("material_name", material_name);
wmsmaterial.put("factory_uuid", "1060");
Iterator<String> it3 = wmsmaterial.keys();
wd_WMSMaterial.insert();
while(it3.hasNext()){
String key = it3.next();
String value = wmsmaterial.optString(key);
if(ST_BS_WMSMaterial.existField(key))
wd_WMSMaterial.setValue(key, value);
}
ST_BS_WMSMaterial.delete("wmsmaterial_uuid='"+wmsmaterial.getString("wmsmaterial_uuid")+"'");
JSONObject wmsmaterial2 = new JSONObject();
wmsmaterial2.put("is_dull", "0");
wmsmaterial2.put("wmsmaterial_uuid", "uuid-" + material_code + "-1060");
Iterator<String> it4 = wmsmaterial2.keys();
wd_WMSMaterialIsDull.insert();
while(it4.hasNext()){
String key = it4.next();
String value = wmsmaterial2.optString(key);
if(ST_BS_WMSMaterialIsDull.existField(key))
wd_WMSMaterialIsDull.setValue(key, value);
}
ST_BS_WMSMaterialIsDull.delete("wmsmaterial_uuid='"+wmsmaterial2.getString("wmsmaterial_uuid")+"'");
}//end if
if(wd_MaterialBase.getRowCount()!=0){
MD_ME_MaterialBase.updateAll(wd_MaterialBase);
}
if(wd_WMSMaterial.getRowCount()!=0){
ST_BS_WMSMaterial.updateAll(wd_WMSMaterial);
}
if(wd_WMSMaterialIsDull.getRowCount()!=0){
ST_BS_WMSMaterialIsDull.updateAll(wd_WMSMaterialIsDull);
}
if(wd_BaseData_ClassInfo.getRowCount()!=0){
MD_PB_BaseData_ClassInfo.updateAll(wd_BaseData_ClassInfo);
}
}
srb.addParam("result", nums);
srb.setSuccess();

101
lxservice/com/noblelift/imp/products/mes/service/st/rc/ReceiveServiceImpl.java

@ -1,6 +1,8 @@
package com.noblelift.imp.products.mes.service.st.rc;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@ -10,10 +12,13 @@ import org.wdk.core.bean.WDKException;
import org.wdk.core.env.context.ServiceContext;
import org.wdk.core.spring.SpringContext;
import org.wdk.core.spring.annotation.WDKTransaction;
import org.wdk.core.util.uExcelUtilByPOI;
import org.wdk.core.util.uString;
import org.wdk.core.wql.WQL;
import org.wdk.core.wql.core.bean.ResultBean;
import org.wdk.core.wql.core.bean.WQLObject;
import org.wdk.module.file.FileReturn;
import org.wdk.module.file.FileServerFactory;
import com.noblelift.imp.products.mes.api.ifs.sap.SapToWmsService;
import com.noblelift.imp.products.mes.api.st.is.UrgentIssueBill;
@ -1335,6 +1340,102 @@ public class ReceiveServiceImpl implements ReceiveService {
srb.addJSON("result", jres);
return srb;
}
@Override
public ServiceResultBean querySourceByForm2(ServiceContext context, String accountId, JSONObject form, String orderBy) {
WQLObject tbObj = WQLObject.getWQLObject("ST_BS_RealStorAttr");
String stor_uuid = form.optString("stor_uuid","");
JSONArray result = form.optJSONArray("result");
JSONObject stor = tbObj.query("stor_uuid='"+stor_uuid+"'").uniqueResult(0);
String stor_type = "";
if(stor!=null)
stor_type = stor.optString("stor_type");
String sect_types = "";
if(stor_type.equals("01")) {
sect_types="'01','02'";
}
if(stor_type.equals("02")) {
sect_types="03";
}
if(form.optString("is_check","").equals("1")) {
sect_types="'01','02','03'";
}
form.put("sect_types", sect_types);
String material_codes = "";
HashMap<String,Double> map = new HashMap<String,Double> ();
if(result != null){
for (int i = 0; i < result.size(); i++) {
map.put(result.getJSONObject(i).optString("material_code"), result.getJSONObject(i).optDouble("fact_qty"));
if (material_codes.equals(""))
material_codes = result.getJSONObject(i).optString("material_code");
else
material_codes = material_codes + "," + result.getJSONObject(i).optString("material_code");
}
if(uString.isNotBlank(material_codes)){
material_codes = "'" + material_codes.replaceAll(",", "','") + "'";
form.put("material_codes", material_codes);
}
}
JSONObject jres = WQL.getWO("ST_RC_RECEIVE_04").addParamMap(WDK.json2map(form)).pageQuery(context, "");
if(result != null){
JSONArray rows = jres.optJSONArray("rows");
JSONArray new_rows = new JSONArray();
for(int i=0;i<rows.size();i++){
JSONObject jo = rows.getJSONObject(i);
if(map.containsKey(jo.optString("material_code"))){
Double fact_qty = map.get(jo.optString("material_code"));
jo.put("fact_qty", fact_qty);
}
new_rows.add(jo);
}
jres.put("rows", new_rows);
}
ServiceResultBean srb = new ServiceResultBean();
srb.setSuccess();
srb.setDesc("查询成功!");
srb.addJSON("result", jres);
return srb;
}
@WDKTransaction
@Override
public ServiceResultBean excelSave(ServiceContext context, JSONObject accountInfo, String fileid) {
if (uString.isEmpty(fileid)) {
throw new WDKException("Excel文件ID不能为空");
}
FileReturn fr = null;
try {
fr = FileServerFactory.getInstance().get(fileid);
} catch (Exception e) {
e.printStackTrace();
}
ArrayList<?> excelList = uExcelUtilByPOI._readExcel(fr.getInputstream());
JSONArray jres = new JSONArray();
for (int i = 0, j = excelList.size(); i < j; i++) {
// 对应Excel的每一列
ArrayList<?> list = (ArrayList<?>) excelList.get(i);
JSONObject tblexport = new JSONObject();
// 对应Excel的第一列
tblexport.put("material_code", list.get(0));
tblexport.put("fact_qty", list.get(1));
// 说明到了最后一行
if (uString.isEmpty(tblexport.optString("material_code"))) {
break;
}
jres.add(tblexport);
}
ServiceResultBean srb = new ServiceResultBean();
srb.setDesc("导入excel成功!");
srb.addJSONArray("result", jres);
srb.setSuccess();
return srb;
}
@Override
@WDKTransaction
public ServiceResultBean ProductImport(ServiceContext context, JSONObject account, JSONObject form) {

Loading…
Cancel
Save