|
@@ -8,6 +8,8 @@ import javax.servlet.ServletException;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
+import org.codehaus.jettison.json.JSONException;
|
|
|
+
|
|
|
import nc.bs.dao.BaseDAO;
|
|
|
import nc.bs.dao.DAOException;
|
|
|
import nc.bs.framework.adaptor.IHttpServletAdaptor;
|
|
@@ -50,48 +52,73 @@ public class InitBudgetServlet extends BaseServlet implements IHttpServletAdapto
|
|
|
NCLocator.getInstance().lookup(ISecurityTokenCallback.class).token("NCSystem".getBytes(),"pfxx".getBytes());
|
|
|
String createStr = buildJson(req, resp, this.getClass().getName());
|
|
|
JSONObject json = JSONObject.fromObject(createStr);
|
|
|
+ JSONObject returnobj = new JSONObject();
|
|
|
+ JSONArray result = new JSONArray();
|
|
|
+ JSONArray errMessage = new JSONArray();
|
|
|
String checkresult = checkJson(json);
|
|
|
if(checkresult != null){
|
|
|
- resp.getWriter().write(formatRSJsonData("失败",
|
|
|
- checkresult,"").toString());
|
|
|
+ errMessage.add(formatRSJsonData("失败",
|
|
|
+ checkresult,""));
|
|
|
+ returnobj.put("info", "失败");
|
|
|
+ returnobj.put("errMessage", checkresult);
|
|
|
+ returnobj.put("result", errMessage);
|
|
|
+ resp.getWriter().write(returnobj.toString());
|
|
|
return;
|
|
|
}
|
|
|
JSONArray bodyArray = json.getJSONArray("result");
|
|
|
- JSONArray result = new JSONArray();
|
|
|
+
|
|
|
for (Object Object : bodyArray) {
|
|
|
JSONObject bodyObject = JSONObject.fromObject(Object);
|
|
|
String objcode = QueryModelCode(bodyObject.getString("objname"));//应用模型编码
|
|
|
String code_entity = bodyObject.getString("code_entity");//责任主体
|
|
|
String entityPk = QueryOrgPk(code_entity);//责任主体pk
|
|
|
if(entityPk==null){
|
|
|
- result.add(formatRSJsonData("失败",
|
|
|
+ errMessage.add(formatRSJsonData("失败",
|
|
|
"责任主体"+bodyObject.getString("code_entity")+"未查到,请检查","").toString());
|
|
|
- continue;
|
|
|
+ returnobj.put("info", "失败");
|
|
|
+ returnobj.put("errMessage", "责任主体"+bodyObject.getString("code_entity")+"未查到,请检查");
|
|
|
+ returnobj.put("result", errMessage);
|
|
|
+ resp.getWriter().write(returnobj.toString());
|
|
|
+ return;
|
|
|
}
|
|
|
String pk_year = bodyObject.getString("pk_year");//会计年度
|
|
|
List<String> ListMeasure = QueryMeasureCode(bodyObject.getString("code_measure"));//预算编码
|
|
|
if(ListMeasure.get(0)==null){
|
|
|
- result.add(formatRSJsonData("失败",
|
|
|
+ errMessage.add(formatRSJsonData("失败",
|
|
|
"预算编码"+bodyObject.getString("code_measure")+"未查到,请检查","").toString());
|
|
|
- continue;
|
|
|
+ returnobj.put("info", "失败");
|
|
|
+ returnobj.put("errMessage", "预算编码"+bodyObject.getString("code_measure")+"未查到,请检查");
|
|
|
+ returnobj.put("result", errMessage);
|
|
|
+ resp.getWriter().write(returnobj.toString());
|
|
|
+ return;
|
|
|
}
|
|
|
String code_measure = ListMeasure.get(0);//预算编码
|
|
|
String measurePk = ListMeasure.get(1);//预算编码pk
|
|
|
List<String> ListVersion = QueryVersionCode(bodyObject.getString("code_version"));
|
|
|
if(ListVersion.get(0)==null){
|
|
|
- result.add(formatRSJsonData("失败",
|
|
|
+ errMessage.add(formatRSJsonData("失败",
|
|
|
"预算版本"+bodyObject.getString("code_version")+"未查到,请检查","").toString());
|
|
|
- continue;
|
|
|
+ returnobj.put("info", "失败");
|
|
|
+ returnobj.put("errMessage", "预算版本"+bodyObject.getString("code_version")+"未查到,请检查");
|
|
|
+ returnobj.put("result", errMessage);
|
|
|
+ resp.getWriter().write(returnobj.toString());
|
|
|
+ return;
|
|
|
}
|
|
|
String code_version = ListVersion.get(0);//预算版本编码
|
|
|
String versionPk = ListVersion.get(1);//预算版本pk
|
|
|
UFDouble value = new UFDouble(bodyObject.getString("value"));//预算总额
|
|
|
UFDouble actualUse = new UFDouble(QueryNmny(objcode,code_entity,pk_year,code_measure,code_version,sjsy));//本年度实际使用数
|
|
|
UFDouble pupremny = new UFDouble(QueryNmny(objcode,code_entity,pk_year,code_measure,code_version,yzs));//预占数
|
|
|
- //预算总额-本年度实际使用数-预占数<0抛异常
|
|
|
- if(value.sub(actualUse).sub(pupremny).compareTo(UFDouble.ZERO_DBL)<0){
|
|
|
- result.add(formatRSJsonData("失败",
|
|
|
+ UFDouble Frozen = new UFDouble(QueryFrozen(code_entity,pk_year,code_measure));//冻结金额
|
|
|
+ //预算总额-本年度实际使用数-预占数-冻结金额<0抛异常
|
|
|
+ if(value.sub(actualUse).sub(pupremny).sub(Frozen).compareTo(UFDouble.ZERO_DBL)<0){
|
|
|
+ errMessage.add(formatRSJsonData("失败",
|
|
|
bodyObject.getString("objname")+pk_year+"年"+bodyObject.getString("code_measure")+"可用额度不足,请检查","").toString());
|
|
|
+ returnobj.put("info", "失败");
|
|
|
+ returnobj.put("errMessage", bodyObject.getString("objname")+pk_year+"年"+bodyObject.getString("code_measure")+"可用额度不足,请检查");
|
|
|
+ returnobj.put("result", errMessage);
|
|
|
+ resp.getWriter().write(returnobj.toString());
|
|
|
+ return;
|
|
|
}
|
|
|
else{
|
|
|
//查询一些不知道什么东西的数据
|
|
@@ -153,7 +180,11 @@ public class InitBudgetServlet extends BaseServlet implements IHttpServletAdapto
|
|
|
"",bodyObject.getString("objname")+pk_year+"年"+bodyObject.getString("code_measure")+"预算修改成功").toString());
|
|
|
}
|
|
|
}
|
|
|
- resp.getWriter().write(result.toString());
|
|
|
+ returnobj.put("info", "成功");
|
|
|
+ returnobj.put("errMessage", "");
|
|
|
+ returnobj.put("result", result);
|
|
|
+ resp.getWriter().write(returnobj.toString());
|
|
|
+
|
|
|
} catch (Exception e) {
|
|
|
// TODO 自动生成的 catch 块
|
|
|
resp.getWriter().write(formatRSJsonData("失败",
|
|
@@ -331,6 +362,25 @@ public class InitBudgetServlet extends BaseServlet implements IHttpServletAdapto
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 查询冻结金额
|
|
|
+ * @param code_entity
|
|
|
+ * @param pk_year
|
|
|
+ * @param code_measure
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ public String QueryFrozen(String code_entity,String pk_year,String yscode) throws Exception{
|
|
|
+ String qrysql = "select PreActual from V_THAPE_YS where code_entity = '"+code_entity+"' and pk_year = '"+pk_year+"' and yscode = '"+yscode+"'";
|
|
|
+ Object object = "";
|
|
|
+ object = iuap.executeQuery(qrysql, new ColumnProcessor());
|
|
|
+ if (object==null) {
|
|
|
+ return "0";
|
|
|
+ }else {
|
|
|
+ return object.toString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 查询pk
|
|
|
* @param objcode
|
|
@@ -506,4 +556,8 @@ public class InitBudgetServlet extends BaseServlet implements IHttpServletAdapto
|
|
|
str.append("null)");
|
|
|
basedao.executeUpdate(str.toString());
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|