Эх сурвалжийг харах

佣金审批并提交、调整佣金、恢复佣金初始值bug修改

zhangyao 2 сар өмнө
parent
commit
b897eb2000

+ 38 - 9
com.awspaas.user.apps.donenow_ctt/src/com/awspaas/user/apps/donenow_ctt/controller/contractApproveController.java

@@ -12,6 +12,7 @@ import com.actionsoft.sdk.local.api.Logger;
 import com.awspaas.user.apps.donenow_ctt.cttConstant;
 import com.awspaas.user.apps.donenow_ctt.service.contractService;
 import org.apache.commons.lang3.StringUtils;
+
 import java.math.BigDecimal;
 import java.sql.Connection;
 import java.sql.SQLException;
@@ -1013,6 +1014,7 @@ public class contractApproveController {
         }
         return ResponseObject.newOkResponse();
     }
+
     @Mapping(value = "com.awspaas.user.apps.donenow_ctt.insertCommissionPeriods")
     public ResponseObject insertCommissionPeriods(UserContext uc,
                                                   String bindid,
@@ -1102,6 +1104,7 @@ public class contractApproveController {
             return ResponseObject.newErrResponse("插入失败:" + e.getMessage());
         }
     }
+
     @Mapping(value = "com.awspaas.user.apps.donenow_ctt.batchInsertAgentPeriods")
     public ResponseObject batchInsertAgentPeriods(UserContext uc,
                                                   String bindid,
@@ -1319,15 +1322,25 @@ public class contractApproveController {
      * @return
      */
     @Mapping(value = "com.awspaas.user.apps.donenow_ctt.approve_updateCommissionPrice")
-    public ResponseObject updateCommissionPrice(UserContext uc, String id, String periodPrice) throws SQLException {
-
+    public ResponseObject updateCommissionPrice(UserContext uc, String id, String periodPrice) {
+/*
         BO bo = SDK.getBOAPI().get("BO_EU_DNCTT_COMMISSION_PERIOD", id);//佣金
 
-        if(bo.get("APPROVE_AND_POST_DATE")!=null||StringUtils.isNotBlank(bo.getString("APPROVE_AND_POST_USER_ID")))
-            return ResponseObject.newErrResponse("该佣金已审批通过");
+        String APPROVE_AND_POST_DATE = bo.getString("APPROVE_AND_POST_DATE");
+        System.out.println("APPROVE_AND_POST_DATE------------" + APPROVE_AND_POST_DATE);
+        if (StringUtils.isNotBlank(APPROVE_AND_POST_DATE))
+            return ResponseObject.newErrResponse("已审批不允许修改");
 
         bo.set("PERIOD_ADJUSTED_PRICE", periodPrice);
         SDK.getBOAPI().update("BO_EU_DNCTT_COMMISSION_PERIOD", bo);
+*/
+        RowMap period = DBSql.getMap("select * from BO_EU_DNCTT_COMMISSION_PERIOD where ID=?", new Object[]{id});
+        String APPROVE_AND_POST_DATE = period.getString("APPROVE_AND_POST_DATE");
+        System.out.println("APPROVE_AND_POST_DATE------------" + APPROVE_AND_POST_DATE);
+        if (StringUtils.isNotBlank(APPROVE_AND_POST_DATE))
+            return ResponseObject.newErrResponse("已审批不允许修改");
+
+        DBSql.update("update BO_EU_DNCTT_COMMISSION_PERIOD set PERIOD_ADJUSTED_PRICE=? where ID=?", new Object[]{periodPrice, id});
 
         return ResponseObject.newOkResponse();
     }
@@ -1341,22 +1354,34 @@ public class contractApproveController {
     @Mapping(value = "com.awspaas.user.apps.donenow_ctt.approve_initCommissionPrice")
     public ResponseObject initCommissionPrice(UserContext uc, String ids) {
 
-        for (String id : ids.split(","))
-        {
+        for (String id : ids.split(",")) {
+            /*
             BO bo = SDK.getBOAPI().get("BO_EU_DNCTT_COMMISSION_PERIOD", id);//佣金
 
-            if(bo.get("APPROVE_AND_POST_DATE")!=null||StringUtils.isNotBlank(bo.getString("APPROVE_AND_POST_USER_ID")))
-                return ResponseObject.newErrResponse("该佣金已审批通过");
+            String APPROVE_AND_POST_DATE = bo.getString("APPROVE_AND_POST_DATE");
+            System.out.println("APPROVE_AND_POST_DATE------------" + APPROVE_AND_POST_DATE);
+            if (StringUtils.isNotBlank(APPROVE_AND_POST_DATE))
+                return ResponseObject.newErrResponse("已审批不允许修改");
 
             bo.set("PERIOD_ADJUSTED_PRICE", bo.get("COMMISSION_DOLLARS"));
             SDK.getBOAPI().update("BO_EU_DNCTT_COMMISSION_PERIOD", bo);
+
+             */
+
+            RowMap period = DBSql.getMap("select * from BO_EU_DNCTT_COMMISSION_PERIOD where ID=?", new Object[]{id});
+            String APPROVE_AND_POST_DATE = period.getString("APPROVE_AND_POST_DATE");
+            System.out.println("APPROVE_AND_POST_DATE------------" + APPROVE_AND_POST_DATE);
+            if (StringUtils.isNotBlank(APPROVE_AND_POST_DATE))
+                return ResponseObject.newErrResponse("已审批不允许修改");
+
+            DBSql.update("update BO_EU_DNCTT_COMMISSION_PERIOD set PERIOD_ADJUSTED_PRICE=COMMISSION_DOLLARS where ID=?", new Object[]{id});
+
         }
 
         return ResponseObject.newOkResponse();
     }
 
 
-
     /**
      * 撤销佣金审批
      * @param ids
@@ -1375,12 +1400,16 @@ public class contractApproveController {
 
                 SDK.getBOAPI().remove("BO_EU_DNCRM_ACCOUNT_DEDUCTION", bo.getId(), connUpdate);
 
+                /*
                 BO oldEntry = SDK.getBOAPI().get("BO_EU_DNCTT_COMMISSION_PERIOD", bo.getString("OBJECT_ID"));
                 oldEntry.set("APPROVE_AND_POST_DATE", null);
                 oldEntry.set("APPROVE_AND_POST_USER_ID", null);
                 dn.recordFormChanges.record(uc, oldEntry, "撤销佣金审批");
                 SDK.getBOAPI().update("BO_EU_DNCTT_COMMISSION_PERIOD", oldEntry);
 
+                 */
+                DBSql.update("update BO_EU_DNCTT_COMMISSION_PERIOD set APPROVE_AND_POST_DATE=null,APPROVE_AND_POST_USER_ID=null where ID=?", new Object[]{bo.getString("OBJECT_ID")});
+
             }
             connUpdate.commit();
         } catch (SQLException e) {

+ 23 - 17
com.awspaas.user.apps.donenow_ctt/src/com/awspaas/user/apps/donenow_ctt/service/contractService.java

@@ -1724,24 +1724,29 @@ public class contractService {
                 String ORGID = uc.getCompanyModel().getId();
 
                 //BO_EU_DNCTT_COMMISSION_PERIOD
-                BO bo = SDK.getBOAPI().get("BO_EU_DNCTT_COMMISSION_PERIOD", approveId);//佣金
-                BO commissionBO = SDK.getBOAPI().getByProcess("BO_EU_DNCTT_COMMISSION", bo.getBindId());
-                if (bo != null) {
-                    bo.set("APPROVE_AND_POST_DATE", approveDate);
-                    bo.set("SETUP_FEE_APPROVE_POST_USER_ID", uc.getUID());
-                    SDK.getBOAPI().update("BO_EU_DNCTT_COMMISSION_PERIOD", bo, connUpdate);
+
+                RowMap period = DBSql.getMap("select * from BO_EU_DNCTT_COMMISSION_PERIOD where ID=?", new Object[]{approveId});
+
+                //BO bo = SDK.getBOAPI().get("BO_EU_DNCTT_COMMISSION_PERIOD", approveId);//佣金
+                //BO commissionBO = SDK.getBOAPI().getByProcess("BO_EU_DNCTT_COMMISSION", bo.getBindId());
+                if (period != null) {
+                    //bo.set("APPROVE_AND_POST_DATE", approveDate);
+                    //bo.set("APPROVE_AND_POST_USER_ID", uc.getUID());
+                    //SDK.getBOAPI().update("BO_EU_DNCTT_COMMISSION_PERIOD", bo, connUpdate);
+                    DBSql.update(connUpdate, "update BO_EU_DNCTT_COMMISSION_PERIOD set APPROVE_AND_POST_DATE=?,APPROVE_AND_POST_USER_ID=? where ID=?", new Object[]{approveDate, uc.getUID(), approveId});
 
                     cad.set("TYPE_ID", cttConstant.ACCOUNT_DEDUCTION_TYPE_COMMISSION);//类型(佣金)
                     cad.set("OBJECT_ID", approveId);
                     cad.set("CONTRACT_ID", approveId);
                     cad.set("QUANTITY", 1);
-                    cad.set("BILL_CREATE_USER_ID", bo.getCreateUser());//创建人
-                    cad.set("ACCOUNT_ID", commissionBO.getString("ISP"));
-                    cad.set("BILL_ACCOUNT_ID", commissionBO.getString("ISP"));
-                    cad.set("EXTENDED_PRICE", bo.get("PERIOD_ADJUSTED_PRICE"));
-
-                    if (StringUtils.isNotBlank(bo.getString("COST_CODE_ID"))) {
-                        TAX_CATEGORY_ID = DBSql.getString("select TAX_CATEGORY_ID from BO_EU_DND_COST_CODE where OID=? and ORGID=?", new Object[]{bo.getString("COST_CODE_ID"), ORGID});
+                    cad.set("BILL_CREATE_USER_ID", period.getString("CREATEUSER"));//创建人
+                    String ISP = DBSql.getString(connUpdate, "select ISP from BO_EU_DNCTT_COMMISSION where BINDID=?", new Object[]{period.getString("BINDID")});
+                    cad.set("ACCOUNT_ID", ISP);
+                    cad.set("BILL_ACCOUNT_ID", ISP);
+                    cad.set("EXTENDED_PRICE", period.get("PERIOD_ADJUSTED_PRICE"));
+
+                    if (StringUtils.isNotBlank(period.getString("COST_CODE_ID"))) {
+                        TAX_CATEGORY_ID = DBSql.getString("select TAX_CATEGORY_ID from BO_EU_DND_COST_CODE where OID=? and ORGID=?", new Object[]{period.getString("COST_CODE_ID"), ORGID});
                     }
                 }
 
@@ -1754,22 +1759,23 @@ public class contractService {
                     tax_category_name = DBSql.getString("SELECT NAME FROM BO_EU_DND_GENERAL WHERE OID = ? AND ORGID=?", new Object[]{TAX_CATEGORY_ID, uc.getCompanyModel().getId()});
                 }
 
-                if (ca.containsKey("TAX_REGION_ID") && StringUtils.isNotBlank(ca.getString("TAX_REGION_ID"))) {
+                if (ca != null && ca.containsKey("TAX_REGION_ID") && StringUtils.isNotBlank(ca.getString("TAX_REGION_ID"))) {
                     tax_region_name = DBSql.getString("SELECT NAME FROM BO_EU_DND_GENERAL WHERE OID = ? AND ORGID=?", new Object[]{ca.getString("TAX_REGION_ID"), uc.getCompanyModel().getId()});
                 }
 
-                if (tax_category_name != null && tax_region_name != null)
+                if (ca != null && tax_category_name != null && tax_region_name != null)
                     tax_rate = DBSql.getDouble("SELECT TOTAL_EFFECTIVE_TAX_RATE FROM BO_EU_DND_TAX_REGION_CATE WHERE TAX_REGION_ID='" + ca.getString("TAX_REGION_ID") + "' AND TAX_CATE_ID='" + TAX_CATEGORY_ID + "' AND ORGID='" + uc.getCompanyModel().getId() + "' ", "TOTAL_EFFECTIVE_TAX_RATE");
 
                 cad.set("POSTED_DATE", approveDate);
                 cad.set("TAX_CATEGORY_NAME", tax_category_name);
                 cad.set("TAX_CATEGORY_ID", TAX_CATEGORY_ID);
-                cad.set("TAX_REGION_ID", ca.getString("TAX_REGION_ID"));
+                if (ca != null)
+                    cad.set("TAX_REGION_ID", ca.getString("TAX_REGION_ID"));
                 cad.set("TAX_REGION_NAME", tax_region_name);
                 cad.set("EFFECTIVE_TAX_RATE", tax_rate);
 
                 //是否免税
-                if (!ca.getString("IS_TAX_EXEMPT").equals("1") && ca.get("EXTENDED_PRICE") != null && tax_rate > 0) {
+                if (ca != null &&!ca.getString("IS_TAX_EXEMPT").equals("1") && ca.get("EXTENDED_PRICE") != null && tax_rate > 0) {
                     double tax_dollars = cad.get("EXTENDED_PRICE", Double.class) * (1 - 1 / (1 + tax_rate));//税额
                     cad.set("TAX_DOLLARS", tax_dollars);
                 }