Selaa lähdekoodia

采购接收功能修改

zhangyao 4 kuukautta sitten
vanhempi
commit
bef438fe90

+ 64 - 21
com.awspaas.user.apps.donenow_ivt/src/com/awspaas/user/apps/donenow_ivt/controller/IVTController.java

@@ -8,6 +8,7 @@ import com.actionsoft.bpms.server.UserContext;
 import com.actionsoft.bpms.server.bind.annotation.Controller;
 import com.actionsoft.bpms.server.bind.annotation.Mapping;
 import com.actionsoft.bpms.util.DBSql;
+import com.actionsoft.bpms.util.TypeUtil;
 import com.actionsoft.bpms.util.UUIDGener;
 import com.actionsoft.sdk.local.SDK;
 import com.alibaba.fastjson.JSONObject;
@@ -17,10 +18,7 @@ import me.chanjar.weixin.common.util.StringUtils;
 
 import java.sql.Connection;
 import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 
 @Controller
 public class IVTController extends BaseController {
@@ -225,8 +223,8 @@ public class IVTController extends BaseController {
         Set<String> set = new HashSet<String>();
         List<BO> list = new ArrayList<BO>();
         for (RowMap map : maps) {
-            if (StringUtils.isNotBlank(map.getString("purchase_order_no")) && StringUtils.isNotBlank(map.getString("purchase_order_no").trim())) {
-                set.add(map.getString("purchase_order_no"));
+            if (StringUtils.isNotBlank(map.getString("PURCHASE_ORDER_NO")) && StringUtils.isNotBlank(map.getString("PURCHASE_ORDER_NO").trim())) {
+                set.add(map.getString("PURCHASE_ORDER_NO"));
             }
 
         }
@@ -235,39 +233,45 @@ public class IVTController extends BaseController {
 
             return fail("一次只能接收同一个采购订单的采购项");
         }
-        for (RowMap map : maps) {
+        for (RowMap orgMap : maps) {
+
+            System.out.println("map:" + orgMap);
+
+            Map<String, Object> map = convertKeysToUppercase(orgMap);
 
             //采购数量不能为空,也不能小于0
-            Object purchaseQuantity = map.get("quantity");
+            Object purchaseQuantity = map.get("QUANTITY");
+
+            System.out.println("purchaseQuantity:" + purchaseQuantity);
             if (purchaseQuantity == null || StringUtils.isBlank(purchaseQuantity.toString()) || Double.parseDouble(purchaseQuantity.toString()) <= 0) {
                 continue;
             }
 
             String unBack = "0";
             BO subBo = new BO();
-            set.add(map.getString("purchase_order_no"));
-            RowMap rowMap = DBSql.getMap("select ORDER_PRODUCT_ID,sum(QUANTITY_RECEIVED) QUANTITY_RECEIVED from BO_EU_DNIVT_RECEIVE WHERE  ORDER_PRODUCT_ID=? group by ORDER_PRODUCT_ID", new Object[]{map.getString("id")});
+            set.add(getString(map,"PURCHASE_ORDER_NO"));
+            RowMap rowMap = DBSql.getMap("select ORDER_PRODUCT_ID,sum(QUANTITY_RECEIVED) QUANTITY_RECEIVED from BO_EU_DNIVT_RECEIVE WHERE  ORDER_PRODUCT_ID=? group by ORDER_PRODUCT_ID", new Object[]{getString(map,"ID")});
             if (null != rowMap) {
-                unBack = getUnBack(map.getString("quantity"), rowMap.getString("QUANTITY_RECEIVED"));
+                unBack = getUnBack(getString(map,"QUANTITY"), rowMap.getString("QUANTITY_RECEIVED"));
                 if (Integer.valueOf(unBack) <= 0) {
-                    System.out.println("采购数量小于已接收数量:" + map.getString("quantity") + "-----" + rowMap.getString("QUANTITY_RECEIVED"));
-                    continue;
+                   // System.out.println("采购数量小于已接收数量:" +getString(map,"QUANTITY") + "-----" + rowMap.getString("QUANTITY_RECEIVED"));
+                    // continue;
                 }
                 subBo.set("QUANTITY_RECEIVED", rowMap.get("QUANTITY_RECEIVED"));
                 subBo.set("QUANTITY_BACKORDERED", unBack);
             } else {
                 subBo.set("QUANTITY_RECEIVED", 0);
-                subBo.set("QUANTITY_BACKORDERED", map.get("quantity"));
+                subBo.set("QUANTITY_BACKORDERED", map.get("QUANTITY"));
             }
-            subBo.set("PRODUCT_NAME", map.get("product_name"));
+            subBo.set("PRODUCT_NAME", map.get("PRODUCT_NAME"));
             subBo.set("IS_SERIALIZED", map.get("IS_SERIALIZED"));
             subBo.set("WAREHOUSE_ID", map.get("WAREHOUSE_ID"));
-            subBo.set("ACCOUNT_NAME", map.get("account_name"));
-            subBo.set("CONTRAC_PROJECT_TASK_NAME", map.get("contrac_project_task_name"));
-            subBo.set("QUANTITY", map.get("quantity"));
-            subBo.set("ON_HAND", map.get("on_hand"));
-            subBo.set("PRODUCT_ID", map.get("product_id"));
-            subBo.set("ORDER_PRODUCT_ID", map.get("id"));
+            subBo.set("ACCOUNT_NAME", map.get("ACCOUNT_NAME"));
+            subBo.set("CONTRAC_PROJECT_TASK_NAME", map.get("CONTRAC_PROJECT_TASK_NAME"));
+            subBo.set("QUANTITY", map.get("QUANTITY"));
+            subBo.set("ON_HAND", map.get("ON_HAND"));
+            subBo.set("PRODUCT_ID", map.get("PRODUCT_ID"));
+            subBo.set("ORDER_PRODUCT_ID", map.get("ID"));
             subBo.set("NOW_COUNT", 0);
             subBo.set("CONTRACT_COST_ID", map.get("CONTRACT_COST_ID"));
             subBo.setBindId(createBOProcessInstance.getId());
@@ -301,6 +305,45 @@ public class IVTController extends BaseController {
         return success(url);
     }
 
+    /**
+     * 将Map中的所有key转换为大写
+     * @param originalMap 原Map(key需为String类型)
+     * @return 转换后的新Map
+     */
+    private static Map<String, Object> convertKeysToUppercase(RowMap originalMap) {
+        // 创建新Map存储结果
+        Map<String, Object> newMap = new HashMap<>();
+
+        if (originalMap == null || originalMap.isEmpty()) {
+            return newMap;
+        }
+
+        // 遍历原Map的键值对
+        Set<Map.Entry<String, Object>> entrySet = originalMap.entrySet();
+        for (Map.Entry<String, Object> entry : entrySet) {
+            String originalKey = entry.getKey();
+            Object value = entry.getValue();
+
+            // 将key转换为大写(若原key为null,转换后仍为null)
+            String upperKey = originalKey != null ? originalKey.toUpperCase() : null;
+
+            // 存入新Map
+            newMap.put(upperKey, value);
+        }
+
+        return newMap;
+    }
+
+    /**
+     * 转string
+     * @param map
+     * @param var1
+     * @return
+     */
+    public String getString(Map<String, Object> map,String var1) {
+        Object var2;
+        return (var2 = map.get(var1)) == null ? "" : TypeUtil.convert(var2, String.class);
+    }
 
     public String getUnBack(String param1, String param2) {
         // TODO Auto-generated method stub

+ 3 - 0
com.awspaas.user.apps.donenow_sys/src/com/awspaas/user/apps/donenow_sys/controller/sysController.java

@@ -159,6 +159,9 @@ public class sysController {
                 return "请选择要发版的app";
             }
 
+            if (SDK.getAppAPI().isActive(appId) == false || SDK.getAppAPI().isInstalled(appId) == false) {
+                return "请选择要发版的app";
+            }
 
             Path target = targetDirectory.resolve(source.getFileName());