|
@@ -13,6 +13,7 @@ import com.awspaas.user.apps.donenow_ctt.cttConstant;
|
|
|
import com.awspaas.user.apps.donenow_ctt.service.contractService;
|
|
import com.awspaas.user.apps.donenow_ctt.service.contractService;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
|
|
|
|
+import java.sql.Connection;
|
|
|
import java.sql.SQLException;
|
|
import java.sql.SQLException;
|
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDate;
|
|
|
import java.time.ZoneId;
|
|
import java.time.ZoneId;
|
|
@@ -323,13 +324,14 @@ public class contractApproveController {
|
|
|
System.out.println("获取费率异常" + e.getMessage());
|
|
System.out.println("获取费率异常" + e.getMessage());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ String ORGID = uc.getCompanyModel().getId();
|
|
|
// 获取税收信息
|
|
// 获取税收信息
|
|
|
if (thisAccount != null && StringUtils.isNotBlank(thisAccount.getString("TAX_REGION_ID"))) {
|
|
if (thisAccount != null && StringUtils.isNotBlank(thisAccount.getString("TAX_REGION_ID"))) {
|
|
|
- thisTaxRegion = DBSql.getMap("SELECT * FROM BO_EU_DND_GENERAL WHERE OID=?", new Object[]{thisAccount.getString("TAX_REGION_ID")});
|
|
|
|
|
|
|
+ thisTaxRegion = DBSql.getMap("SELECT * FROM BO_EU_DND_GENERAL WHERE OID=? AND ORGID=?", new Object[]{thisAccount.getString("TAX_REGION_ID"), ORGID});
|
|
|
}
|
|
}
|
|
|
if (thisTaxCate != null && thisTaxRegion != null) {
|
|
if (thisTaxCate != null && thisTaxRegion != null) {
|
|
|
|
|
|
|
|
- RowMap thisTax = DBSql.getMap("SELECT * FROM BO_EU_DND_TAX_REGION_CATE WHERE TAX_REGION_ID=? AND TAX_CATEGORY_ID=?", new Object[]{thisTaxRegion.getString("ID"), thisTaxCate.getString("ID")});
|
|
|
|
|
|
|
+ RowMap thisTax = DBSql.getMap("SELECT * FROM BO_EU_DND_TAX_REGION_CATE WHERE TAX_REGION_ID=? AND TAX_CATEGORY_ID=? AND ORGID=?", new Object[]{thisTaxRegion.getString("OID"), thisTaxCate.getString("OID"), ORGID});
|
|
|
if (thisTax != null) {
|
|
if (thisTax != null) {
|
|
|
tax_rate = thisTax.getDouble("TOTAL_EFFECTIVE_TAX_RATE");
|
|
tax_rate = thisTax.getDouble("TOTAL_EFFECTIVE_TAX_RATE");
|
|
|
}
|
|
}
|
|
@@ -393,7 +395,7 @@ public class contractApproveController {
|
|
|
thisBlockDed.set("EXTENDED_COST", GetEntryCost(thisWorkEntry.getString("ID")));
|
|
thisBlockDed.set("EXTENDED_COST", GetEntryCost(thisWorkEntry.getString("ID")));
|
|
|
thisBlockDed.set("CONTRACT_ID", thisWorkEntry.getString("CONTRACT_ID"));
|
|
thisBlockDed.set("CONTRACT_ID", thisWorkEntry.getString("CONTRACT_ID"));
|
|
|
if (thisTaxCate != null)
|
|
if (thisTaxCate != null)
|
|
|
- thisBlockDed.set("TAX_CATEGORY_ID", thisTaxCate.getString("ID"));
|
|
|
|
|
|
|
+ thisBlockDed.set("TAX_CATEGORY_ID", thisTaxCate.getString("OID"));
|
|
|
|
|
|
|
|
thisBlockDed.set("EXTENDED_PRICE", 0);
|
|
thisBlockDed.set("EXTENDED_PRICE", 0);
|
|
|
thisBlockDed.set("BILL_ACCOUNT_ID", thisWorkEntry.get("BILL_ACCOUNT_ID"));
|
|
thisBlockDed.set("BILL_ACCOUNT_ID", thisWorkEntry.get("BILL_ACCOUNT_ID"));
|
|
@@ -710,18 +712,23 @@ public class contractApproveController {
|
|
|
String contract_id = null;
|
|
String contract_id = null;
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank("COST_CODE_ID")) {
|
|
if (StringUtils.isNotBlank("COST_CODE_ID")) {
|
|
|
- RowMap thisCost = DBSql.getMap("SELECT * FROM BO_EU_DND_COST_CODE WHERE ID=?", getString(rowMap, "COST_CODE_ID"));
|
|
|
|
|
|
|
+ RowMap thisCost = DBSql.getMap("SELECT * FROM BO_EU_DND_COST_CODE WHERE OID=? AND ORGID=?", new Object[]{getString(rowMap, "COST_CODE_ID"), uc.getCompanyModel().getId()});
|
|
|
if (thisCost != null && StringUtils.isNotBlank(thisCost.getString("TAX_CATEGORY_ID"))) {
|
|
if (thisCost != null && StringUtils.isNotBlank(thisCost.getString("TAX_CATEGORY_ID"))) {
|
|
|
- thisTaxCate = DBSql.getMap("SELECT * FROM BO_EU_DND_GENERAL WHERE OID=?", thisCost.getString("TAX_CATEGORY_ID"));
|
|
|
|
|
|
|
+ thisTaxCate = DBSql.getMap("SELECT * FROM BO_EU_DND_GENERAL WHERE OID=? AND ORGID=?", new Object[]{thisCost.getString("TAX_CATEGORY_ID"), uc.getCompanyModel().getId()});
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
RowMap thisAccount = DBSql.getMap("SELECT * FROM BO_EU_DNCRM_ACCOUNT WHERE ID=?", getString(rowMap, "ACCOUNT_ID"));
|
|
RowMap thisAccount = DBSql.getMap("SELECT * FROM BO_EU_DNCRM_ACCOUNT WHERE ID=?", getString(rowMap, "ACCOUNT_ID"));
|
|
|
if (thisAccount != null && StringUtils.isNotBlank(thisAccount.getString("TAX_REGION_ID"))) {
|
|
if (thisAccount != null && StringUtils.isNotBlank(thisAccount.getString("TAX_REGION_ID"))) {
|
|
|
- thisTaxRegion = DBSql.getMap("SELECT * FROM BO_EU_DND_GENERAL WHERE OID=?", thisAccount.getString("TAX_REGION_ID"));
|
|
|
|
|
|
|
+ thisTaxRegion = DBSql.getMap("SELECT * FROM BO_EU_DND_GENERAL WHERE OID=? AND ORGID=?", new Object[]{thisAccount.getString("TAX_REGION_ID"), uc.getCompanyModel().getId()});
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
if (thisTaxRegion != null && thisTaxCate != null) {
|
|
if (thisTaxRegion != null && thisTaxCate != null) {
|
|
|
- tax_rate = DBSql.getDouble("SELECT TOTAL_EFFECTIVE_TAX_RATE FROM BO_EU_DND_TAX_REGION_CATE WHERE tax_region_id='" + thisTaxRegion.getString("ID") + "' and tax_cate_id='" + thisTaxCate.getString("ID") + "' ", "TOTAL_EFFECTIVE_TAX_RATE");
|
|
|
|
|
|
|
+ tax_rate = DBSql.getDouble("SELECT TOTAL_EFFECTIVE_TAX_RATE FROM BO_EU_DND_TAX_REGION_CATE WHERE tax_region_id='" + thisTaxRegion.getString("OID") + "' and tax_cate_id='" + thisTaxCate.getString("OID") + "' and ORGID='" + uc.getCompanyModel().getId() + "'", "TOTAL_EFFECTIVE_TAX_RATE");
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
LocalDate thisDate = getLocalDate(approveDate);//审批时间
|
|
LocalDate thisDate = getLocalDate(approveDate);//审批时间
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(oldExp.getString("PROJECT_ID"))) {
|
|
if (StringUtils.isNotBlank(oldExp.getString("PROJECT_ID"))) {
|
|
@@ -765,7 +772,8 @@ public class contractApproveController {
|
|
|
thisDed.set("EFFECTIVE_TAX_RATE", tax_rate);
|
|
thisDed.set("EFFECTIVE_TAX_RATE", tax_rate);
|
|
|
thisDed.set("TAX_DOLLARS", extended_price * (1 - 1 / (1 + tax_rate)));
|
|
thisDed.set("TAX_DOLLARS", extended_price * (1 - 1 / (1 + tax_rate)));
|
|
|
if (thisTaxCate != null)
|
|
if (thisTaxCate != null)
|
|
|
- thisDed.set("TAX_CATEGORY_ID", thisTaxCate.getString("ID"));
|
|
|
|
|
|
|
+ thisDed.set("TAX_CATEGORY_ID", thisTaxCate.getString("OID"));
|
|
|
|
|
+
|
|
|
|
|
|
|
|
dn.recordFormChanges.record(uc, thisDed, "审批提交费用");
|
|
dn.recordFormChanges.record(uc, thisDed, "审批提交费用");
|
|
|
SDK.getBOAPI().createDataBO("BO_EU_DNCRM_ACCOUNT_DEDUCTION", thisDed, uc);
|
|
SDK.getBOAPI().createDataBO("BO_EU_DNCRM_ACCOUNT_DEDUCTION", thisDed, uc);
|
|
@@ -783,4 +791,89 @@ public class contractApproveController {
|
|
|
|
|
|
|
|
return ResponseObject.newOkResponse();
|
|
return ResponseObject.newOkResponse();
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 撤销工时审批
|
|
|
|
|
+ * @param ids
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ @Mapping("com.awspaas.user.apps.donenow_ctt.revoke_labor")
|
|
|
|
|
+ public ResponseObject revokeLabor(UserContext uc, String ids) throws SQLException {
|
|
|
|
|
+ Connection connUpdate = null;
|
|
|
|
|
+ try {
|
|
|
|
|
+ connUpdate = DBSql.open();
|
|
|
|
|
+ connUpdate.setAutoCommit(false);
|
|
|
|
|
+ for (String id : ids.split(",")) {
|
|
|
|
|
+ BO bo = SDK.getBOAPI().get("BO_EU_DNCRM_ACCOUNT_DEDUCTION", id);
|
|
|
|
|
+ bo.set("CLOSED", 1);
|
|
|
|
|
+ dn.recordFormChanges.record(uc, bo, "撤销工时审批");
|
|
|
|
|
+
|
|
|
|
|
+ SDK.getBOAPI().remove("BO_EU_DNCRM_ACCOUNT_DEDUCTION", bo.getId(), connUpdate);
|
|
|
|
|
+
|
|
|
|
|
+ BO oldEntry = SDK.getBOAPI().get("BO_EU_DNSDK_WORK_ENTRY", 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_DNSDK_WORK_ENTRY", oldEntry);
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ connUpdate.commit();
|
|
|
|
|
+ } catch (SQLException e) {
|
|
|
|
|
+ if (connUpdate != null && !connUpdate.isClosed())
|
|
|
|
|
+ try {
|
|
|
|
|
+ connUpdate.rollback();
|
|
|
|
|
+ } catch (SQLException ex) {
|
|
|
|
|
+ ex.printStackTrace();
|
|
|
|
|
+ }
|
|
|
|
|
+ } finally {
|
|
|
|
|
+ if (connUpdate != null && !connUpdate.isClosed())
|
|
|
|
|
+ DBSql.close(connUpdate);
|
|
|
|
|
+ }
|
|
|
|
|
+ return ResponseObject.newOkResponse();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 撤销费用审批
|
|
|
|
|
+ * @param uc
|
|
|
|
|
+ * @param ids
|
|
|
|
|
+ * @return
|
|
|
|
|
+ * @throws SQLException
|
|
|
|
|
+ */
|
|
|
|
|
+ @Mapping("com.awspaas.user.apps.donenow_ctt.revoke_expense")
|
|
|
|
|
+ public ResponseObject revokeExpense(UserContext uc, String ids) throws SQLException {
|
|
|
|
|
+ Connection connUpdate = null;
|
|
|
|
|
+ try {
|
|
|
|
|
+ connUpdate = DBSql.open();
|
|
|
|
|
+ connUpdate.setAutoCommit(false);
|
|
|
|
|
+ for (String id : ids.split(",")) {
|
|
|
|
|
+ BO bo = SDK.getBOAPI().get("BO_EU_DNCRM_ACCOUNT_DEDUCTION", id);
|
|
|
|
|
+ bo.set("CLOSED", 1);
|
|
|
|
|
+ dn.recordFormChanges.record(uc, bo, "撤销费用审批");
|
|
|
|
|
+
|
|
|
|
|
+ SDK.getBOAPI().remove("BO_EU_DNCRM_ACCOUNT_DEDUCTION", bo.getId(), connUpdate);
|
|
|
|
|
+
|
|
|
|
|
+ BO oldEntry = SDK.getBOAPI().get("BO_EU_DNSDK_EXPENSE", 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_DNSDK_EXPENSE", oldEntry);
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ connUpdate.commit();
|
|
|
|
|
+ } catch (SQLException e) {
|
|
|
|
|
+ if (connUpdate != null && !connUpdate.isClosed())
|
|
|
|
|
+ try {
|
|
|
|
|
+ connUpdate.rollback();
|
|
|
|
|
+ } catch (SQLException ex) {
|
|
|
|
|
+ ex.printStackTrace();
|
|
|
|
|
+ }
|
|
|
|
|
+ } finally {
|
|
|
|
|
+ if (connUpdate != null && !connUpdate.isClosed())
|
|
|
|
|
+ DBSql.close(connUpdate);
|
|
|
|
|
+ }
|
|
|
|
|
+ return ResponseObject.newOkResponse();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|