Explorar el Código

沈静伟:提报增加一事多报的形式
1:业务员提报保存接口新增提报ID字段
2:业务员提报提交接口新增提报ID字段
3:调整业务员提报主界面查询,去除提报内容、提报状态、提报ID字段,新增提报模版ID字段。新增提报主界面_提报明细表查询。
4:调整提报列表
5:新增业务员新建提报接口(一事多报时需要新增提报)

沈静伟 hace 4 años
padre
commit
5cbdf5fe70
Se han modificado 17 ficheros con 228 adiciones y 76 borrados
  1. 1 1
      src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/SQL/保存.sql
  2. 1 1
      src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/SQL/提报.sql
  3. 3 8
      src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/SQL/提报主界面查询.sql
  4. 8 0
      src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/SQL/提报主界面查询_提报明细.sql
  5. 2 5
      src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/SQL/提报列表查询.sql
  6. 3 0
      src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/SQL/提报列表查询_提报状态查询.sql
  7. 7 0
      src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/SQL/新增.sql
  8. 88 21
      src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/submitedit.java
  9. 1 1
      src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/保存.sql
  10. 1 1
      src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/提报.sql
  11. 3 8
      src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/提报主界面查询.sql
  12. 8 0
      src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/提报主界面查询_提报明细.sql
  13. 2 5
      src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/提报列表查询.sql
  14. 3 0
      src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/提报列表查询_提报状态查询.sql
  15. 1 1
      src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/提报管理主界面经销商明细查询.sql
  16. 7 0
      src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/新增.sql
  17. 89 24
      src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/submitedit.java

+ 1 - 1
src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/SQL/保存.sql

@@ -1,3 +1,3 @@
 update tsubmitedit set fcontent=$fcontent$,changeby=$changeby$,changedate=getdate()
-where siteid=$siteid$ and tsubmiteditmodelid=$tsubmiteditmodelid$ and tenterprise_userid=$tenterprise_userid$
+where siteid=$siteid$ and tsubmiteditmodelid=$tsubmiteditmodelid$ and tenterprise_userid=$tenterprise_userid$ and tsubmiteditid=$tsubmiteditid$
 

+ 1 - 1
src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/SQL/提报.sql

@@ -1,4 +1,4 @@
 update tsubmitedit set fcontent=$fcontent$,fstatus='Ìá½»',submitby=$submitby$,submitdate=getdate(),changeby=$submitby$,changedate=getdate()
-where siteid=$siteid$ and tsubmiteditmodelid=$tsubmiteditmodelid$ and tenterprise_userid=$tenterprise_userid$
+where siteid=$siteid$ and tsubmiteditmodelid=$tsubmiteditmodelid$ and tenterprise_userid=$tenterprise_userid$ and tsubmiteditid=$tsubmiteditid$
 
 update tsubmiteditmodel set fsubmitqty=isnull(fsubmitqty,0)+1 where siteid=$siteid$ and tsubmiteditmodelid=$tsubmiteditmodelid$

+ 3 - 8
src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/SQL/提报主界面查询.sql

@@ -2,14 +2,9 @@ select t1.ftitle,
        t1.fbegdate,
        t1.fenddate,
        t1.fnotes,
-       t2.fcontent,
-       t2.tsubmiteditid,
-       case when t2.fstatus = 'Ìá½»' then 1 else 0 end        as fissubmit,
        t1.fisattrequired,
        t1.fistextrequired,
-       t1.fcanalwayssubmit
+       t1.fcanalwayssubmit,
+       t1.tsubmiteditmodelid
 from tsubmiteditmodel t1
-inner join tsubmitedit t2
-                 on t1.siteid = t2.siteid and t1.tsubmiteditmodelid = t2.tsubmiteditmodelid and t2.tenterprise_userid =$tenterprise_userid$
-where t1.fstatus='·¢²¼' and t1.siteid=$siteid$ and t1.tsubmiteditmodelid=$tsubmiteditmodelid$
-
+where t1.fstatus='·¢²¼' and t1.siteid=$siteid$ and t1.tsubmiteditmodelid=$tsubmiteditmodelid$

