|
|
@@ -3,6 +3,7 @@ package restcontroller.webmanage.sale.expressform;
|
|
|
import beans.attachment.Attachment;
|
|
|
import beans.data.BatchDeleteErr;
|
|
|
import beans.datacontrllog.DataContrlLog;
|
|
|
+import beans.report.Report;
|
|
|
import com.alibaba.fastjson2.JSONArray;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
import common.Controller;
|
|
|
@@ -71,13 +72,13 @@ public class expressform extends Controller {
|
|
|
}
|
|
|
Rows rcvRows = dbConnect.runSqlQuery("select * from sys_enterprise_contacts where workaddress=1 and sys_enterpriseid=" + sys_enterpriseid + " order by case when type='配件' then 1 else 0 end " + orderby);
|
|
|
if (rcvRows.isNotEmpty()) {
|
|
|
- rcv_name = StringUtils.isBlank(rcvRows.get(0).getString("name"))?rcv_name:rcvRows.get(0).getString("name");
|
|
|
- rcv_phone =StringUtils.isBlank(rcvRows.get(0).getString("phonenumber"))?rcv_phone:rcvRows.get(0).getString("phonenumber");
|
|
|
- rcv_mobile =StringUtils.isBlank(rcvRows.get(0).getString("telephone"))?rcv_mobile:rcvRows.get(0).getString("telephone");
|
|
|
- rcv_prov =StringUtils.isBlank(rcvRows.get(0).getString("province"))?rcv_prov:rcvRows.get(0).getString("province");
|
|
|
- rcv_city = StringUtils.isBlank(rcvRows.get(0).getString("city"))?rcv_city:rcvRows.get(0).getString("city");
|
|
|
- rcv_county = StringUtils.isBlank(rcvRows.get(0).getString("county"))?rcv_county:rcvRows.get(0).getString("county");
|
|
|
- rcv_address =StringUtils.isBlank(rcvRows.get(0).getString("address"))?rcv_address:rcvRows.get(0).getString("address");
|
|
|
+ rcv_name = StringUtils.isBlank(rcvRows.get(0).getString("name")) ? rcv_name : rcvRows.get(0).getString("name");
|
|
|
+ rcv_phone = StringUtils.isBlank(rcvRows.get(0).getString("phonenumber")) ? rcv_phone : rcvRows.get(0).getString("phonenumber");
|
|
|
+ rcv_mobile = StringUtils.isBlank(rcvRows.get(0).getString("telephone")) ? rcv_mobile : rcvRows.get(0).getString("telephone");
|
|
|
+ rcv_prov = StringUtils.isBlank(rcvRows.get(0).getString("province")) ? rcv_prov : rcvRows.get(0).getString("province");
|
|
|
+ rcv_city = StringUtils.isBlank(rcvRows.get(0).getString("city")) ? rcv_city : rcvRows.get(0).getString("city");
|
|
|
+ rcv_county = StringUtils.isBlank(rcvRows.get(0).getString("county")) ? rcv_county : rcvRows.get(0).getString("county");
|
|
|
+ rcv_address = StringUtils.isBlank(rcvRows.get(0).getString("address")) ? rcv_address : rcvRows.get(0).getString("address");
|
|
|
}
|
|
|
expressformid = createTableID(tableName);
|
|
|
InsertSQL insertSQL = SQLFactory.createInsertSQL(this, tableName);
|
|
|
@@ -157,9 +158,9 @@ public class expressform extends Controller {
|
|
|
updateSQL.setDateValue("changedate");
|
|
|
sqlList.add(updateSQL.getSQL());
|
|
|
|
|
|
- Rows expressform_stockbillrows = dbConnect.runSqlQuery("select * from sa_expressform_stockbill where expressformid="+expressformid);
|
|
|
- for (Row row:expressform_stockbillrows) {
|
|
|
- sqlList.add("update st_stockbill set txlogisticid='"+rows.get(0).getString("txlogisticid")+"',mailno='"+mailno+"' where st_stockbillid="+row.getLong("st_stockbillid"));
|
|
|
+ Rows expressform_stockbillrows = dbConnect.runSqlQuery("select * from sa_expressform_stockbill where expressformid=" + expressformid);
|
|
|
+ for (Row row : expressform_stockbillrows) {
|
|
|
+ sqlList.add("update st_stockbill set txlogisticid='" + rows.get(0).getString("txlogisticid") + "',mailno='" + mailno + "' where st_stockbillid=" + row.getLong("st_stockbillid"));
|
|
|
}
|
|
|
sqlList.add(DataContrlLog.createLog(this, "expressform", expressformid, "更新", "快递信息更新成功").getSQL());
|
|
|
} else {
|
|
|
@@ -229,6 +230,15 @@ public class expressform extends Controller {
|
|
|
querySQL.setPage(pageSize, pageNumber);
|
|
|
Rows rows = querySQL.query();
|
|
|
|
|
|
+ ArrayList<Long> ids = rows.toArrayList("expressformid", new ArrayList<>());
|
|
|
+ HashMap<Long, Integer> reportMap = Report.getViewCount(this, "expressform", ids);
|
|
|
+ for (Row row : rows) {
|
|
|
+ if (reportMap.containsKey(row.getLong("expressformid"))) {
|
|
|
+ row.put("printcount", reportMap.get(row.getLong("expressformid")));
|
|
|
+ }
|
|
|
+ row.putIfAbsent("printcount", 0);
|
|
|
+ }
|
|
|
+
|
|
|
return getSucReturnObject().setData(rows).toString();
|
|
|
}
|
|
|
|
|
|
@@ -258,7 +268,7 @@ public class expressform extends Controller {
|
|
|
}
|
|
|
ArrayList<String> sqllist = new ArrayList<>();
|
|
|
sqllist.add("delete from expressform where siteid='" + siteid + "' and expressformid=" + expressformid);
|
|
|
- sqllist.add("delete from sa_expressform_stockbill where siteid='" + siteid + "' and expressformid="+expressformid);
|
|
|
+ sqllist.add("delete from sa_expressform_stockbill where siteid='" + siteid + "' and expressformid=" + expressformid);
|
|
|
//sqllist.add("delete from expressformbillcodes where siteid='" + siteid + "' and expressformid=" + expressformid);
|
|
|
dbConnect.runSqlUpdate(sqllist);
|
|
|
}
|
|
|
@@ -318,7 +328,7 @@ public class expressform extends Controller {
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid",
|
|
|
"agentnum");
|
|
|
querySQL.addJoinTable(JOINTYPE.inner, "sa_expressform_stockbill", "t4", "t1.st_stockbillid = t4.st_stockbillid AND t1.siteid = t4.siteid");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sys_department", "t5", "t5.departmentid = t1.departmentid AND t1.siteid = t5.siteid","depname");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_department", "t5", "t5.departmentid = t1.departmentid AND t1.siteid = t5.siteid", "depname");
|
|
|
|
|
|
querySQL.setWhere("t1.siteid", siteid);
|
|
|
querySQL.setWhere("t1.type='销售出库' and t4.expressformid='" + expressformid + "'");
|
|
|
@@ -358,10 +368,10 @@ public class expressform extends Controller {
|
|
|
if (StringUtils.isNotBlank(row.getString("txlogisticid"))) {
|
|
|
//return getErrReturnObject().setErrMsg("销售出库单" + row.getString("billno") + ",已关联快递信息单!,不得重复关联!").toString();
|
|
|
}
|
|
|
- InsertSQL insertSQL =SQLFactory.createInsertSQL(this,"sa_expressform_stockbill");
|
|
|
+ InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sa_expressform_stockbill");
|
|
|
insertSQL.setUniqueid(createTableID("sa_expressform_stockbill"));
|
|
|
insertSQL.setSiteid(siteid);
|
|
|
- insertSQL.setValue("st_stockbillid", row.getLong("st_stockbillid"));
|
|
|
+ insertSQL.setValue("st_stockbillid", row.getLong("st_stockbillid"));
|
|
|
insertSQL.setValue("expressformid", expressformid);
|
|
|
sqlList.add(insertSQL.getSQL());
|
|
|
sqlList.add("update st_stockbill set txlogisticid='" + txlogisticid + "',mailno='" + mailno + "' where st_stockbillid=" + row.getLong("st_stockbillid"));
|
|
|
@@ -387,7 +397,7 @@ public class expressform extends Controller {
|
|
|
return getErrReturnObject().setErrMsg("未选中任何销售出库单!").toString();
|
|
|
}
|
|
|
//sqlList.add("update st_stockbill set txlogisticid='',mailno='' where st_stockbillid in" + st_stockbillids.toJSONString().replace("[", "(").replace("]", ")"));
|
|
|
- sqlList.add("delete from sa_expressform_stockbill where expressformid="+expressformid+" and st_stockbillid in" + st_stockbillids.toJSONString().replace("[", "(").replace("]", ")"));
|
|
|
+ sqlList.add("delete from sa_expressform_stockbill where expressformid=" + expressformid + " and st_stockbillid in" + st_stockbillids.toJSONString().replace("[", "(").replace("]", ")"));
|
|
|
dbConnect.runSqlUpdate(sqlList);
|
|
|
return getSucReturnObject().toString();
|
|
|
}
|
|
|
@@ -481,40 +491,40 @@ public class expressform extends Controller {
|
|
|
JSONArray expressformids = content.getJSONArray("expressformids");
|
|
|
ArrayList<String> sqlList = new ArrayList<>();
|
|
|
QuerySQL querySQL = SQLFactory.createQuerySQL(this, "expressform", "*");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sv_agents", "t2", " t1.sys_enterpriseid = t2.sys_enterpriseid and t1.siteid = t2.siteid","agentnum","abbreviation");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sv_agents", "t2", " t1.sys_enterpriseid = t2.sys_enterpriseid and t1.siteid = t2.siteid", "agentnum", "abbreviation");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
querySQL.setWhere("t1.siteid", siteid);
|
|
|
querySQL.setWhere("t1.expressformid", expressformids);
|
|
|
Rows rows = querySQL.query();
|
|
|
BatchDeleteErr batchDeleteErr = BatchDeleteErr.create(this, expressformids.size());
|
|
|
- for(Row row : rows){
|
|
|
+ for (Row row : rows) {
|
|
|
if (row.getBoolean("success")) {
|
|
|
- batchDeleteErr.addErr(row.getString("txlogisticid"),row.getString("agentnum"),row.getString("abbreviation"), "该快递信息单已成功申请电子面单");
|
|
|
+ batchDeleteErr.addErr(row.getString("txlogisticid"), row.getString("agentnum"), row.getString("abbreviation"), "该快递信息单已成功申请电子面单");
|
|
|
continue;
|
|
|
} else if (StringUtils.isNotBlank(row.getString("mailno"))) {
|
|
|
- batchDeleteErr.addErr(row.getString("txlogisticid"),row.getString("agentnum"),row.getString("abbreviation"), "该快递信息单已有快递面单单号,不需要重复申请!");
|
|
|
+ batchDeleteErr.addErr(row.getString("txlogisticid"), row.getString("agentnum"), row.getString("abbreviation"), "该快递信息单已有快递面单单号,不需要重复申请!");
|
|
|
continue;
|
|
|
} else if ("关闭".equals(row.getString("status"))) {
|
|
|
- batchDeleteErr.addErr(row.getString("txlogisticid"),row.getString("agentnum"),row.getString("abbreviation"), "该快递信息单已关闭,不能申请电子面单!");
|
|
|
+ batchDeleteErr.addErr(row.getString("txlogisticid"), row.getString("agentnum"), row.getString("abbreviation"), "该快递信息单已关闭,不能申请电子面单!");
|
|
|
continue;
|
|
|
} else if (!"YTO".equalsIgnoreCase(row.getString("logisticproviderid"))) {
|
|
|
- batchDeleteErr.addErr(row.getString("txlogisticid"),row.getString("agentnum"),row.getString("abbreviation"), "目前只支持申请圆通的电子面单");
|
|
|
+ batchDeleteErr.addErr(row.getString("txlogisticid"), row.getString("agentnum"), row.getString("abbreviation"), "目前只支持申请圆通的电子面单");
|
|
|
continue;
|
|
|
}
|
|
|
String ordertype = row.getString("ordertype");
|
|
|
Rows expressvalRows = dbConnect.runSqlQuery("select * from expressval where siteid='" + siteid + "' and logisticproviderid='YTO' and ordertype='" + ordertype + "'");
|
|
|
if (expressvalRows.isEmpty()) {
|
|
|
- batchDeleteErr.addErr(row.getString("txlogisticid"),row.getString("agentnum"),row.getString("abbreviation"), "数据表'expressVal'中,缺少圆通快递开放平台的对接信息! 发货方式: " + ordertype + ";快递公司: YTO");
|
|
|
+ batchDeleteErr.addErr(row.getString("txlogisticid"), row.getString("agentnum"), row.getString("abbreviation"), "数据表'expressVal'中,缺少圆通快递开放平台的对接信息! 发货方式: " + ordertype + ";快递公司: YTO");
|
|
|
continue;
|
|
|
}
|
|
|
Rows expresssdrRows = dbConnect.runSqlQuery("select * from expresssdr where siteid='" + siteid + "' and expresssdrid=" + rows.get(0).getLong("expresssdrid"));
|
|
|
|
|
|
if (expresssdrRows.isEmpty()) {
|
|
|
- batchDeleteErr.addErr(row.getString("txlogisticid"),row.getString("agentnum"),row.getString("abbreviation"), "未设置默认发件人信息");
|
|
|
+ batchDeleteErr.addErr(row.getString("txlogisticid"), row.getString("agentnum"), row.getString("abbreviation"), "未设置默认发件人信息");
|
|
|
continue;
|
|
|
}
|
|
|
if (StringUtils.isBlank(row.getString("ordertype"))) {
|
|
|
- batchDeleteErr.addErr(row.getString("txlogisticid"),row.getString("agentnum"),row.getString("abbreviation"), "未设置快递付款类型");
|
|
|
+ batchDeleteErr.addErr(row.getString("txlogisticid"), row.getString("agentnum"), row.getString("abbreviation"), "未设置快递付款类型");
|
|
|
continue;
|
|
|
}
|
|
|
String url_mailno = expressvalRows.get(0).getString("url_mailno");
|
|
|
@@ -549,7 +559,7 @@ public class expressform extends Controller {
|
|
|
Item item = new Item(row.getString("itemname"), row.getInteger("number"), row.getDouble("itemsweight"));
|
|
|
requestOrder.setItems(new Item[]{item});
|
|
|
//Map<String, Object> resultMap = new HashMap<>();
|
|
|
- Map<String, Object> resultMap= client.sendRequestForMailNo(requestOrder);
|
|
|
+ Map<String, Object> resultMap = client.sendRequestForMailNo(requestOrder);
|
|
|
if (resultMap != null) {
|
|
|
String code = (String) resultMap.get("code");
|
|
|
if ("200".equals(code)) {//成功
|
|
|
@@ -567,9 +577,9 @@ public class expressform extends Controller {
|
|
|
updateSQL.setValue("success", 1);
|
|
|
updateSQL.setValue("changeby", username);
|
|
|
updateSQL.setDateValue("changedate");
|
|
|
- Rows expressform_stockbillrows = dbConnect.runSqlQuery("select * from sa_expressform_stockbill where expressformid="+row.getLong("expressformid"));
|
|
|
- for (Row row1:expressform_stockbillrows) {
|
|
|
- sqlList.add("update st_stockbill set txlogisticid='"+row.getString("txlogisticid")+"',mailno='"+(String) resultMap.get("mailNo")+"' where st_stockbillid="+row1.getLong("st_stockbillid"));
|
|
|
+ Rows expressform_stockbillrows = dbConnect.runSqlQuery("select * from sa_expressform_stockbill where expressformid=" + row.getLong("expressformid"));
|
|
|
+ for (Row row1 : expressform_stockbillrows) {
|
|
|
+ sqlList.add("update st_stockbill set txlogisticid='" + row.getString("txlogisticid") + "',mailno='" + (String) resultMap.get("mailNo") + "' where st_stockbillid=" + row1.getLong("st_stockbillid"));
|
|
|
}
|
|
|
|
|
|
sqlList.add(updateSQL.getSQL());
|
|
|
@@ -584,19 +594,19 @@ public class expressform extends Controller {
|
|
|
updateSQL.setValue("changeby", username);
|
|
|
updateSQL.setDateValue("changedate");
|
|
|
sqlList.add(updateSQL.getSQL());
|
|
|
- batchDeleteErr.addErr(row.getString("txlogisticid"),row.getString("agentnum"),row.getString("abbreviation"), (String) resultMap.get("reason"));
|
|
|
+ batchDeleteErr.addErr(row.getString("txlogisticid"), row.getString("agentnum"), row.getString("abbreviation"), (String) resultMap.get("reason"));
|
|
|
continue;
|
|
|
}
|
|
|
} else {
|
|
|
- batchDeleteErr.addErr(row.getString("txlogisticid"),row.getString("agentnum"),row.getString("abbreviation"), "请求电子面单接口超时");
|
|
|
+ batchDeleteErr.addErr(row.getString("txlogisticid"), row.getString("agentnum"), row.getString("abbreviation"), "请求电子面单接口超时");
|
|
|
continue;
|
|
|
}
|
|
|
}
|
|
|
dbConnect.runSqlUpdate(sqlList);
|
|
|
- HashMap<String,Object> result=new HashMap<>();
|
|
|
- String success= "共申请"+expressformids.size()+"张圆通电子面单号,其中失败"+ batchDeleteErr.size()+"张!";
|
|
|
- result.put("success",success);
|
|
|
- result.put("errinfo",batchDeleteErr.getReturnObject());
|
|
|
+ HashMap<String, Object> result = new HashMap<>();
|
|
|
+ String success = "共申请" + expressformids.size() + "张圆通电子面单号,其中失败" + batchDeleteErr.size() + "张!";
|
|
|
+ result.put("success", success);
|
|
|
+ result.put("errinfo", batchDeleteErr.getReturnObject());
|
|
|
return getSucReturnObject().setData(result).toString();
|
|
|
}
|
|
|
|