zhangyao 2 bulan lalu
induk
melakukan
d7b7e2382d

+ 18 - 6
com.awspaas.user.apps.donenow_ctt/src/com/awspaas/user/apps/donenow_ctt/event/costProductFormAfterSave.java

@@ -15,30 +15,42 @@ public class costProductFormAfterSave extends ExecuteListener {
     }
 
     /**
-     *
-     * @param processExecutionContext
-     * @throws Exception
+     * 执行合同成本状态更新操作
+     * @param processExecutionContext 流程执行上下文,用于获取业务对象和其他流程相关数据
+     * @throws Exception 当数据库操作失败或业务逻辑异常时抛出
      */
     @Override
     public void execute(ProcessExecutionContext processExecutionContext) throws Exception {
 
         Connection conn = null;
         try {
+            // 开启数据库事务连接
             conn = DBSql.open();
             conn.setAutoCommit(false);
 
-            BO costBO = processExecutionContext.getBO("BO_EU_DNCTT_CONTRACT_COST");// 获取合同产品BO
-            costBO.set("STATUS_ID", "1234");//待采购/待拣货
-            SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_COST", costBO,conn);
+            // 获取合同产品业务对象并设置初始状态为"待采购/待拣货"
+            BO costBO = processExecutionContext.getBO("BO_EU_DNCTT_CONTRACT_COST");
+            costBO.set("STATUS_ID", "1234");
 
+            // 检查产品是否为无需采购类型,如果是则直接将状态改为"已配送"
+            if (DBSql.getInt(conn, "select DOES_NOT_REQUIRE_PROCUREMENT from BO_EU_DNIVT_PRODUCT where ID=?", new Object[]{costBO.get("PRODUCT_ID")}) == 1) {
+                costBO.set("STATUS_ID", "1237");
+            }
 
+            // 更新合同成本业务对象状态
+            SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_COST", costBO, conn);
+
+            // 提交事务
             conn.commit();
         } catch (Exception e) {
+            // 发生异常时回滚事务并抛出自定义BPMN错误
             conn.rollback();
             throw new BPMNError("550", "库存转移失败");
         } finally {
+            // 关闭数据库连接
             DBSql.close(conn);
         }
 
     }
+
 }

+ 21 - 21
com.awspaas.user.apps.donenow_ctt/src/com/awspaas/user/apps/donenow_ctt/service/InvoiceDealDto.java

@@ -13,105 +13,105 @@ public class InvoiceDealDto {
 
     // 页面参数:1-必填参数,2-可空参数
     /**
-     * 处理活动(原C#:int)
+     * 处理活动(int)
      */
     private int processAction;
 
     /**
-     * 发票模板(必填,原C#:int)
+     * 发票模板(必填,int)
      */
     private int invoiceTemplateId;
 
     /**
-     * 是否启用发票邮件服务(默认false,原C#:bool)
+     * 是否启用发票邮件服务(默认false,bool)
      */
     private boolean isInvoiceEmail = false;
 
     /**
-     * 邮件信息模板ID(原C#:int)
+     * 邮件信息模板ID(int)
      */
     private int emailTempId;
 
     /**
-     * 发票日期(必填,原C#:DateTime)
+     * 发票日期(必填,DateTime)
      * 注:Java中用LocalDateTime对应日期时间类型,若仅需日期可改用LocalDate
      */
     private LocalDate invoiceDate;
 
     /**
-     * 发票开始日期(可空,原C#:DateTime?)
+     * 发票开始日期(可空,DateTime?)
      */
     private LocalDate dateRangeFrom;
 
     /**
-     * 发票结束日期(可空,原C#:DateTime?)
+     * 发票结束日期(可空,DateTime?)
      */
     private LocalDate dateRangeTo;
 
     /**
-     * 订单号(可空,原C#:string)
+     * 订单号(可空,string)
      */
     private String purchaseOrderNo;
 
     /**
-     * 发票备注(可空,原C#:string)
+     * 发票备注(可空,string)
      */
     private String notes;
 
     /**
-     * 支付条款ID(可空,原C#:int?)
+     * 支付条款ID(可空,int?)
      */
     private Integer paymentTermId;
 
-    // 需要用到的参数
+
     /**
-     * 所有待处理发票的ID集合(必填,原C#:string)
+     * 所有待处理发票的ID集合(必填,string)
      * 注:原类中与thisIds字段语义重复,建议后续业务中统一字段名
      */
     private String ids;
 
     /**
-     * 向导专用:是否显示打印按钮(默认false,原C#:bool)
+     * 向导专用:是否显示打印按钮(默认false,bool)
      */
     private boolean isShowPrint = false;
 
     /**
-     * 向导专用:是否显示邮件按钮(默认false,原C#:bool)
+     * 向导专用:是否显示邮件按钮(默认false,bool)
      */
     private boolean isShowEmail = false;
 
     /**
-     * 向导专用:是否关联QuickBooks(默认false,原C#:bool)
+     * 向导专用:是否关联QuickBooks(默认false,bool)
      */
     private boolean isQuickBooks = false;
 
     /**
-     * 跳转预览界面使用的客户ID(待定,原C#:long)
+     * 跳转预览界面使用的客户ID(待定,long)
      */
     private long accountId;
 
     /**
-     * 本批次生成发票的批次ID(原C#:long)
+     * 本批次生成发票的批次ID(long)
      */
     private long invoiceBatch;
 
     /**
-     * 存储发票编号信息(原C#:string)
+     * 存储发票编号信息(string)
      */
     private String invoiceNo;
 
     /**
-     * 待处理发票的ID集合(与ids语义重复,原C#:string)
+     * 待处理发票的ID集合(与ids语义重复,string)
      */
     private String thisIds;
 
     /**
-     * 支付条款名称(原C#:string)
+     * 支付条款名称(string)
      */
     private String paymentTermName;
 
     /**
-     * 支付截止日期(原C#:string,建议后续改为LocalDate类型更规范)
+     * 支付截止日期(string,建议后续改为LocalDate类型更规范)
      */
     private String paymentEndDate;