Преглед изворни кода

1) 采购订单详情:服务类,无需配送,隐藏配送信息相关字段 完成
2) 服务采购审批完成,状态直接改为已配送。不用接收(可以有,有意义,跟用户再确认一下),不用配送————根据产品表找对应的cost_code_id (物料类型字段):307服务 --张耀 完成

zhangyao пре 2 месеци
родитељ
комит
87f6cb30d2

BIN
com.awspaas.user.apps.donenow_crm/lib/com.awspaas.user.apps.donenow_crm.jar


+ 9 - 0
com.awspaas.user.apps.donenow_ivt/src/com/awspaas/user/apps/donenow_ivt/controller/ivtOrderController.java

@@ -812,7 +812,16 @@ public class ivtOrderController {
                 costProduct.set("OLD_QUANTITY", costProduct.get("QUANTITY"));//配送数量
 
                 costProduct.set("SHIPPING_TYPE_ID", null);
+                costProduct.set("COST_CODE_ID", cost.getString("COST_CODE_ID"));
+                costProduct.set("COST_CODE_NAME", cost.getString("COST_CODE_NAME"));
+
+                //服务产品
+                if (StringUtils.isNotBlank(cost.getString("SERVICE_ID")) && cost.getString("IS_SERVICE_PRODUCT").equals("1"))
+                    costProduct.set("IS_SERVICE_COST", 1);
+
                 dn.recordFormChanges.record(uc, costProduct, "采购产品审批后新增");
+
+
                 SDK.getBOAPI().create("BO_EU_DNCTT_CONTRACT_COST_PRODUCT", costProduct, costProductProcessInst, uc);
 
             }

+ 25 - 0
com.awspaas.user.apps.donenow_ivt/src/com/awspaas/user/apps/donenow_ivt/event/ivtOrderProcessAfterComplete.java

@@ -82,6 +82,15 @@ public class ivtOrderProcessAfterComplete extends ExecuteListener {
                     costProduct.set("OLD_QUANTITY", costProduct.get("QUANTITY"));//配送数量
 
                     costProduct.set("SHIPPING_TYPE_ID", null);
+
+                    costProduct.set("COST_CODE_ID", cost.getString("COST_CODE_ID"));
+                    costProduct.set("COST_CODE_NAME", cost.getString("COST_CODE_NAME"));
+
+                    //服务采购审批完成,状态直接改为已配送。
+                    if (costProduct.getString("COST_CODE_ID").equals("307")) {
+                        costProduct.set("STATUS_ID", "2159");//已配送
+                    }
+
                     dn.recordFormChanges.record(uc, costProduct, "采购产品审批后新增");
                     SDK.getBOAPI().create("BO_EU_DNCTT_CONTRACT_COST_PRODUCT", costProduct, processInstance, uc);
                 } else {
@@ -94,6 +103,14 @@ public class ivtOrderProcessAfterComplete extends ExecuteListener {
                     costProduct.set("SN", DBSql.getString("SELECT GROUP_CONCAT(SN) FROM BO_EU_DNIVT_WAREHOUSE_PRODUCT_LOT WHERE ORDER_PRODUCT_ID=?", new Object[]{orderProduct.getId()}));
                     costProduct.set("OLD_QUANTITY", costProduct.get("QUANTITY"));//配送数量
                     costProduct.set("SHIPPING_TYPE_ID", null);
+                    costProduct.set("COST_CODE_ID", cost.getString("COST_CODE_ID"));
+                    costProduct.set("COST_CODE_NAME", cost.getString("COST_CODE_NAME"));
+
+                    //服务采购审批完成,状态直接改为已配送。
+                    if (costProduct.getString("COST_CODE_ID").equals("307")) {
+                        costProduct.set("STATUS_ID", "2159");//已配送
+                    }
+
                     dn.recordFormChanges.record(uc, costProduct, "采购产品审批后新增");
                     SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_COST_PRODUCT", costProduct);
                 }
@@ -106,8 +123,16 @@ public class ivtOrderProcessAfterComplete extends ExecuteListener {
                     //更新状态
                     cost.set("STATUS_ID", 1235); //1235 采购中
                     SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_COST", cost);
+                } else {
+                    //1237//已配送
+                    needsql = "SELECT a.QUANTITY-SUM(ifnull(b.QUANTITY,0)) FROM BO_EU_DNCTT_CONTRACT_COST a LEFT JOIN BO_EU_DNCTT_CONTRACT_COST_PRODUCT b ON a.ID=b.CONTRACT_COST_ID AND b.CLOSED = 0 WHERE b.STATUS_ID<2159 AND a.ID=?";
+                    if (DBSql.getInt(needsql, new Object[]{cost.getId()}) <= 0) {
+                        cost.set("STATUS_ID", 1237); //1237 已配送
+                        SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_COST", cost);
+                    }
                 }
 
+
                 //更新采购订单号
                 String PURCHASE_ORDER_NO = DBSql.getString("SELECT GROUP_CONCAT(PURCHASE_ORDER_NO) FROM " + IVTConstant.BO_EU_DNIVT_ORDER + " WHERE CLOSED=0 AND ISEND=1 AND ID IN (SELECT ORDER_ID FROM BO_EU_DNIVT_ORDER_PRODUCT WHERE CONTRACT_COST_ID=?) ", new Object[]{cost.getString("ID")});
                 DBSql.update("UPDATE BO_EU_DNCTT_CONTRACT_COST SET PURCHASE_ORDER_NO=? WHERE ID=?", new Object[]{PURCHASE_ORDER_NO, cost.getString("ID")});