import java.math.*;
import java.sql.*;
import java.sql.Date;
import java.util.*;
import org.dom4j.*;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.justep.system.context.ContextHelper;
import com.justep.system.data.*;
import com.justep.system.util.CommonUtils;
public class ProjectManage {
/**
* <has-relation relation="fPosName" data-type="String"></has-relation>
<has-relation relation="fPosPersonID" data-type="String"></has-relation>
<has-relation relation="fPosPersonName" data-type="String"></has-relation>
<has-relation relation="fZYZG" data-type="String"></has-relation>
<has-relation relation="fTel" data-type="String"></has-relation>
* @param fProjectDeptID
*/
public static final String POSNAME = "项目经理,材料站站长,总工";
public static List<String> getDeptPersonInfo(String fProjectDeptID){
List<String> list = new ArrayList<String>();
String strKsql = "select d.fPosName as fPosName,d.fPosPersonID as fPosPersonID,d.fPosPersonName as fPosPersonName,d.fTel as fTel from TE_ProjectDeptDetail d "
+" where d.fMasterID='"+fProjectDeptID+"' and d.fPosName in ('"+POSNAME.replaceAll(",", "','")+"')";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
List<String> li = null;
while (rows.hasNext()) {
Row row = rows.next();
li = new ArrayList<String>();
String fPosName = row.getString("fPosName");
String fPosPersonID = row.getString("fPosPersonID");
String fPosPersonName = row.getString("fPosPersonName");
String fTel = row.getString("fTel");
li.add(fPosName);
li.add(fPosPersonID);
li.add(fPosPersonName);
if(fTel==""||"".equals(fTel)||"null".equals(fTel)||fTel==null){
li.add("");
}else{
li.add(fTel);
}
list.add(li.toString());
}
System.out.println(list);
return list;
}
public static void insertWorkProducer(String currID,String sIDs){
System.out.println(sIDs);
String uuid = CommonUtils.createGUID();
String strKsql = "select m,m.fParent as fParent,m.fName as fName,case when m.fNodeKind is null then '' else m.fNodeKind end as fNodeKind,m.fCode as fCode,m.fUnit as fUnit,m.fWeight as fWeight,case when m.fPrice is null then 0 else "
+"m.fPrice end as fPrice from TE_ProduceSetMain m where m in ('"+sIDs.replaceAll(",","','")+"')";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/baseSet/data", null);
Iterator<Row> rows = table.iterator();
while (rows.hasNext()) {
Row row = rows.next();
String m = row.getString("m");
String fParent = row.getString("fParent");
String fName = row.getString("fName");
String fNodeKind = row.getString("fNodeKind");
String fCode = row.getString("fCode");
String fUnit = row.getString("fUnit");
if(fUnit==null|| fUnit=="null"){
fUnit="";
}
int fWeight = row.getInt("fWeight");
BigDecimal fPrice = row.getDecimal("fPrice");
String isExist = "select m from TE_WorkProducerInfo m where m.fMasterID='"+currID+"' and m like '%"+m+"%'";
Table t = KSQL.select(isExist, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> tRow = t.iterator();
if(tRow.hasNext()){
Row r = tRow.next();
String fid = r.getString("m");
uuid = fid.substring(0, 32);
}else{
String inKsql = "";
if("".equals(fNodeKind) || fNodeKind=="" ||fNodeKind==null|| fNodeKind=="null"){
if("".equals(fParent) || fParent=="" || fParent==null || fParent =="null"){
inKsql = "insert into TE_WorkProducerInfo t (t,t.version,t.fSubSection,t.fParent,t.fNodeKind,t.fCode,t.fMasterID,t.fUnit,t.fWeight,t.fProduceID,t.fPrice) values('"+uuid+m+"',0,'"+fName+"','','"+fNodeKind+"','"+fCode+"','"+currID+"','"+fUnit+"',"+fWeight+",'"+m+"',"+fPrice+")";
}else{
inKsql = "insert into TE_WorkProducerInfo t (t,t.version,t.fSubSection,t.fParent,t.fNodeKind,t.fCode,t.fMasterID,t.fUnit,t.fWeight,t.fProduceID,t.fPrice) values('"+uuid+m+"',0,'"+fName+"','"+uuid+fParent+"','"+fNodeKind+"','"+fCode+"','"+currID+"','"+fUnit+"',"+fWeight+",'"+m+"',"+fPrice+")";
}
}else{
if("".equals(fParent) || fParent=="" || fParent==null || fParent =="null"){
inKsql = "insert into TE_WorkProducerInfo t (t,t.version,t.fSubItem,t.fParent,t.fNodeKind,t.fCode,t.fMasterID,t.fUnit,t.fWeight,t.fProduceID,t.fPrice) values('"+uuid+m+"',0,'"+fName+"','','"+fNodeKind+"','"+fCode+"','"+currID+"','"+fUnit+"',"+fWeight+",'"+m+"',"+fPrice+")";
}else{
inKsql = "insert into TE_WorkProducerInfo t (t,t.version,t.fSubItem,t.fParent,t.fNodeKind,t.fCode,t.fMasterID,t.fUnit,t.fWeight,t.fProduceID,t.fPrice) values('"+uuid+m+"',0,'"+fName+"','"+uuid+fParent+"','"+fNodeKind+"','"+fCode+"','"+currID+"','"+fUnit+"',"+fWeight+",'"+m+"',"+fPrice+")";
}
}
System.out.println(inKsql);
KSQL.executeUpdate(inKsql, null, "/TeamTreasure/projectManage/data", null);
}
}
}
public static JSONObject getNoKey(){
JSONObject msg = null;
String str = "select d.fMasterID as fMasterID,d.fIsKey as fIsKey from TE_ProduceSetDetail d where d.fIsKey <>'是' group by d.fMasterID";
Table t = KSQL.select(str, null, "/TeamTreasure/baseSet/data", null);
Iterator<Row> tRow = t.iterator();
if(tRow.hasNext()){
Row r = tRow.next();
String fMasterID = r.getString("fMasterID");
msg = JSONObject.parseObject("{fID:\""+fMasterID+"\"}");
}
return msg;
}
public static String getProjectInfoByPersonID(String name){
System.out.println(name+":"+ContextHelper.getPerson().getName());
JSONArray jsonArray = new JSONArray();
String strKsql = "select m,m.fProjectName as fProjectName from TE_ProjectInfo m optional join TE_ProjectDeptMain d on m.fProjectDeptID = d optional join TE_ProjectDeptDetail dd "
+" on d = dd.fMasterID where dd.fPosPersonName='"+name+"'";
System.out.println(strKsql);
Table t = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = t.iterator();
while (rows.hasNext()) {
Row row = rows.next();
String m = row.getString("m");
String fProjectName = row.getString("fProjectName");
JSONObject obj = JSONObject.parseObject("{fID:\""+m+"\",fProjectName:\""+fProjectName+"\"}");
jsonArray.add(obj);
}
return jsonArray.toString();
}
public static void insertMyProjectInfo(String fProjectID,String fProjectCode,String fProjectName,String fProjectDeptID){
//先删除 处理变更项目部情况
String delStr = "delete from TE_MyProjectInfo t where t.fProjectID='"+fProjectID+"'";
System.out.println(delStr);
KSQL.executeUpdate(delStr, null, "/TeamTreasure/projectManage/data", null);
String strKsql = "select d.fPosPersonID as fPosPersonID,d.fPosPersonName as fPosPersonName from TE_ProjectDeptDetail d optional join TE_ProjectDeptMain m on d.fMasterID=m "
+" where m='"+fProjectDeptID+"'";
System.out.println(strKsql);
Table t = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = t.iterator();
while (rows.hasNext()) {
Row row = rows.next();
String uuid = CommonUtils.createGUID();
String fPosPersonID = row.getString("fPosPersonID");
String fPosPersonName = row.getString("fPosPersonName");
if(isExist(fProjectID,fPosPersonID)){
//如果不存在,插入数据
String ins = "insert into TE_MyProjectInfo m(m,m.version,m.fProjectID,m.fProjectCode,m.fProjectName,m.fPersonID,m.fPersonName) values('"+uuid+"',0,'"+fProjectID+"','"+fProjectCode+"',"
+"'"+fProjectName+"','"+fPosPersonID+"','"+fPosPersonName+"')";
System.out.println(ins);
KSQL.executeUpdate(ins, null, "/TeamTreasure/projectManage/data", null);
//判断当前人存不存在默认项目
if(isExistBy(fPosPersonID)){
//不存在 则设置当前项目为默认项目 存在不处理
String upStr1 = "update TE_MyProjectInfo t set t.fIsDefault='是' where t='"+uuid+"'";
System.out.println(upStr1);
KSQL.executeUpdate(upStr1, null, "/TeamTreasure/projectManage/data", null);
}
}else{
//如果存在不做处理
}
}
}
//判断是否已有物资
public static boolean isExist(String fProjectID,String fPosPersonID){
boolean is = true;
String strKsql = "select s from TE_MyProjectInfo s where s.fProjectID='"+fProjectID+"' and s.fPersonID='"+fPosPersonID+"'";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
if (rows.hasNext()) {
is = false;
}
return is;
}
//判断是否已有物资
public static boolean isExistBy(String fPosPersonID){
boolean is = true;
String strKsql = "select s from TE_MyProjectInfo s where s.fIsDefault='是' and s.fPersonID='"+fPosPersonID+"'";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
if (rows.hasNext()) {
is = false;
}
return is;
}
public static String getDefaultProjectID(){
String projectInfo = "";
String currName = ContextHelper.getPerson().getName();
String strKsql = "select m.fProjectID as fProjectID,m.fProjectCode as fProjectCode,m.fProjectName as fProjectName,"
+"case when t.fProgress is null then 0 else fProgress end as fProgress from TE_MyProjectInfo m optional join TE_ProjectInfo t on t = m.fProjectID where m.fIsDefault='是' and m.fPersonName='"+currName+"'";
System.out.println(strKsql);
Table t = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = t.iterator();
if (rows.hasNext()) {
Row row = rows.next();
String fProjectID = row.getString("fProjectID");
String fProjectCode = row.getString("fProjectCode");
String fProjectName = row.getString("fProjectName");
String fProgress = row.getDecimal("fProgress").toString();
projectInfo = fProjectID +","+ fProjectCode +","+fProjectName+","+fProgress;
}
return projectInfo;
}
public static String getQuDuanOrZhuang(String fProjectID,String type){
JSONArray jsonArray = new JSONArray();
String strKsql = "";
if("区段".equals(type)||type=="区段"){
strKsql = "select m,m.fSectionName as fSectionName from TE_UnitProjectInfo m optional join TE_ProjectInfo d on m.fMasterID = d where "
+"d='"+fProjectID+"' and m.fTableType='"+type+"' order by m.fSectionName asc";
}else{
strKsql = "select m,m.fStakeNo as fSectionName from TE_UnitProjectInfo m optional join TE_ProjectInfo d on m.fMasterID = d where "
+"d='"+fProjectID+"' and m.fTableType='"+type+"' order by m.fStakeNo asc";
}
System.out.println(strKsql);
Table t = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = t.iterator();
while (rows.hasNext()) {
Row row = rows.next();
String m = row.getString("m");
String fSectionName = row.getString("fSectionName");
JSONObject obj = JSONObject.parseObject("{fID:\""+m+"\",fName:\""+fSectionName+"\"}");
jsonArray.add(obj);
}
return jsonArray.toString();
}
public static String getSubSection(String currID,String parent){
JSONArray jsonArray = new JSONArray();
String strKsql = "";
if("".equals(parent)||parent==""){
strKsql = "select m,m.fSubSection as fSubSection from TE_WorkProducerInfo m optional join TE_UnitProjectInfo d on m.fMasterID = d where "
+"d='"+currID+"' and m.fParent='' order by m.fCode";
}else{
strKsql = "select m,m.fSubItem as fSubSection from TE_WorkProducerInfo m optional join TE_UnitProjectInfo d on m.fMasterID = d where "
+"d='"+currID+"' and m.fParent ='"+parent+"' order by m.fCode";
}
System.out.println(strKsql);
Table t = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = t.iterator();
while (rows.hasNext()) {
Row row = rows.next();
String m = row.getString("m");
String fSectionName = row.getString("fSubSection");
JSONObject obj = JSONObject.parseObject("{fID:\""+m+"\",fName:\""+fSectionName+"\"}");
jsonArray.add(obj);
}
return jsonArray.toString();
}
//插入工序
public static void insertWorkSubmitD(String name,String currID,String ID){
String strKsql = "select d,d.fProduceName as fProduceName,d.fUnit as fUnit,d.fIsKey as fIsKey from TE_ProduceSetDetail d optional join TE_ProduceSetMain m "+
" on d.fMasterID = m where m=(select t.fProduceID from TE_WorkProducerInfo t where t='"+ID+"')";
System.out.println(strKsql);
Table t = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = t.iterator();
while (rows.hasNext()) {
Row row = rows.next();
String d = row.getString("d");
String fProduceName = row.getString("fProduceName");
String fUnit = row.getString("fUnit");
String fIsKey = row.getString("fIsKey");
if(isExistP(currID, d)){
String ins = "insert into TE_WorkSubmitD d(d,d.version,d.fProduceID,d.fProduceName,d.fUnit,d.fIsKey,d.fMasterID,d.fSubItemID,d.fSubItem) "
+"values(guid(),0,'"+d+"','"+fProduceName+"','"+fUnit+"','"+fIsKey+"','"+currID+"','"+ID+"','"+name+"')";
System.out.println(ins);
KSQL.executeUpdate(ins, null, "/TeamTreasure/projectManage/data", null);
}
}
}
//判断是否已存在工序
public static boolean isExistP(String currID,String fProduceID){
boolean is = true;
String strKsql = "select s from TE_WorkSubmitD s where s.fProduceID='"+fProduceID+"' and s.fMasterID='"+currID+"'";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
if (rows.hasNext()) {
is = false;
}
return is;
}
public static String getTeamResponser(){
String projectInfo = "";
String currID = ContextHelper.getPerson().getID();
String strKsql = "select m,m.fTeamName as fTeamName from TE_TeamInfo m where m.fResponserID='"+currID+"'";
System.out.println(strKsql);
Table t = KSQL.select(strKsql, null, "/TeamTreasure/teamManage/data", null);
Iterator<Row> rows = t.iterator();
if (rows.hasNext()) {
Row row = rows.next();
String m = row.getString("m");
String fTeamName = row.getString("fTeamName");
projectInfo = m +","+ fTeamName;
}
return projectInfo;
}
public static void updateProgressInfo(String currID){
String strKsql = "select m.fProjectID as fProjectID,d.fProduceID as fProduceID,d.fProduceName as fProduceName,d.fUnit as fUnit,case when d.fWorkAmount is null then 0 else d.fWorkAmount end as fWorkAmount,"
+"case when d.fWorkFinishState is null then '' else d.fWorkFinishState end as fWorkFinishState,d.fIsKey as fIsKey "
+",d.fSubItemID as fSubItemID,m.fUnitID as fUnitID,m.fCurrentDate as fCurrentDate,m.fState as fState,m.fWorkFinishState as fWorkFinishStateM"
+" from TE_WorkSubmitD d optional join TE_WorkSubmit m on d.fMasterID=m where m='"+currID+"'";
System.out.println(strKsql);
Table t = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = t.iterator();
String fProjectID = "";
while (rows.hasNext()) {
Row row = rows.next();
fProjectID = row.getString("fProjectID");
String fProduceID = row.getString("fProduceID");
String fProduceName = row.getString("fProduceName");
String fUnit = row.getString("fUnit");
BigDecimal fWorkAmount = row.getDecimal("fWorkAmount");
String fWorkFinishState = row.getString("fWorkFinishState");
String fIsKey = row.getString("fIsKey");
String fUnitID = row.getString("fUnitID");//桩或者区段ID
String fSubItemID = row.getString("fSubItemID");//分项工程ID
Date fCurrentDate = row.getDate("fCurrentDate");
String fState = row.getString("fState");
String fWorkFinishStateM = row.getString("fWorkFinishStateM");
String insKsql = "";
String upKsql = "";
if(isExistDD(fUnitID,fProduceID)){
//如果不存在当前工序,则插入
if("已完工".equals(fState)||fState=="已完工"){
insKsql = "insert into TE_WorkProducerInfo t(t,t.version,t.fProduceID,t.fProduce,t.fUnit,t.fWorkAmount,t.fParent,t.fBeginDate,t.fEndDate,t.fIsKey,t.fMasterID,t.fWorkFinishState,t.fNodeKind) "
+"values(guid(),0,'"+fProduceID+"','"+fProduceName+"','"+fUnit+"','"+fWorkAmount+"','"+fSubItemID+"','"+fCurrentDate+"','"+fCurrentDate+"','"+fIsKey+"','"+fUnitID+"','"+fWorkFinishState+"','工序')";
}else{
insKsql = "insert into TE_WorkProducerInfo t(t,t.version,t.fProduceID,t.fProduce,t.fUnit,t.fWorkAmount,t.fParent,t.fBeginDate,t.fEndDate,t.fIsKey,t.fMasterID,t.fWorkFinishState,t.fNodeKind) "
+"values(guid(),0,'"+fProduceID+"','"+fProduceName+"','"+fUnit+"','"+fWorkAmount+"','"+fSubItemID+"','"+fCurrentDate+"',null,'"+fIsKey+"','"+fUnitID+"','"+fWorkFinishState+"','工序')";
}
}else{
String getStr = "select s,s.fWorkSubmitIDs as fWorkSubmitIDs,s.fWorkAmount as fWorkAmount from TE_WorkProducerInfo s where s.fProduceID='"+fProduceID+"' and s.fMasterID='"+fUnitID+"'";
System.out.println(getStr);
Table table = KSQL.select(getStr, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> getRows = table.iterator();
if (getRows.hasNext()) {
Row row1 = getRows.next();
String s = row1.getString("s");
String fWorkSubmitIDs = row1.getString("fWorkSubmitIDs");
String ss = "";
if(fWorkSubmitIDs==null|| fWorkSubmitIDs=="null"){
ss="";
}else{
ss = fWorkSubmitIDs+","+currID;
}
BigDecimal workAmount = row1.getDecimal("fWorkAmount");
BigDecimal aa = workAmount.add(fWorkAmount);
//如果存在,则更新完工状态,工作量,fWorkSubmitIDs, 完工日期
if("已完工".equals(fState)||fState=="已完工"){
insKsql = "update TE_WorkProducerInfo t set t.fWorkFinishState='"+fWorkFinishState+"',t.fEndDate='"+fCurrentDate+"',t.fWorkSubmitIDs='"+ss+"',t.fWorkAmount="+aa+" where t='"+s+"'";
}else{
insKsql = "update TE_WorkProducerInfo t set t.fWorkFinishState='"+fWorkFinishState+"',t.fWorkSubmitIDs='"+ss+"',t.fWorkAmount="+aa+" where t='"+s+"'";
}
}
}
System.out.println(insKsql);
KSQL.executeUpdate(insKsql, null, "/TeamTreasure/projectManage/data", null);
upKsql = "update TE_WorkProducerInfo t set t.fWorkFinishState='"+fWorkFinishStateM+"' where t='"+fSubItemID+"'";
System.out.println(upKsql);
KSQL.executeUpdate(upKsql, null, "/TeamTreasure/projectManage/data", null);
}
updateProjectProgress(fProjectID);
}
//判断是否已存在工序
public static boolean isExistDD(String currID,String fProduceID){
boolean is = true;
String strKsql = "select s from TE_WorkProducerInfo s where s.fProduceID='"+fProduceID+"' and s.fMasterID='"+currID+"'";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
if (rows.hasNext()) {
is = false;
}
return is;
}
public static boolean isExitProcessCheck(String fProjectID,String fPersonID){
boolean is = true;
String strKsql = "select s from TE_ProcessCheck s where s.fProjectID='"+fProjectID+"' and s.fCreatePsnID='"+fPersonID+"' and s.fCurrentDate=:currentDate()";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
if (rows.hasNext()) {
is = false;
}
return is;
}
public static boolean isExitTask(String fProjectID,String fPersonID){
boolean is = true;
String strKsql = "select s from TE_WorkSubmit s where s.fProjectID='"+fProjectID+"' and s.fCreatePsnID='"+fPersonID+"' and s.fCurrentDate=:currentDate()";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
if (rows.hasNext()) {
is = false;
}
return is;
}
public static boolean isExitWorkReport(String fProjectID,String fPersonID){
boolean is = true;
String strKsql = "select s from TE_WorkReport s where s.fProjectID='"+fProjectID+"' and s.fCreatePsnID='"+fPersonID+"' and s.fCurrentDate=:currentDate()";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
if (rows.hasNext()) {
is = false;
}
return is;
}
/**
* 分项工程进度 = 关键工序量/分项工程量
* 分部工程进度 = 分项工程进度*权重相加/分项工程权重占比
* 项目进度 = 分部工程进度*权重相加
* 桩区段进度 = 分部工程进度*权重相加/分部工程权重占比
* @param fProjectID
* fProgress decimal fWeight integer fIsKey
*/
public static void updateProjectProgress(String fProjectID){
//计算分项工程进度
calSubItemProgress(fProjectID);
//计算分部工程进度
calSubSectionProgress(fProjectID);
//计算项目进度
calProjectProgress(fProjectID);
//计算桩或者区段进度
calStackOrSectionProgress(fProjectID);
}
//计算桩或者区段进度
public static void calStackOrSectionProgress(String fProjectID){
String strKsql = "select d from TE_UnitProjectInfo d optional join TE_ProjectInfo m on d.fMasterID = m where m='"+fProjectID+"'";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
while (rows.hasNext()) {
Row row = rows.next();
String dd = row.getString("d");
BigDecimal fSectionProgress = getSectionSum(dd);
System.out.println("区段或者桩进度:"+fSectionProgress);
String upStr1 = "update TE_UnitProjectInfo dd set dd.fProgress="+fSectionProgress+" where dd='"+dd+"'";
KSQL.executeUpdate(upStr1, null, "/TeamTreasure/projectManage/data", null);
}
}
//获取分项工程进度*权重相加
public static BigDecimal getSectionSum(String currID){
BigDecimal fSubSectionAmount = new BigDecimal("0");
String strKsql = "select case when d.fWeight is null then 0 else d.fWeight end as fWeight,case when d.fProgress is null then 0 else d.fProgress end as fProgress "
+" from TE_WorkProducerInfo d where d.fMasterID='"+currID+"' and d.fNodeKind=''";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
while (rows.hasNext()) {
Row row = rows.next();
int fWeight = row.getInt("fWeight"); //分项工程权重
BigDecimal fProgress = row.getDecimal("fProgress");//分项工程的进度
fSubSectionAmount = fSubSectionAmount.add(fProgress.divide(new BigDecimal("100")).multiply(new BigDecimal(fWeight))); //分项工程进度*权重相加
}
System.out.println("分项工程进度*权重相加:"+fSubSectionAmount);
return fSubSectionAmount;
}
//计算项目进度
public static void calProjectProgress(String fProjectID){
String strKsql = "select dd.fProgress as fProgress,case when dd.fWeight is null then 0 else dd.fWeight end as fWeight from TE_WorkProducerInfo dd optional join TE_UnitProjectInfo d on dd.fMasterID = d "
+" optional join TE_ProjectInfo m on d.fMasterID = m where dd.fNodeKind = '' and m='"+fProjectID+"'";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
BigDecimal fProjectProgress = new BigDecimal("0");
while (rows.hasNext()) {
Row row = rows.next();
BigDecimal fProgress = row.getDecimal("fProgress"); //分项工程进度
int fWeight = row.getInt("fWeight"); //分项工程权重
fProjectProgress = fProjectProgress.add(fProgress.multiply((new BigDecimal(fWeight).divide(new BigDecimal("100"))))); //分部工程进度
}
System.out.println("工程进度:"+fProjectProgress);
String upStr1 = "update TE_ProjectInfo dd set dd.fProgress="+fProjectProgress+" where dd='"+fProjectID+"'";
KSQL.executeUpdate(upStr1, null, "/TeamTreasure/projectManage/data", null);
}
//计算分项工程进度
public static void calSubItemProgress(String fProjectID){
String strKsql = "select dd,case when dd.fWorkAmount is null then 0 else dd.fWorkAmount end as fWorkAmount,case when dd.fWeight is null then 0 else dd.fWeight end as fWeight,dd.fParent as fParent from TE_WorkProducerInfo dd optional join TE_UnitProjectInfo d on dd.fMasterID = d "
+" optional join TE_ProjectInfo m on d.fMasterID = m where dd.fNodeKind = 'nkLeaf' and m='"+fProjectID+"'";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
while (rows.hasNext()) {
Row row = rows.next();
String dd = row.getString("dd"); //分项工程ID
BigDecimal fWorkAmount = row.getDecimal("fWorkAmount"); //分项工程工程量
BigDecimal fKeyAmount = getKeyAmount(dd); //关键工序工程量
BigDecimal fProgress = new BigDecimal("0");
if(fWorkAmount.compareTo(new BigDecimal("0"))!=0){
fProgress = fKeyAmount.divide(fWorkAmount).multiply(new BigDecimal("100")); //分项工程进度
}
if(fProgress.compareTo(new BigDecimal("100"))==1){
fProgress = new BigDecimal("100");
}
System.out.println("分项工程进度:"+fProgress);
String upStr = "update TE_WorkProducerInfo dd set dd.fProgress="+fProgress+" where dd='"+dd+"'";
KSQL.executeUpdate(upStr, null, "/TeamTreasure/projectManage/data", null);
}
}
//计算分部工程进度
public static void calSubSectionProgress(String fProjectID){
String strKsql = "select dd from TE_WorkProducerInfo dd optional join TE_UnitProjectInfo d on dd.fMasterID = d "
+" optional join TE_ProjectInfo m on d.fMasterID = m where dd.fNodeKind = '' and m='"+fProjectID+"'";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
MathContext mc = new MathContext(2, RoundingMode.HALF_DOWN);//
BigDecimal fSubSectionProgress = new BigDecimal("0");
while (rows.hasNext()) {
Row row = rows.next();
String dd = row.getString("dd"); //分部工程ID
BigDecimal fSubitemProgress = getSubitemSum(dd); //所有分项工程进度和
BigDecimal fWeightBate = getWeightBate(dd); //分项工程权重占比
if(fWeightBate.compareTo(new BigDecimal("0"))!=0){
fSubSectionProgress = fSubitemProgress.divide(fWeightBate.divide(new BigDecimal("100")),mc); //分部工程进度
}
System.out.println("分部工程进度:"+fSubSectionProgress);
String upStr1 = "update TE_WorkProducerInfo dd set dd.fProgress="+fSubSectionProgress+" where dd='"+dd+"'";
KSQL.executeUpdate(upStr1, null, "/TeamTreasure/projectManage/data", null);
}
}
/**
* int a=1099;
int b=93;
double f1 = new BigDecimal((float)a/b).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println("ddd==="+f1);
DecimalFormat df = new DecimalFormat("0.00");//格式化小数
String num = df.format((float)a/b);//返回的是String类型
System.out.println("ddd==="+num);
* @param fParent
* @return
*/
//获取权重占比 权重相加/100
public static BigDecimal getWeightBate(String currID){
int sum = 0;
String strKsql = "select case when s.fWeight is null then 0 else s.fWeight end as fWeight from TE_WorkProducerInfo s where s.fParent='"+currID+"'";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
while (rows.hasNext()) {
Row row = rows.next();
sum += row.getInt("fWeight");
}
double f1 = new BigDecimal((float)sum/100).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
BigDecimal WeightBate= new BigDecimal(sum);
System.out.println("权重 :"+WeightBate);
return WeightBate;
}
//获取分项工程进度*权重相加
public static BigDecimal getSubitemSum(String currID){
BigDecimal fSubSectionAmount = new BigDecimal("0");
String strKsql = "select case when d.fWeight is null then 0 else d.fWeight end as fWeight,case when d.fProgress is null then 0 else d.fProgress end as fProgress "
+" from TE_WorkProducerInfo d where d.fParent='"+currID+"'";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
while (rows.hasNext()) {
Row row = rows.next();
int fWeight = row.getInt("fWeight"); //分项工程权重
BigDecimal fProgress = row.getDecimal("fProgress");//分项工程的进度
fSubSectionAmount = fSubSectionAmount.add(fProgress.divide(new BigDecimal("100")).multiply(new BigDecimal(fWeight))); //分项工程进度*权重相加
}
System.out.println("分项工程进度*权重相加:"+fSubSectionAmount);
return fSubSectionAmount;
}
//获取关键工序量
public static BigDecimal getKeyAmount(String fParent){
BigDecimal fWorkAmount = new BigDecimal("0");
String strKsql = "select case when s.fWorkAmount is null then 0 else s.fWorkAmount end as fWorkAmount from TE_WorkProducerInfo s where s.fParent='"+fParent+"'";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
if (rows.hasNext()) {
Row row = rows.next();
fWorkAmount = row.getDecimal("fWorkAmount");
}
return fWorkAmount;
}
//获取分部工程进度 基础 组塔 架线
public static Table getSectionProgress(String fProjectID){
String strKsql = "select dd.fSubSection as fSubSection,sum(case when dd.fProgress is null then 0 else dd.fProgress end) as fProgress from TE_WorkProducerInfo dd optional join TE_UnitProjectInfo d on dd.fMasterID = d "
+" optional join TE_ProjectInfo m on d.fMasterID = m where dd.fNodeKind = '' and m='"+fProjectID+"' group by dd.fSubSection order by dd.fSubSection";
Table rTable = TableUtils.createTable(null, "NUM1", "String", "NUM2", "Decimal");
System.out.println(strKsql);
MathContext mc = new MathContext(2, RoundingMode.HALF_DOWN);//
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
while (rows.hasNext()) {
Row row = rows.next();
String fSubSection = row.getString("fSubSection"); //分部工程名称
BigDecimal fProgress = row.getDecimal("fProgress"); //所有分部工程进度和
int num = getSectionCount(fProjectID, fSubSection);
BigDecimal fSubSectionProgress = new BigDecimal("0");
if(num!=0){
fSubSectionProgress = fProgress.divide(new BigDecimal(num),mc);
}
System.out.println(fSubSection+"分部工程进度:"+fSubSectionProgress);
//Table增加行
Row rRow = rTable.appendRow();
rRow.setString("NUM1",fSubSection);
rRow.setDecimal("NUM2", fSubSectionProgress);
}
return rTable;
}
public static int getSectionCount(String fProjectID,String fSectionName){
int num = 0;
String strKsql = "select dd from TE_WorkProducerInfo dd optional join TE_UnitProjectInfo d on dd.fMasterID = d "
+" optional join TE_ProjectInfo m on d.fMasterID = m where dd.fNodeKind = '' and m='"+fProjectID+"' and dd.fSubSection='"+fSectionName+"'";
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
num = table.size();
return num;
}
//fStakeNo 桩号 fSubSection 基础或者组塔 fProgress 进度 ,dd.fSubSection as fSubSection
public static Table getStackProgress(String fProjectID,String type){
String strKsql = "";
if("桩号".equals(type)||type=="桩号"){
strKsql = "select d,d.fStakeNo as fStakeNo from TE_UnitProjectInfo d "
+" optional join TE_ProjectInfo m on d.fMasterID = m where m='"+fProjectID+"' and d.fTableType='桩号' order by d.fStakeNo";
}else{
strKsql = "select d,d.fSectionName as fStakeNo from TE_UnitProjectInfo d "
+" optional join TE_ProjectInfo m on d.fMasterID = m where m='"+fProjectID+"' and d.fTableType='区段' order by d.fStakeNo";
}
System.out.println(strKsql);
Table rTable = TableUtils.createTable(null, "NUM1", "String", "NUM2", "String","NUM3","Decimal");
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
while (rows.hasNext()) {
Row row = rows.next();
String d = row.getString("d");
String fStakeNo = row.getString("fStakeNo");
//查询分项工程进度
String str = "select t.fSubSection as fSubSection,case when t.fProgress is null then 0 else t.fProgress end as fProgress from TE_WorkProducerInfo t where t.fMasterID='"+d+"' and t.fNodeKind='' order by t.fCode";
Table t = KSQL.select(str, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> trows = t.iterator();
while (trows.hasNext()) {
Row trow = trows.next();
String fSubSection = trow.getString("fSubSection");
BigDecimal fProgress = trow.getDecimal("fProgress");
//Table增加行
Row rRow = rTable.appendRow();
rRow.setString("NUM1",fStakeNo);
rRow.setString("NUM2", fSubSection);
rRow.setDecimal("NUM3", fProgress);
}
}
return rTable;
}
public static String getClassInfo(String fUnitID){
JSONArray jsonArray = new JSONArray();
String strKsql = "select d.fContructClassID as fContructClassID,d.fContructClassName as fContructClassName from TE_UnitProjectInfo d "
+" where d='"+fUnitID+"'";
System.out.println(strKsql);
Table table = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = table.iterator();
if (rows.hasNext()) {
Row row = rows.next();
String fContructClassID = row.getString("fContructClassID");
String fContructClassName = row.getString("fContructClassName");
JSONObject obj = JSONObject.parseObject("{fContructClassID:\""+fContructClassID+"\",fContructClassName:\""+fContructClassName+"\"}");
jsonArray.add(obj);
}
return jsonArray.toString();
}
public static String getDefaultProjectID1(){
String projectInfo = "";
String currName = ContextHelper.getPerson().getName();
String strKsql = "select m.fProjectID as fProjectID,m.fProjectCode as fProjectCode,m.fProjectName as fProjectName,"
+"case when t.fProgress is null then 0 else fProgress end as fProgress from TE_MyProjectInfo m optional join TE_ProjectInfo t on t = m.fProjectID where m.fIsDefault='是' and m.fPersonName='"+currName+"'";
System.out.println(strKsql);
Table t = KSQL.select(strKsql, null, "/TeamTreasure/projectManage/data", null);
Iterator<Row> rows = t.iterator();
if (rows.hasNext()) {
Row row = rows.next();
String fProjectID = row.getString("fProjectID");
String fProjectCode = row.getString("fProjectCode");
String fProjectName = row.getString("fProjectName");
String fProgress = row.getDecimal("fProgress").toString();
projectInfo = fProjectID +","+ fProjectCode +","+fProjectName+","+fProgress;
}
return projectInfo;
}
}
/
define(function(require){ var $ = require("jquery"); var justep = require("$UI/system/lib/justep"); var Context = require("$UI/system/lib/base/context"); var Model = function(){ this.callParent(); var fProjectID = ""; var fProjectCode = ""; var fProjectName = ""; }; Model.prototype.modelLoad = function(event){ //获取当前登录人默认项目 var TE_WorkReportA = this.comp("TE_WorkReportA"); biz.Request.sendBizRequest({ "directExecute" : true, "context" : this.getContext(), "action" : "getDefaultProjectID", "parameters" : "", "callback" : function(data) { // data.ignoreError 是否忽略默认的异常处理,默认值true data.ignoreError = false; // data.state 请求返回状态,标识请求是否执行成功 if (data.state) { if(data.response){ fProjectID = data.response.split(",")[0]; fProjectCode = data.response.split(",")[1]; fProjectName = data.response.split(",")[2]; } } } }); TE_WorkReportA.setFilter("myFilter", "TE_WorkReport.fProjectID='"+fProjectID+"' and TE_WorkReport.fState <> '已提交'"); TE_WorkReportA.refreshData(); this.comp("list1").refresh(); var params = new biz.Request.ActionParam(); params.setString("fProjectID", fProjectID); params.setString("fPersonID", this.getContext().getCurrentPersonID()); // 调用动作 var me = this; biz.Request.sendBizRequest({ "context" : this.getContext(), "action" : "isExitWorkReport", "parameters" : params, "callback" : function(data) { // data.ignoreError 是否忽略默认的异常处理,默认值true data.ignoreError = false; // data.state 请求返回状态,标识请求是否执行成功 if (data.state) { if(data.response){ //设置label alert("今日没有工作汇报"); } } } }); var TE_WorkReportH = this.comp("TE_WorkReportH"); TE_WorkReportH.setFilter("myFilter", "TE_WorkReport.fProjectID='"+fProjectID+"' and TE_WorkReport.fState = '已提交'"); TE_WorkReportH.refreshData(); this.comp("list2").refresh(); }; Model.prototype.TE_WorkReportAAfterNew = function(event){ var TE_WorkReportA = this.comp("TE_WorkReportA"); biz.Request.sendBizRequest({ "context" : this.getContext(), "action" : "getTeamResponser", "parameters" : "", "callback" : function(data) { // data.ignoreError 是否忽略默认的异常处理,默认值true data.ignoreError = false; // data.state 请求返回状态,标识请求是否执行成功 if (data.state) { if(data.response){ TE_WorkReportA.setValue("fClassID", data.response.split(",")[0]); TE_WorkReportA.setValue("fClassName", data.response.split(",")[1]); TE_WorkReportA.setValue("fProjectID", fProjectID); TE_WorkReportA.setValue("fProjectCode", fProjectCode); TE_WorkReportA.setValue("fProjectName", fProjectName); TE_WorkReportA.setValue("fState", "未提交"); } } } }); }; //类型改变时 获取项目下所有桩或者区段 Model.prototype.TE_WorkReportAValueChanged = function(event){ var TE_WorkReportA = this.comp("TE_WorkReportA"); if(event.col=="fUnitType"){ TE_WorkReportA.setValue("fUnitID", ""); TE_WorkReportA.setValue("fUnitName", ""); } if(event.col=="fUnitID"){ TE_WorkReportA.setValue("fClassID", ""); TE_WorkReportA.setValue("fClassName", ""); } }; Model.prototype.newButtonClick = function(event){ var TE_WorkReportA = this.comp("TE_WorkReportA"); var TE_WorkReportH = this.comp("TE_WorkReportH"); var contents2 = this.comp("contents2"); var currXID = contents2.getActiveXid(); if(currXID=="content5"){ TE_WorkReportA.newData(); this.comp("contents").to("ADetail"); }else{ TE_WorkReportH.newData(); this.comp("contents").to("HDetail"); } }; Model.prototype.TE_WorkReportHValueChanged = function(event){ var TE_WorkReportH = this.comp("TE_WorkReportH"); if(event.col=="fUnitType"){ TE_WorkReportH.setValue("fUnitID", ""); TE_WorkReportH.setValue("fUnitName", ""); } if(event.col=="fUnitID"){ TE_WorkReportH.setValue("fClassID", ""); TE_WorkReportH.setValue("fClassName", ""); } }; Model.prototype.TE_WorkReportHAfterNew = function(event){ var TE_WorkReportH = this.comp("TE_WorkReportH"); biz.Request.sendBizRequest({ "context" : this.getContext(), "action" : "getTeamResponser", "parameters" : "", "callback" : function(data) { // data.ignoreError 是否忽略默认的异常处理,默认值true data.ignoreError = false; // data.state 请求返回状态,标识请求是否执行成功 if (data.state) { if(data.response){ TE_WorkReportH.setValue("fClassID", data.response.split(",")[0]); TE_WorkReportH.setValue("fClassName", data.response.split(",")[1]); TE_WorkReportH.setValue("fProjectID", fProjectID); TE_WorkReportH.setValue("fProjectCode", fProjectCode); TE_WorkReportH.setValue("fProjectName", fProjectName); TE_WorkReportH.setValue("fState", "未提交"); } } } }); }; Model.prototype.col4Click = function(event){ var TE_WorkReportA = this.comp("TE_WorkReportA"); var id = TE_WorkReportA.getRowID(event.bindingContext.$object); TE_WorkReportA.to(id); this.comp("contents").to("ADetail"); }; Model.prototype.row6Click = function(event){ var TE_WorkReportH = this.comp("TE_WorkReportH"); var id = TE_WorkReportH.getRowID(event.bindingContext.$object); TE_WorkReportH.to(id); this.comp("contents").to("HDetail"); }; Model.prototype.button8Click = function(event){ var TE_WorkReportH = this.comp("TE_WorkReportH"); TE_WorkReportH.saveData(); justep.Util.hint("保存成功!", {type: 'info', parent: this.getRootNode()}); }; Model.prototype.TE_WorkReportAIndexChanged = function(event){ var TE_WorkReportA = this.comp("TE_WorkReportA"); var controlData = this.comp("controlData"); if(TE_WorkReportA.getValue("fState")=="已提交"){ controlData.setValue("editA", 1); }else{ controlData.setValue("editA", 0); } }; Model.prototype.TE_WorkReportHIndexChanged = function(event){ var TE_WorkReportH = this.comp("TE_WorkReportH"); var controlData = this.comp("controlData"); if(TE_WorkReportH.getValue("fState")=="已提交"){ controlData.setValue("editB", 1); }else{ controlData.setValue("editB", 0); } }; Model.prototype.TE_WorkReportAAfterRefresh = function(event){ var TE_WorkReportA = this.comp("TE_WorkReportA"); var controlData = this.comp("controlData"); if(TE_WorkReportA.getValue("fState")=="已提交"){ controlData.setValue("editA", 1); }else{ controlData.setValue("editA", 0); } }; Model.prototype.TE_WorkReportHAfterRefresh = function(event){ var TE_WorkReportH = this.comp("TE_WorkReportH"); var controlData = this.comp("controlData"); if(TE_WorkReportH.getValue("fState")=="已提交"){ controlData.setValue("editB", 1); }else{ controlData.setValue("editB", 0); } }; Model.prototype.button5Click = function(event){ var TE_WorkReportA = this.comp("TE_WorkReportA"); var id = TE_WorkReportA.getRowID(event.bindingContext.$object); TE_WorkReportA.deleteData(TE_WorkReportA.getRowByID(id)); TE_WorkReportA.saveData(); }; Model.prototype.button9Click = function(event){ var TE_WorkReportA = this.comp("TE_WorkReportA"); TE_WorkReportA.setValue("fState", "已提交"); TE_WorkReportA.saveData(); TE_WorkReportA.refreshData(); justep.Util.hint("今日巡检已提交!", {type: 'info', parent: this.getRootNode()}); this.comp("contents").to("main"); this.comp("contents2").to("content5"); this.comp("list1").refresh(); }; Model.prototype.TE_WorkReportASaveCommit = function(event){ }; Model.prototype.button7Click = function(event){ var TE_WorkReportA = this.comp("TE_WorkReportA"); TE_WorkReportA.saveData(); justep.Util.hint("已保存!", {type: 'info', parent: this.getRootNode()}); }; Model.prototype.button10Click = function(event){ var TE_WorkReportH = this.comp("TE_WorkReportH"); TE_WorkReportH.setValue("fState", "已提交"); TE_WorkReportH.saveData(); TE_WorkReportH.refreshData(); justep.Util.hint("今日巡检已提交!", {type: 'info', parent: this.getRootNode()}); this.comp("contents").to("main"); this.comp("contents2").to("content6"); this.comp("list2").refresh(); }; Model.prototype.button4Click = function(event){ this.comp("contents2").to("content6"); this.comp("list2").refresh(); }; //显示桩号或者区段 Model.prototype.select1Mousedown = function(event){ var TE_WorkReportA = this.comp("TE_WorkReportA"); var QData = this.comp("QData"); var params = new biz.Request.ActionParam(); params.setString("fProjectID", TE_WorkReportA.getValue("fProjectID")); params.setString("type", TE_WorkReportA.getValue("fUnitType")); // 调用动作 var me = this; biz.Request.sendBizRequest({ "context" : this.getContext(), "action" : "getQuDuanOrZhuang", "parameters" : params, "callback" : function(data) { // data.ignoreError 是否忽略默认的异常处理,默认值true data.ignoreError = false; // data.state 请求返回状态,标识请求是否执行成功 if (data.state) { QData.deleteAllData(); var str = eval(data.response); for(var i=0;i<str.length;i++){ QData.newData(); QData.setValue("strID",str[i].fID); QData.setValue("strName",str[i].fName); } } } }); TE_WorkReportA.setValue("fUnitID",QData.getValue("strID")); TE_WorkReportA.setValue("fUnitName",QData.getValue("strName")); }; Model.prototype.select3Mousedown = function(event){ var TE_WorkReportA = this.comp("TE_WorkReportA"); var cData1 = this.comp("cData1"); var params = new biz.Request.ActionParam(); params.setString("fUnitID",TE_WorkReportA.getValue("fUnitID")); // 调用动作 var me = this; biz.Request.sendBizRequest({ "context" : this.getContext(), "action" : "getClassInfo", "parameters" : params, "callback" : function(data) { // data.ignoreError 是否忽略默认的异常处理,默认值true data.ignoreError = false; // data.state 请求返回状态,标识请求是否执行成功 if (data.state) { cData1.deleteAllData(); if(data.response!="[]"){ var str = eval(data.response); var fClassID = str[0].fContructClassID.split(","); var fClassName = str[0].fContructClassName.split(","); for(var i=0;i<fClassID.length;i++){ cData1.newData(); cData1.setValue("strID", fClassID[i]); cData1.setValue("strName", fClassName[i]); } } } } }); TE_WorkReportA.setValue("fClassID",cData1.getValue("strID")); TE_WorkReportA.setValue("fClassName",cData1.getValue("strName")); }; Model.prototype.select4Mousedown = function(event){ var TE_WorkReportH = this.comp("TE_WorkReportH"); var QData = this.comp("QData"); var params = new biz.Request.ActionParam(); params.setString("fProjectID", TE_WorkReportH.getValue("fProjectID")); params.setString("type", TE_WorkReportH.getValue("fUnitType")); // 调用动作 var me = this; biz.Request.sendBizRequest({ "context" : this.getContext(), "action" : "getQuDuanOrZhuang", "parameters" : params, "callback" : function(data) { // data.ignoreError 是否忽略默认的异常处理,默认值true data.ignoreError = false; // data.state 请求返回状态,标识请求是否执行成功 if (data.state) { QData.deleteAllData(); var str = eval(data.response); for(var i=0;i<str.length;i++){ QData.newData(); QData.setValue("strID",str[i].fID); QData.setValue("strName",str[i].fName); } } } }); TE_WorkReportH.setValue("fUnitID",QData.getValue("strID")); TE_WorkReportH.setValue("fUnitName",QData.getValue("strName")); }; Model.prototype.select2Mousedown = function(event){ var TE_WorkReportH = this.comp("TE_WorkReportH"); var cData1 = this.comp("cData1"); var params = new biz.Request.ActionParam(); params.setString("fUnitID",TE_WorkReportH.getValue("fUnitID")); // 调用动作 var me = this; biz.Request.sendBizRequest({ "context" : this.getContext(), "action" : "getClassInfo", "parameters" : params, "callback" : function(data) { // data.ignoreError 是否忽略默认的异常处理,默认值true data.ignoreError = false; // data.state 请求返回状态,标识请求是否执行成功 if (data.state) { cData1.deleteAllData(); if(data.response!="[]"){ var str = eval(data.response); var fClassID = str[0].fContructClassID.split(","); var fClassName = str[0].fContructClassName.split(","); for(var i=0;i<fClassID.length;i++){ cData1.newData(); cData1.setValue("strID", fClassID[i]); cData1.setValue("strName", fClassName[i]); } } } } }); TE_WorkReportH.setValue("fClassID",cData1.getValue("strID")); TE_WorkReportH.setValue("fClassName",cData1.getValue("strName")); }; Model.prototype.attachment1Start = function(event){ this.comp("attachment1").subPath = "工作汇报/"; }; return Model; });