+ 8 - 0
src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/SQL/提报主界面查询_提报明细.sql

@@ -0,0 +1,8 @@
+select t1.fcontent,
+       t1.tsubmiteditid,
+       t1.submitdate,
+       t1.changedate,
+       case when t2.fstatus = 'Ìá½»' then 1 else 0 end        as fissubmit
+       from tsubmitedit t1
+where t1.siteid=$siteid$ and t1.tsubmiteditmodelid=$tsubmiteditmodelid$ and t1.tenterprise_userid =$tenterprise_userid$
+order by tsubmiteditid desc

+ 2 - 5
src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/SQL/提报列表查询.sql

@@ -5,12 +5,9 @@ select t1.tsubmiteditmodelid,
        t1.checkdate,
        t1.frequireqty,
        t1.fsubmitqty,
-       t2.fisread,
-       case when t2.fstatus = 'Ìá½»' then 1 else 0 end        as fissubmit,
        t1.fisattrequired,
        t1.fistextrequired,
        t1.fcanalwayssubmit
 from tsubmiteditmodel t1
-       inner join tsubmitedit t2
-                 on t1.siteid = t2.siteid and t1.tsubmiteditmodelid = t2.tsubmiteditmodelid and t2.tenterprise_userid =$tenterprise_userid$
-where t1.fstatus='·¢²¼' and t1.siteid=$siteid$ and $where$
+where t1.fstatus='·¢²¼' and t1.siteid=$siteid$ and $where$
+and exists(select * from tsubmitedit where siteid=$siteid$ and tsubmiteditmodelid=t1.tsubmiteditmodelid and tenterprise_userid=$tenterprise_userid$)

+ 3 - 0
src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/SQL/提报列表查询_提报状态查询.sql

@@ -0,0 +1,3 @@
+select t1.tsubmiteditmodelid,sum(t1.fisread)as fisread, sum(case when t1.fstatus='Ìá½»'then 1 else 0 end) as fissubmit from tsubmitedit t1
+where t1.siteid=$siteid$ and t1.tsubmiteditmodelid in $tsubmiteditmodelid$ and t1.tenterprise_userid=$tenterprise_userid$
+group by t1.tsubmiteditmodelid

+ 7 - 0
src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/SQL/新增.sql

@@ -0,0 +1,7 @@
+declare @tsubmiteditid bigint
+set @tsubmiteditid = (select isnull(MAX(tsubmiteditid), 0)
+                      from tsubmitedit)
+
+insert into DSBCRM..tsubmitedit
+(tsubmiteditid, siteid, createby, createdate, fstatus, rmkenable, tsubmiteditmodelid, tenterprise_userid, tagentsid,fisread,fcontent)
+select @tsubmiteditid + 1, $siteid$, $createby$, getdate(), 'н¨', 0, $tsubmiteditmodelid$, $tenterprise_userid$, $tagentsid$,1,$fcontent$

+ 88 - 21
src/dsb/com/cnd3b/restcontroller/enterprise/salerclient/mainpage/submitedit/submitedit.java

@@ -21,7 +21,7 @@ public class submitedit extends Controller {
     }
 
     /**
-     * 经销商提报列表查询
+     * 业务员提报列表查询
      *
      * @return
      */
@@ -48,48 +48,107 @@ public class submitedit extends Controller {
                 where.append(")");
             }
         }
+        SQLFactory submitedithead = new SQLFactory(this, "提报列表查询", pageSize, pageNumber, sort);
+        submitedithead.addParameter("siteid", siteid);
+        submitedithead.addParameter("tenterprise_userid", userid);
+        submitedithead.addParameter_SQL("where", where);
+        Rows rows = dbConnect.runSqlQuery(submitedithead.getSQL());
+
+        SQLFactory editstatuslist = new SQLFactory(this, "提报列表查询_提报状态查询");
+        editstatuslist.addParameter("siteid", siteid);
+        editstatuslist.addParameter("tenterprise_userid", userid);
+        editstatuslist.addParameter_in("tsubmiteditmodelid", rows.toArray("tsubmiteditmodelid"));
+        RowsMap editstatusrowsMap = dbConnect.runSqlQuery(editstatuslist).toRowsMap("tsubmiteditmodelid");
 
