|
|
@@ -10,12 +10,11 @@ import com.actionsoft.bpms.util.DBSql;
|
|
|
import com.actionsoft.sdk.local.SDK;
|
|
|
import com.actionsoft.sdk.local.api.Logger;
|
|
|
import com.awspaas.user.apps.donenow_ctt.service.contractService;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
import java.sql.Connection;
|
|
|
import java.sql.SQLException;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* 合同创建时,使用的接口
|
|
|
@@ -185,4 +184,47 @@ public class contractCreateController {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 合同产品删除
|
|
|
+ */
|
|
|
+ @Mapping(value = "com.awspaas.user.apps.donenow_ctt.contract_cost_delete", desc = "合同产品删除")
|
|
|
+ public ResponseObject deleteContractProduct(UserContext uc, String costIds) {
|
|
|
+ if (StringUtils.isBlank(costIds))
|
|
|
+ return ResponseObject.newErrResponse("请选择要删除的条目!");
|
|
|
+
|
|
|
+ String[] costIdArr = costIds.split(",");
|
|
|
+ String sql = "SELECT * FROM BO_EU_DNCTT_CONTRACT_COST WHERE ID IN(";
|
|
|
+ for (int i = 0; costIdArr.length > i; i++) {
|
|
|
+ sql += "?,";
|
|
|
+ }
|
|
|
+ sql = sql.substring(0, sql.length() - 1) + ")";
|
|
|
+ List<RowMap> costList = DBSql.getMaps(sql, Arrays.stream(costIdArr).toArray());
|
|
|
+
|
|
|
+ List<String> errorList = new ArrayList<>();
|
|
|
+ for (RowMap cost : costList) {
|
|
|
+ //1、判断是否拣货
|
|
|
+ if (DBSql.getInt("SELECT COUNT(ID) FROM BO_EU_DNCTT_CONTRACT_COST_PRODUCT WHERE CONTRACT_COST_ID=?", new Object[]{cost.getString("ID")}) > 0) {
|
|
|
+ errorList.add(cost.getString("NAME") + "已拣货");
|
|
|
+ }
|
|
|
+ //2、判断是否创建采购单
|
|
|
+ if (DBSql.getInt("SELECT COUNT(ID) FROM BO_EU_DNIVT_ORDER_PRODUCT WHERE CONTRACT_COST_ID=?", new Object[]{cost.getString("ID")}) > 0) {
|
|
|
+ errorList.add(cost.getString("NAME") + "已创建采购单");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (errorList.size() > 0) {
|
|
|
+ return ResponseObject.newErrResponse(StringUtils.join(errorList, "、") + ",无法删除!");
|
|
|
+ }
|
|
|
+
|
|
|
+ String delSql = "DELETE FROM BO_EU_DNCTT_CONTRACT_COST WHERE ID IN(";
|
|
|
+ for (int i = 0; costIdArr.length > i; i++) {
|
|
|
+ delSql += "?,";
|
|
|
+ }
|
|
|
+ delSql = delSql.substring(0, delSql.length() - 1) + ")";
|
|
|
+ DBSql.update(delSql, Arrays.stream(costIdArr).toArray());
|
|
|
+
|
|
|
+ return ResponseObject.newOkResponse();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|