|
|
@@ -48,9 +48,9 @@ public class aftersalesmag extends Controller {
|
|
|
// 表名
|
|
|
String tableName = "sa_aftersalesmag";
|
|
|
Long sa_aftersalesmagid = content.getLong("sa_aftersalesmagid");
|
|
|
- String type = content.getString("type");
|
|
|
- String typemx = content.getStringValue("typemx");
|
|
|
- Long sa_orderid = content.getLong("sa_orderid");
|
|
|
+// String type = content.getString("type");
|
|
|
+// String typemx = content.getStringValue("typemx");
|
|
|
+// Long sa_orderid = content.getLong("sa_orderid");
|
|
|
if (content.containsKey("sys_enterpriseid")) {
|
|
|
sys_enterpriseid = content.getLong("sys_enterpriseid");
|
|
|
}
|
|
|
@@ -58,67 +58,49 @@ public class aftersalesmag extends Controller {
|
|
|
// BigDecimal rebate_userate =content.getBigDecimalValue("rebate_userate");
|
|
|
// BigDecimal returnamount = content.getBigDecimalValue("returnamount");
|
|
|
// Long sa_accountclassid = content.getLong("sa_accountclassid");
|
|
|
- String reason = content.getStringValue("reason");
|
|
|
- boolean isitemreturn = content.getBooleanValue("isitemreturn");
|
|
|
-// String logisticno = content.getStringValue("logisticno");
|
|
|
+// String reason = content.getStringValue("reason");
|
|
|
+// boolean isitemreturn = content.getBooleanValue("isitemreturn");
|
|
|
+//// String logisticno = content.getStringValue("logisticno");
|
|
|
String billdate = content.getStringValue("billdate");
|
|
|
- SQLFactory sqlFactory = new SQLFactory(this, "返退单新增");
|
|
|
-
|
|
|
if (sa_aftersalesmagid <= 0 || dbConnect.runSqlQuery(
|
|
|
"select sa_aftersalesmagid from sa_aftersalesmag where sa_aftersalesmagid=" + sa_aftersalesmagid)
|
|
|
.isEmpty()) {
|
|
|
sa_aftersalesmagid = createTableID(tableName);
|
|
|
- sqlFactory.addParameter("sa_orderid", sa_orderid);
|
|
|
- Rows soaderRows = dbConnect.runSqlQuery(
|
|
|
- "select sa_orderid,sa_accountclassid,rebate_userate from sa_order where sa_orderid=" + sa_orderid);
|
|
|
- if (soaderRows.isEmpty()) {
|
|
|
- //return getErrReturnObject().setErrMsg("该订单不存在").toString();
|
|
|
- if (!content.containsKey("sa_accountclassid")) {
|
|
|
- return getErrReturnObject().setErrMsg("退款账户需必填").toString();
|
|
|
- }
|
|
|
- sqlFactory.addParameter("sa_accountclassid", content.getLong("sa_accountclassid"));
|
|
|
- sqlFactory.addParameter("rebate_userate", 0);
|
|
|
+ InsertSQL insertSQL = SQLFactory.createInsertSQL(this, tableName);
|
|
|
+ insertSQL.setUniqueid(sa_aftersalesmagid);
|
|
|
+ insertSQL.setSiteid(siteid);
|
|
|
+ insertSQL.setValue("sys_enterpriseid", sys_enterpriseid);
|
|
|
+ if (usertype == 21 || usertype == 22) {
|
|
|
+ insertSQL.setValue("createflag", 0);
|
|
|
} else {
|
|
|
- sqlFactory.addParameter("sa_accountclassid", soaderRows.get(0).getLong("sa_accountclassid"));
|
|
|
- sqlFactory.addParameter("rebate_userate", soaderRows.get(0).getBigDecimal("rebate_userate"));
|
|
|
- }
|
|
|
-
|
|
|
- sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
|
|
|
- if (!content.containsKey("sys_enterpriseid")) {
|
|
|
- Rows accountclassRows = dbConnect.runSqlQuery("select * from sa_accountclass where siteid='" + siteid + "' and accountname='现金账户'");
|
|
|
- if (accountclassRows.isNotEmpty()) {
|
|
|
- sqlFactory.addParameter("sa_accountclassid", accountclassRows.get(0).getLong("sa_accountclassid"));
|
|
|
- } else {
|
|
|
- return getErrReturnObject().setErrMsg("现金账户不存在,无法新建").toString();
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- sqlFactory.addParameter("type", type);
|
|
|
+ insertSQL.setValue("createflag", 1);
|
|
|
+ }
|
|
|
+ insertSQL.setValue("remarks", content.getStringValue("remarks"));
|
|
|
+ insertSQL.setValue("billno", createBillCode("aftersalesmagbill"));
|
|
|
+ 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, "sa_aftersalesmag", sa_aftersalesmagid, "新增", "返退单新增成功").getSQL());
|
|
|
} else {
|
|
|
Rows rows = dbConnect.runSqlQuery(
|
|
|
- "SELECT status,sys_enterpriseid,sa_orderid,sa_accountclassid,rebate_userate from sa_aftersalesmag WHERE sa_aftersalesmagid = "
|
|
|
+ "SELECT status from sa_aftersalesmag WHERE sa_aftersalesmagid = "
|
|
|
+ sa_aftersalesmagid);
|
|
|
if (rows.isNotEmpty()) {
|
|
|
if (rows.get(0).getString("status").equals("新建")) {
|
|
|
- sqlFactory = new SQLFactory(this, "返退单更新");
|
|
|
- sqlList.add("delete from sa_aftersalesmag_items WHERE sa_aftersalesmagid = "
|
|
|
- + sa_aftersalesmagid);
|
|
|
- sqlFactory.addParameter("sa_orderid", sa_orderid);
|
|
|
- Rows soaderRows = dbConnect.runSqlQuery(
|
|
|
- "select sa_orderid,sa_accountclassid,rebate_userate from sa_order where sys_enterpriseid=" + sys_enterpriseid + " and sa_orderid="
|
|
|
- + sa_orderid);
|
|
|
- if (soaderRows.isEmpty()) {
|
|
|
- //return getErrReturnObject().setErrMsg("该订单不存在").toString();
|
|
|
- sqlFactory.addParameter("sa_accountclassid", content.getLong("sa_accountclassid"));
|
|
|
- sqlFactory.addParameter("rebate_userate", 0);
|
|
|
- } else {
|
|
|
- sqlFactory.addParameter("sa_accountclassid",
|
|
|
- soaderRows.get(0).getLong("sa_accountclassid"));
|
|
|
- sqlFactory.addParameter("rebate_userate",
|
|
|
- soaderRows.get(0).getBigDecimal("rebate_userate"));
|
|
|
- }
|
|
|
+
|
|
|
+ UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, tableName);
|
|
|
+ updateSQL.setUniqueid(sa_aftersalesmagid);
|
|
|
+ updateSQL.setSiteid(siteid);
|
|
|
+ updateSQL.setValue("sys_enterpriseid", sys_enterpriseid);
|
|
|
+ updateSQL.setValue("remarks", content.getStringValue("remarks"));
|
|
|
+ updateSQL.setValue("billdate", billdate);
|
|
|
+ updateSQL.setValue("changeby", username);
|
|
|
+ updateSQL.setDateValue("changedate");
|
|
|
+ sqlList.add(updateSQL.getSQL());
|
|
|
|
|
|
sqlList.add(DataContrlLog.createLog(this, "sa_aftersalesmag", sa_aftersalesmagid, "更新", "返退单更新成功")
|
|
|
.getSQL());
|
|
|
@@ -131,19 +113,29 @@ public class aftersalesmag extends Controller {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- sqlFactory.addParameter("typemx", typemx);
|
|
|
- sqlFactory.addParameter("siteid", siteid);
|
|
|
- sqlFactory.addParameter("userid", userid);
|
|
|
- sqlFactory.addParameter("username", username);
|
|
|
- sqlFactory.addParameter("sa_aftersalesmagid", sa_aftersalesmagid);
|
|
|
- // 返退单号createBillCode("aftersalesmagbill")
|
|
|
- sqlFactory.addParameter("billno", createBillCode("aftersalesmagbill"));
|
|
|
- sqlFactory.addParameter("reason", reason);
|
|
|
- sqlFactory.addParameter("billdate", billdate.equals("") ? "null" : billdate);
|
|
|
- sqlFactory.addParameter("isitemreturn", isitemreturn);
|
|
|
- sqlList.add(sqlFactory.getSQL());
|
|
|
- dbConnect.runSqlUpdate(sqlList);
|
|
|
+ dbConnect.runSqlUpdate("delete from sa_aftersalesmag_items where siteid='"+siteid+"' and sa_aftersalesmagid="+sa_aftersalesmagid);
|
|
|
+
|
|
|
+ InsertSQL insertSQLdetail = SQLFactory.createInsertSQL(this, "sa_aftersalesmag_items");
|
|
|
+ insertSQLdetail.setUniqueid(createTableID("sa_aftersalesmag_items"));
|
|
|
+ insertSQLdetail.setSiteid(siteid);
|
|
|
+ insertSQLdetail.setValue("sa_aftersalesmagid", sa_aftersalesmagid);
|
|
|
+ insertSQLdetail.setValue("name", content.getStringValue("name"));
|
|
|
+ insertSQLdetail.setValue("phonenumber", content.getStringValue("phonenumber"));
|
|
|
+ insertSQLdetail.setValue("address", content.getStringValue("address"));
|
|
|
+ insertSQLdetail.setValue("stockdate", StringUtils.isBlank(content.getStringValue("stockdate")) ? "null" : content.getStringValue("stockdate"));
|
|
|
+ insertSQLdetail.setValue("enddate", StringUtils.isBlank(content.getStringValue("enddate")) ? "null" : content.getStringValue("enddate"));
|
|
|
+ insertSQLdetail.setValue("model", content.getStringValue("model"));
|
|
|
+ insertSQLdetail.setValue("unitname", content.getStringValue("unitname"));
|
|
|
+ insertSQLdetail.setValue("itemname", content.getStringValue("itemname"));
|
|
|
+ insertSQLdetail.setValue("itemno", content.getStringValue("itemno"));
|
|
|
+ insertSQLdetail.setValue("duty", content.getStringValue("duty"));
|
|
|
+ insertSQLdetail.setValue("demand", content.getStringValue("demand"));
|
|
|
+ insertSQLdetail.setValue("machinecode", content.getStringValue("machinecode"));
|
|
|
+ insertSQLdetail.setValue("qty", 1);
|
|
|
+ insertSQLdetail.setValue("itemid", content.getLongValue("itemid"));
|
|
|
+ sqlList.add(insertSQLdetail.getSQL());
|
|
|
|
|
|
+ dbConnect.runSqlUpdate(sqlList);
|
|
|
content.put("sa_aftersalesmagid", sa_aftersalesmagid);
|
|
|
|
|
|
return queryaftersalesmagMain();
|
|
|
@@ -178,7 +170,7 @@ public class aftersalesmag extends Controller {
|
|
|
return queryaftersalesmagMain();
|
|
|
}
|
|
|
|
|
|
- @API(title = "可选择订单列表查询", apiversion = R.ID20230105110003.v1.class)
|
|
|
+ @API(title = "可选择商品列表查询", apiversion = R.ID20230105110003.v1.class)
|
|
|
@CACHEING
|
|
|
public String queryCheckOrderList() throws YosException {
|
|
|
|
|
|
@@ -191,27 +183,16 @@ public class aftersalesmag extends Controller {
|
|
|
* 过滤条件设置
|
|
|
*/
|
|
|
StringBuffer where = new StringBuffer(" 1=1 ");
|
|
|
- if (content.getBooleanValue("istool")) {
|
|
|
- where.append(" and t1.type ='工具借用单' and t1.status not in('新建','提交') ");
|
|
|
- } else {
|
|
|
- where.append(" and t1.type !='工具借用单' and t1.status in('审核','关闭') ");
|
|
|
- }
|
|
|
+
|
|
|
if (content.containsKey("where")) {
|
|
|
JSONObject whereObject = content.getJSONObject("where");
|
|
|
if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
|
|
|
where.append(" and(");
|
|
|
- where.append("t1.sonum like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("t2.itemname like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("or t2.itemno like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
+ where.append("or t1.sku like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
where.append(")");
|
|
|
}
|
|
|
- if (whereObject.containsKey("sonum") && !"".equals(whereObject.getString("sonum"))) {
|
|
|
- where.append(" and t1.sonum ='").append(whereObject.getString("sonum")).append("' ");
|
|
|
- }
|
|
|
- if (whereObject.containsKey("begindate") && !"".equals(whereObject.getString("begindate"))) {
|
|
|
- where.append(" and t1.checkdate >='").append(whereObject.getString("begindate")).append("' ");
|
|
|
- }
|
|
|
- if (whereObject.containsKey("enddate") && !"".equals(whereObject.getString("enddate"))) {
|
|
|
- where.append(" and t1.checkdate <='").append(whereObject.getString("enddate")).append("' ");
|
|
|
- }
|
|
|
}
|
|
|
// String hrid = content.getString("hrid");
|
|
|
// SQLFactory sqlFactory = new SQLFactory(this, "审核订单列表查询", pageSize, pageNumber, pageSorting);
|
|
|
@@ -219,12 +200,14 @@ public class aftersalesmag extends Controller {
|
|
|
// sqlFactory.addParameter("siteid", siteid);
|
|
|
// sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
|
|
|
// Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL(false));
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order", "*");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_itemsku ", "sku");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_orderitems", "t2", "t1.sa_orderid=t2.sa_orderid and t1.siteid=t2.siteid");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t2", "t1.itemid=t2.itemid and t1.siteid=t2.siteid","itemno","itemname","model");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "plm_unit", "t3", "t3.unitid=t2.unitid and t3.siteid=t2.siteid","unitname");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t4", "t4.sys_enterpriseid=t1.sys_enterpriseid and t4.siteid=t1.siteid","contact","phonenumber","address");
|
|
|
querySQL.setSiteid(siteid);
|
|
|
- querySQL.setWhere("(ifnull(t2.qty,0)-ifnull(t2.undeliqty,0))>ifnull(t2.returnqty,0)");
|
|
|
querySQL.setWhere("t1.sys_enterpriseid",sys_enterpriseid);
|
|
|
+ querySQL.setWhere("t1.sku not in (select machinecode from sa_aftersalesmag_items where siteid='"+siteid+"')");
|
|
|
querySQL.setWhere(where.toString());
|
|
|
querySQL.setDistinct(true);
|
|
|
querySQL.setPage(pageSize, pageNumber);
|
|
|
@@ -238,80 +221,81 @@ public class aftersalesmag extends Controller {
|
|
|
@CACHEING
|
|
|
public String queryaftersalesmagMain() throws YosException {
|
|
|
Long sa_aftersalesmagid = content.getLong("sa_aftersalesmagid");
|
|
|
- SQLFactory sqlFactory = new SQLFactory(this, "返退单详情查询");
|
|
|
- sqlFactory.addParameter("sa_aftersalesmagid", sa_aftersalesmagid);
|
|
|
- sqlFactory.addParameter("siteid", siteid);
|
|
|
- Rows rows = dbConnect.runSqlQuery(sqlFactory);
|
|
|
- Row row = rows.isNotEmpty() ? rows.get(0) : new Row();
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_aftersalesmag", "*");
|
|
|
+ querySQL.setTableAlias("t1");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid","enterprisename");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid","agentnum");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_aftersalesmag_items", "t4", "t1.sa_aftersalesmagid = t4.sa_aftersalesmagid AND t1.siteid = t4.siteid","name","phonenumber","address",
|
|
|
+ "stockdate","enddate","model","unitname","itemname","itemno","duty","demand","machinecode","reason","qty","itemid");
|
|
|
+ querySQL.addQueryFields("remarksdetail","t4.remarks");
|
|
|
+ querySQL.setSiteid(siteid);
|
|
|
+ querySQL.setWhere("t1.sa_aftersalesmagid",sa_aftersalesmagid);
|
|
|
+ querySQL.setPage(pageSize, pageNumber);
|
|
|
+ Rows rows = querySQL.query();
|
|
|
|
|
|
- return getSucReturnObject().setData(row).toString();
|
|
|
+ return getSucReturnObject().setData(rows).toString();
|
|
|
}
|
|
|
|
|
|
@API(title = "查询返退单列表", apiversion = R.ID20230104160703.v1.class)
|
|
|
@CACHEING
|
|
|
public String queryaftersalesmagList() throws YosException {
|
|
|
StringBuffer where = new StringBuffer(" 1=1 ");
|
|
|
- if (!StringUtils.isBlank(content.getString("type"))) {
|
|
|
- where.append(" and t1.type ='").append(content.getString("type")).append("' ");
|
|
|
- }
|
|
|
-
|
|
|
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 t3.sonum like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
where.append("or t2.enterprisename like'%").append(whereObject.getString("condition")).append("%' ");
|
|
|
- where.append("or t1.reason 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("' ");
|
|
|
- }
|
|
|
if (whereObject.containsKey("begindate") && !"".equals(whereObject.getString("begindate"))) {
|
|
|
+// if(content.getString("type").equals("借用归还单")) {
|
|
|
+// where.append(" and t1.createdate >='" + whereObject.getString("startdate")).append("' ");
|
|
|
+// }else if(content.getString("type").equals("退货单")) {
|
|
|
+// where.append(" and t1.checkdate >='" + whereObject.getString("startdate")).append("' ");
|
|
|
+// }
|
|
|
where.append(" and t1.billdate >='" + whereObject.getString("begindate")).append("' ");
|
|
|
}
|
|
|
if (whereObject.containsKey("enddate") && !"".equals(whereObject.getString("enddate"))) {
|
|
|
- where.append(" and t1.billdate <='" + whereObject.getString("enddate")).append("' ");
|
|
|
+// if(content.getString("type").equals("借用归还单")) {
|
|
|
+// where.append(" and t1.createdate <='" + whereObject.getString("enddate")).append("' ");
|
|
|
+// }else if(content.getString("type").equals("退货单")) {
|
|
|
+// where.append(" and t1.checkdate <='" + whereObject.getString("enddate")).append("' ");
|
|
|
+// }
|
|
|
+ where.append(" and t1.billdate <='" + whereObject.getString("enddate")).append(" 23:59:59'");
|
|
|
+ }
|
|
|
+ if (whereObject.containsKey("status") && !"".equals(whereObject.getString("status"))) {
|
|
|
+ where.append(" and t1.status ='").append(whereObject.getString("status")).append("' ");
|
|
|
}
|
|
|
}
|
|
|
-// SQLFactory sqlFactory = new SQLFactory(this, "返退单列表查询", pageSize, pageNumber, pageSorting);
|
|
|
-// sqlFactory.addParameter("siteid", siteid);
|
|
|
-// sqlFactory.addParameter_SQL("where", where);
|
|
|
-// Rows rows = dbConnect.runSqlQuery(sqlFactory);
|
|
|
-
|
|
|
- QuerySQL querySQL=SQLFactory.createQuerySQL(this,"sa_aftersalesmag","*");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left,"sys_enterprise","t2","t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid",
|
|
|
- "enterprisename","abbreviation","phonenumber");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left,"sa_order","t3","t1.sa_orderid = t3.sa_orderid AND t1.siteid = t3.siteid",
|
|
|
- "sonum");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left,"sa_accountclass","t4","t1.sa_accountclassid = t4.sa_accountclassid AND t1.siteid = t4.siteid",
|
|
|
- "accountno","accountname");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left,"sa_agents","t5","t1.sys_enterpriseid = t5.sys_enterpriseid AND t1.siteid = t5.siteid",
|
|
|
- "agentnum");
|
|
|
-
|
|
|
- querySQL.setWhere("t1.siteid",siteid);
|
|
|
- querySQL.setWhere(where.toString());
|
|
|
- querySQL.setPage(pageSize,pageNumber).setOrderBy(pageSorting).setTableAlias("t1");
|
|
|
- Rows rows=querySQL.query();
|
|
|
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_aftersalesmag", "*");
|
|
|
+ querySQL.setTableAlias("t1");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid","enterprisename");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid","agentnum");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_aftersalesmag_items", "t4", "t1.sa_aftersalesmagid = t4.sa_aftersalesmagid AND t1.siteid = t4.siteid","name","phonenumber","address",
|
|
|
+ "stockdate","enddate","model","unitname","itemname","itemno","duty","demand","machinecode","reason","qty","itemid");
|
|
|
+ querySQL.addQueryFields("remarksdetail","t4.remarks");
|
|
|
+ querySQL.setSiteid(siteid);
|
|
|
+ querySQL.setWhere(where.toString());
|
|
|
+ querySQL.setWhere("t1.createflag=1 or t1.status !='新建'");
|
|
|
+ querySQL.setPage(pageSize, pageNumber);
|
|
|
+ Rows rows = querySQL.query();
|
|
|
|
|
|
- ArrayList<Long> ids = rows.toArrayList("sa_aftersalesmagid", new ArrayList<>());
|
|
|
- //查询反退金额
|
|
|
- RowsMap aftersalesmagReturnAmountRowsMap = Aftersalesmag.getAftersalesmagReturnAmount(this, ids);
|
|
|
- if (!rows.isEmpty()) {
|
|
|
- for (Row row : rows) {
|
|
|
-
|
|
|
- Long id = row.getLong("sa_aftersalesmagid");
|
|
|
- if (aftersalesmagReturnAmountRowsMap.get(id.toString()).isNotEmpty()) {
|
|
|
- row.put("returnamount", aftersalesmagReturnAmountRowsMap.get(id.toString()).get(0).getBigDecimal("returnamount").toPlainString());
|
|
|
- } else {
|
|
|
- row.put("returnamount", 0);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
+// ArrayList<Long> ids = rows.toArrayList("sa_aftersalesmagid", new ArrayList<>());
|
|
|
+// //查询反退金额
|
|
|
+// RowsMap aftersalesmagReturnAmountRowsMap = Aftersalesmag.getAftersalesmagReturnAmount(this, ids);
|
|
|
|
|
|
+// for (Row row : rows) {
|
|
|
+//
|
|
|
+// Long id = row.getLong("sa_aftersalesmagid");
|
|
|
+// if (aftersalesmagReturnAmountRowsMap.get(id.toString()).isNotEmpty()) {
|
|
|
+// row.put("returnamount", aftersalesmagReturnAmountRowsMap.get(id.toString()).get(0).getBigDecimal("returnamount").toPlainString());
|
|
|
+// } else {
|
|
|
+// row.put("returnamount", 0);
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
return getSucReturnObject().setData(rows).toString();
|
|
|
}
|
|
|
|
|
|
@@ -341,8 +325,96 @@ public class aftersalesmag extends Controller {
|
|
|
|
|
|
}
|
|
|
|
|
|
- @API(title = "审核核反审核", apiversion = R.ID20230104161103.v1.class)
|
|
|
- @CACHEING_CLEAN(apiversions = {R.ID20230104160603.v1.class, R.ID20230104160703.v1.class, R.ID20230105110903.class, R.ID20230105161503.v1.class}, apiClass = {aftersalesmag.class, aftersalesmagItems.class})
|
|
|
+ @API(title = "撤回反撤回", apiversion = R.ID2025061316113303.v1.class)
|
|
|
+ @CACHEING_CLEAN( apiClass = {aftersalesmag.class, aftersalesmagItems.class,restcontroller.sale.aftersalesmag.aftersalesmag.class})
|
|
|
+ public String chehui() throws YosException {
|
|
|
+ Long sa_aftersalesmagid = content.getLong("sa_aftersalesmagid");
|
|
|
+ boolean ischehui = content.getBooleanValue("ischehui");
|
|
|
+ Rows rows = dbConnect.runSqlQuery("select t1.*,t3.agentnum,t2.enterprisename from sa_aftersalesmag t1 left join sys_enterprise t2 on t1.sys_enterpriseid=t2.sys_enterpriseid and t1.siteid=t2.siteid left join sa_agents t3 on t1.sys_enterpriseid=t3.sys_enterpriseid and t1.siteid=t3.siteid where t1.sa_aftersalesmagid ='"
|
|
|
+ + sa_aftersalesmagid + "' and t1.siteid='" + siteid + "'");
|
|
|
+
|
|
|
+ for (Row row : rows) {
|
|
|
+ if (ischehui) {
|
|
|
+ if (!row.getString("status").equals("提交")) {
|
|
|
+ return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的返退单为非提交状态,无法撤回")
|
|
|
+ .toString();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (!row.getString("status").equals("被撤回")) {
|
|
|
+ return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的返退单为非被撤回状态,无法反撤回")
|
|
|
+ .toString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ ArrayList<String> sqlList = new ArrayList<>();
|
|
|
+ SQLFactory sqlFactoryupdate;
|
|
|
+ if (ischehui) {
|
|
|
+ if(StringUtils.isBlank(content.getStringValue("reason"))){
|
|
|
+ return getErrReturnObject().setErrMsg("请填写撤回原因")
|
|
|
+ .toString();
|
|
|
+ }
|
|
|
+ sqlFactoryupdate = new SQLFactory(this, "返退单撤回");
|
|
|
+ sqlFactoryupdate.addParameter("reason", content.getStringValue("reason"));
|
|
|
+ sqlList.add(
|
|
|
+ DataContrlLog.createLog(this, "sa_aftersalesmag", sa_aftersalesmagid, "撤回", "返退单撤回成功").getSQL());
|
|
|
+ } else {
|
|
|
+ sqlFactoryupdate = new SQLFactory(this, "返退单反撤回");
|
|
|
+ sqlList.add(
|
|
|
+ DataContrlLog.createLog(this, "sa_aftersalesmag", sa_aftersalesmagid, "反撤回", "返退单反撤回成功").getSQL());
|
|
|
+ }
|
|
|
+ sqlFactoryupdate.addParameter("siteid", siteid);
|
|
|
+ sqlFactoryupdate.addParameter("sa_aftersalesmagid", sa_aftersalesmagid);
|
|
|
+ sqlFactoryupdate.addParameter("checkby", username);
|
|
|
+ sqlList.add(sqlFactoryupdate.getSQL());
|
|
|
+ dbConnect.runSqlUpdate(sqlList);
|
|
|
+ return getSucReturnObject().toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ @API(title = "确认反确认", apiversion = R.ID2025061316240103.v1.class)
|
|
|
+ public String confirm() throws YosException {
|
|
|
+ Long sa_aftersalesmagid = content.getLong("sa_aftersalesmagid");
|
|
|
+ boolean isconfirm = content.getBooleanValue("isconfirm");
|
|
|
+
|
|
|
+ Rows rows = dbConnect.runSqlQuery("select t1.*,t3.agentnum,t2.enterprisename from sa_aftersalesmag t1 left join sys_enterprise t2 on t1.sys_enterpriseid=t2.sys_enterpriseid and t1.siteid=t2.siteid left join sa_agents t3 on t1.sys_enterpriseid=t3.sys_enterpriseid and t1.siteid=t3.siteid where t1.sa_aftersalesmagid ='"
|
|
|
+ + sa_aftersalesmagid + "' and t1.siteid='" + siteid + "'");
|
|
|
+
|
|
|
+ for (Row row : rows) {
|
|
|
+ if (isconfirm) {
|
|
|
+ if (!row.getString("status").equals("提交")) {
|
|
|
+ return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的返退单为非提交状态,无法确认")
|
|
|
+ .toString();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (!row.getString("status").equals("确认")) {
|
|
|
+ return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的返退单为非确认状态,无法反确认")
|
|
|
+ .toString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ ArrayList<String> sqlList = new ArrayList<>();
|
|
|
+ SQLFactory sqlFactoryupdate;
|
|
|
+ if (isconfirm) {
|
|
|
+ sqlFactoryupdate = new SQLFactory(this, "返退单确认");
|
|
|
+ sqlList.add(
|
|
|
+ DataContrlLog.createLog(this, "sa_aftersalesmag", sa_aftersalesmagid, "确认", "返退单确认成功").getSQL());
|
|
|
+ } else {
|
|
|
+ sqlFactoryupdate = new SQLFactory(this, "返退单反确认");
|
|
|
+ sqlList.add(
|
|
|
+ DataContrlLog.createLog(this, "sa_aftersalesmag", sa_aftersalesmagid, "反确认", "返退单反确认成功").getSQL());
|
|
|
+ }
|
|
|
+ sqlFactoryupdate.addParameter("siteid", siteid);
|
|
|
+ sqlFactoryupdate.addParameter("sa_aftersalesmagid", sa_aftersalesmagid);
|
|
|
+ sqlFactoryupdate.addParameter("confirmby", username);
|
|
|
+ sqlList.add(sqlFactoryupdate.getSQL());
|
|
|
+ dbConnect.runSqlUpdate(sqlList);
|
|
|
+ return getSucReturnObject().toString();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @API(title = "审核反审核", apiversion = R.ID20230104161103.v1.class)
|
|
|
+ @CACHEING_CLEAN(apiClass = {aftersalesmag.class, aftersalesmagItems.class,restcontroller.sale.aftersalesmag.aftersalesmag.class})
|
|
|
public String check() throws YosException {
|
|
|
Long sa_aftersalesmagid = content.getLong("sa_aftersalesmagid");
|
|
|
boolean ischeck = content.getBooleanValue("ischeck");
|
|
|
@@ -355,8 +427,8 @@ public class aftersalesmag extends Controller {
|
|
|
+ sa_aftersalesmagid + "' and t1.siteid='" + siteid + "'");
|
|
|
for (Row row : rows) {
|
|
|
if (ischeck) {
|
|
|
- if (!row.getString("status").equals("提交")) {
|
|
|
- return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的返退单为非提交状态,无法审核")
|
|
|
+ if (!row.getString("status").equals("确认")) {
|
|
|
+ return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的返退单为非确认状态,无法审核")
|
|
|
.toString();
|
|
|
}
|
|
|
} else {
|
|
|
@@ -382,41 +454,7 @@ public class aftersalesmag extends Controller {
|
|
|
sqlFactoryupdate.addParameter("sa_aftersalesmagid", sa_aftersalesmagid);
|
|
|
sqlFactoryupdate.addParameter("checkby", username);
|
|
|
sqlList.add(sqlFactoryupdate.getSQL());
|
|
|
- if (ischeck) {
|
|
|
- //对接erp生成erp发货单
|
|
|
- if (Parameter.getBoolean("system.ccerp_dockswitch")) {
|
|
|
- ERPDocking erpDocking = new ERPDocking(siteid);
|
|
|
- if (!erpDocking.getUrl().isEmpty()) {
|
|
|
- String result = erpDocking.createErpSareturn(rows.get(0), rowsdetail, this, sa_aftersalesmagid);
|
|
|
- if (!result.equals("true")) {
|
|
|
- System.out.println(result);
|
|
|
- return getErrReturnObject().setErrMsg(result).toString();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (Parameter.getBoolean("system.ccerp_dockswitch")) {
|
|
|
- ERPDocking erpDocking = new ERPDocking(siteid);
|
|
|
- if (!erpDocking.getUrl().isEmpty()) {
|
|
|
- String result = erpDocking.recheckErpSareturn(rows.get(0).getString("billno"), true, this, sa_aftersalesmagid);
|
|
|
- if (!result.equals("true")) {
|
|
|
- return getErrReturnObject().setErrMsg(result).toString();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
dbConnect.runSqlUpdate(sqlList);
|
|
|
- if (ischeck) {
|
|
|
- String type = rows.get(0).getString("type");
|
|
|
- Long sys_enterpriseid = rows.get(0).getLong("sys_enterpriseid");
|
|
|
- if (type.equals("换货单")) {
|
|
|
- String message = "您的换货单" + rows.get(0).getString("billno") + "已审核,请及时查收!";
|
|
|
- sendMsg(message, sa_aftersalesmagid, sys_enterpriseid);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
return getSucReturnObject().toString();
|
|
|
}
|
|
|
|
|
|
@@ -448,7 +486,7 @@ public class aftersalesmag extends Controller {
|
|
|
}
|
|
|
|
|
|
@API(title = "复核", apiversion = R.ID20230104160903.v1.class)
|
|
|
- @CACHEING_CLEAN(apiversions = {R.ID20230104160603.v1.class, R.ID20230104160703.v1.class, R.ID20230105110903.class, R.ID20230105161503.v1.class}, apiClass = {aftersalesmag.class, aftersalesmagItems.class, cashbill.class})
|
|
|
+ @CACHEING_CLEAN(apiClass = {aftersalesmag.class, aftersalesmagItems.class, cashbill.class,restcontroller.sale.aftersalesmag.aftersalesmag.class})
|
|
|
public String recheck() throws YosException {
|
|
|
Long sa_aftersalesmagid = content.getLong("sa_aftersalesmagid");
|
|
|
Long sa_accountclassid = content.getLongValue("sa_accountclassid");
|