|
|
@@ -58,6 +58,7 @@ public class promotion extends Controller {
|
|
|
BigDecimal associationamount = content.getBigDecimalValue("associationamount");
|
|
|
Long associationaccountclassid = content.getLongValue("associationaccountclassid");
|
|
|
BigDecimal rebateratio = content.getBigDecimalValue("rebateratio");
|
|
|
+ String packagetype = content.getStringValue("packagetype");
|
|
|
SQLFactory sqlFactory = new SQLFactory(this, "促销方案新增");
|
|
|
|
|
|
if (sa_promotionid <= 0 || dbConnect
|
|
|
@@ -100,6 +101,7 @@ public class promotion extends Controller {
|
|
|
sqlFactory.addParameter("sa_accountclassid", sa_accountclassid);
|
|
|
sqlFactory.addParameter("sa_brandid", sa_brandid);
|
|
|
sqlFactory.addParameter("type", type);
|
|
|
+ sqlFactory.addParameter("packagetype", packagetype);
|
|
|
sqlFactory.addParameter("tradefield", tradefield.toJSONString());
|
|
|
sqlFactory.addParameter("orderminqty", orderminqty);
|
|
|
sqlFactory.addParameter("orderaddqty", orderaddqty);
|
|
|
@@ -306,6 +308,7 @@ public class promotion extends Controller {
|
|
|
sqlFactory.addParameter("associationamount", 0);
|
|
|
sqlFactory.addParameter("associationaccountclassid", 0);
|
|
|
sqlFactory.addParameter("rebateratio", 0);
|
|
|
+ sqlFactory.addParameter("packagetype", row.getString("packagetype"));
|
|
|
// 备注说明
|
|
|
sqlFactory.addParameter("remarks", row.getString("remarks"));
|
|
|
sqlList.add(sqlFactory.getSQL());
|
|
|
@@ -329,6 +332,7 @@ public class promotion extends Controller {
|
|
|
sqlFactory.addParameter("orderminqty", promotionitemsRow.getBigDecimal("orderminqty"));
|
|
|
sqlFactory.addParameter("islimit", promotionitemsRow.getLong("islimit"));
|
|
|
sqlFactory.addParameter("signaturecode", promotionitemsRow.getString("signaturecode"));
|
|
|
+ sqlFactory.addParameter("packagetypemx", promotionitemsRow.getString("packagetypemx"));
|
|
|
sqlFactory.addParameter("itemno", promotionitemsRow.getString("itemno"));
|
|
|
sqlList.add(sqlFactory.getSQL());
|
|
|
|
|
|
@@ -544,6 +548,23 @@ public class promotion extends Controller {
|
|
|
return getErrReturnObject().setErrMsg("返利促销授权的经销商必须都为限购").toString();
|
|
|
}
|
|
|
}
|
|
|
+ if (rows.get(0).getString("type").equals("套餐活动")) {
|
|
|
+ if (StringUtils.isBlank(rows.get(0).getString("packagetype"))) {
|
|
|
+ return getErrReturnObject().setErrMsg("套餐活动的方案必须选择套餐类型").toString();
|
|
|
+ }
|
|
|
+ Rows promotionItemsRows = dbConnect.runSqlQuery("select ifnull(t1.packagetypemx,'kong') packagetypemx,count(1) count,min(t2.itemno) itemno from sa_promotion_items t1 inner join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid where t1.siteid='"+siteid+"' and t1.sa_promotionid="+sa_promotionid+" group by ifnull(t1.packagetypemx,'kong')");
|
|
|
+ for(Row row : promotionItemsRows){
|
|
|
+ if(row.getString("packagetypemx").equals("kong")){
|
|
|
+ return getErrReturnObject().setErrMsg("品号:"+row.getString("itemno")+"未设置套餐分类,无法审核").toString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(Row row : promotionItemsRows){
|
|
|
+ if(row.getLong("count")>100){
|
|
|
+ return getErrReturnObject().setErrMsg("套餐名:"+row.getString("packagetypemx")+" 商品添加数量已超上限(同一套餐最多只能添加100个商品)").toString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
for (Row row:rowsdetails) {
|
|
|
if(row.getBigDecimal("orderminqty").compareTo(BigDecimal.ZERO)==0 || row.getBigDecimal("orderaddqty").compareTo(BigDecimal.ZERO)==0){
|
|
|
return getErrReturnObject().setErrMsg("该促销方案【"+row.getString("itemno")+"】商品起订量或增量为0,无法审核").toString();
|
|
|
@@ -620,6 +641,11 @@ public class promotion extends Controller {
|
|
|
return getErrReturnObject().setErrMsg("单号为:【" + row.getString("promnum") + "】的促销方案为非发布状态,无法反发布")
|
|
|
.toString();
|
|
|
}
|
|
|
+ Rows orderRows = dbConnect.runSqlQuery("select * from sa_order where sa_promotionid="+sa_promotionid+" and siteid='"+siteid+"'");
|
|
|
+ if(orderRows.isNotEmpty()){
|
|
|
+ return getErrReturnObject().setErrMsg("该方案已存在订单,无法取消发布")
|
|
|
+ .toString();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|