Przeglądaj źródła

总部物料查询新增fisinsert字段,用来过滤是否已添加的物料

沈静伟 3 lat temu
rodzic
commit
839cf6d6a4

+ 83 - 61
src/rest/openapi/restcontroller/housekeeper/titem/HeadTitem.java

@@ -23,65 +23,79 @@ public class HeadTitem extends Controller {
     public HeadTitem(JSONObject content) {
         super(content);
     }
-    /**总部物料查询**/
-    public String list(){
 
-        if(StringUtils.isBlank(hrid))return getReturnObject_err("hrid为空").toString();
-        if(StringUtils.isBlank(fagentnum))return getReturnObject_err("fagentnum为空").toString();
-        if(StringUtils.isBlank(siteid))return getReturnObject_err("siteid为空").toString();
+    /**
+     * 总部物料查询
+     **/
+    public String list() {
+
+        if (StringUtils.isBlank(hrid)) return getReturnObject_err("hrid为空").toString();
+        if (StringUtils.isBlank(fagentnum)) return getReturnObject_err("fagentnum为空").toString();
+        if (StringUtils.isBlank(siteid)) return getReturnObject_err("siteid为空").toString();
         JSONObject where = content.getJSONObject("where");
-        String wherestr="1=1";
-        if(where!=null){
-            DBConnect dbConnect=new DBConnect();
-            if(where.containsKey("fitemname")&&!StringUtils.isBlank(where.getString("fitemname"))){
-                wherestr+=" and (fitemname like '%"+where.getString("fitemname")+"%' or FITEMNO like '%"+where.getString("fitemname")+"%')";
+        String wherestr = "1=1";
+        if (where != null) {
+            DBConnect dbConnect = new DBConnect();
+            if (where.containsKey("fitemname") && !StringUtils.isBlank(where.getString("fitemname"))) {
+                wherestr += " and (fitemname like '%" + where.getString("fitemname") + "%' or FITEMNO like '%" + where.getString("fitemname") + "%')";
+            }
+            if (where.containsKey("fisinsert") && !StringUtils.isBlank(where.getString("fisinsert"))) {
+                boolean fisinsert = where.getInt("fisinsert") == 1;
+                if (fisinsert) {
+                    wherestr += " and EXISTS(select 1 from TAGENTS_titem t1 where t1.siteid='" + siteid + "' and t1.FAGENTNUM='" + fagentnum + "' and t1.FITEMNO=t.FITEMNO)";
+                } else {
+                    wherestr += " and not EXISTS(select 1 from TAGENTS_titem t1 where t1.siteid='" + siteid + "' and t1.FAGENTNUM='" + fagentnum + "' and t1.FITEMNO=t.FITEMNO)";
+                }
             }
-            SQLFactory factory=new SQLFactory(this,"总部物料查询",pageSize,pageNumber,"t.fitemno");
-            factory.addParameter("siteid",siteid);
-            factory.addParameter("fagentnum",fagentnum);
-            factory.addParameter_SQL("where",wherestr);
+            SQLFactory factory = new SQLFactory(this, "总部物料查询", pageSize, pageNumber, "t.fitemno");
+            factory.addParameter("siteid", siteid);
+            factory.addParameter("fagentnum", fagentnum);
+            factory.addParameter_SQL("where", wherestr);
             Rows rows = dbConnect.runSqlQuery(factory.getSQL());
-            SQLFactory imagefactory=new SQLFactory(this,"总部物料图片查询");
-            imagefactory.addParameter("siteid",siteid);
+            SQLFactory imagefactory = new SQLFactory(this, "总部物料图片查询");
+            imagefactory.addParameter("siteid", siteid);
 
-            imagefactory.addParameter_SQL("fitemno",rows.getInWhere("fitemno"));
+            imagefactory.addParameter_SQL("fitemno", rows.getInWhere("fitemno"));
             Rows image_rows = dbConnect.runSqlQuery(imagefactory.getSQL());
             RowsMap fitemno = image_rows.toRowsMap("fitemno");
             for (Row row : rows) {
-                if(fitemno.containsKey(row.getString("fitemno"))){
-                    row.put("url",fitemno.get(row.getString("fitemno")).get(0).getString("url"));
+                if (fitemno.containsKey(row.getString("fitemno"))) {
+                    row.put("url", fitemno.get(row.getString("fitemno")).get(0).getString("url"));
                 }
             }
-            return getReturnObject_suc_page(rows,true,0).toString();
+            return getReturnObject_suc_page(rows, true, 0).toString();
         }
         return getReturnObject_err("缺少where参数").toString();
     }
 
-    /**加入本站物料**/
-    public String addtitem(){
-        if(StringUtils.isBlank(hrid))return getReturnObject_err("hrid为空").toString();
-        if(StringUtils.isBlank(fagentnum))return getReturnObject_err("fagentnum为空").toString();
-        if(StringUtils.isBlank(siteid))return getReturnObject_err("siteid为空").toString();
+    /**
+     * 加入本站物料
+     **/
+    public String addtitem() {
+        if (StringUtils.isBlank(hrid)) return getReturnObject_err("hrid为空").toString();
+        if (StringUtils.isBlank(fagentnum)) return getReturnObject_err("fagentnum为空").toString();
+        if (StringUtils.isBlank(siteid)) return getReturnObject_err("siteid为空").toString();
         JSONObject where = content.getJSONObject("where");
-        String s[]={"fitemno"};
+        String s[] = {"fitemno"};
         for (String s1 : s) {
-            if(!where.containsKey(s1)||StringUtils.isBlank(where.getString(s1)))return getReturnObject_err("缺少"+s1+"参数").toString();
+            if (!where.containsKey(s1) || StringUtils.isBlank(where.getString(s1)))
+                return getReturnObject_err("缺少" + s1 + "参数").toString();
         }
-        if(where!=null){
+        if (where != null) {
             try {
                 PaoSetRemote tagents = P2Server.getP2Server().getPaoSet("TAGENTS", P2Server.getP2Server().getSystemUserInfo());
                 tagents.setInsertSite(siteid);
-                tagents.setWhere("FAGENTNUM='"+fagentnum+"'");
+                tagents.setWhere("FAGENTNUM='" + fagentnum + "'");
                 tagents.reset();
-                if(!tagents.isEmpty()){
+                if (!tagents.isEmpty()) {
                     PaoRemote tagents_pao = tagents.getPao(0);
                     PaoSetRemote tagents_titem = tagents_pao.getPaoSet("TAGENTS_titem");
-                    tagents_titem.setWhere("fitemno='"+where.getString("fitemno")+"'");
+                    tagents_titem.setWhere("fitemno='" + where.getString("fitemno") + "'");
                     tagents_titem.reset();
-                    if(!tagents_titem.isEmpty())return getReturnObject_err("该物料号重复添加").toString();
+                    if (!tagents_titem.isEmpty()) return getReturnObject_err("该物料号重复添加").toString();
                     PaoRemote remote = tagents_titem.addAtEnd();
-                    if(!StringUtils.isBlank(where.getString("fitemno"))){
-                        remote.setValue("FITEMNO",where.getString("fitemno"),2l);
+                    if (!StringUtils.isBlank(where.getString("fitemno"))) {
+                        remote.setValue("FITEMNO", where.getString("fitemno"), 2l);
                         tagents_titem.save();
                         return getReturnObject_suc().toString();
                     }
@@ -94,33 +108,37 @@ public class HeadTitem extends Controller {
         }
         return getReturnObject_err("缺少where参数").toString();
     }
-    /**批量加入本站物料**/
-    public String addtitems(){
-        if(StringUtils.isBlank(hrid))return getReturnObject_err("hrid为空").toString();
-        if(StringUtils.isBlank(fagentnum))return getReturnObject_err("fagentnum为空").toString();
-        if(StringUtils.isBlank(siteid))return getReturnObject_err("siteid为空").toString();
+
+    /**
+     * 批量加入本站物料
+     **/
+    public String addtitems() {
+        if (StringUtils.isBlank(hrid)) return getReturnObject_err("hrid为空").toString();
+        if (StringUtils.isBlank(fagentnum)) return getReturnObject_err("fagentnum为空").toString();
+        if (StringUtils.isBlank(siteid)) return getReturnObject_err("siteid为空").toString();
         JSONObject where = content.getJSONObject("where");
-        String s[]={"fitemno"};
+        String s[] = {"fitemno"};
         for (String s1 : s) {
-            if(!where.containsKey(s1)||StringUtils.isBlank(where.getString(s1)))return getReturnObject_err("缺少"+s1+"参数").toString();
+            if (!where.containsKey(s1) || StringUtils.isBlank(where.getString(s1)))
+                return getReturnObject_err("缺少" + s1 + "参数").toString();
         }
-        if(where!=null){
+        if (where != null) {
             try {
                 PaoSetRemote tagents = P2Server.getP2Server().getPaoSet("TAGENTS", P2Server.getP2Server().getSystemUserInfo());
                 tagents.setInsertSite(siteid);
-                tagents.setWhere("FAGENTNUM='"+fagentnum+"'");
+                tagents.setWhere("FAGENTNUM='" + fagentnum + "'");
                 tagents.reset();
-                if(!tagents.isEmpty()){
+                if (!tagents.isEmpty()) {
                     PaoRemote tagents_pao = tagents.getPao(0);
                     JSONArray fitemno = where.getJSONArray("fitemno");
                     for (Object o : fitemno) {
-                        String fitemno_child=(String) o;
+                        String fitemno_child = (String) o;
                         PaoSetRemote tagents_titem = tagents_pao.getPaoSet("TAGENTS_titem");
-                        tagents_titem.setWhere("fitemno='"+fitemno_child+"'");
+                        tagents_titem.setWhere("fitemno='" + fitemno_child + "'");
                         tagents_titem.reset();
-                        if(tagents_titem.isEmpty()){
+                        if (tagents_titem.isEmpty()) {
                             PaoRemote remote = tagents_titem.addAtEnd();
-                            remote.setValue("FITEMNO",fitemno_child,2l);
+                            remote.setValue("FITEMNO", fitemno_child, 2l);
                             tagents_titem.save();
                         }
                     }
@@ -134,31 +152,35 @@ public class HeadTitem extends Controller {
         }
         return getReturnObject_err("缺少where参数").toString();
     }
-    /**批量删除本站物料**/
-    public String detetitems(){
-        if(StringUtils.isBlank(hrid))return getReturnObject_err("hrid为空").toString();
-        if(StringUtils.isBlank(fagentnum))return getReturnObject_err("fagentnum为空").toString();
-        if(StringUtils.isBlank(siteid))return getReturnObject_err("siteid为空").toString();
+
+    /**
+     * 批量删除本站物料
+     **/
+    public String detetitems() {
+        if (StringUtils.isBlank(hrid)) return getReturnObject_err("hrid为空").toString();
+        if (StringUtils.isBlank(fagentnum)) return getReturnObject_err("fagentnum为空").toString();
+        if (StringUtils.isBlank(siteid)) return getReturnObject_err("siteid为空").toString();
         JSONObject where = content.getJSONObject("where");
-        String s[]={"fitemno"};
+        String s[] = {"fitemno"};
         for (String s1 : s) {
-            if(!where.containsKey(s1)||StringUtils.isBlank(where.getString(s1)))return getReturnObject_err("缺少"+s1+"参数").toString();
+            if (!where.containsKey(s1) || StringUtils.isBlank(where.getString(s1)))
+                return getReturnObject_err("缺少" + s1 + "参数").toString();
         }
-        if(where!=null){
+        if (where != null) {
             try {
                 PaoSetRemote tagents = P2Server.getP2Server().getPaoSet("TAGENTS", P2Server.getP2Server().getSystemUserInfo());
                 tagents.setInsertSite(siteid);
-                tagents.setWhere("FAGENTNUM='"+fagentnum+"'");
+                tagents.setWhere("FAGENTNUM='" + fagentnum + "'");
                 tagents.reset();
-                if(!tagents.isEmpty()){
+                if (!tagents.isEmpty()) {
                     PaoRemote tagents_pao = tagents.getPao(0);
                     JSONArray fitemno = where.getJSONArray("fitemno");
                     for (Object o : fitemno) {
                         PaoSetRemote tagents_titem = tagents_pao.getPaoSet("TAGENTS_titem");
-                        String fitemno_child=(String) o;
-                        tagents_titem.setWhere("fitemno='"+fitemno_child+"'");
+                        String fitemno_child = (String) o;
+                        tagents_titem.setWhere("fitemno='" + fitemno_child + "'");
                         tagents_titem.reset();
-                        if(!tagents_titem.isEmpty()){
+                        if (!tagents_titem.isEmpty()) {
                             tagents_titem.getPao(0).delete();
                             tagents_titem.save();
                         }

+ 2 - 2
src/rest/openapi/restcontroller/housekeeper/titem/SQL/总部物料查询.sql

@@ -1,5 +1,5 @@
 select t.fitemno,t.fitemname,t.fmodel,t.fspec,t.fisused,t.fieldname,t.fbrand,
-       case when EXISTS(select 1 from TAGENTS_titem t1 where FAGENTNUM=$fagentnum$ and t1.FITEMNO=t.FITEMNO) then 1 else 0 end fisinsert,
-       case when EXISTS(select 1 from TAGENTS_titem t1 where FAGENTNUM=$fagentnum$ and t1.FITEMNO=t.FITEMNO and fisused=1) then 1 else 0 end fistagentused
+       case when EXISTS(select 1 from TAGENTS_titem t1 where t1.siteid=$siteid$ and t1.FAGENTNUM=$fagentnum$ and t1.FITEMNO=t.FITEMNO) then 1 else 0 end fisinsert,
+       case when EXISTS(select 1 from TAGENTS_titem t1 where  t1.siteid=$siteid$ and t1.FAGENTNUM=$fagentnum$ and t1.FITEMNO=t.FITEMNO and fisused=1) then 1 else 0 end fistagentused
        from titem t
 where t.siteid=$siteid$ and t.FISSERVICE=1 and t.FISONSALE=1 and $where$