|
|
@@ -1,5 +1,6 @@
|
|
|
package restcontroller.webmanage.sale.expressform;
|
|
|
|
|
|
+import beans.attachment.Attachment;
|
|
|
import beans.data.BatchDeleteErr;
|
|
|
import beans.datacontrllog.DataContrlLog;
|
|
|
import com.alibaba.fastjson2.JSONArray;
|
|
|
@@ -19,9 +20,7 @@ import restcontroller.webmanage.sale.expressform.util.bean.Person;
|
|
|
import restcontroller.webmanage.sale.expressform.util.bean.YTORequestOrder;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
@API(title = "快递信息表")
|
|
|
public class expressform extends Controller {
|
|
|
@@ -55,24 +54,24 @@ public class expressform extends Controller {
|
|
|
String rcv_county = content.getStringValue("rcv_county");
|
|
|
String rcv_address = content.getStringValue("rcv_address");
|
|
|
long expresssdrid = content.getLongValue("expresssdrid");
|
|
|
- String mailno=content.getStringValue("mailno");
|
|
|
+ String mailno = content.getStringValue("mailno");
|
|
|
|
|
|
if (expressformid <= 0) {
|
|
|
- String orderby="";
|
|
|
- if(fpriority_ads.equals("配件>常规")){
|
|
|
- orderby="desc";
|
|
|
- }else{
|
|
|
- orderby="asc";
|
|
|
+ String orderby = "";
|
|
|
+ if (fpriority_ads.equals("配件>常规")) {
|
|
|
+ orderby = "desc";
|
|
|
+ } else {
|
|
|
+ orderby = "asc";
|
|
|
}
|
|
|
- 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=rcvRows.get(0).getString("name");
|
|
|
- rcv_phone=rcvRows.get(0).getString("phonenumber");
|
|
|
- rcv_mobile=rcvRows.get(0).getString("telephone");
|
|
|
- rcv_prov=rcvRows.get(0).getString("province");
|
|
|
- rcv_city=rcvRows.get(0).getString("city");
|
|
|
- rcv_county=rcvRows.get(0).getString("county");
|
|
|
- rcv_address=rcvRows.get(0).getString("address");
|
|
|
+ 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 = rcvRows.get(0).getString("name");
|
|
|
+ rcv_phone = rcvRows.get(0).getString("phonenumber");
|
|
|
+ rcv_mobile = rcvRows.get(0).getString("telephone");
|
|
|
+ rcv_prov = rcvRows.get(0).getString("province");
|
|
|
+ rcv_city = rcvRows.get(0).getString("city");
|
|
|
+ rcv_county = rcvRows.get(0).getString("county");
|
|
|
+ rcv_address = rcvRows.get(0).getString("address");
|
|
|
}
|
|
|
expressformid = createTableID(tableName);
|
|
|
InsertSQL insertSQL = SQLFactory.createInsertSQL(this, tableName);
|
|
|
@@ -159,17 +158,17 @@ public class expressform extends Controller {
|
|
|
@CACHEING
|
|
|
public String queryexpressformMain() throws YosException {
|
|
|
long expressformid = content.getLong("expressformid");
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "expressform","*");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "expressform", "*");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid",
|
|
|
"enterprisename", "abbreviation");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid",
|
|
|
"agentnum");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "expresssdr", "t4", "t1.expresssdrid = t4.expresssdrid AND t1.siteid = t4.siteid",
|
|
|
- "name","phonenumber","mobile","postcode","province","city","county","address");
|
|
|
+ "name", "phonenumber", "mobile", "postcode", "province", "city", "county", "address");
|
|
|
|
|
|
querySQL.setWhere("t1.siteid", siteid);
|
|
|
- querySQL.setWhere("t1.expressformid",expressformid);
|
|
|
+ querySQL.setWhere("t1.expressformid", expressformid);
|
|
|
Rows rows = querySQL.query();
|
|
|
|
|
|
Row row = rows.isNotEmpty() ? rows.get(0) : new Row();
|
|
|
@@ -193,14 +192,14 @@ public class expressform extends Controller {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "expressform","*");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "expressform", "*");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid",
|
|
|
"enterprisename", "abbreviation");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid",
|
|
|
"agentnum");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "expresssdr", "t4", "t1.expresssdrid = t4.expresssdrid AND t1.siteid = t4.siteid",
|
|
|
- "name","phonenumber","mobile","postcode","province","city","county","address");
|
|
|
+ "name", "phonenumber", "mobile", "postcode", "province", "city", "county", "address");
|
|
|
|
|
|
querySQL.setWhere("t1.siteid", siteid);
|
|
|
querySQL.setWhere(where);
|
|
|
@@ -246,7 +245,7 @@ public class expressform extends Controller {
|
|
|
@API(title = "可绑定销售出库单查询", apiversion = R.ID2025080711005903.v1.class)
|
|
|
@CACHEING
|
|
|
public String querycanbindstockbills() throws YosException {
|
|
|
- long sys_enterpriseid=content.getLong("sys_enterpriseid");
|
|
|
+ long sys_enterpriseid = content.getLong("sys_enterpriseid");
|
|
|
StringBuffer where = new StringBuffer(" 1=1 ");
|
|
|
if (content.containsKey("where")) {
|
|
|
JSONObject whereObject = content.getJSONObject("where");
|
|
|
@@ -258,7 +257,7 @@ public class expressform extends Controller {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "st_stockbill","*");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "st_stockbill", "*");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid",
|
|
|
"enterprisename", "abbreviation");
|
|
|
@@ -276,7 +275,7 @@ public class expressform extends Controller {
|
|
|
@API(title = "已绑定销售出库单", apiversion = R.ID2025080711063603.v1.class)
|
|
|
@CACHEING
|
|
|
public String yibindstockbills() throws YosException {
|
|
|
- String txlogisticid =content.getString("txlogisticid");
|
|
|
+ String txlogisticid = content.getString("txlogisticid");
|
|
|
StringBuffer where = new StringBuffer(" 1=1 ");
|
|
|
if (content.containsKey("where")) {
|
|
|
JSONObject whereObject = content.getJSONObject("where");
|
|
|
@@ -288,14 +287,14 @@ public class expressform extends Controller {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "st_stockbill","*");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "st_stockbill", "*");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid",
|
|
|
"enterprisename", "abbreviation");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid",
|
|
|
"agentnum");
|
|
|
querySQL.setWhere("t1.siteid", siteid);
|
|
|
- querySQL.setWhere("t1.type='销售出库' and t1.txlogisticid='"+txlogisticid+"'");
|
|
|
+ querySQL.setWhere("t1.type='销售出库' and t1.txlogisticid='" + txlogisticid + "'");
|
|
|
querySQL.setWhere(where);
|
|
|
querySQL.setPage(pageSize, pageNumber);
|
|
|
Rows rows = querySQL.query();
|
|
|
@@ -303,38 +302,36 @@ public class expressform extends Controller {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
@API(title = "绑定销售出库单", apiversion = R.ID2025080711074703.v1.class)
|
|
|
@CACHEING_CLEAN(apiClass = {expressform.class, stockbill.class})
|
|
|
public String bindstockbill() throws YosException {
|
|
|
long expressformid = content.getLong("expressformid");
|
|
|
- String txlogisticid =content.getString("txlogisticid");
|
|
|
- String mailno =content.getString("mailno");
|
|
|
+ String txlogisticid = content.getString("txlogisticid");
|
|
|
+ String mailno = content.getString("mailno");
|
|
|
JSONArray st_stockbillids = content.getJSONArray("st_stockbillids");
|
|
|
ArrayList<String> sqlList = new ArrayList<>();
|
|
|
- Rows rows =dbConnect.runSqlQuery("select * from expressform where siteid='"+siteid+"' and expressformid="+expressformid);
|
|
|
- if(rows.isEmpty()){
|
|
|
+ Rows rows = dbConnect.runSqlQuery("select * from expressform where siteid='" + siteid + "' and expressformid=" + expressformid);
|
|
|
+ if (rows.isEmpty()) {
|
|
|
return getErrReturnObject().setErrMsg("该快递信息不存在").toString();
|
|
|
}
|
|
|
- if(!rows.get(0).getString("status").equals("新建")){
|
|
|
+ if (!rows.get(0).getString("status").equals("新建")) {
|
|
|
return getErrReturnObject().setErrMsg("非新建状态下不能操作").toString();
|
|
|
}
|
|
|
- if(rows.get(0).getLong("sys_enterpriseid")==0){
|
|
|
+ if (rows.get(0).getLong("sys_enterpriseid") == 0) {
|
|
|
return getErrReturnObject().setErrMsg("必须指定经销商编号,才能关联销售出库单").toString();
|
|
|
}
|
|
|
|
|
|
- if(st_stockbillids.size()==0) {
|
|
|
+ if (st_stockbillids.size() == 0) {
|
|
|
return getErrReturnObject().setErrMsg("未选中任何销售出库单!").toString();
|
|
|
}
|
|
|
- String sql="select * from st_stockbill where siteid='"+siteid+"' and st_stockbillid in"+st_stockbillids.toJSONString();
|
|
|
+ String sql = "select * from st_stockbill where siteid='" + siteid + "' and st_stockbillid in" + st_stockbillids.toJSONString();
|
|
|
sql = sql.replace("[", "(").replace("]", ")");
|
|
|
- Rows stockbillrows =dbConnect.runSqlQuery(sql);
|
|
|
- for(Row row :stockbillrows){
|
|
|
- if(StringUtils.isNotBlank(row.getString("txlogisticid"))){
|
|
|
- return getErrReturnObject().setErrMsg("销售出库单"+row.getString("billno")+",已关联快递信息单!,不得重复关联!").toString();
|
|
|
+ Rows stockbillrows = dbConnect.runSqlQuery(sql);
|
|
|
+ for (Row row : stockbillrows) {
|
|
|
+ if (StringUtils.isNotBlank(row.getString("txlogisticid"))) {
|
|
|
+ return getErrReturnObject().setErrMsg("销售出库单" + row.getString("billno") + ",已关联快递信息单!,不得重复关联!").toString();
|
|
|
}
|
|
|
- sqlList.add("update st_stockbill set txlogisticid='"+txlogisticid+"',mailno='"+mailno+"' where st_stockbillid="+row.getLong("st_stockbillid"));
|
|
|
+ sqlList.add("update st_stockbill set txlogisticid='" + txlogisticid + "',mailno='" + mailno + "' where st_stockbillid=" + row.getLong("st_stockbillid"));
|
|
|
}
|
|
|
dbConnect.runSqlUpdate(sqlList);
|
|
|
return getSucReturnObject().toString();
|
|
|
@@ -346,17 +343,17 @@ public class expressform extends Controller {
|
|
|
JSONArray st_stockbillids = content.getJSONArray("st_stockbillids");
|
|
|
long expressformid = content.getLong("expressformid");
|
|
|
ArrayList<String> sqlList = new ArrayList<>();
|
|
|
- Rows rows =dbConnect.runSqlQuery("select * from expressform where siteid='"+siteid+"' and expressformid="+expressformid);
|
|
|
- if(rows.isEmpty()){
|
|
|
+ Rows rows = dbConnect.runSqlQuery("select * from expressform where siteid='" + siteid + "' and expressformid=" + expressformid);
|
|
|
+ if (rows.isEmpty()) {
|
|
|
return getErrReturnObject().setErrMsg("该快递信息不存在").toString();
|
|
|
}
|
|
|
- if(!rows.get(0).getString("status").equals("新建")){
|
|
|
+ if (!rows.get(0).getString("status").equals("新建")) {
|
|
|
return getErrReturnObject().setErrMsg("非新建状态下不能操作").toString();
|
|
|
}
|
|
|
- if(st_stockbillids.size()==0) {
|
|
|
+ if (st_stockbillids.size() == 0) {
|
|
|
return getErrReturnObject().setErrMsg("未选中任何销售出库单!").toString();
|
|
|
}
|
|
|
- sqlList.add("update st_stockbill set txlogisticid='',mailno='' where st_stockbillid in"+st_stockbillids.toJSONString().replace("[", "(").replace("]", ")"));
|
|
|
+ sqlList.add("update st_stockbill set txlogisticid='',mailno='' where st_stockbillid in" + st_stockbillids.toJSONString().replace("[", "(").replace("]", ")"));
|
|
|
dbConnect.runSqlUpdate(sqlList);
|
|
|
return getSucReturnObject().toString();
|
|
|
}
|
|
|
@@ -365,22 +362,22 @@ public class expressform extends Controller {
|
|
|
@CACHEING_CLEAN(apiClass = {expressform.class, stockbill.class})
|
|
|
public String check() throws YosException {
|
|
|
Long expressformid = content.getLong("expressformid");
|
|
|
- boolean ischeck =content.getBoolean("ischeck");
|
|
|
+ boolean ischeck = content.getBoolean("ischeck");
|
|
|
Rows rows = dbConnect.runSqlQuery("select t1.expressformid,t1.status,t1.mailno,t1.txlogisticid from expressform t1 where t1.expressformid ='"
|
|
|
+ expressformid + "' and t1.siteid='" + siteid + "'");
|
|
|
for (Row row : rows) {
|
|
|
- if(ischeck){
|
|
|
+ if (ischeck) {
|
|
|
if (!row.getString("status").equals("新建")) {
|
|
|
- return getErrReturnObject().setErrMsg("非新建状态的【"+row.getString("txlogisticid")+"】快递信息单无法审核")
|
|
|
+ return getErrReturnObject().setErrMsg("非新建状态的【" + row.getString("txlogisticid") + "】快递信息单无法审核")
|
|
|
.toString();
|
|
|
}
|
|
|
- if(StringUtils.isBlank(row.getString("mailno"))) {
|
|
|
+ if (StringUtils.isBlank(row.getString("mailno"))) {
|
|
|
return getErrReturnObject().setErrMsg("面单号未填写,不能审核;请先尝试申请面单号")
|
|
|
.toString();
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
if (!row.getString("status").equals("审核")) {
|
|
|
- return getErrReturnObject().setErrMsg("非审核状态的【"+row.getString("txlogisticid")+"】快递信息单无法反审核")
|
|
|
+ return getErrReturnObject().setErrMsg("非审核状态的【" + row.getString("txlogisticid") + "】快递信息单无法反审核")
|
|
|
.toString();
|
|
|
}
|
|
|
}
|
|
|
@@ -389,12 +386,12 @@ public class expressform extends Controller {
|
|
|
UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "expressform");
|
|
|
updateSQL.setUniqueid(expressformid);
|
|
|
updateSQL.setSiteid(siteid);
|
|
|
- updateSQL.setValue("status", ischeck?"审核":"新建");
|
|
|
- updateSQL.setValue("checkby", ischeck?username:"null");
|
|
|
- if(ischeck){
|
|
|
+ updateSQL.setValue("status", ischeck ? "审核" : "新建");
|
|
|
+ updateSQL.setValue("checkby", ischeck ? username : "null");
|
|
|
+ if (ischeck) {
|
|
|
updateSQL.setDateValue("checkdate");
|
|
|
- }else{
|
|
|
- updateSQL.setValue("checkdate","null");
|
|
|
+ } else {
|
|
|
+ updateSQL.setValue("checkdate", "null");
|
|
|
}
|
|
|
|
|
|
sqlList.add(updateSQL.getSQL());
|
|
|
@@ -406,31 +403,31 @@ public class expressform extends Controller {
|
|
|
@CACHEING_CLEAN(apiClass = {expressform.class, stockbill.class})
|
|
|
public String close() throws YosException {
|
|
|
ArrayList<String> sqlList = new ArrayList<>();
|
|
|
- String txlogisticid =content.getString("txlogisticid");
|
|
|
+ String txlogisticid = content.getString("txlogisticid");
|
|
|
Long expressformid = content.getLong("expressformid");
|
|
|
- Rows stockbillrows =dbConnect.runSqlQuery("select * from st_stockbill where txlogisticid='"+txlogisticid+"' and siteid='"+siteid+"'");
|
|
|
- Rows rows =dbConnect.runSqlQuery("select * from expressform where siteid='"+siteid+"' and expressformid="+expressformid);
|
|
|
- if(rows.isEmpty()){
|
|
|
+ Rows stockbillrows = dbConnect.runSqlQuery("select * from st_stockbill where txlogisticid='" + txlogisticid + "' and siteid='" + siteid + "'");
|
|
|
+ Rows rows = dbConnect.runSqlQuery("select * from expressform where siteid='" + siteid + "' and expressformid=" + expressformid);
|
|
|
+ if (rows.isEmpty()) {
|
|
|
return getErrReturnObject().setErrMsg("该快递信息不存在").toString();
|
|
|
}
|
|
|
- if(!rows.get(0).getString("status").equals("审核")){
|
|
|
+ if (!rows.get(0).getString("status").equals("审核")) {
|
|
|
return getErrReturnObject().setErrMsg("非审核状态下不能关闭").toString();
|
|
|
}
|
|
|
- if((!rows.get(0).getBoolean("success")) && stockbillrows.size()==0) {
|
|
|
+ if ((!rows.get(0).getBoolean("success")) && stockbillrows.size() == 0) {
|
|
|
return getErrReturnObject().setErrMsg("该快递信息单未生成电子面单,且未关联销售出库单,直接删除即可").toString();
|
|
|
}
|
|
|
|
|
|
- for(Row row :stockbillrows){
|
|
|
- sqlList.add("update st_stockbill set txlogisticid='',mailno='' where st_stockbillid="+row.getLong("st_stockbillid"));
|
|
|
+ for (Row row : stockbillrows) {
|
|
|
+ sqlList.add("update st_stockbill set txlogisticid='',mailno='' where st_stockbillid=" + row.getLong("st_stockbillid"));
|
|
|
}
|
|
|
- sqlList.add("update expressform set status='关闭' where expressformid="+expressformid);
|
|
|
+ sqlList.add("update expressform set status='关闭' where expressformid=" + expressformid);
|
|
|
dbConnect.runSqlUpdate(sqlList);
|
|
|
return getSucReturnObject().toString();
|
|
|
}
|
|
|
|
|
|
@API(title = "查询快递发件人", apiversion = R.ID2025080713343803.v1.class)
|
|
|
public String querysendperson() throws YosException {
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "expresssdr","*");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "expresssdr", "*");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
querySQL.setWhere("t1.siteid", siteid);
|
|
|
querySQL.setPage(pageSize, pageNumber);
|
|
|
@@ -440,6 +437,7 @@ public class expressform extends Controller {
|
|
|
|
|
|
/**
|
|
|
* 向圆通电子面单申请接口发送请求,申请圆通电子面单号
|
|
|
+ *
|
|
|
* @return
|
|
|
* @throws YosException
|
|
|
*/
|
|
|
@@ -447,77 +445,77 @@ public class expressform extends Controller {
|
|
|
public String applyMailNo_YTO() throws YosException {
|
|
|
long expressformid = content.getLong("expressformid");
|
|
|
ArrayList<String> sqlList = new ArrayList<>();
|
|
|
- Rows rows =dbConnect.runSqlQuery("select * from expressform where siteid='"+siteid+"' and expressformid="+expressformid);
|
|
|
- if(rows.isEmpty()){
|
|
|
+ Rows rows = dbConnect.runSqlQuery("select * from expressform where siteid='" + siteid + "' and expressformid=" + expressformid);
|
|
|
+ if (rows.isEmpty()) {
|
|
|
return getErrReturnObject().setErrMsg("该快递信息不存在").toString();
|
|
|
}
|
|
|
- if(rows.get(0).getBoolean("success")){
|
|
|
+ if (rows.get(0).getBoolean("success")) {
|
|
|
return getErrReturnObject().setErrMsg("该快递信息单已成功申请电子面单!").toString();
|
|
|
- }else if(StringUtils.isNotBlank(rows.get(0).getString("mailno"))){
|
|
|
+ } else if (StringUtils.isNotBlank(rows.get(0).getString("mailno"))) {
|
|
|
return getErrReturnObject().setErrMsg("该快递信息单已有快递面单单号,不需要重复申请!").toString();
|
|
|
- }else if("关闭".equals(rows.get(0).getString("status"))) {
|
|
|
+ } else if ("关闭".equals(rows.get(0).getString("status"))) {
|
|
|
return getErrReturnObject().setErrMsg("该快递信息单已关闭,不能申请电子面单!").toString();
|
|
|
- }else if(!"YTO".equalsIgnoreCase(rows.get(0).getString("logisticproviderid"))) {
|
|
|
+ } else if (!"YTO".equalsIgnoreCase(rows.get(0).getString("logisticproviderid"))) {
|
|
|
return getErrReturnObject().setErrMsg("目前只支持申请圆通的电子面单!").toString();
|
|
|
}
|
|
|
|
|
|
- String ordertype=rows.get(0).getString("ordertype");
|
|
|
- Rows expressvalRows = dbConnect.runSqlQuery("select * from expressval where siteid='"+siteid+"' and logisticproviderid='YTO' and ordertype='"+ordertype+"'");
|
|
|
- if(expressvalRows.isEmpty()){
|
|
|
- return getErrReturnObject().setErrMsg("数据表'expressVal'中,缺少圆通快递开放平台的对接信息! 发货方式: "+ordertype+";快递公司: YTO").toString();
|
|
|
+ String ordertype = rows.get(0).getString("ordertype");
|
|
|
+ Rows expressvalRows = dbConnect.runSqlQuery("select * from expressval where siteid='" + siteid + "' and logisticproviderid='YTO' and ordertype='" + ordertype + "'");
|
|
|
+ if (expressvalRows.isEmpty()) {
|
|
|
+ return getErrReturnObject().setErrMsg("数据表'expressVal'中,缺少圆通快递开放平台的对接信息! 发货方式: " + ordertype + ";快递公司: YTO").toString();
|
|
|
}
|
|
|
|
|
|
String url_mailno = expressvalRows.get(0).getString("url_mailno");
|
|
|
- String clientId = expressvalRows.get(0).getString("clientid");
|
|
|
- String partnerID = expressvalRows.get(0).getString("partnerid");
|
|
|
+ String clientId = expressvalRows.get(0).getString("clientid");
|
|
|
+ String partnerID = expressvalRows.get(0).getString("partnerid");
|
|
|
|
|
|
- Rows expresssdrRows = dbConnect.runSqlQuery("select * from expresssdr where siteid='"+siteid+"' and expresssdrid="+rows.get(0).getLong("expresssdrid"));
|
|
|
+ Rows expresssdrRows = dbConnect.runSqlQuery("select * from expresssdr where siteid='" + siteid + "' and expresssdrid=" + rows.get(0).getLong("expresssdrid"));
|
|
|
|
|
|
- if(expresssdrRows.isEmpty()) {
|
|
|
+ if (expresssdrRows.isEmpty()) {
|
|
|
return getErrReturnObject().setErrMsg("未设置默认发件人信息").toString();
|
|
|
}
|
|
|
Person sender = new Person(expresssdrRows.get(0).getString("name"), expresssdrRows.get(0).getString("postcode"),
|
|
|
expresssdrRows.get(0).getString("phonenumber"), expresssdrRows.get(0).getString("mobile"),
|
|
|
- expresssdrRows.get(0).getString("province"), expresssdrRows.get(0).getString("city")+","+expresssdrRows.get(0).getString("county"), expresssdrRows.get(0).getString("address"));
|
|
|
+ expresssdrRows.get(0).getString("province"), expresssdrRows.get(0).getString("city") + "," + expresssdrRows.get(0).getString("county"), expresssdrRows.get(0).getString("address"));
|
|
|
|
|
|
- YTOExpressMailNoClient client = new YTOExpressMailNoClient(url_mailno,clientId,partnerID,sender);
|
|
|
+ YTOExpressMailNoClient client = new YTOExpressMailNoClient(url_mailno, clientId, partnerID, sender);
|
|
|
|
|
|
- YTORequestOrder requestOrder=client.newYTORequestOrder();
|
|
|
+ YTORequestOrder requestOrder = client.newYTORequestOrder();
|
|
|
//tradeNo,orderType,serviceType,remark
|
|
|
//rcv_name,rcv_postCode,rcv_phone,rcv_mobile,rcv_prov,rcv_city,rcv_address
|
|
|
//itemName,number,itemsweight
|
|
|
requestOrder.setTxLogisticID(rows.get(0).getString("txLogisticid"));
|
|
|
requestOrder.setTradeNo(rows.get(0).getString("tradeno"));
|
|
|
- if(StringUtils.isBlank(rows.get(0).getString("ordertype"))) {
|
|
|
+ if (StringUtils.isBlank(rows.get(0).getString("ordertype"))) {
|
|
|
return getErrReturnObject().setErrMsg("未设置快递付款类型").toString();
|
|
|
}
|
|
|
requestOrder.setOrderType(rows.get(0).getInteger("ordertype"));
|
|
|
requestOrder.setServiceType(rows.get(0).getInteger("servicetype"));
|
|
|
requestOrder.setRemark(rows.get(0).getString("remarks"));
|
|
|
//if(requestOrder.getOrderType()==0 || requestOrder.getOrderType()==4) {
|
|
|
- if(requestOrder.getOrderType()==4) {
|
|
|
+ if (requestOrder.getOrderType() == 4) {
|
|
|
requestOrder.setAgencyFund(rows.get(0).getDouble("agencyfund"));
|
|
|
}
|
|
|
|
|
|
Person receiver = new Person(rows.get(0).getString("rcv_name"), rows.get(0).getString("rcv_postcode"),
|
|
|
rows.get(0).getString("rcv_phone"), rows.get(0).getString("rcv_mobile"),
|
|
|
- rows.get(0).getString("rcv_prov"), rows.get(0).getString("rcv_city")+","+rows.get(0).getString("rcv_county"), rows.get(0).getString("rcv_address"));
|
|
|
+ rows.get(0).getString("rcv_prov"), rows.get(0).getString("rcv_city") + "," + rows.get(0).getString("rcv_county"), rows.get(0).getString("rcv_address"));
|
|
|
requestOrder.setReceiver(receiver);
|
|
|
|
|
|
Item item = new Item(rows.get(0).getString("itemname"), rows.get(0).getInteger("number"), rows.get(0).getDouble("itemsweight"));
|
|
|
- requestOrder.setItems(new Item[] {item});
|
|
|
- Map<String, Object> resultMap= new HashMap<>();
|
|
|
- // Map<String, Object> resultMap= client.sendRequestForMailNo(requestOrder);
|
|
|
- if(resultMap!=null) {
|
|
|
+ requestOrder.setItems(new Item[]{item});
|
|
|
+ Map<String, Object> resultMap = new HashMap<>();
|
|
|
+ // Map<String, Object> resultMap= client.sendRequestForMailNo(requestOrder);
|
|
|
+ if (resultMap != null) {
|
|
|
String code = (String) resultMap.get("code");
|
|
|
- if("200".equals(code)) {//成功
|
|
|
+ if ("200".equals(code)) {//成功
|
|
|
UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "expressform");
|
|
|
updateSQL.setUniqueid(expressformid);
|
|
|
updateSQL.setSiteid(siteid);
|
|
|
updateSQL.setDateValue("pushdate");
|
|
|
updateSQL.setValue("code", code);
|
|
|
- updateSQL.setValue("mailno", (String)resultMap.get("mailNo"));
|
|
|
- Map<String,String> distributeInfoMap = (Map<String, String>) resultMap.get("distributeInfo");
|
|
|
+ updateSQL.setValue("mailno", (String) resultMap.get("mailNo"));
|
|
|
+ Map<String, String> distributeInfoMap = (Map<String, String>) resultMap.get("distributeInfo");
|
|
|
updateSQL.setValue("shortAddress", distributeInfoMap.get("shortAddress"));
|
|
|
updateSQL.setValue("consigneebranchcode", distributeInfoMap.get("consigneeBranchCode"));
|
|
|
updateSQL.setValue("packagecentercode", distributeInfoMap.get("packageCenterCode"));
|
|
|
@@ -526,19 +524,19 @@ public class expressform extends Controller {
|
|
|
updateSQL.setValue("changeby", username);
|
|
|
updateSQL.setDateValue("changedate");
|
|
|
sqlList.add(updateSQL.getSQL());
|
|
|
- }else {//失败
|
|
|
+ } else {//失败
|
|
|
UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "expressform");
|
|
|
updateSQL.setUniqueid(expressformid);
|
|
|
updateSQL.setSiteid(siteid);
|
|
|
updateSQL.setDateValue("pushdate");
|
|
|
updateSQL.setValue("code", code);
|
|
|
- updateSQL.setValue("reason", (String)resultMap.get("reason"));
|
|
|
+ updateSQL.setValue("reason", (String) resultMap.get("reason"));
|
|
|
updateSQL.setValue("success", 0);
|
|
|
updateSQL.setValue("changeby", username);
|
|
|
updateSQL.setDateValue("changedate");
|
|
|
sqlList.add(updateSQL.getSQL());
|
|
|
}
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
throw new YosException("请求电子面单接口超时");
|
|
|
}
|
|
|
dbConnect.runSqlUpdate(sqlList);
|
|
|
@@ -546,4 +544,46 @@ public class expressform extends Controller {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 批量打印(圆通)
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @API(title = "批量打印(圆通)", apiversion = R.ID2025101815291401.v1.class)
|
|
|
+ public String BatchPrint_YTO() throws YosException {
|
|
|
+ JSONArray expressformids = content.getJSONArray("expressformids");
|
|
|
+ List<Long> expressformidList = expressformids.toJavaList(Long.class);
|
|
|
+ String[] fbillnums = new String[expressformidList.size()];
|
|
|
+ for (int i = 0; i < expressformidList.size(); i++) {
|
|
|
+ Row expressForm = dbConnect.runSqlQuery(0, "select * from expressform where expressformid=" + expressformidList.get(i));
|
|
|
+ if (!expressForm.getBoolean("success") || expressForm.getString("mailNo").isEmpty()) {
|
|
|
+ return getErrReturnObject().setErrMsg("快递信息单'" + expressForm.getString("txlogisticid") + "/" + expressForm.getString("rcv_name") + "',未成功申请圆通电子面单!").toString();
|
|
|
+ }
|
|
|
+ fbillnums[i] = expressForm.getString("mailNo");
|
|
|
+ }
|
|
|
+ String scheme = request.getHttpServletRequest().getScheme();
|
|
|
+ String serverName = request.getHttpServletRequest().getServerName();
|
|
|
+ int port = request.getHttpServletRequest().getServerPort();
|
|
|
+ String hostName = scheme + "://" + serverName + ":" + port;
|
|
|
+
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_resources", "url", "siteid,type", "sys_resourcesid", "contentType");
|
|
|
+ querySQL.setWhere("resourcename", "yuantong3_batch");
|
|
|
+ Row resourcesRow = querySQL.query().get(0);
|
|
|
+ String url = "";
|
|
|
+ if (resourcesRow != null && resourcesRow.getString("type").equals("固定网址")) {
|
|
|
+ url = resourcesRow.getString("url");
|
|
|
+ }
|
|
|
+ if (resourcesRow != null && resourcesRow.getString("type").equals("附件")) {
|
|
|
+ Rows attmap = Attachment.get(this, "sys_resources", resourcesRow.getLong("sys_resourcesid"));
|
|
|
+ url = attmap.getLastRow().getString("url");
|
|
|
+ }
|
|
|
+
|
|
|
+ Hashtable<String, String> grMap = new Hashtable<>(3);
|
|
|
+
|
|
|
+ grMap.put("baseurl", "");
|
|
|
+ grMap.put("report", url);
|
|
|
+ grMap.put("data", hostName + "/yos/rest/yt/getExpressInfo?fbilltype=expressbill&username=" + username + "&fbillnum=" + StringUtils.join(fbillnums, "&fbillnum="));
|
|
|
+
|
|
|
+ return getSucReturnObject().setData(grMap).toString();
|
|
|
+ }
|
|
|
}
|