| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321 |
- package restcontroller.webmanage.sale.order;
- import beans.datacontrllog.DataContrlLog;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import com.huaweicloud.sdk.lts.v2.model.SqlAlarmRuleRespList;
- import common.Controller;
- import common.YosException;
- import common.annotation.API;
- import common.annotation.Param;
- import common.data.*;
- import io.swagger.annotations.Api;
- import org.apache.camel.json.simple.Jsonable;
- import restcontroller.R;
- import java.lang.reflect.Field;
- import java.util.ArrayList;
- import java.util.HashMap;
- /**
- * 定制费用方案
- */
- public class OrderFeeCostPlan extends Controller {
- /**
- * 构造函数
- *
- * @param content
- */
- public OrderFeeCostPlan(JSONObject content) throws YosException {
- super(content);
- }
- @API(title = "定制费用方案-列表", apiversion = R.ID20231208133902.v1.class)
- public String customPlanList() throws YosException {
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_datafunction",
- "sys_datafunctionid", "functionname", "remarks", "createdate", "status");
- //创建人写死admin
- querySQL.addJoinTable(JOINTYPE.left, "sys_contrllog", "t2", "t2.ownerid=t1.sys_datafunctionid and ownertable='sys_datafunction' and action='新增' and siteid='" + siteid + "'");
- querySQL.addQueryFields("createby", "t2.actionby");
- querySQL.setWhere("t1.functionclass", "ordercost");
- querySQL.setWhere("t1.sys_datafunctionid in (SELECT sys_datafunctionid from sys_datafunction_params WHERE param='siteid' and value='" + siteid + "')");
- querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting).setTableAlias("t1");
- Rows rows = querySQL.query();
- return getSucReturnObject().setData(rows).toString();
- }
- // @API(title = "定制费用方案-绑定", apiversion = R.ID20231208134002.v1.class)
- // public String insertOrUpdatePlan() throws YosException {
- //
- // Long sys_datafunctionid = content.getLongValue("sys_datafunctionid");
- // JSONArray items = content.getJSONArray("items");
- // ArrayList<String> sqlList = new ArrayList<>();
- // for (Object obj : items) {
- // JSONObject item = (JSONObject) obj;
- // Long ownerid = item.getLongValue("ownerid");
- // String ownertable = item.getStringValue("ownertable");
- // Rows rows = dbConnect.runSqlQuery("SELECT * from sys_datafunction_bind WHERE ownerid=" + ownerid + " and ownertable='" + ownertable + "'");
- // if (rows.isEmpty()) {
- // InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_datafunction_bind");
- // insertSQL.setUniqueid(createTableID("sys_datafunction_bind"));
- // insertSQL.setValue("ownerid", ownerid);
- // insertSQL.setValue("ownertable", ownertable);
- // insertSQL.setValue("sys_datafunctionid", sys_datafunctionid);
- // sqlList.add(insertSQL.getSQL());
- // } else {
- // UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sys_datafunction_bind");
- // updateSQL.setUniqueid(rows.get(0).getLong("sys_datafunction_bindid"));
- // updateSQL.setValue("sys_datafunctionid", sys_datafunctionid);
- // sqlList.add(updateSQL.getSQL());
- // }
- // }
- // dbConnect.runSqlUpdate(sqlList);
- //
- //
- // return getSucReturnObject().toString();
- // }
- @API(title = "定制费用方案-商品列表", apiversion = R.ID20231212110202.v1.class)
- public String bindItemList() throws YosException {
- Long sys_datafunctionid = content.getLongValue("sys_datafunctionid");
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "plm_item");
- querySQL.setTableAlias("t1");
- querySQL.addJoinTable(JOINTYPE.left, "plm_unit", "t2", "t2.unitid = t1.unitid AND t2.siteid = t1.siteid",
- "unitname");
- querySQL.addJoinTable(JOINTYPE.left, "plm_unitgroup", "t6", "t6.unitgroupid = t1.unitgroupid",
- "auxunitid", "unitgroupname");
- querySQL.addJoinTable(JOINTYPE.left, "plm_unit", "t7", "t7.unitid = t6.unitid AND t7.siteid = t6.siteid");
- querySQL.addQueryFields("axunitname", "t7.unitname");
- querySQL.addJoinTable(JOINTYPE.left, "plm_itemextend", "t8", "t8.itemid = t1.itemid AND t8.siteid = t1.siteid",
- "caliber", "pressure", "material", "butterflyplatedrive", "connection", "valveplatematerial", "bodymaterial", "actuatortype",
- "actuatorbrand", "isbutterfly", "erpitemno", "erpitemname", "specalnote", "prodline", "device");
- querySQL.addJoinTable(JOINTYPE.left, "sa_sizecustomizedscheme", "t4", "t1.widthschemeid=t4.sa_sizecustomizedschemeid and t1.siteid=t4.siteid");
- querySQL.addQueryFields("widthschemename", "t4.schemename ");
- querySQL.addJoinTable(JOINTYPE.left, "sa_sizecustomizedscheme", "t5", "t1.lengthschemeid=t5.sa_sizecustomizedschemeid and t1.siteid=t5.siteid");
- querySQL.addQueryFields("lengthschemename", "t5.schemename ");
- querySQL.addJoinTable(JOINTYPE.left, "sa_sizecustomizedscheme", "t17", "t1.heightschemeid=t17.sa_sizecustomizedschemeid and t1.siteid=t17.siteid");
- querySQL.addQueryFields("heightschemename", "t17.schemename ");
- querySQL.addJoinTable(JOINTYPE.left, "sa_itemprice", "t9", "t9.itemid = t1.itemid AND t9.siteid = t1.siteid and t9.pricegrade=1");
- querySQL.addQueryFields("price1", "t9.price ");
- querySQL.addJoinTable(JOINTYPE.left, "sa_itemprice", "t10", "t10.itemid = t1.itemid AND t10.siteid = t1.siteid and t10.pricegrade=2");
- querySQL.addQueryFields("price2", "t10.price ");
- querySQL.addJoinTable(JOINTYPE.left, "sa_itemprice", "t11", "t11.itemid = t1.itemid AND t11.siteid = t1.siteid and t11.pricegrade=3");
- querySQL.addQueryFields("price3", "t11.price ");
- querySQL.addJoinTable(JOINTYPE.left, "sa_itemprice", "t12", "t12.itemid = t1.itemid AND t12.siteid = t1.siteid and t12.pricegrade=4");
- querySQL.addQueryFields("price4", "t12.price ");
- querySQL.addJoinTable(JOINTYPE.left, "sa_itemprice", "t13", "t13.itemid = t1.itemid AND t13.siteid = t1.siteid and t13.pricegrade=5");
- querySQL.addQueryFields("price5", "t13.price ");
- querySQL.addJoinTable(JOINTYPE.left, "plm_itemclass", "t14", "t14.itemclassid = t1.marketingcategory AND t14.siteid = t1.siteid",
- "itemclassname");
- querySQL.addJoinTable(JOINTYPE.left, "sa_customscheme", "t15", "t15.sa_customschemeid = t1.sa_customschemeid AND t15.siteid = t1.siteid",
- "schemename");
- querySQL.setWhere("t1.siteid", siteid);
- querySQL.addJoinTable(JOINTYPE.left, "sys_datafunction_bind", "t16", "t16.ownerid=t1.itemid and t16.ownertable='plm_item'",
- "sys_datafunction_bindid");
- //创建人写死admin
- querySQL.setWhere("t16.sys_datafunctionid", sys_datafunctionid);
- querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting).setTableAlias("t1");
- Rows rows = querySQL.query();
- return getSucReturnObject().setData(rows).toString();
- }
- // @API(title = "定制费用方案-参数列表", apiversion = R.ID20231212111202.v1.class)
- // public String queryParam() throws YosException {
- // Long sys_datafunctionid = content.getLongValue("sys_datafunctionid");
- // QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_datafunction",
- // "sys_datafunctionid", "functionname", "remarks", "createdate","status");
- // querySQL.addQueryFields("createby", "\'admin\'");
- // querySQL.setWhere("t1.sys_datafunctionid", sys_datafunctionid);
- // querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting).setTableAlias("t1");
- // Rows rows = querySQL.query();
- // if(rows.isEmpty()){
- // return getSucReturnObject().setData(new Row()).toString();
- // }
- // Row detail=rows.get(0);
- //
- // Rows paramRows = dbConnect.runSqlQuery("SELECT * from sys_datafunction_params WHERE issystem=1 and sys_datafunctionid=" + sys_datafunctionid);
- // detail.put("param",paramRows);
- // return getSucReturnObject().setData(detail).toString();
- // }
- @API(title = "定制费用方案-删除绑定商品", apiversion = R.ID20231208134102.v1.class)
- public String delete() throws YosException {
- JSONArray sys_datafunction_bindids = content.getJSONArray("sys_datafunction_bindids");
- DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sys_datafunction_bind");
- deleteSQL.setWhere("sys_datafunction_bindid", sys_datafunction_bindids.toArray());
- deleteSQL.delete();
- return getSucReturnObject().toString();
- }
- // @API(title = "商品定制费用方案详情", apiversion = R.ID20231208134202.v1.class)
- // public String list() throws YosException {
- // Long ownerid = content.getLongValue("ownerid");
- // String ownertable = content.getStringValue("ownertable");
- // QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_datafunction_bind");
- // querySQL.addJoinTable(JOINTYPE.left, "sys_datafunction", "t2", "t2.sys_datafunctionid=t1.sys_datafunctionid"
- // , "functionname", "remarks", "isused", "createdate");
- // querySQL.setWhere("t1.ownerid", ownerid);
- // querySQL.setWhere("t1.ownertable", ownertable);
- // querySQL.setWhere("t1.sys_datafunctionid in (SELECT sys_datafunctionid from sys_datafunction_params WHERE param='siteid' and value='" + siteid + "')");
- // querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting).setTableAlias("t1");
- // Rows rows = querySQL.query();
- //
- // Row detailRow = new Row();
- // if (rows.isEmpty()) {
- // return getSucReturnObject().setData(detailRow).toString();
- //
- // }
- // detailRow = rows.get(0);
- // Long sys_datafunctionid = detailRow.getLong("sys_datafunctionid");
- //
- // Rows paramRows = dbConnect.runSqlQuery("SELECT * from sys_datafunction_params WHERE param!='siteid' and sys_datafunctionid=" + sys_datafunctionid);
- // detailRow.put("params", paramRows);
- //
- // return getSucReturnObject().setData(detailRow).toString();
- // }
- @API(title = "定制费用方案-调整参数值", apiversion = R.ID20231211141802.v1.class)
- public String modifyFunctionParams() throws YosException {
- JSONArray items = content.getJSONArray("items");
- ArrayList<String> sqlList = new ArrayList<>();
- for (Object obj : items) {
- JSONObject item = (JSONObject) obj;
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sys_datafunction_params");
- updateSQL.setUniqueid(item.getLongValue("sys_datafunction_paramsid"));
- updateSQL.setValue("value", item.getStringValue("value"));
- sqlList.add(updateSQL.getSQL());
- }
- dbConnect.runSqlUpdate(sqlList);
- return getSucReturnObject().toString();
- }
- @API(title = "定制费用方案-是否启用", apiversion = R.ID2023121221131702.v1.class)
- public String isDatafunctionEnable() throws YosException {
- ArrayList<String> sqlList = new ArrayList<>();
- Long sys_datafunctionid = content.getLongValue("sys_datafunctionid");
- Long status = content.getLongValue("status");
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sys_datafunction");
- updateSQL.setUniqueid(sys_datafunctionid);
- updateSQL.setValue("status", status == 1 ? "启用" : "禁用");
- sqlList.add(updateSQL.getSQL());
- if (status == 1) {
- sqlList.add(DataContrlLog.createLog(this, "sys_datafunction", sys_datafunctionid, "启用", "启用成功").getSQL());
- } else {
- sqlList.add(DataContrlLog.createLog(this, "sys_datafunction", sys_datafunctionid, "禁用", "启用成功").getSQL());
- }
- dbConnect.runSqlUpdate(sqlList);
- return getSucReturnObject().toString();
- }
- @API(title = "新增或修改方案", apiversion = R.ID20231225141902.v1.class)
- public String insertormodifyFunction() throws YosException {
- long sys_datafunctionid = content.getLong("sys_datafunctionid");
- String classname = content.getString("classname");
- String remarks = content.getString("remarks");
- if (sys_datafunctionid > 0) {
- Rows rows = dbConnect.runSqlQuery("SELECT status from sys_datafunction WHERE sys_datafunctionid=" + sys_datafunctionid);
- if (rows.isNotEmpty()) {
- if (rows.get(0).getString("status").equals("启用")) {
- return getErrReturnObject().setErrMsg("启用状态无法编辑").toString();
- }
- }
- }
- HashMap<String, Param> sys_paramMap = new HashMap<>();
- if (!classname.equals("")) {
- try {
- Class<?> clz = Class.forName("function." + classname);
- for (Field field : clz.getDeclaredFields()) {
- if (field.isAnnotationPresent(Param.class)) {
- sys_paramMap.put(field.getName(), field.getAnnotation(Param.class));
- }
- }
- } catch (Exception e) {
- return getErrReturnObject().setErrMsg("无效的执行类" + classname).toString();
- }
- }
- if (sys_datafunctionid <= 0 || dbConnect.runSqlQuery("select * from sys_datafunction where sys_datafunctionid=" + sys_datafunctionid).isEmpty()) {
- sys_datafunctionid = createTableID("sys_datafunction");
- InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_datafunction");
- insertSQL.setValue("sys_datafunctionid", sys_datafunctionid);
- insertSQL.setValue("functionname", createBillCode("dfnum"));
- insertSQL.setValue("type", "update");
- insertSQL.setValue("classname", classname);
- insertSQL.setValue("remarks", remarks);
- insertSQL.setValue("datakey", "default");
- insertSQL.setValue("functionclass", "ordercost");
- insertSQL.setValue("status", "禁用");
- insertSQL.insert();
- DataContrlLog.createLog(this, "sys_datafunction", sys_datafunctionid, "新增", "新增成功").insert();
- } else {
- UpdateSQL rowUpdate = SQLFactory.createUpdateSQL(this, "sys_datafunction");
- rowUpdate.setValue("remarks", remarks);
- rowUpdate.setValue("classname", classname);
- rowUpdate.setValue("functionclass", "ordercost");
- rowUpdate.setWhere("sys_datafunctionid", sys_datafunctionid);
- rowUpdate.update();
- DataContrlLog.createLog(this, "sys_datafunction", sys_datafunctionid, "编辑", "编辑成功").insert();
- }
- ArrayList<String> ps = new ArrayList<>();
- ArrayList<String> paramSqlList = new ArrayList<>();
- //获取执行函数的参数
- for (String sys_param : sys_paramMap.keySet()) {
- ps.add(sys_param);
- Param param = sys_paramMap.get(sys_param);
- if (dbConnect.runSqlQuery("select *from sys_datafunction_params where sys_datafunctionid=" + sys_datafunctionid + " and param='" + sys_param + "'").isEmpty()) {
- InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_datafunction_params");
- insertSQL.setValue("sys_datafunctionid", sys_datafunctionid);
- insertSQL.setValue("param", sys_param);
- if (sys_param.equals("siteid")) {
- insertSQL.setValue("value", siteid);
- }
- insertSQL.setValue("paramname", param.paramname());
- insertSQL.setValue("remarks", param.remarks());
- insertSQL.setValue("sequence", param.sequence());
- insertSQL.setValue("issystem", param.issystem());
- paramSqlList.add(insertSQL.getSQL());
- } else {
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sys_datafunction_params");
- updateSQL.setValue("paramname", param.paramname());
- updateSQL.setValue("issystem", param.issystem());
- updateSQL.setValue("sequence", param.sequence());
- updateSQL.setWhere("sys_datafunctionid", sys_datafunctionid).setWhere("param", param).setWhere("ifnull(paramname,'')=''");
- paramSqlList.add(updateSQL.getSQL());
- }
- }
- /*
- 删除多余的参数
- */
- DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sys_datafunction_params");
- deleteSQL.setWhere("sys_datafunctionid", sys_datafunctionid);
- deleteSQL.setWhere("param not in $params$");
- deleteSQL.addParameter("params", ps);
- paramSqlList.add(deleteSQL.getSQL());
- dbConnect.runSqlUpdate(paramSqlList);
- return getSucReturnObject().toString();
- }
- }
|