-        SQLFactory costhead = new SQLFactory(this, "提报列表查询", pageSize, pageNumber, sort);
-        costhead.addParameter("siteid", siteid);
-        costhead.addParameter("tenterprise_userid", userid);
-        costhead.addParameter_SQL("where", where);
-        Rows rows = dbConnect.runSqlQuery(costhead.getSQL());
+        for (Row row : rows) {
+            String tsubmiteditmodelid = row.getString("tsubmiteditmodelid");
+            if (editstatusrowsMap.containsKey(tsubmiteditmodelid)) {
+                row.put("fisread", editstatusrowsMap.get(tsubmiteditmodelid).get(0).getInteger("fisread") > 0 ? 1 : 0);
+                row.put("fissubmit", editstatusrowsMap.get(tsubmiteditmodelid).get(0).getInteger("fissubmit") > 0 ? 1 : 0);
+            } else {
+                row.put("fisread", 0);
+                row.put("fissubmit", 0);
+            }
+        }
         return getSucReturnObject().setDataByPaging(rows, sortfield).setFinalDo(DataPool.defaultdatalife, 1);
     }
 
-
     /**
-     * 经销商提报主界面
+     * 业务员提报主界面
      *
      * @return
      */
     public String query_submiteditmodelMain() {
         String tsubmiteditmodelid = content.getString("tsubmiteditmodelid");//提报模板ID
-        SQLFactory sqlFactory = new SQLFactory(this, "提报主界面查询");
-        sqlFactory.addParameter("siteid", siteid);
-        sqlFactory.addParameter("tenterprise_userid", userid);
-        sqlFactory.addParameter("tsubmiteditmodelid", tsubmiteditmodelid);
-        Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
+        SQLFactory submithead = new SQLFactory(this, "提报主界面查询");
+        submithead.addParameter("siteid", siteid);
+        submithead.addParameter("tsubmiteditmodelid", tsubmiteditmodelid);
+        Rows headrows = dbConnect.runSqlQuery(submithead.getSQL());
+        for (Row row : headrows) {
+            SQLFactory submitlist = new SQLFactory(this, "提报主界面查询_提报明细");
+            submitlist.addParameter("siteid", siteid);
+            submitlist.addParameter("tenterprise_userid", userid);
+            submitlist.addParameter("tsubmiteditmodelid", tsubmiteditmodelid);
+            Rows listrows = dbConnect.runSqlQuery(submitlist.getSQL());
+
+            String fstatus = listrows.getLastRow().getString("fstatus");
+            row.put("fissubmit", "提交".equals(fstatus) ? 1 : 0);
+            row.put("submiteditlist", listrows);
+        }
         dbConnect.runSqlUpdate("update tsubmitedit set fisread=1 where siteid='" + siteid + "' and tsubmiteditmodelid='" + tsubmiteditmodelid + "' and tenterprise_userid='" + userid + "'");
-        return getSucReturnObject().setData(rows).toString();
+        return getSucReturnObject().setData(headrows).toString();
     }
 
