|
@@ -0,0 +1,226 @@
|
|
|
+package restcontroller.webmanage.sale.expressform;
|
|
|
+
|
|
|
+import beans.data.BatchDeleteErr;
|
|
|
+import beans.datacontrllog.DataContrlLog;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import common.Controller;
|
|
|
+import common.YosException;
|
|
|
+import common.annotation.API;
|
|
|
+import common.annotation.CACHEING;
|
|
|
+import common.annotation.CACHEING_CLEAN;
|
|
|
+import common.data.*;
|
|
|
+import restcontroller.R;
|
|
|
+
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.util.ArrayList;
|
|
|
+
|
|
|
+@API(title = "快递信息表")
|
|
|
+public class expressform extends Controller {
|
|
|
+ public expressform(JSONObject content) throws YosException {
|
|
|
+ super(content);
|
|
|
+ }
|
|
|
+
|
|
|
+ @API(title = "新增更新快递信息", apiversion = R.ID2025080614514703.v1.class)
|
|
|
+ @CACHEING_CLEAN(apiClass = {expressform.class})
|
|
|
+ public String insertormodify_expressform() throws YosException {
|
|
|
+ ArrayList<String> sqlList = new ArrayList<>();
|
|
|
+ // 表名
|
|
|
+
|
|
|
+ String tableName = "expressform";
|
|
|
+ Long expressformid = content.getLong("expressformid");
|
|
|
+ String logisticproviderid = content.getStringValue("logisticproviderid");
|
|
|
+ String ordertype = content.getStringValue("ordertype");
|
|
|
+ String agencyfund = content.getStringValue("agencyfund");
|
|
|
+ String itemname = content.getStringValue("itemname");
|
|
|
+ BigDecimal itemsweight = content.getBigDecimal("itemsweight");
|
|
|
+ BigDecimal number = content.getBigDecimal("number");
|
|
|
+ String remarks = content.getStringValue("remarks");
|
|
|
+ String fpriority_ads = content.getStringValue("fpriority_ads");
|
|
|
+ long sys_enterpriseid = content.getLong("sys_enterpriseid");
|
|
|
+ String rcv_name = content.getStringValue("rcv_name");
|
|
|
+ String rcv_phone = content.getStringValue("rcv_phone");
|
|
|
+ String rcv_mobile = content.getStringValue("rcv_mobile");
|
|
|
+ String rcv_postcode = content.getStringValue("rcv_postcode");
|
|
|
+ String rcv_prov = content.getStringValue("rcv_prov");
|
|
|
+ String rcv_city = content.getStringValue("rcv_city");
|
|
|
+ String rcv_county = content.getStringValue("rcv_county");
|
|
|
+ String rcv_address = content.getStringValue("rcv_address");
|
|
|
+ long expresssdrid = content.getLongValue("expresssdrid");
|
|
|
+ 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");
|
|
|
+ }
|
|
|
+ if (expressformid <= 0) {
|
|
|
+
|
|
|
+ expressformid = createTableID(tableName);
|
|
|
+ InsertSQL insertSQL = SQLFactory.createInsertSQL(this, tableName);
|
|
|
+ insertSQL.setUniqueid(expressformid);
|
|
|
+ insertSQL.setSiteid(siteid);
|
|
|
+ insertSQL.setValue("logisticproviderid", logisticproviderid);
|
|
|
+ insertSQL.setValue("ordertype", ordertype);
|
|
|
+ insertSQL.setValue("agencyfund", agencyfund);
|
|
|
+ insertSQL.setValue("itemname", itemname);
|
|
|
+ insertSQL.setValue("itemsweight", itemsweight);
|
|
|
+ insertSQL.setValue("number", number);
|
|
|
+ insertSQL.setValue("fpriority_ads", fpriority_ads);
|
|
|
+ insertSQL.setValue("sys_enterpriseid", sys_enterpriseid);
|
|
|
+ insertSQL.setValue("rcv_name", rcv_name);
|
|
|
+ insertSQL.setValue("rcv_phone", rcv_phone);
|
|
|
+ insertSQL.setValue("rcv_mobile", rcv_mobile);
|
|
|
+ insertSQL.setValue("rcv_postcode", rcv_postcode);
|
|
|
+ insertSQL.setValue("rcv_prov", rcv_prov);
|
|
|
+ insertSQL.setValue("rcv_city", rcv_city);
|
|
|
+ insertSQL.setValue("rcv_county", rcv_county);
|
|
|
+ insertSQL.setValue("rcv_address", rcv_address);
|
|
|
+ insertSQL.setValue("expresssdrid", expresssdrid);
|
|
|
+ insertSQL.setValue("remarks", remarks);
|
|
|
+ insertSQL.setValue("billno", createBillCode("expressform"));
|
|
|
+
|
|
|
+ insertSQL.setValue("createby", username);
|
|
|
+ insertSQL.setDateValue("createdate");
|
|
|
+ insertSQL.setValue("changeby", username);
|
|
|
+ insertSQL.setDateValue("changedate");
|
|
|
+ insertSQL.setValue("status", "新建");
|
|
|
+ sqlList.add(insertSQL.getSQL());
|
|
|
+
|
|
|
+ sqlList.add(DataContrlLog.createLog(this, "expressform", expressformid, "新增", "快递信息新增成功").getSQL());
|
|
|
+ } else {
|
|
|
+ Rows rows = dbConnect.runSqlQuery(
|
|
|
+ "SELECT status from expressform WHERE expressformid = "
|
|
|
+ + expressformid);
|
|
|
+ if (rows.isNotEmpty()) {
|
|
|
+ if (rows.get(0).getString("status").equals("新建")) {
|
|
|
+
|
|
|
+ UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, tableName);
|
|
|
+ updateSQL.setUniqueid(expressformid);
|
|
|
+ updateSQL.setSiteid(siteid);
|
|
|
+ updateSQL.setValue("logisticproviderid", logisticproviderid);
|
|
|
+ updateSQL.setValue("ordertype", ordertype);
|
|
|
+ updateSQL.setValue("agencyfund", agencyfund);
|
|
|
+ updateSQL.setValue("itemname", itemname);
|
|
|
+ updateSQL.setValue("itemsweight", itemsweight);
|
|
|
+ updateSQL.setValue("number", number);
|
|
|
+ updateSQL.setValue("fpriority_ads", fpriority_ads);
|
|
|
+ updateSQL.setValue("sys_enterpriseid", sys_enterpriseid);
|
|
|
+ updateSQL.setValue("rcv_name", rcv_name);
|
|
|
+ updateSQL.setValue("rcv_phone", rcv_phone);
|
|
|
+ updateSQL.setValue("rcv_mobile", rcv_mobile);
|
|
|
+ updateSQL.setValue("rcv_postcode", rcv_postcode);
|
|
|
+ updateSQL.setValue("rcv_prov", rcv_prov);
|
|
|
+ updateSQL.setValue("rcv_city", rcv_city);
|
|
|
+ updateSQL.setValue("rcv_county", rcv_county);
|
|
|
+ updateSQL.setValue("rcv_address", rcv_address);
|
|
|
+ updateSQL.setValue("remarks", remarks);
|
|
|
+ updateSQL.setValue("changeby", username);
|
|
|
+ updateSQL.setDateValue("changedate");
|
|
|
+ sqlList.add(updateSQL.getSQL());
|
|
|
+
|
|
|
+ sqlList.add(DataContrlLog.createLog(this, "expressform", expressformid, "更新", "快递信息更新成功").getSQL());
|
|
|
+ } else {
|
|
|
+ return getErrReturnObject().setErrMsg("非新建状态下无法编辑").toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ return getErrReturnObject().setErrMsg("该快递信息不存在").toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ dbConnect.runSqlUpdate(sqlList);
|
|
|
+ content.put("expressformid", expressformid);
|
|
|
+
|
|
|
+ return queryexpressformMain();
|
|
|
+ }
|
|
|
+
|
|
|
+ @API(title = "快递信息详情", apiversion = R.ID2025080614515903.v1.class)
|
|
|
+ @CACHEING
|
|
|
+ public String queryexpressformMain() throws YosException {
|
|
|
+ long expressformid = content.getLong("expressformid");
|
|
|
+ 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");
|
|
|
+
|
|
|
+ querySQL.setWhere("t1.siteid", siteid);
|
|
|
+ querySQL.setWhere("t1.expressformid",expressformid);
|
|
|
+ Rows rows = querySQL.query();
|
|
|
+
|
|
|
+ Row row = rows.isNotEmpty() ? rows.get(0) : new Row();
|
|
|
+ return getSucReturnObject().setData(row).toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ @API(title = "快递信息列表", apiversion = R.ID2025080614520703.v1.class)
|
|
|
+ @CACHEING
|
|
|
+ public String queryexpressformList() throws YosException {
|
|
|
+ StringBuffer where = new StringBuffer(" 1=1 ");
|
|
|
+ if (content.containsKey("where")) {
|
|
|
+ JSONObject whereObject = content.getJSONObject("where");
|
|
|
+ if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
|
|
|
+ where.append(" and(");
|
|
|
+ where.append("t1.billno like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("or t1.remarks like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append(")");
|
|
|
+ }
|
|
|
+ if (whereObject.containsKey("status") && !"".equals(whereObject.getString("status"))) {
|
|
|
+ where.append(" and t1.status ='").append(whereObject.getString("status")).append("' ");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ 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");
|
|
|
+
|
|
|
+ querySQL.setWhere("t1.siteid", siteid);
|
|
|
+ querySQL.setWhere(where);
|
|
|
+ querySQL.setPage(pageSize, pageNumber);
|
|
|
+ querySQL.setOrderBy(pageSorting);
|
|
|
+ Rows rows = querySQL.query();
|
|
|
+
|
|
|
+ return getSucReturnObject().setData(rows).toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ @API(title = "删除", apiversion = R.ID2025080614521603.v1.class)
|
|
|
+ @CACHEING_CLEAN(apiClass = {expressform.class})
|
|
|
+ public String delete() throws YosException {
|
|
|
+ JSONArray expressformids = content.getJSONArray("expressformids");
|
|
|
+ BatchDeleteErr batchDeleteErr = BatchDeleteErr.create(this, expressformids.size());
|
|
|
+ for (Object o : expressformids) {
|
|
|
+ long expressformid = Long.parseLong(o.toString());
|
|
|
+ Rows RowsStatus = dbConnect.runSqlQuery("select expressformid,status from expressform where siteid='"
|
|
|
+ + siteid + "' and expressformid='" + expressformid + "'");
|
|
|
+
|
|
|
+ if (RowsStatus.isNotEmpty()) {
|
|
|
+ if (!RowsStatus.get(0).getString("status").equals("新建")) {
|
|
|
+ batchDeleteErr.addErr(expressformid, "非新建状态的快递信息无法删除");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ArrayList<String> sqllist = new ArrayList<>();
|
|
|
+ sqllist.add("delete from expressform where siteid='" + siteid + "' and expressformid=" + expressformid);
|
|
|
+ //sqllist.add("delete from expressformbillcodes where siteid='" + siteid + "' and expressformid=" + expressformid);
|
|
|
+ dbConnect.runSqlUpdate(sqllist);
|
|
|
+ }
|
|
|
+ return batchDeleteErr.getReturnObject().toString();
|
|
|
+ }
|
|
|
+}
|