package com.cnd3b.restcontroller.enterprise.webclient.system;

import com.alibaba.fastjson.JSONObject;
import com.cnd3b.common.Controller;
import com.cnd3b.common.D3bException;
import com.cnd3b.common.data.Rows;
import com.cnd3b.common.data.SQLFactory;
import p2.pao.PaoRemote;
import p2.pao.PaoSetRemote;
import p2.util.P2Exception;

public class custaction extends Controller {
    public custaction(JSONObject content) {
        super(content);
    }

    /**
     * 客户动作列表查询
     *
     * @return
     */
    public String query_custactionlList() {
        SQLFactory sql = new SQLFactory(this, "销售动作查询");
        sql.addParameter("siteid", siteid);
        Rows rows = dbConnect.runSqlQuery(sql.getSQL());
        return getSucReturnObject().setData(rows).saveToDataPool().toString();
    }

    /**
     * 客户动作新增修改
     *
     * @return
     */
    public String insert_modify_custaction() throws D3bException, P2Exception {
        long ttypedetailid = content.getLongValue("ttypedetailid");//新增为0
        String fcustaction = content.getString("fcustaction", "ttypedetail.fvalue", "销售动作");
        Boolean fisused = content.getBoolean("fisused");

        Rows rows = dbConnect.runSqlQuery("select * from ttypedetail where siteid='" + siteid + "' and ftype='销售动作' and fvalue='" + fcustaction + "'");
        if (!rows.isEmpty() && rows.get(0).getLong("ttypedetailid") != ttypedetailid) {
            return getErrReturnObject().setErrMsg("销售动作不可重复").toString();
        }
        PaoSetRemote ttypedetailSet = getP2ServerSystemPaoSet("ttypedetail", "siteid='" + siteid + "' and ttypedetailid='" + ttypedetailid + "'");
        PaoRemote ttypedetail = null;
        if (ttypedetailSet.isEmpty()) {
            ttypedetail = ttypedetailSet.addAtEnd();
            ttypedetail.setValue("siteid", siteid, 11L);//企业ID
            ttypedetail.setValue("ftype", "销售动作", 11L);
        } else {
            ttypedetail = ttypedetailSet.getPao(0);
        }
        ttypedetail.setValue("fvalue", fcustaction, 11L);
        ttypedetail.setValue("fisused", fisused, 11L);
        ttypedetailSet.save();

        return getSucReturnObject().toString();
    }

    /**
     * 客户动作删除
     *
     * @return
     */
    public String delete_custaction() {
        SQLFactory sqlFactory = new SQLFactory(this, "销售动作删除");
        sqlFactory.addParameter("siteid", siteid);
        sqlFactory.addParameter("ttypedetailid", content.getString("ttypedetailid"));
        String result = dbConnect.runSqlUpdate(sqlFactory.getSQL());
        if ("true".equals(result)) {
            return getSucReturnObject().toString();
        } else {
            return getErrReturnObject().setErrMsg(result).toString();
        }
    }
}