+    /**
+     * 业务员新建提报,针对一事多报的功能
+     *
+     * @return
+     */
+    public String newedit() throws D3bException {
+        long tsubmiteditmodelid = content.getLongValue("tsubmiteditmodelid");//提报模板ID
+
+        Rows check = dbConnect.runSqlQuery("select tsubmiteditid from tsubmitedit where siteid='" + siteid + "' and fstatus='新建' and tsubmiteditmodelid='" + tsubmiteditmodelid + "' and tenterprise_userid='" + userid + "'");
+        if (!check.isEmpty()) {
+            return getErrReturnObject().setErrMsg("已存在一个未提交的提报,不可进行新增操作").toString();
+        }
+
+        String fcontent = content.getString("fcontent", "tsubmitedit.fcontent", "提报内容");
+        SQLFactory sqlFactory = new SQLFactory(this, "新增");
+        sqlFactory.addParameter("siteid", siteid);
+        sqlFactory.addParameter("createby", username);
+        sqlFactory.addParameter("tsubmiteditmodelid", tsubmiteditmodelid);
+        sqlFactory.addParameter("tenterprise_userid", userid);
+        sqlFactory.addParameter("tagentsid", tagentsid);
+        sqlFactory.addParameter("fcontent", fcontent);
+        String status = dbConnect.runSqlUpdate(sqlFactory.getSQL());
+        if ("true".equalsIgnoreCase(status)) {
+            return query_submiteditmodelMain();
+        } else {
+            return getErrReturnObject().setErrMsg(status).toString();
+        }
+    }
 
     /**
-     * 经销商保存
+     * 业务员提报保存
      *
      * @return
      */
-    public String saveedit() {
-        String tsubmiteditmodelid = content.getString("tsubmiteditmodelid");//提报模板ID
-        String fcontent = content.getString("fcontent");//提报模板ID
+    public String saveedit() throws D3bException {
+        long tsubmiteditmodelid = content.getLong("tsubmiteditmodelid");//提报模板ID
+        long tsubmiteditid = content.getLong("tsubmiteditid");//提报ID
+
+        Rows check = dbConnect.runSqlQuery("select tsubmiteditid from tsubmitedit where siteid='" + siteid + "' and fstatus='提交' and tsubmiteditmodelid='" + tsubmiteditmodelid + "' and tsubmiteditid='" + tsubmiteditid + "' and tenterprise_userid='" + userid + "'");
+        if (!check.isEmpty()) {
+            return getErrReturnObject().setErrMsg("当前提报已提交,不可进行修改操作").toString();
+        }
 
+        String fcontent = content.getString("fcontent", "tsubmitedit.fcontent", "提报内容");
         SQLFactory sqlFactory = new SQLFactory(this, "保存");
         sqlFactory.addParameter("fcontent", fcontent);
         sqlFactory.addParameter("changeby", username);
         sqlFactory.addParameter("siteid", siteid);
-        sqlFactory.addParameter("submitby", username);
         sqlFactory.addParameter("tsubmiteditmodelid", tsubmiteditmodelid);
+        sqlFactory.addParameter("tsubmiteditid", tsubmiteditid);
         sqlFactory.addParameter("tenterprise_userid", userid);
         String status = dbConnect.runSqlUpdate(sqlFactory.getSQL());
         if ("true".equalsIgnoreCase(status)) {
@@ -100,19 +159,27 @@ public class submitedit extends Controller {
     }
 
     /**
-     * 经销商提交
+     * 业务员提交
      *
      * @return
      */
     public String submitedit() throws D3bException {
         String tsubmiteditmodelid = content.getString("tsubmiteditmodelid");//提报模板ID
+        String tsubmiteditid = content.getString("tsubmiteditid");//提报ID
+
+        Rows check = dbConnect.runSqlQuery("select tsubmiteditid from tsubmitedit where siteid='" + siteid + "' and fstatus='提交' and tsubmiteditmodelid='" + tsubmiteditmodelid + "' and tsubmiteditid='" + tsubmiteditid + "' and tenterprise_userid='" + userid + "'");
+        if (!check.isEmpty()) {
+            return getErrReturnObject().setErrMsg("当前提报已提交,不可进行提交操作").toString();
+        }
+
         String fcontent = content.getString("fcontent", "tsubmitedit.fcontent", "提报内容");
 
         SQLFactory sqlFactory = new SQLFactory(this, "提报");
-        sqlFactory.addParameter("fcontent", fcontent);
         sqlFactory.addParameter("submitby", username);
+        sqlFactory.addParameter("fcontent", fcontent);
         sqlFactory.addParameter("siteid", siteid);
         sqlFactory.addParameter("tsubmiteditmodelid", tsubmiteditmodelid);
+        sqlFactory.addParameter("tsubmiteditid", tsubmiteditid);
         sqlFactory.addParameter("tenterprise_userid", userid);
         String status = dbConnect.runSqlUpdate(sqlFactory.getSQL());
         if ("true".equalsIgnoreCase(status)) {

+ 1 - 1
src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/保存.sql

@@ -1,3 +1,3 @@
 update tsubmitedit set fcontent=$fcontent$,changeby=$changeby$,changedate=getdate()
-where siteid=$siteid$ and tsubmiteditmodelid=$tsubmiteditmodelid$ and tenterprise_userid=$tenterprise_userid$
+where siteid=$siteid$ and tsubmiteditmodelid=$tsubmiteditmodelid$ and tenterprise_userid=$tenterprise_userid$ and tsubmiteditid=$tsubmiteditid$
 

+ 1 - 1
src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/提报.sql

@@ -1,4 +1,4 @@
 update tsubmitedit set fcontent=$fcontent$,fstatus='Ìá½»',submitby=$submitby$,submitdate=getdate(),changeby=$submitby$,changedate=getdate()
-where siteid=$siteid$ and tsubmiteditmodelid=$tsubmiteditmodelid$ and tenterprise_userid=$tenterprise_userid$
+where siteid=$siteid$ and tsubmiteditmodelid=$tsubmiteditmodelid$ and tenterprise_userid=$tenterprise_userid$ and tsubmiteditid=$tsubmiteditid$
 
 update tsubmiteditmodel set fsubmitqty=isnull(fsubmitqty,0)+1 where siteid=$siteid$ and tsubmiteditmodelid=$tsubmiteditmodelid$

+ 3 - 8
src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/提报主界面查询.sql

@@ -2,14 +2,9 @@ select t1.ftitle,
        t1.fbegdate,
        t1.fenddate,
        t1.fnotes,
-       t2.fcontent,
-       t2.tsubmiteditid,
-       case when t2.fstatus = 'Ìá½»' then 1 else 0 end        as fissubmit,
        t1.fisattrequired,
        t1.fistextrequired,
-       t1.fcanalwayssubmit
+       t1.fcanalwayssubmit,
+       t1.tsubmiteditmodelid
 from tsubmiteditmodel t1
-inner join tsubmitedit t2
-                 on t1.siteid = t2.siteid and t1.tsubmiteditmodelid = t2.tsubmiteditmodelid and t2.tenterprise_userid =$tenterprise_userid$
-where t1.fstatus='·¢²¼' and t1.siteid=$siteid$ and t1.tsubmiteditmodelid=$tsubmiteditmodelid$
-
+where t1.fstatus='·¢²¼' and t1.siteid=$siteid$ and t1.tsubmiteditmodelid=$tsubmiteditmodelid$

+ 8 - 0
src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/提报主界面查询_提报明细.sql

@@ -0,0 +1,8 @@
+select t1.fcontent,
+       t1.tsubmiteditid,
+       t1.submitdate,
+       t1.changedate,
+       case when t2.fstatus = 'Ìá½»' then 1 else 0 end        as fissubmit
+       from tsubmitedit t1
+where t1.siteid=$siteid$ and t1.tsubmiteditmodelid=$tsubmiteditmodelid$ and t1.tenterprise_userid =$tenterprise_userid$
+order by tsubmiteditid desc

+ 2 - 5
src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/提报列表查询.sql

@@ -5,12 +5,9 @@ select t1.tsubmiteditmodelid,
        t1.checkdate,
        t1.frequireqty,
        t1.fsubmitqty,
-       t2.fisread,
-       case when t2.fstatus = 'Ìá½»' then 1 else 0 end        as fissubmit,
        t1.fisattrequired,
        t1.fistextrequired,
        t1.fcanalwayssubmit
 from tsubmiteditmodel t1
-       inner join tsubmitedit t2
-                 on t1.siteid = t2.siteid and t1.tsubmiteditmodelid = t2.tsubmiteditmodelid and t2.tenterprise_userid =$tenterprise_userid$
-where t1.fstatus='·¢²¼' and t1.siteid=$siteid$ and $where$
+where t1.fstatus='·¢²¼' and t1.siteid=$siteid$ and $where$
+and exists(select * from tsubmitedit where siteid=$siteid$ and tsubmiteditmodelid=t1.tsubmiteditmodelid and tenterprise_userid=$tenterprise_userid$)

+ 3 - 0
src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/提报列表查询_提报状态查询.sql

@@ -0,0 +1,3 @@
+select t1.tsubmiteditmodelid,sum(t1.fisread)as fisread, sum(case when t1.fstatus='Ìá½»'then 1 else 0 end) as fissubmit from tsubmitedit t1
+where t1.siteid=$siteid$ and t1.tsubmiteditmodelid in $tsubmiteditmodelid$ and t1.tenterprise_userid=$tenterprise_userid$
+group by t1.tsubmiteditmodelid

+ 1 - 1
src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/提报管理主界面经销商明细查询.sql

@@ -4,7 +4,7 @@ select t3.fsaleruserid,
        t3.fcounty,
        t3.fagentname,
        t4.fname,
-       t4.fphonenumber
+       isnull(t4.fphonenumber,' ')as fphonenumber
 from DSBCRM..tsubmiteditmodel t1
        inner join DSBCRM..tsubmitedit t2 on t1.siteid = t2.siteid and t1.tsubmiteditmodelid = t2.tsubmiteditmodelid and t2.fstatus!='Ìá½»'
        inner join DSBCRM..tagents t3 on t2.siteid = t3.siteid and t2.tagentsid = t3.tagentsid

+ 7 - 0
src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/SQL/新增.sql

@@ -0,0 +1,7 @@
+declare @tsubmiteditid bigint
+set @tsubmiteditid = (select isnull(MAX(tsubmiteditid), 0)
+                      from tsubmitedit)
+
+insert into DSBCRM..tsubmitedit
+(tsubmiteditid, siteid, createby, createdate, fstatus, rmkenable, tsubmiteditmodelid, tenterprise_userid, tagentsid,fisread,fcontent)
+select @tsubmiteditid + 1, $siteid$, $createby$, getdate(), 'н¨', 0, $tsubmiteditmodelid$, $tenterprise_userid$, $tagentsid$,1,$fcontent$

+ 89 - 24
src/dsb/com/cnd3b/restcontroller/enterprise/salerwebclient/mainpage/submitedit/submitedit.java

@@ -21,7 +21,7 @@ public class submitedit extends Controller {
     }
 
     /**
-     * 经销商提报列表查询
+     * 业务员提报列表查询
      *
      * @return
      */
@@ -31,7 +31,6 @@ public class submitedit extends Controller {
          */
         String[] sortfield = {"t1.checkdate"};
         String sort = getSort(sortfield, "t1.checkdate desc");
-
         /**
          * 过滤条件设置
          */
@@ -49,48 +48,107 @@ public class submitedit extends Controller {
                 where.append(")");
             }
         }
+        SQLFactory submitedithead = new SQLFactory(this, "提报列表查询", pageSize, pageNumber, sort);
+        submitedithead.addParameter("siteid", siteid);
+        submitedithead.addParameter("tenterprise_userid", userid);
+        submitedithead.addParameter_SQL("where", where);
+        Rows rows = dbConnect.runSqlQuery(submitedithead.getSQL());
+
+        SQLFactory editstatuslist = new SQLFactory(this, "提报列表查询_提报状态查询");
+        editstatuslist.addParameter("siteid", siteid);
+        editstatuslist.addParameter("tenterprise_userid", userid);
+        editstatuslist.addParameter_in("tsubmiteditmodelid", rows.toArray("tsubmiteditmodelid"));
+        RowsMap editstatusrowsMap = dbConnect.runSqlQuery(editstatuslist).toRowsMap("tsubmiteditmodelid");
 
-        SQLFactory costhead = new SQLFactory(this, "提报列表查询", pageSize, pageNumber, sort);
-        costhead.addParameter("siteid", siteid);
-        costhead.addParameter("tenterprise_userid", userid);
-        costhead.addParameter_SQL("where", where);
-        Rows rows = dbConnect.runSqlQuery(costhead.getSQL());
+        for (Row row : rows) {
+            String tsubmiteditmodelid = row.getString("tsubmiteditmodelid");
+            if (editstatusrowsMap.containsKey(tsubmiteditmodelid)) {
+                row.put("fisread", editstatusrowsMap.get(tsubmiteditmodelid).get(0).getInteger("fisread") > 0 ? 1 : 0);
+                row.put("fissubmit", editstatusrowsMap.get(tsubmiteditmodelid).get(0).getInteger("fissubmit") > 0 ? 1 : 0);
+            } else {
+                row.put("fisread", 0);
+                row.put("fissubmit", 0);
+            }
+        }
         return getSucReturnObject().setDataByPaging(rows, sortfield).setFinalDo(DataPool.defaultdatalife, 1);
     }
 
-
     /**
-     * 经销商提报主界面
+     * 业务员提报主界面
      *
      * @return
      */
     public String query_submiteditmodelMain() {
         String tsubmiteditmodelid = content.getString("tsubmiteditmodelid");//提报模板ID
-        SQLFactory sqlFactory = new SQLFactory(this, "提报主界面查询");
-        sqlFactory.addParameter("siteid", siteid);
-        sqlFactory.addParameter("tenterprise_userid", userid);
-        sqlFactory.addParameter("tsubmiteditmodelid", tsubmiteditmodelid);
-        Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
+        SQLFactory submithead = new SQLFactory(this, "提报主界面查询");
+        submithead.addParameter("siteid", siteid);
+        submithead.addParameter("tsubmiteditmodelid", tsubmiteditmodelid);
+        Rows headrows = dbConnect.runSqlQuery(submithead.getSQL());
+        for (Row row : headrows) {
+            SQLFactory submitlist = new SQLFactory(this, "提报主界面查询_提报明细");
+            submitlist.addParameter("siteid", siteid);
+            submitlist.addParameter("tenterprise_userid", userid);
+            submitlist.addParameter("tsubmiteditmodelid", tsubmiteditmodelid);
+            Rows listrows = dbConnect.runSqlQuery(submitlist.getSQL());
+
+            String fstatus = listrows.getLastRow().getString("fstatus");
+            row.put("fissubmit", "提交".equals(fstatus) ? 1 : 0);
+            row.put("submiteditlist", listrows);
+        }
         dbConnect.runSqlUpdate("update tsubmitedit set fisread=1 where siteid='" + siteid + "' and tsubmiteditmodelid='" + tsubmiteditmodelid + "' and tenterprise_userid='" + userid + "'");
-        return getSucReturnObject().setData(rows).toString();
+        return getSucReturnObject().setData(headrows).toString();
     }
 
+    /**
+     * 业务员新建提报,针对一事多报的功能
+     *
+     * @return
+     */
+    public String newedit() throws D3bException {
+        long tsubmiteditmodelid = content.getLongValue("tsubmiteditmodelid");//提报模板ID
+
+        Rows check = dbConnect.runSqlQuery("select tsubmiteditid from tsubmitedit where siteid='" + siteid + "' and fstatus='新建' and tsubmiteditmodelid='" + tsubmiteditmodelid + "' and tenterprise_userid='" + userid + "'");
+        if (!check.isEmpty()) {
+            return getErrReturnObject().setErrMsg("已存在一个未提交的提报,不可进行新增操作").toString();
+        }
+
+        String fcontent = content.getString("fcontent", "tsubmitedit.fcontent", "提报内容");
+        SQLFactory sqlFactory = new SQLFactory(this, "新增");
+        sqlFactory.addParameter("siteid", siteid);
+        sqlFactory.addParameter("createby", username);
+        sqlFactory.addParameter("tsubmiteditmodelid", tsubmiteditmodelid);
+        sqlFactory.addParameter("tenterprise_userid", userid);
+        sqlFactory.addParameter("tagentsid", tagentsid);
+        sqlFactory.addParameter("fcontent", fcontent);
+        String status = dbConnect.runSqlUpdate(sqlFactory.getSQL());
+        if ("true".equalsIgnoreCase(status)) {
+            return query_submiteditmodelMain();
+        } else {
+            return getErrReturnObject().setErrMsg(status).toString();
+        }
+    }
 
     /**
-     * 经销商保存
+     * 业务员提报保存
      *
      * @return
      */
-    public String saveedit() {
-        String tsubmiteditmodelid = content.getString("tsubmiteditmodelid");//提报模板ID
-        String fcontent = content.getString("fcontent");//提报模板ID
+    public String saveedit() throws D3bException {
+        long tsubmiteditmodelid = content.getLong("tsubmiteditmodelid");//提报模板ID
+        long tsubmiteditid = content.getLong("tsubmiteditid");//提报ID
+
+        Rows check = dbConnect.runSqlQuery("select tsubmiteditid from tsubmitedit where siteid='" + siteid + "' and fstatus='提交' and tsubmiteditmodelid='" + tsubmiteditmodelid + "' and tsubmiteditid='" + tsubmiteditid + "' and tenterprise_userid='" + userid + "'");
+        if (!check.isEmpty()) {
+            return getErrReturnObject().setErrMsg("当前提报已提交,不可进行修改操作").toString();
+        }
 
+        String fcontent = content.getString("fcontent", "tsubmitedit.fcontent", "提报内容");
         SQLFactory sqlFactory = new SQLFactory(this, "保存");
         sqlFactory.addParameter("fcontent", fcontent);
         sqlFactory.addParameter("changeby", username);
         sqlFactory.addParameter("siteid", siteid);
-        sqlFactory.addParameter("submitby", username);
         sqlFactory.addParameter("tsubmiteditmodelid", tsubmiteditmodelid);
+        sqlFactory.addParameter("tsubmiteditid", tsubmiteditid);
         sqlFactory.addParameter("tenterprise_userid", userid);
         String status = dbConnect.runSqlUpdate(sqlFactory.getSQL());
         if ("true".equalsIgnoreCase(status)) {
@@ -101,19 +159,27 @@ public class submitedit extends Controller {
     }
 
     /**
-     * 经销商提交
+     * 业务员提交
      *
      * @return
      */
     public String submitedit() throws D3bException {
         String tsubmiteditmodelid = content.getString("tsubmiteditmodelid");//提报模板ID
-        String fcontent = content.getString("fcontent", "tsubmitedit.fcontent", "提报内容");//提报模板ID
+        String tsubmiteditid = content.getString("tsubmiteditid");//提报ID
+
+        Rows check = dbConnect.runSqlQuery("select tsubmiteditid from tsubmitedit where siteid='" + siteid + "' and fstatus='提交' and tsubmiteditmodelid='" + tsubmiteditmodelid + "' and tsubmiteditid='" + tsubmiteditid + "' and tenterprise_userid='" + userid + "'");
+        if (!check.isEmpty()) {
+            return getErrReturnObject().setErrMsg("当前提报已提交,不可进行提交操作").toString();
+        }
+
+        String fcontent = content.getString("fcontent", "tsubmitedit.fcontent", "提报内容");
 
         SQLFactory sqlFactory = new SQLFactory(this, "提报");
-        sqlFactory.addParameter("fcontent", fcontent);
         sqlFactory.addParameter("submitby", username);
+        sqlFactory.addParameter("fcontent", fcontent);
         sqlFactory.addParameter("siteid", siteid);
         sqlFactory.addParameter("tsubmiteditmodelid", tsubmiteditmodelid);
+        sqlFactory.addParameter("tsubmiteditid", tsubmiteditid);
         sqlFactory.addParameter("tenterprise_userid", userid);
         String status = dbConnect.runSqlUpdate(sqlFactory.getSQL());
         if ("true".equalsIgnoreCase(status)) {
@@ -123,7 +189,6 @@ public class submitedit extends Controller {
         }
     }
 
-
     /**
      * 下级提报管理列表查询
      */