Commit 269a50c8 by 宋祥

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	src/main/java/com/baosight/hpjx/core/oss/OssClientUtils.java
parents 15b5c1d5 c040081b
...@@ -66,13 +66,13 @@ public class ServiceHPBI002 extends ServiceBase { ...@@ -66,13 +66,13 @@ public class ServiceHPBI002 extends ServiceBase {
map.put("offset",0); map.put("offset",0);
map.put("limit",1000); map.put("limit",1000);
//获取公司代码 //获取公司代码
String company_code = "%"; String companycode = "%";
if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){ if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){
company_code = UserSessionUtils.getCompanyCode(); companycode = UserSessionUtils.getCompanyCode();
} }
//数据集入参 //数据集入参
Map params =new HashMap(); Map params =new HashMap();
params.put("company_code",company_code); params.put("companycode",companycode);
params.put("factorycode",factStr); params.put("factorycode",factStr);
params.put("date",dateStr); params.put("date",dateStr);
map.put("params",params); map.put("params",params);
...@@ -139,13 +139,13 @@ public class ServiceHPBI002 extends ServiceBase { ...@@ -139,13 +139,13 @@ public class ServiceHPBI002 extends ServiceBase {
map.put("offset",0); map.put("offset",0);
map.put("limit",1000); map.put("limit",1000);
//获取公司代码 //获取公司代码
String company_code = "%"; String companycode = "%";
if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){ if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){
company_code = UserSessionUtils.getCompanyCode(); companycode = UserSessionUtils.getCompanyCode();
} }
//数据集入参 //数据集入参
Map params =new HashMap(); Map params =new HashMap();
params.put("company_code",company_code); params.put("companycode",companycode);
params.put("factorycode",factStr); params.put("factorycode",factStr);
params.put("date",dateStr); params.put("date",dateStr);
map.put("params",params); map.put("params",params);
...@@ -212,13 +212,13 @@ public class ServiceHPBI002 extends ServiceBase { ...@@ -212,13 +212,13 @@ public class ServiceHPBI002 extends ServiceBase {
map.put("offset",0); map.put("offset",0);
map.put("limit",1000); map.put("limit",1000);
//获取公司代码 //获取公司代码
String company_code = "%"; String companycode = "%";
if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){ if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){
company_code = UserSessionUtils.getCompanyCode(); companycode = UserSessionUtils.getCompanyCode();
} }
//数据集入参 //数据集入参
Map params =new HashMap(); Map params =new HashMap();
params.put("company_code",company_code); params.put("companycode",companycode);
params.put("factorycode",factStr); params.put("factorycode",factStr);
params.put("date",dateStr); params.put("date",dateStr);
map.put("params",params); map.put("params",params);
...@@ -285,13 +285,13 @@ public class ServiceHPBI002 extends ServiceBase { ...@@ -285,13 +285,13 @@ public class ServiceHPBI002 extends ServiceBase {
map.put("offset",0); map.put("offset",0);
map.put("limit",1000); map.put("limit",1000);
//获取公司代码 //获取公司代码
String company_code = "%"; String companycode = "%";
if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){ if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){
company_code = UserSessionUtils.getCompanyCode(); companycode = UserSessionUtils.getCompanyCode();
} }
//数据集入参 //数据集入参
Map params =new HashMap(); Map params =new HashMap();
params.put("company_code",company_code); params.put("companycode",companycode);
params.put("factorycode",factStr); params.put("factorycode",factStr);
params.put("date",dateStr); params.put("date",dateStr);
map.put("params",params); map.put("params",params);
...@@ -357,13 +357,13 @@ public class ServiceHPBI002 extends ServiceBase { ...@@ -357,13 +357,13 @@ public class ServiceHPBI002 extends ServiceBase {
map.put("offset",0); map.put("offset",0);
map.put("limit",1000); map.put("limit",1000);
//获取公司代码 //获取公司代码
String company_code = "%"; String companycode = "%";
if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){ if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){
company_code = UserSessionUtils.getCompanyCode(); companycode = UserSessionUtils.getCompanyCode();
} }
//数据集入参 //数据集入参
Map params =new HashMap(); Map params =new HashMap();
params.put("company_code",company_code); params.put("companycode",companycode);
params.put("factorycode",factStr); params.put("factorycode",factStr);
params.put("date",dateStr); params.put("date",dateStr);
map.put("params",params); map.put("params",params);
...@@ -428,13 +428,13 @@ public class ServiceHPBI002 extends ServiceBase { ...@@ -428,13 +428,13 @@ public class ServiceHPBI002 extends ServiceBase {
map.put("offset",0); map.put("offset",0);
map.put("limit",1000); map.put("limit",1000);
//获取公司代码 //获取公司代码
String company_code = "%"; String companycode = "%";
if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){ if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){
company_code = UserSessionUtils.getCompanyCode(); companycode = UserSessionUtils.getCompanyCode();
} }
//数据集入参 //数据集入参
Map params =new HashMap(); Map params =new HashMap();
params.put("company_code",company_code); params.put("companycode",companycode);
params.put("factorycode",factStr); params.put("factorycode",factStr);
params.put("date",dateStr); params.put("date",dateStr);
map.put("params",params); map.put("params",params);
...@@ -501,13 +501,13 @@ public class ServiceHPBI002 extends ServiceBase { ...@@ -501,13 +501,13 @@ public class ServiceHPBI002 extends ServiceBase {
map.put("offset",0); map.put("offset",0);
map.put("limit",1000); map.put("limit",1000);
//获取公司代码 //获取公司代码
String company_code = "%"; String companycode = "%";
if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){ if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){
company_code = UserSessionUtils.getCompanyCode(); companycode = UserSessionUtils.getCompanyCode();
} }
//数据集入参 //数据集入参
Map params =new HashMap(); Map params =new HashMap();
params.put("company_code",company_code); params.put("companycode",companycode);
params.put("factorycode",factStr); params.put("factorycode",factStr);
params.put("date",dateStr); params.put("date",dateStr);
map.put("params",params); map.put("params",params);
...@@ -573,13 +573,13 @@ public class ServiceHPBI002 extends ServiceBase { ...@@ -573,13 +573,13 @@ public class ServiceHPBI002 extends ServiceBase {
map.put("offset",0); map.put("offset",0);
map.put("limit",1000); map.put("limit",1000);
//获取公司代码 //获取公司代码
String company_code = "%"; String companycode = "%";
if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){ if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){
company_code = UserSessionUtils.getCompanyCode(); companycode = UserSessionUtils.getCompanyCode();
} }
//数据集入参 //数据集入参
Map params =new HashMap(); Map params =new HashMap();
params.put("company_code",company_code); params.put("companycode",companycode);
params.put("factorycode",factStr); params.put("factorycode",factStr);
params.put("date",dateStr); params.put("date",dateStr);
map.put("params",params); map.put("params",params);
...@@ -639,13 +639,13 @@ public class ServiceHPBI002 extends ServiceBase { ...@@ -639,13 +639,13 @@ public class ServiceHPBI002 extends ServiceBase {
map.put("offset",0); map.put("offset",0);
map.put("limit",1000); map.put("limit",1000);
//获取公司代码 //获取公司代码
String company_code = "%"; String companycode = "%";
if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){ if(!StringUtils.isEmpty(UserSessionUtils.getCompanyCode().trim())){
company_code = UserSessionUtils.getCompanyCode(); companycode = UserSessionUtils.getCompanyCode();
} }
//数据集入参 //数据集入参
Map params =new HashMap(); Map params =new HashMap();
params.put("company_code",company_code); params.put("companycode",companycode);
map.put("params",params); map.put("params",params);
List list =new ArrayList(); List list =new ArrayList();
list.add(map); list.add(map);
......
...@@ -5,6 +5,7 @@ import com.baosight.hpjx.common.DdynamicEnum; ...@@ -5,6 +5,7 @@ import com.baosight.hpjx.common.DdynamicEnum;
import com.baosight.hpjx.common.InventTypeEnum; import com.baosight.hpjx.common.InventTypeEnum;
import com.baosight.hpjx.core.constant.CommonConstant; import com.baosight.hpjx.core.constant.CommonConstant;
import com.baosight.hpjx.core.dao.DaoUtils; import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.core.security.UserSessionUtils;
import com.baosight.hpjx.hp.constant.HPConstant; import com.baosight.hpjx.hp.constant.HPConstant;
import com.baosight.hpjx.hp.kc.domain.HPKC002; import com.baosight.hpjx.hp.kc.domain.HPKC002;
import com.baosight.hpjx.hp.kc.domain.HPKC010; import com.baosight.hpjx.hp.kc.domain.HPKC010;
...@@ -48,12 +49,15 @@ public class ServiceHPKC002B extends ServiceEPBase { ...@@ -48,12 +49,15 @@ public class ServiceHPKC002B extends ServiceEPBase {
try { try {
Map queryMap = new HashMap(); Map queryMap = new HashMap();
queryMap.put("inventTypes", DEFAULT_INVENT_CODE); queryMap.put("inventTypes", DEFAULT_INVENT_CODE);
Map queryMap2 = new HashMap();
queryMap2.put("companyCode", UserSessionUtils.getCompanyCode());
queryMap2.put("status", 1);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.WH_RECORD_BLOCK_ID), queryMap); CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.WH_RECORD_BLOCK_ID), queryMap);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.INVENT_NAME_BLOCK_ID), queryMap); CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.INVENT_NAME_BLOCK_ID), queryMap);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.INVENT_SPEC_BLOCK_ID), queryMap, false); CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.INVENT_SPEC_BLOCK_ID), queryMap, false);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.SPEC_NAME_BLOCK_ID), queryMap, false); CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.SPEC_NAME_BLOCK_ID), queryMap, false);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.SPEC_NAME_BLOCK_ID), queryMap, false); CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.SPEC_NAME_BLOCK_ID), queryMap, false);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.PROJ_RECORD_BLOCK_ID), null, false); CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.PROJ_RECORD_BLOCK_ID), queryMap2, false);
String hpsc006Id = inInfo.getString("inqu_status-0-hpsc006Id"); String hpsc006Id = inInfo.getString("inqu_status-0-hpsc006Id");
if (StringUtils.isNotBlank(hpsc006Id)) { if (StringUtils.isNotBlank(hpsc006Id)) {
inInfo.set("inqu_result-0-hpsc006Id", hpsc006Id); inInfo.set("inqu_result-0-hpsc006Id", hpsc006Id);
......
...@@ -5,6 +5,7 @@ import com.baosight.hpjx.common.DdynamicEnum; ...@@ -5,6 +5,7 @@ import com.baosight.hpjx.common.DdynamicEnum;
import com.baosight.hpjx.common.InventTypeEnum; import com.baosight.hpjx.common.InventTypeEnum;
import com.baosight.hpjx.core.constant.CommonConstant; import com.baosight.hpjx.core.constant.CommonConstant;
import com.baosight.hpjx.core.dao.DaoUtils; import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.core.security.UserSessionUtils;
import com.baosight.hpjx.hp.constant.HPConstant; import com.baosight.hpjx.hp.constant.HPConstant;
import com.baosight.hpjx.hp.kc.domain.HPKC002; import com.baosight.hpjx.hp.kc.domain.HPKC002;
import com.baosight.hpjx.hp.kc.domain.HPKC004; import com.baosight.hpjx.hp.kc.domain.HPKC004;
...@@ -25,7 +26,7 @@ import java.util.List; ...@@ -25,7 +26,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* 生产领料挑选库存 * 耗材挑选库存
* *
* @author:songx * @author:songx
* @date:2022/7/11,11:08 * @date:2022/7/11,11:08
...@@ -48,12 +49,15 @@ public class ServiceHPKC004B extends ServiceEPBase { ...@@ -48,12 +49,15 @@ public class ServiceHPKC004B extends ServiceEPBase {
try { try {
Map queryMap = new HashMap(); Map queryMap = new HashMap();
queryMap.put("inventTypes", DEFAULT_INVENT_CODE); queryMap.put("inventTypes", DEFAULT_INVENT_CODE);
Map queryMap2 = new HashMap();
queryMap2.put("companyCode", UserSessionUtils.getCompanyCode());
queryMap2.put("status", 1);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.WH_RECORD_BLOCK_ID), queryMap); CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.WH_RECORD_BLOCK_ID), queryMap);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.INVENT_NAME_BLOCK_ID), queryMap); CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.INVENT_NAME_BLOCK_ID), queryMap);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.INVENT_SPEC_BLOCK_ID), queryMap, false); CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.INVENT_SPEC_BLOCK_ID), queryMap, false);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.SPEC_NAME_BLOCK_ID), queryMap, false); CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.SPEC_NAME_BLOCK_ID), queryMap, false);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.SPEC_NAME_BLOCK_ID), queryMap, false); CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.SPEC_NAME_BLOCK_ID), queryMap, false);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.PROJ_RECORD_BLOCK_ID), null, false); CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.PROJ_RECORD_BLOCK_ID), queryMap2, false);
inInfo.addBlock(EiConstant.resultBlock).addBlockMeta(new HPKC010().eiMetadata); inInfo.addBlock(EiConstant.resultBlock).addBlockMeta(new HPKC010().eiMetadata);
} catch (Exception e) { } catch (Exception e) {
LogUtils.setDetailMsg(inInfo, e, "初始化失败"); LogUtils.setDetailMsg(inInfo, e, "初始化失败");
......
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
$order$ $order$
</isNotEmpty> </isNotEmpty>
<isEmpty property="order"> <isEmpty property="order">
ID asc ID desc
</isEmpty> </isEmpty>
</dynamic> </dynamic>
</sql> </sql>
......
...@@ -58,36 +58,54 @@ public class ServiceHPPZ015 extends ServiceBase { ...@@ -58,36 +58,54 @@ public class ServiceHPPZ015 extends ServiceBase {
} }
/** /**
* 查询操作.
*/
@OperationLogAnnotation(operModul = "产品模板",operType = "查询",operDesc = "查询")
public EiInfo count(EiInfo inInfo) {
HashMap map = new HashMap();
map.put("id",inInfo.getString("id"));
List<HPPZ015> query = this.dao.query("HPPZ015.query", map);
if (query.size() > 0) {
inInfo.setStatus(1);
inInfo.set("tempName",query.get(0).getTemplateName());
}else{
inInfo.setStatus(0);
}
return inInfo;
}
/**
* 新增操作. * 新增操作.
*/ */
@OperationLogAnnotation(operModul = "产品模板",operType = "新增",operDesc = "新增") @OperationLogAnnotation(operModul = "产品模板",operType = "新增",operDesc = "新增")
@Override @Override
public EiInfo insert(EiInfo inInfo) { public EiInfo insert(EiInfo inInfo) {
HashMap map = new HashMap(); HashMap map = new HashMap();
map.put("projCode",inInfo.getString("projCode")); map.put("id",inInfo.getString("id"));
List<HPPZ015> query = this.dao.query("HPPZ015.query", map); List<HPPZ015> query = this.dao.query("HPPZ015.query", map);
HPSC001 hpsc001 = HPSCTools.HpSc001.getId(inInfo.getString("id"));
if (query.size() > 0) { if (query.size() > 0) {
inInfo.setStatus(EiConstant.STATUS_FAILURE); dao.delete("HPPZ015.delete",map);
inInfo.setMsg("该产品模板已存在,生成失败!"); dao.delete("HPPZ015A.delete",hpsc001.toMap());
logError("生成产品模板失败","该产品模板已存在");
return inInfo;
} }
HPSC001 hpsc001 = HPSCTools.HpSc001.get(inInfo.getString("projCode"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try { try {
HPPZ015 HPPZ015 = new HPPZ015(); HPPZ015 HPPZ015 = new HPPZ015();
HPPZ015.setId(hpsc001.getId()); HPPZ015.setId(Long.parseLong(inInfo.getString("id")));
HPPZ015.setProjCode(inInfo.getString("projCode")); HPPZ015.setProjCode(hpsc001.getProjCode());
HPPZ015.setTemplateName(inInfo.getString("templateName")); HPPZ015.setTemplateName(inInfo.getString("templateName"));
HPPZ015.setCreatedBy(UserSession.getUserId()); HPPZ015.setCreatedBy(UserSession.getUserId());
HPPZ015.setCompanyCode(UserSession.getUserId()); HPPZ015.setCompanyCode(UserSession.getUserId());
HPPZ015.setCreatedName(UserSession.getLoginName()); HPPZ015.setCreatedName(UserSession.getUserId()+"-"+UserSession.getLoginCName());
HPPZ015.setCreatedTime(sdf.format(new Date())); HPPZ015.setCreatedTime(sdf.format(new Date()));
HPPZ015.setUpdatedBy(null); HPPZ015.setUpdatedBy(null);
HPPZ015.setUpdatedTime(null); HPPZ015.setUpdatedTime(null);
this.dao.insert("HPPZ015.insert", HPPZ015.toMap()); this.dao.insert("HPPZ015.insert", HPPZ015.toMap());
//模板物料清单 //模板物料清单
map.put("companyCode", UserSessionUtils.getCompanyCode()); map.put("companyCode", UserSessionUtils.getCompanyCode());
map.put("templateName", inInfo.getString("templateName"));
map.put("projCode", hpsc001.getProjCode());
this.dao.insert("HPPZ015A.insertMb", map); this.dao.insert("HPPZ015A.insertMb", map);
inInfo.setStatus(EiConstant.STATUS_SUCCESS); inInfo.setStatus(EiConstant.STATUS_SUCCESS);
inInfo.setMsg("生成产品模板成功!"); inInfo.setMsg("生成产品模板成功!");
...@@ -119,7 +137,12 @@ public class ServiceHPPZ015 extends ServiceBase { ...@@ -119,7 +137,12 @@ public class ServiceHPPZ015 extends ServiceBase {
return inInfo; return inInfo;
} }
//生成清单 //生成清单
HPPZTools.HpPz015A.chekParentId(hppz015AList); HPSC001 hpsc001New = HPSCTools.HpSc001.get(inInfo.getString("projCodeNew"));
HashMap hashMap = new HashMap();
hashMap.put("leaf",0 );
hashMap.put("projCode",hpsc001New.getProjCode());
this.dao.update("HPSC002.updateTreeNodeLeaf2",hashMap);
HPPZTools.HpPz015A.chekParentId(hppz015AList,hpsc001New);
inInfo.setStatus(EiConstant.STATUS_SUCCESS); inInfo.setStatus(EiConstant.STATUS_SUCCESS);
inInfo.setMsg("生成物料清单成功!"); inInfo.setMsg("生成物料清单成功!");
} catch (PlatException e) { } catch (PlatException e) {
......
...@@ -8,6 +8,7 @@ import com.baosight.hpjx.core.dao.DaoUtils; ...@@ -8,6 +8,7 @@ import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.core.security.UserSessionUtils; import com.baosight.hpjx.core.security.UserSessionUtils;
import com.baosight.hpjx.hp.constant.HPConstant; import com.baosight.hpjx.hp.constant.HPConstant;
import com.baosight.hpjx.hp.ds.domain.HPDS002; import com.baosight.hpjx.hp.ds.domain.HPDS002;
import com.baosight.hpjx.hp.pz.domain.HPPZ015;
import com.baosight.hpjx.hp.pz.domain.HPPZ015A; import com.baosight.hpjx.hp.pz.domain.HPPZ015A;
import com.baosight.hpjx.hp.pz.tools.HPPZTools; import com.baosight.hpjx.hp.pz.tools.HPPZTools;
import com.baosight.hpjx.hp.sc.domain.*; import com.baosight.hpjx.hp.sc.domain.*;
...@@ -19,12 +20,14 @@ import com.baosight.iplat4j.core.ei.EiInfo; ...@@ -19,12 +20,14 @@ import com.baosight.iplat4j.core.ei.EiInfo;
import com.baosight.iplat4j.core.exception.PlatException; import com.baosight.iplat4j.core.exception.PlatException;
import com.baosight.iplat4j.core.service.impl.ServiceBase; import com.baosight.iplat4j.core.service.impl.ServiceBase;
import com.baosight.iplat4j.core.util.NumberUtils; import com.baosight.iplat4j.core.util.NumberUtils;
import com.baosight.iplat4j.core.web.threadlocal.UserSession;
import com.baosight.iplat4j.ed.util.SequenceGenerator; import com.baosight.iplat4j.ed.util.SequenceGenerator;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -127,6 +130,12 @@ public class ServiceHPPZ015A extends ServiceBase { ...@@ -127,6 +130,12 @@ public class ServiceHPPZ015A extends ServiceBase {
if (!HPPZ015A.getParentId().equals("root")) { if (!HPPZ015A.getParentId().equals("root")) {
this.checkTreeNodeLeaf(HPPZ015A.getParentId()); this.checkTreeNodeLeaf(HPPZ015A.getParentId());
} }
HPPZ015 byPrdt = HPPZTools.HpPz015.getByPrdt(HPPZ015A.getProjCode());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
byPrdt.setUpdatedBy(UserSession.getUserId());
byPrdt.setUpdatedName(UserSession.getUserId()+"-"+UserSession.getLoginCName());
byPrdt.setUpdatedTime(sdf.format(new Date()));
this.dao.update("HPPZ015.update", byPrdt.toMap());
inInfo.setStatus(EiConstant.STATUS_SUCCESS); inInfo.setStatus(EiConstant.STATUS_SUCCESS);
inInfo.setMsg("新增成功!"); inInfo.setMsg("新增成功!");
} catch (PlatException e) { } catch (PlatException e) {
...@@ -148,6 +157,12 @@ public class ServiceHPPZ015A extends ServiceBase { ...@@ -148,6 +157,12 @@ public class ServiceHPPZ015A extends ServiceBase {
EiInfo inInfo = new EiInfo(); EiInfo inInfo = new EiInfo();
try { try {
this.updateHPPZ015A(HPPZ015A); this.updateHPPZ015A(HPPZ015A);
HPPZ015 byPrdt = HPPZTools.HpPz015.getByPrdt(HPPZ015A.getProjCode());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
byPrdt.setUpdatedBy(UserSession.getUserId());
byPrdt.setUpdatedName(UserSession.getUserId()+"-"+UserSession.getLoginCName());
byPrdt.setUpdatedTime(sdf.format(new Date()));
this.dao.update("HPPZ015.update", byPrdt.toMap());
inInfo.setStatus(EiConstant.STATUS_SUCCESS); inInfo.setStatus(EiConstant.STATUS_SUCCESS);
inInfo.setMsg("修改成功!"); inInfo.setMsg("修改成功!");
} catch (PlatException e) { } catch (PlatException e) {
...@@ -194,6 +209,12 @@ public class ServiceHPPZ015A extends ServiceBase { ...@@ -194,6 +209,12 @@ public class ServiceHPPZ015A extends ServiceBase {
//处理项目管理中物料状态 //处理项目管理中物料状态
HPSCTools.updateProjStatus(hppz002.getProjCode()); HPSCTools.updateProjStatus(hppz002.getProjCode());
} }
HPPZ015 byPrdt = HPPZTools.HpPz015.getByPrdt(hppz002.getProjCode());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
byPrdt.setUpdatedBy(UserSession.getUserId());
byPrdt.setUpdatedName(UserSession.getUserId()+"-"+UserSession.getLoginCName());
byPrdt.setUpdatedTime(sdf.format(new Date()));
this.dao.update("HPPZ015.update", byPrdt.toMap());
inInfo.setStatus(EiConstant.STATUS_SUCCESS); inInfo.setStatus(EiConstant.STATUS_SUCCESS);
inInfo.setMsg("新增成功!"); inInfo.setMsg("新增成功!");
...@@ -221,6 +242,12 @@ public class ServiceHPPZ015A extends ServiceBase { ...@@ -221,6 +242,12 @@ public class ServiceHPPZ015A extends ServiceBase {
hppz002.fromMap(map); hppz002.fromMap(map);
this.updateHPPZ015A(hppz002); this.updateHPPZ015A(hppz002);
} }
HPPZ015 byPrdt = HPPZTools.HpPz015.getByPrdt(hppz002.getProjCode());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
byPrdt.setUpdatedBy(UserSession.getUserId());
byPrdt.setUpdatedName(UserSession.getUserId()+"-"+UserSession.getLoginCName());
byPrdt.setUpdatedTime(sdf.format(new Date()));
this.dao.update("HPPZ015.update", byPrdt.toMap());
inInfo.setStatus(EiConstant.STATUS_SUCCESS); inInfo.setStatus(EiConstant.STATUS_SUCCESS);
inInfo.setMsg("修改成功!"); inInfo.setMsg("修改成功!");
} catch (PlatException e) { } catch (PlatException e) {
...@@ -259,6 +286,7 @@ public class ServiceHPPZ015A extends ServiceBase { ...@@ -259,6 +286,7 @@ public class ServiceHPPZ015A extends ServiceBase {
AssertUtils.isNotEmpty(dbSc002s, String.format("部件[%s]已存在子节点不能删除", fSc002.getPrdtName())); AssertUtils.isNotEmpty(dbSc002s, String.format("部件[%s]已存在子节点不能删除", fSc002.getPrdtName()));
} }
// 删除数据 // 删除数据
String projCode=null;
for (Map resultRow : resultRows) { for (Map resultRow : resultRows) {
HPPZ015A fSc002 = new HPPZ015A(); HPPZ015A fSc002 = new HPPZ015A();
fSc002.fromMap(resultRow); fSc002.fromMap(resultRow);
...@@ -270,8 +298,14 @@ public class ServiceHPPZ015A extends ServiceBase { ...@@ -270,8 +298,14 @@ public class ServiceHPPZ015A extends ServiceBase {
this.checkTreeNodeLeaf(fSc002.getParentId()); this.checkTreeNodeLeaf(fSc002.getParentId());
// 修改节点状态是叶子节点或非叶子节点 // 修改节点状态是叶子节点或非叶子节点
this.checkTreeNodeLeaf(fSc002.getId().toString()); this.checkTreeNodeLeaf(fSc002.getId().toString());
projCode=fSc002.getProjCode();
} }
HPPZ015 byPrdt = HPPZTools.HpPz015.getByPrdt(projCode);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
byPrdt.setUpdatedBy(UserSession.getUserId());
byPrdt.setUpdatedName(UserSession.getUserId()+"-"+UserSession.getLoginCName());
byPrdt.setUpdatedTime(sdf.format(new Date()));
this.dao.update("HPPZ015.update", byPrdt.toMap());
inInfo.setStatus(EiConstant.STATUS_DEFAULT); inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据删除成功!"); inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据删除成功!");
} catch (Exception e) { } catch (Exception e) {
...@@ -333,9 +367,9 @@ public class ServiceHPPZ015A extends ServiceBase { ...@@ -333,9 +367,9 @@ public class ServiceHPPZ015A extends ServiceBase {
if (projId != null) { if (projId != null) {
Map map = new HashMap(); Map map = new HashMap();
map.put("id", projId); map.put("id", projId);
List list = dao.query("HPSC001.queryDomainById", map); List list = dao.query("HPPZ015.queryDomainById", map);
if (list.size() > 0) { if (list.size() > 0) {
String projCode = ((HPSC001)list.get(0)).getProjCode(); String projCode = ((HPPZ015)list.get(0)).getProjCode();
queryMap.put("projCode", projCode); queryMap.put("projCode", projCode);
} }
} }
......
...@@ -190,4 +190,28 @@ ...@@ -190,4 +190,28 @@
ID = #id# ID = #id#
</update> </update>
<select id="queryDomainById" parameterClass="java.util.HashMap"
resultClass="com.baosight.hpjx.hp.pz.domain.HPPZ015">
SELECT
ID as "id", <!-- ID -->
COMPANY_CODE as "companyCode", <!-- 企业编码 预留 -->
DEP_CODE as "depCode", <!-- 部门编码 预留 -->
PROJ_CODE as "projCode", <!-- 项目编码 -->
TEMPLATE_CODE as "templateCode", <!-- 产品代码 -->
TEMPLATE_NAME as "templateName", <!-- 产品名称 -->
REMARK as "remark", <!-- 备注 -->
DELETE_FLAG as "deleteFlag", <!-- 是否删除0:否1.是 -->
CREATED_BY as "createdBy", <!-- 创建人 -->
CREATED_NAME as "createdName", <!-- 创建人名称 -->
CREATED_TIME as "createdTime", <!-- 创建时间 -->
UPDATED_BY as "updatedBy", <!-- 修改人 -->
UPDATED_TIME as "updatedTime", <!-- 修改人名称 -->
UPDATED_NAME as "updatedName" <!-- 修改时间 -->
FROM ${hpjxSchema}.T_HPPZ015 WHERE 1=1
<isNotEmpty prepend=" AND " property="id">
ID = #id#
</isNotEmpty>
</select>
</sqlMap> </sqlMap>
...@@ -217,14 +217,76 @@ ...@@ -217,14 +217,76 @@
</insert> </insert>
<insert id="insertMb" parameterClass="java.util.HashMap"> <insert id="insertMb" parameterClass="java.util.HashMap">
INSERT INTO hpjx.t_hppz015a ( INSERT INTO hpjx.t_hppz015a(
SELECT * FROM hpjx.t_hpsc002 WHERE PROJ_CODE=#projCode# AND COMPANY_CODE=#companyCode# ID,
COMPANY_CODE, <!-- 企业编码 预留 -->
DEP_CODE, <!-- 部门编码 预留 -->
PROJ_CODE, <!-- 项目编码 -->
PROJ_NAME, <!-- 项目名称 -->
PARENT_ID, <!-- 父节点-部件编码 -->
PARENT_PRDT_NAME, <!-- 父节点-部件名称 -->
TYPE, <!-- 类别 -->
LEAF, <!-- 是否有叶子节点 -->
SORT, <!-- 排序字段 -->
ICON, <!-- 图片地址 -->
PRDT_TYPE,
PRDT_CODE, <!-- 部件编码 -->
PRDT_NAME, <!-- 部件名称 -->
INVENT_RECORD_ID, <!-- 存货档案ID -->
NUM, <!-- 数量 -->
UNIT_WT, <!-- 单重 -->
TOTAL_WT, <!-- 总重 -->
STATUS, <!-- 状态 0-未提交,1-已提交 -->
DEL_STATUS, <!-- 状态 1未删除,0已删除 -->
CREATED_BY, <!-- 创建人 -->
CREATED_TIME, <!-- 创建时间 -->
UPDATED_BY, <!-- 更新人 -->
UPDATED_TIME, <!-- 更新时间 -->
REMARK, <!-- 备注 -->
LV,
SPEC,
LENGTH, <!-- 长 -->
WIDTH, <!-- 宽 -->
THICK <!-- 厚 -->
)(
SELECT
ID,
COMPANY_CODE, <!-- 企业编码 预留 -->
DEP_CODE, <!-- 部门编码 预留 -->
PROJ_CODE, <!-- 项目编码 -->
#templateName# as PROJ_NAME, <!-- 项目名称 -->
PARENT_ID, <!-- 父节点-部件编码 -->
CASE WHEN LEAF='0' THEN #templateName# ELSE PARENT_PRDT_NAME END as PARENT_PRDT_NAME, <!-- 父节点-部件名称 -->
TYPE, <!-- 类别 -->
LEAF, <!-- 是否有叶子节点 -->
SORT, <!-- 排序字段 -->
ICON, <!-- 图片地址 -->
PRDT_TYPE,
PRDT_CODE, <!-- 部件编码 -->
CASE WHEN PRDT_CODE=PROJ_CODE THEN #templateName# ELSE PRDT_NAME END as PRDT_NAME, <!-- 部件名称 -->
INVENT_RECORD_ID, <!-- 存货档案ID -->
NUM, <!-- 数量 -->
UNIT_WT, <!-- 单重 -->
TOTAL_WT, <!-- 总重 -->
STATUS, <!-- 状态 0-未提交,1-已提交 -->
DEL_STATUS, <!-- 状态 1未删除,0已删除 -->
CREATED_BY, <!-- 创建人 -->
CREATED_TIME, <!-- 创建时间 -->
UPDATED_BY, <!-- 更新人 -->
UPDATED_TIME, <!-- 更新时间 -->
REMARK, <!-- 备注 -->
LV,
SPEC,
LENGTH, <!-- 长 -->
WIDTH, <!-- 宽 -->
THICK <!-- 厚 -->
FROM hpjx.t_hpsc002 WHERE PROJ_CODE=#projCode# AND COMPANY_CODE=#companyCode#
) )
</insert> </insert>
<!-- 删除 --> <!-- 删除 -->
<delete id="delete"> <delete id="delete">
DELETE FROM hpjx.t_hppz015a WHERE ID = #id# DELETE FROM hpjx.t_hppz015a WHERE PROJ_CODE = #projCode#
</delete> </delete>
<update id="update"> <update id="update">
...@@ -390,6 +452,7 @@ ...@@ -390,6 +452,7 @@
<select id="queryById" parameterClass="java.util.HashMap" resultClass="com.baosight.hpjx.hp.pz.domain.HPPZ015A"> <select id="queryById" parameterClass="java.util.HashMap" resultClass="com.baosight.hpjx.hp.pz.domain.HPPZ015A">
SELECT SELECT
ID as "id",
COMPANY_CODE as "companyCode", <!-- 企业编码 预留 --> COMPANY_CODE as "companyCode", <!-- 企业编码 预留 -->
DEP_CODE as "depCode", <!-- 部门编码 预留 --> DEP_CODE as "depCode", <!-- 部门编码 预留 -->
PROJ_CODE as "projCode", <!-- 项目编码 --> PROJ_CODE as "projCode", <!-- 项目编码 -->
...@@ -409,7 +472,7 @@ ...@@ -409,7 +472,7 @@
WIDTH as "width", <!-- 宽 --> WIDTH as "width", <!-- 宽 -->
THICK as "thick" <!-- 厚 --> THICK as "thick" <!-- 厚 -->
FROM hpjx.t_hppz015a FROM hpjx.t_hppz015a
WHERE 1=1 AND PROJ_CODE=#projCode# WHERE 1=1 AND PROJ_CODE=#projCode# AND PARENT_ID NOT IN('root')
</select> </select>
</sqlMap> </sqlMap>
...@@ -7,6 +7,7 @@ import com.baosight.hpjx.core.dao.DaoUtils; ...@@ -7,6 +7,7 @@ import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.hp.constant.HPConstant; import com.baosight.hpjx.hp.constant.HPConstant;
import com.baosight.hpjx.hp.constant.HPSqlConstant; import com.baosight.hpjx.hp.constant.HPSqlConstant;
import com.baosight.hpjx.hp.pz.domain.*; import com.baosight.hpjx.hp.pz.domain.*;
import com.baosight.hpjx.hp.sc.domain.HPSC001;
import com.baosight.hpjx.hp.sc.domain.HPSC002; import com.baosight.hpjx.hp.sc.domain.HPSC002;
import com.baosight.hpjx.hp.sc.tools.HPSCTools; import com.baosight.hpjx.hp.sc.tools.HPSCTools;
import com.baosight.hpjx.hp.pz.domain.*; import com.baosight.hpjx.hp.pz.domain.*;
...@@ -575,6 +576,24 @@ public class HPPZTools { ...@@ -575,6 +576,24 @@ public class HPPZTools {
} }
} }
public static class HpPz015 {
/**
* 查询
*
* @param prdtCode
* @return
*/
public static HPPZ015 getByPrdt(String prdtCode) {
AssertUtils.isEmpty(prdtCode, "部件编码不能为空");
Map queryMap = new HashMap();
queryMap.put("prdtCode", prdtCode);
List<HPPZ015> results = DaoBase.getInstance().query("HPPZ015.query", queryMap);
AssertUtils.isNull(results, String.format("部件编码[%s]信息不存在", prdtCode));
return results.get(0);
}
}
/** /**
* HPSC002公共DAO定义 * HPSC002公共DAO定义
* *
...@@ -639,48 +658,47 @@ public class HPPZTools { ...@@ -639,48 +658,47 @@ public class HPPZTools {
* @param hppz015AList * @param hppz015AList
* @return * @return
*/ */
public static void chekParentId(List<HPPZ015A> hppz015AList) { public static void chekParentId(List<HPPZ015A> hppz015AList,HPSC001 hpsc001) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
Long root = null; Long root = null;
Long prdtId = null; Long prdtId = null;
Long prdtId_new = null; Long prdtId_new = null;
//处理root
for (int i = 0; i<hppz015AList.size(); i++) { HPSC002 hpsc002ById = HPSCTools.HpSc002.getByTree3(hpsc001.getProjCode(),null);
if(hppz015AList.get(i).getLv().equals("1")){ root=hpsc002ById.getId();
HPSC002 hpsc002 = new HPSC002();
hpsc002.fromMap(hppz015AList.get(i).toMap());
hpsc002.setCreatedName(UserSession.getUserId());
hpsc002.setUpdatedTime(sdf.format(new Date()));
hpsc002.setStatus(CommonConstant.YesNo.NO_0);
hpsc002.setDelStatus(CommonConstant.YesNo.NO_0);
DaoBase.getInstance().insert("HPSC002.insert", hpsc002);
HPSC002 byProjCode = HPSCTools.HpSc002.getByProjCode(hpsc002.getProjCode());
root=byProjCode.getId();
break;
}
}
//处理部件 //处理部件
for (int i = 0; i<hppz015AList.size(); i++) { for (int i = 0; i<hppz015AList.size(); i++) {
if(hppz015AList.get(i).getLv().equals("2")){ if(hppz015AList.get(i).getLv()==2){
prdtId=hppz015AList.get(i).getId();//旧 prdtId=hppz015AList.get(i).getId();//旧
HPSC002 hpsc002 = new HPSC002(); HPSC002 hpsc002 = new HPSC002();
hpsc002.setParentId(root.toString());
hpsc002.fromMap(hppz015AList.get(i).toMap()); hpsc002.fromMap(hppz015AList.get(i).toMap());
hpsc002.setId(null);
hpsc002.setParentId(root.toString());
hpsc002.setCreatedName(UserSession.getUserId()); hpsc002.setCreatedName(UserSession.getUserId());
hpsc002.setUpdatedTime(sdf.format(new Date())); hpsc002.setCreatedTime(sdf.format(new Date()));
hpsc002.setProjCode(hpsc001.getProjCode());
hpsc002.setProjName(hpsc001.getProjName());
hpsc002.setParentPrdtName(hpsc001.getProjName());
hpsc002.setStatus(CommonConstant.YesNo.NO_0); hpsc002.setStatus(CommonConstant.YesNo.NO_0);
hpsc002.setDelStatus(CommonConstant.YesNo.NO_0); hpsc002.setDelStatus(CommonConstant.YesNo.NO_0);
DaoBase.getInstance().insert("HPSC002.insert", hpsc002); DaoBase.getInstance().insert("HPSC002.insert", hpsc002);
HPSC002 byProjCode = HPSCTools.HpSc002.getByProjCode(hpsc002.getProjCode()); HPSC002 byProjCode;
if (prdtId_new!=null)
byProjCode = HPSCTools.HpSc002.getByTree2(hpsc002.getProjCode(), prdtId_new.toString());
else byProjCode = HPSCTools.HpSc002.getByTree2(hpsc002.getProjCode(), null);
prdtId_new=byProjCode.getId(); prdtId_new=byProjCode.getId();
for (int j = 0; j<hppz015AList.size(); j++) { for (int j = 0; j<hppz015AList.size(); j++) {
if(hppz015AList.get(i).getLv().equals("3")) { if(hppz015AList.get(j).getLv()==3) {
if(hppz015AList.get(j).getParentId().equals(prdtId)){ if(Long.parseLong(hppz015AList.get(j).getParentId())==prdtId){
HPSC002 hpsc002_lv = new HPSC002(); HPSC002 hpsc002_lv = new HPSC002();
hpsc002_lv.fromMap(hppz015AList.get(j).toMap());
hpsc002_lv.setId(null);
hpsc002_lv.setParentId(prdtId_new.toString()); hpsc002_lv.setParentId(prdtId_new.toString());
hpsc002_lv.fromMap(hppz015AList.get(i).toMap());
hpsc002_lv.setCreatedName(UserSession.getUserId()); hpsc002_lv.setCreatedName(UserSession.getUserId());
hpsc002_lv.setUpdatedTime(sdf.format(new Date())); hpsc002_lv.setProjCode(hpsc001.getProjCode());
hpsc002_lv.setProjName(hpsc001.getProjName());
hpsc002_lv.setCreatedTime(sdf.format(new Date()));
hpsc002_lv.setStatus(CommonConstant.YesNo.NO_0); hpsc002_lv.setStatus(CommonConstant.YesNo.NO_0);
hpsc002_lv.setDelStatus(CommonConstant.YesNo.NO_0); hpsc002_lv.setDelStatus(CommonConstant.YesNo.NO_0);
DaoBase.getInstance().insert("HPSC002.insert", hpsc002_lv); DaoBase.getInstance().insert("HPSC002.insert", hpsc002_lv);
......
...@@ -3,11 +3,13 @@ package com.baosight.hpjx.hp.sc.service; ...@@ -3,11 +3,13 @@ package com.baosight.hpjx.hp.sc.service;
import com.baosight.hpjx.aspect.annotation.OperationLogAnnotation; import com.baosight.hpjx.aspect.annotation.OperationLogAnnotation;
import com.baosight.hpjx.common.DdynamicEnum; import com.baosight.hpjx.common.DdynamicEnum;
import com.baosight.hpjx.core.constant.CommonConstant; import com.baosight.hpjx.core.constant.CommonConstant;
import com.baosight.hpjx.core.dao.DaoBase;
import com.baosight.hpjx.core.dao.DaoUtils; import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.core.security.UserSessionUtils; import com.baosight.hpjx.core.security.UserSessionUtils;
import com.baosight.hpjx.hp.constant.HPConstant; import com.baosight.hpjx.hp.constant.HPConstant;
import com.baosight.hpjx.hp.ds.domain.HPDS002; import com.baosight.hpjx.hp.ds.domain.HPDS002;
import com.baosight.hpjx.hp.kc.tools.HPKCTools; import com.baosight.hpjx.hp.kc.tools.HPKCTools;
import com.baosight.hpjx.hp.pz.domain.HPPZ015;
import com.baosight.hpjx.hp.pz.tools.HPPZTools; import com.baosight.hpjx.hp.pz.tools.HPPZTools;
import com.baosight.hpjx.hp.sc.domain.*; import com.baosight.hpjx.hp.sc.domain.*;
import com.baosight.hpjx.hp.sc.tools.HPSCTools; import com.baosight.hpjx.hp.sc.tools.HPSCTools;
...@@ -75,6 +77,28 @@ public class ServiceHPSC002 extends ServiceBase { ...@@ -75,6 +77,28 @@ public class ServiceHPSC002 extends ServiceBase {
} }
/** /**
* 查询操作物料清单选择校验.
*/
@OperationLogAnnotation(operModul = "物料清单",operType = "查询",operDesc = "查询")
public EiInfo count(EiInfo inInfo) {
try {
HashMap map = new HashMap();
HPSC001 hpsc001 = HPSCTools.HpSc001.getId(inInfo.getString("id"));
map.put("projCode",hpsc001.getProjCode());
List<HPSC002> results = this.dao.query("HPSC002.queryTree", map);
if (results.size()>1){
inInfo.setStatus(0);
}else{
inInfo.setStatus(1);
inInfo.set("projCode",hpsc001.getProjCode());
}
} catch (Exception e) {
LogUtils.setDetailMsg(inInfo, e, "查询失败");
}
return inInfo;
}
/**
* 保存操作. * 保存操作.
* *
* @param inInfo * @param inInfo
......
...@@ -197,13 +197,27 @@ ...@@ -197,13 +197,27 @@
<select id="queryProjCode" parameterClass="java.util.HashMap" <select id="queryProjCode" parameterClass="java.util.HashMap"
resultClass="com.baosight.hpjx.hp.sc.domain.HPSC001"> resultClass="com.baosight.hpjx.hp.sc.domain.HPSC001">
SELECT SELECT
PROJ_CODE as "projCode" ID as "id",
COMPANY_CODE as "companyCode", <!-- 企业编码 预留 -->
PROJ_TYPE as "projType", <!-- 项目类型 -->
PROJ_CODE as "projCode", <!-- 项目编码 -->
PROJ_NAME as "projName", <!-- 项目名称 -->
PRINC1 as "princ1", <!-- 本公司项目负责人 -->
PRINC2 as "princ2", <!-- 客户项目负责人 -->
STATUS as "status", <!-- 状态 0-未提交,1-已提交 -->
CREATED_BY as "createdBy", <!-- 创建人 -->
CREATED_TIME as "createdTime", <!-- 创建时间 -->
UPDATED_BY as "updatedBy", <!-- 更新人 -->
UPDATED_TIME as "updatedTime", <!-- 更新时间 -->
DEP_CODE as "depCode", <!-- 部门编码 -->
REMARK as "remark", <!-- 备注 -->
MATERIAL_STATUS as "materialStatus"
FROM hpjx.t_hpsc001 WHERE 1=1 FROM hpjx.t_hpsc001 WHERE 1=1
<isNotEmpty prepend=" AND " property="companyCode"> <isNotEmpty prepend=" AND " property="companyCode">
COMPANY_CODE = #companyCode# COMPANY_CODE = #companyCode#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="projName"> <isNotEmpty prepend=" AND " property="id">
PROJ_NAME = #projName# ID = #id#
</isNotEmpty> </isNotEmpty>
</select> </select>
......
...@@ -137,6 +137,12 @@ ...@@ -137,6 +137,12 @@
<isNotEmpty prepend=" AND " property="lv"> <isNotEmpty prepend=" AND " property="lv">
A.LV = #lv# A.LV = #lv#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="projCode">
A.PROJ_CODE = #projCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="companyCode">
A.COMPANY_CODE = #companyCode#
</isNotEmpty>
</sql> </sql>
<sql id="order"> <sql id="order">
...@@ -218,6 +224,12 @@ ...@@ -218,6 +224,12 @@
DELETE FROM hpjx.t_hpsc002 WHERE ID = #id# DELETE FROM hpjx.t_hpsc002 WHERE ID = #id#
</delete> </delete>
<!-- 删除 -->
<delete id="deleteByPro">
DELETE FROM hpjx.t_hpsc002 WHERE PROJ_CODE = #projCode#
</delete>
<update id="update"> <update id="update">
UPDATE hpjx.t_hpsc002 UPDATE hpjx.t_hpsc002
SET SET
...@@ -290,6 +302,73 @@ ...@@ -290,6 +302,73 @@
ORDER BY CREATED_TIME DESC ORDER BY CREATED_TIME DESC
</select> </select>
<select id="queryTree2" resultClass="com.baosight.hpjx.hp.sc.domain.HPSC002" >
SELECT
ID as "id",
PRDT_TYPE as "prdtType",
PRDT_CODE as "prdtCode", <!-- 项目编码 -->
PROJ_CODE as "projCode", <!-- 项目编码 -->
PRDT_name as "prdtName", <!-- 项目编码 -->
PROJ_NAME as "projName",<!-- 项目名称 -->
ID as "label", <!-- 名部件编码-->
PRDT_NAME as "text", <!-- 部件名称 -->
INVENT_RECORD_ID as "inventRecordId", <!-- 存货档案ID -->
PARENT_ID as "pId", <!-- 父节点编码 -->
TYPE as "type", <!-- 类别 -->
LEAF as "leaf", <!-- 是否有叶子节点 -->
SORT as "sort", <!-- 排序字段 -->
ICON as "icon", <!-- 图片地址 -->
LV as "lv",
SPEC as "spec"
FROM
hpjx.t_hpsc002
WHERE
1=1 AND PARENT_ID NOT IN ('root') AND LV != 3
<isNotEmpty prepend=" AND " property="pEname">
PARENT_ID = #pEname#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="projCode">
PROJ_CODE = #projCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="id">
ID != #id#
</isNotEmpty>
ORDER BY CREATED_TIME DESC
</select>
<select id="queryTree3" resultClass="com.baosight.hpjx.hp.sc.domain.HPSC002" >
SELECT
ID as "id",
PRDT_TYPE as "prdtType",
PRDT_CODE as "prdtCode", <!-- 项目编码 -->
PROJ_CODE as "projCode", <!-- 项目编码 -->
PRDT_name as "prdtName", <!-- 项目编码 -->
PROJ_NAME as "projName",<!-- 项目名称 -->
ID as "label", <!-- 名部件编码-->
PRDT_NAME as "text", <!-- 部件名称 -->
INVENT_RECORD_ID as "inventRecordId", <!-- 存货档案ID -->
PARENT_ID as "pId", <!-- 父节点编码 -->
TYPE as "type", <!-- 类别 -->
LEAF as "leaf", <!-- 是否有叶子节点 -->
SORT as "sort", <!-- 排序字段 -->
ICON as "icon", <!-- 图片地址 -->
LV as "lv",
SPEC as "spec"
FROM
hpjx.t_hpsc002
WHERE
1=1
<isNotEmpty prepend=" AND " property="pEname">
PARENT_ID = #pEname#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="projCode">
PROJ_CODE = #projCode#
</isNotEmpty>
ORDER BY CREATED_TIME DESC
</select>
<!-- 根据父级ID查询 --> <!-- 根据父级ID查询 -->
<select id="queryTreeNodeByParentPrtdCode" resultClass="java.util.HashMap"> <select id="queryTreeNodeByParentPrtdCode" resultClass="java.util.HashMap">
SELECT SELECT
...@@ -322,6 +401,10 @@ ...@@ -322,6 +401,10 @@
UPDATE hpjx.t_hpsc002 SET LEAF = #leaf# WHERE ID = #id# UPDATE hpjx.t_hpsc002 SET LEAF = #leaf# WHERE ID = #id#
</update> </update>
<update id="updateTreeNodeLeaf2">
UPDATE hpjx.t_hpsc002 SET LEAF = #leaf# WHERE PROJ_CODE = #projCode#
</update>
<update id="check"> <update id="check">
UPDATE hpjx.t_hpsc002 SET status = #status# WHERE ID = #id# UPDATE hpjx.t_hpsc002 SET status = #status# WHERE ID = #id#
</update> </update>
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
PRDT_CODE LIKE ('%$prdtCode$%') PRDT_CODE LIKE ('%$prdtCode$%')
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="prdtName"> <isNotEmpty prepend=" AND " property="prdtName">
PRDT_NAME = #prdtName# PRDT_NAME LIKE ('%$prdtName$%')
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="planCompletionDate"> <isNotEmpty prepend=" AND " property="planCompletionDate">
PLAN_COMPLETION_DATE = #planCompletionDate# PLAN_COMPLETION_DATE = #planCompletionDate#
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
$orderBy$ $orderBy$
</isNotEmpty> </isNotEmpty>
<isEmpty property="orderBy"> <isEmpty property="orderBy">
STATUS,CREATED_TIME asc STATUS,CREATED_TIME DESC
</isEmpty> </isEmpty>
</dynamic> </dynamic>
......
...@@ -193,7 +193,7 @@ ...@@ -193,7 +193,7 @@
$order$ $order$
</isNotEmpty> </isNotEmpty>
<isEmpty property="order"> <isEmpty property="order">
ID asc ID DESC
</isEmpty> </isEmpty>
</dynamic> </dynamic>
</sql> </sql>
......
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
$orderBy$ $orderBy$
</isNotEmpty> </isNotEmpty>
<isEmpty property="order"> <isEmpty property="order">
ID asc ID DESC
</isEmpty> </isEmpty>
</dynamic> </dynamic>
</sql> </sql>
......
...@@ -201,7 +201,7 @@ ...@@ -201,7 +201,7 @@
$orderBy$ $orderBy$
</isNotEmpty> </isNotEmpty>
<isEmpty property="orderBy"> <isEmpty property="orderBy">
ID asc ID DESC
</isEmpty> </isEmpty>
</dynamic> </dynamic>
......
...@@ -178,7 +178,7 @@ ...@@ -178,7 +178,7 @@
$orderBy$ $orderBy$
</isNotEmpty> </isNotEmpty>
<isEmpty property="orderBy"> <isEmpty property="orderBy">
CREATED_TIME asc CREATED_TIME DESC
</isEmpty> </isEmpty>
</dynamic> </dynamic>
</sql> </sql>
......
...@@ -223,7 +223,7 @@ ...@@ -223,7 +223,7 @@
$orderBy$ $orderBy$
</isNotEmpty> </isNotEmpty>
<isEmpty property="orderBy"> <isEmpty property="orderBy">
ID asc ID DESC
</isEmpty> </isEmpty>
</dynamic> </dynamic>
</sql> </sql>
......
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
$orderBy$ $orderBy$
</isNotEmpty> </isNotEmpty>
<isEmpty property="orderBy"> <isEmpty property="orderBy">
ID asc ID DESC
</isEmpty> </isEmpty>
</dynamic> </dynamic>
......
...@@ -264,6 +264,54 @@ public class HPSCTools { ...@@ -264,6 +264,54 @@ public class HPSCTools {
} }
/** /**
* 查询
*
* @param projCode
* @return
*/
public static HPSC002 getByTree(String projCode) {
AssertUtils.isEmpty(projCode, "项目编码不能为空");
Map queryMap = new HashMap();
queryMap.put("projCode", projCode);
List<HPSC002> results = DaoBase.getInstance().query("HPSC002.queryTree", queryMap);
AssertUtils.isNull(results, String.format("项目编码[%s]信息不存在", projCode));
return results.get(0);
}
/**
* 查询
*
* @param projCode
* @return
*/
public static HPSC002 getByTree2(String projCode,String id) {
AssertUtils.isEmpty(projCode, "项目编码不能为空");
Map queryMap = new HashMap();
queryMap.put("projCode", projCode);
queryMap.put("id", id);
List<HPSC002> results = DaoBase.getInstance().query("HPSC002.queryTree2", queryMap);
AssertUtils.isNull(results, String.format("项目编码[%s]信息不存在", projCode));
return results.get(0);
}
/**
* 查询
*
* @param projCode
* @return
*/
public static HPSC002 getByTree3(String projCode,String id) {
AssertUtils.isEmpty(projCode, "项目编码不能为空");
Map queryMap = new HashMap();
queryMap.put("projCode", projCode);
queryMap.put("id", id);
List<HPSC002> results = DaoBase.getInstance().query("HPSC002.queryTree3", queryMap);
AssertUtils.isNull(results, String.format("项目编码[%s]信息不存在", projCode));
return results.get(0);
}
/**
* 查询节点 * 查询节点
* *
* @param id * @param id
......
;(function ($, _) {
var trim = $.trim,
extend = $.extend;
var treeid;
var selectedNodeText;
var isObject = IPLAT.isObject || function (obj) {
return null !== obj && typeof obj === 'object';
};
// 为首页定制的新增Tab接口
kendo.ui.TabStrip.fn.addTab = function (item) {
if (!isObject(item)) return;
// newWindow模式: 重新打开window窗口展示新页面
// tabView模式: 在首页的tab项中添加新页面
// 默认是newWindow模式
var mode = item.mode;
if (mode === 'newWindow') {
if (item.urlFlag) {
window.open(item.url)
} else {
if (isAvailable(item.param)){
IPLAT.openForm(item.title, item.param);
return;
}else {
IPLAT.openForm(item.title);
return;
}
}
return;
}
if (mode === 'thisWindow') {
window.open(item.url,'_self');
return;
}
if (mode === 'tabView') {
this.append({
text: item.title,
content: "&#12"
});
var last = this.tabGroup.children().length - 1;
var lastItem = this.tabGroup.children().eq(last);
lastItem.append('<span data-type="remove" class="k-link"><span class="k-icon k-i-close"></span></span>');
var lastContentElement = this.contentElement(last);
var iframe = $('<iframe>');
iframe.appendTo($(lastContentElement));
$(lastContentElement).css('height', $(window).height() - $('#page-list').offset().top - $('#page-list')[0].firstChild.offsetHeight -4); // 当前tab页k-content的高度
iframe.attr('width', '100%');
iframe.attr('frameborder', '0');
iframe.attr('height', $(window).height() - $('#page-list').offset().top - $('#page-list')[0].firstChild.offsetHeight -4); // iframe的高度
iframe.attr('src', item.url);
this.activateTab(lastItem);
}
};
var _defaultOptions = {
// slick: true, // 首页轮播
menu: true, // 左侧菜单
pageSearch: true, // 页面号查询
favorite: true, // 收藏页面
panelBar: true, // 消息主看板
unload: true, // 首页刷新或者关闭时,关闭所有的子窗口
apm: false, // APM指标默认不展示
tabs: true, // 页面切换
calendar: true //日历区域
};
var uiLayout = function (isTabs) {
var offsetTop = !!isTabs ? $('#page-list').offset().top + 10 * 2 + 31 : 80;
var $hWindow = $(window).height();
var offsetHeight = $hWindow - offsetTop;
// $(".main-content").css('height', $hWindow - 80);
$("#iplat-menu").css('height', $hWindow - 90);
$("#iplat-menu").getNiceScroll().resize();
var topH = offsetHeight * 0.55,
bottomH = offsetHeight * 0.45;
$(".i-index-top").css('height', topH-4);
$(".i-index-tab").css('height', topH - 80); // 最外层tab的高度固定,防止切换tab时的抖动
$(".i-index-bottom").css('height', bottomH - 10);
$(".index-favorite").css('height', bottomH - 56); // 10 + 10 + 36
$(".i-index-panelbar").css('height', topH - 120); // 只允许panelbar 出现滚动条
//$(".i-region-content").css('height', $(".index-favorite").height() - 36);
/*$(".index-favorite .i-region-content").css('height', $(".index-charts").height() - 46);
$(".index-links ").css('height', $(".index-charts").height() - 46);*/
$("#info").css('height', $(".index-charts").height());
$(".index-charts").find(".i-region-content").css('height', $(".index-charts").height() - 36);
$(".index-charts").find(".i-region-content.notice-region").css('height', $(".index-charts").height());
// $(".index-apm").find(".i-region-content").css('height', $(".index-apm").height() - 36);
$(".index-links .dropdown-menu").css("left", 47 - $(".index-links").width());
/*
if (echarts.getInstanceByDom($("#qps")[0])) {
echarts.getInstanceByDom($("#qps")[0]).resize();
echarts.getInstanceByDom($("#servicepv")[0]).resize();
echarts.getInstanceByDom($("#pagepv")[0]).resize();
}
*/
};
var V6Index = function (options) {
if (this instanceof V6Index) {
this._options = extend({}, _defaultOptions, options);
this.init();
} else {
return new V6Index(options);
}
};
// 调用各个模块
V6Index.prototype.init = function () {
var _options = this._options,
that = this,
key;
var keys = _.keys(_options);
for (var i = 0, length = keys.length; i < length; i++) {
key = keys[i];
if (key && _options[key] && _.isFunction(that[key])) {
// 防止页面JS报错,导致页面无法继续执行
try {
that[key].call(that);
} catch (e) {
console.error(e);
}
}
}
// 样式重置
uiLayout(true);
// APM echarts
// drawCharts();
// reisze 重新布局
$(window).resize(kendo.throttle(function () {
uiLayout(true);
}, 200));
$(".fa-file-o").on("click", function () {
$("#new-window-view").css('display', 'block');
$("#tab-view").css('display', 'none');
$('#toggle-view-mode').data('mode', 'newWindow');
});
$(".fa-files-o").on("click", function () {
$("#tab-view").css('display', 'block');
$("#new-window-view").css('display', 'none');
$('#toggle-view-mode').data('mode', 'tabView');
});
if (IPLAT.Browser.isIE8) {
$("#new-window-view").css("display", "none");
$("#tab-view").css("display", "none");
}
};
V6Index.prototype.meet = function () {
var meetInfo = new EiInfo();
// EiCommunicator.send("KB00M", "meetingToThisWeek", meetInfo, {
// onSuccess: function (eiInfo) {
// var status = eiInfo.getStatus();
// var fileUrl = eiInfo.get("fileUrl");
// var title = eiInfo.get("title");
// if (status != -1) {
// $("#meetingAnnouncement").html('<a href="' + fileUrl + '">' + title + '公司会议安排</a>')
// } else {
// $("#meetingAnnouncement").html(' ');
// console.log("调用会议接口" + eiInfo.getMsg());
// }
// },
// onFail: function (eMsg) {
// $("#meetingAnnouncement").html(' ');
// console.log("调用会议接口:" + eMsg);
// }
// });
};
// APM指标
/*
V6Index.prototype.apm = function () {
// 绘制图表
var apmData = "";
var draw = function (elementList) {
for (var k = 0; k < elementList.length; k++) {
var elementId = elementList[k]['elementId'],
text = elementList[k]['text'],
themeColor = elementList[k]['themeColor'],
_index = elementList[k]['_index'],
type = elementList[k]['type'];
var thisChart = echarts.init(document.getElementById(elementId));
var _option = {
title: {
show: true,
text: text,
top: '2%',
left: '0',
textStyle: {
color: '#25A4D1',
fontStyle: 'normal',
fontWeight: 'normal',
fontSize: 13
}
},
grid: {
top: '30%',
height: '65%',
width: '95%',
left: '3%',
right: '10%'
},
textStyle: {
color: '#f7f7f7',
fontStyle: 'normal',
fontSize: 13
},
tooltip: {
show: true,
trigger: 'axis',
// formatter: "{c}?11:{c}</br>" + "<span style='font-size: 5px;'>{b}</span>",
formatter: function (params) {
if (!_.isUndefined(params[0].value)) {
var res = '<span>时间:' + params[0].name + '</span>';
for (var i = 0; i < params.length; i++) {
res += '<p>' + params[i].seriesName + ': ' + params[i].data + '</p>'
}
return res;
} else {
return "无数据";
}
},
backgroundColor: "rgba(255, 255, 255, 0.8)",
confine: true, // 将tooltip限制在图表区域内
textStyle: {
color: themeColor,
fontWeight: 'bold',
fontSize: 10
},
axisPointer: {
type: 'line',
lineStyle: {
color: themeColor,
width: 1,
type: 'solid'
}
}
},
xAxis: {
data: [],
type: 'category',
// interval: 9,
splitNumber: 6,
axisLine: {
show: true //显示坐标轴轴线
},
axisLabel: {
show: false,
textStyle: {
fontSize: 9
},
interval: 9
},
axisTick: {
show: false,
alignWithLabel: true,
interval: 9
},
splitLine: { //grid 区域中的分隔线。
show: false,
interval: 9,
lineStyle: {
type: 'solid',
color: '#65686A'
}
},
boundaryGap: type == "bar" //柱状图留白
},
yAxis: {
gridIndex: 0,
type: 'value',
nameGap: 20,
axisLabel: {
show: true,
textStyle: {
fontSize: 9,
fontWeight: 'bold'
}
},
axisTick: { //显示坐标轴刻度
show: false
},
axisLine: {
show: true //显示坐标轴轴线
},
splitLine: { //grid 区域中的分隔线。
show: true,
interval: 3,
lineStyle: {
type: 'dotted',
color: '#65686A'
}
}
},
dataZoom: [{
type: 'inside', //鼠标缩放
start: 0, //开始缩放百分比(default:0)
end: 100 //最大缩放百分比(default:100)
}]
};
thisChart.setOption(_option);
drawThisChart(thisChart, k);
// 绘制单个chart
function drawThisChart(thisChart, k) {
apmData = k === 0 ? queryAPMData() : apmData;
var esData = apmData.get("result");
var date = [];
var value = [];
var _node, _now;
if (!_.isEmpty(esData) && esData['hits']['hits'].length > 0) {
var nodes = esData['hits']['hits'];
for (var i = 0; i < nodes.length; i++) {
_node = nodes[i];
var nodeSource = _node['_source'];
_now = new Date(nodeSource['@timestamp']);
var timeStr = [_now.getHours(), Math.floor(_now.getMinutes() / 10) == 0 ? '0' + _now.getMinutes() : _now.getMinutes()].join(":");
date.push(timeStr);
value.push(nodeSource[elementList[k]['_index']]);
}
// // 在线用户数
// var onlineUserNumStr = nodes[nodes.length - 1]['_source']['onlineuser'].toString();
// $(".index-charts-layout-0-span2").html("");
// for (var j = 0; j < onlineUserNumStr.length; j++) {
// $("<span class='index-charts-layout-0-span3'>" + onlineUserNumStr[j] + "</span>").appendTo(".index-charts-layout-0-span2");
// }
}
// 在线用户数
var onlineUserStr = apmData.get("onlineUser");
if (!_.isEmpty(onlineUserStr)) {
$(".index-charts-layout-0-span2").html("");
for (var j = 0; j < onlineUserStr.length; j++) {
$("<span class='index-charts-layout-0-span3'>" + onlineUserStr[j] + "</span>").appendTo(".index-charts-layout-0-span2");
}
}
thisChart.setOption({
xAxis: {data: date},
series: [
{
// type: 'line',
type: elementList[k]['type'],
symbol: 'circle',
symbolSize: 8,
itemStyle: {
normal: {
color: elementList[k]['themeColor']
},
emphasis: {
color: elementList[k]['themeColor']
}
},
connectNulls: true,
name: elementList[k]['text'],
data: value
}
]
});
setTimeout(function () {
drawThisChart(thisChart, k);
}, APM_REFRESH * 60 * 1000);
}
// 获取APM数据
function queryAPMData() {
var result = "";
var nowTimestamp = new Date().getTime();
var ei = new EiInfo();
ei.set("request_body", {
"size": IPLATUI.ES_SPAN, //数据条数
"sort": [
{
"@timestamp": {
"order": "asc"
}
}
],
"query": {
"bool": {
"must": [
{
"range": {
"@timestamp": {
"gte": nowTimestamp - IPLATUI.ES_SPAN * 60 * 1000,//开始时间(Unix时间戳 ,毫秒)
"lte": nowTimestamp //结束时间(毫秒)
}
}
}
]
}
}
});
EiCommunicator.send("EF0001", "queryAPM", ei, {
onSuccess: function (ei) {
result = ei;
},
onFail: function (ei) {
}
}, {async: false});
return result;
}
}
};
var drawCharts = function () {
var elementList = [];
elementList.push({
'elementId': 'pagepv',
'text': '页面访问量',
'themeColor': '#FF9100',
"_index": 'pagepv',
"type": "bar"
});
elementList.push({
'elementId': 'servicepv',
'text': '服务访问量',
'themeColor': '#0067E9',
"_index": 'servicepv',
"type": "bar"
});
elementList.push({
'elementId': 'qps',
'text': '每秒查询率',
'themeColor': '#F25753',
"_index": 'QPS',
"type": "line"
});
draw(elementList);
};
// 显示APM区内容
$(".index-apm .i-region-content").css("display", "block");
drawCharts();
// APM部分查看更多
$("#moreAPM").on("click", function () {
window.open("http://pscstest.baogang.info/iPlatAPM/web/XPSJ03");
});
};
*/
// 轮播图
V6Index.prototype.slick = function () {
$('.slick').slick({
slidesToShow: 4,
slidesToScroll: 4,
dots: true,
autoplay: true,
autoplaySpeed: 5000,
appendDots: $("#i-region-dots-append"),
dotsClass: 'slick-dots i-slick-dots'
});
};
/**
* 菜单在底部展开时,自动定位
* @param node
* @return {number}
*/
function getOffsetTop(node) {
var t = 0;
var p = $(node);
while (!p.parent().hasClass('iplat-menu-content')) {
if (p.is('li')) {
// console.debug(p);
t += p.position().top;
}
p = p.parent();
}
return t;
}
// 菜单
V6Index.prototype.menu = function () {
var v6Index = this;
// 首页菜单
var iplatMenu = function (root, menuId) {
var ei = new EiInfo();
var $menus = $("#" + menuId);
$menus.css("visibility", "hidden");
var openMenu = function ($li) {
var content = $li.find(".iplat-menu-content");
var id = content.attr("id");
var $menu = $("#" + id);
var first = content.data("first");
treeid=id;
$li.addClass("open");
// 内容首次加载时候,加载生成树
// 后面再点击不再重新生成树
if (first) {
IPLAT.TreeView({
treeId: id,
ROOT: id.replace("tree", ""),
url: IPLATUI.CONTEXT_PATH,
serviceName: "EF0000",
methodName: "query",
textField: "text",
valueField: "label",
hasChildren: "leaf",
dataSpriteCssClassField: "imagePath",
messages: {
loading: "加载中......"
},
// 菜单展开时候,分为两种情况下,一种是需要ajax调用后端数据,然后展开。 另外一种是子结点折叠起来,然后展开
// dataBound是处理ajax调用后端数据,展开子结点展开的回调
dataBound: function () {
$("#iplat-menu").getNiceScroll().resize();
$(".k-treeview-leaf").click(function(e) {
$("#"+treeid).data("kendoTreeView").select($());
});
},
// expand是处理是子结点折叠起来,然后展开
// 可以通过aria-expanded存在这个属性表明是子结点已经获取,不需要再从后端获取结点信息
expand: function (e) {
var node = e.node;
// var expanded = $(node).attr('aria-expanded');
// setTimeout: 400是异步执行,防止子结点没有展开完
setTimeout(function () {
$("#iplat-menu").getNiceScroll().resize();
// 自动定位菜单滚动条的位置
var t = getOffsetTop(node);
$("#iplat-menu").getNiceScroll(0).doScrollTop(t, 200);
}, 400);
},
select: function (e) {
var tree = e.sender;
var model = tree.dataItem(e.node) || {};
var formEname = model['label'];
//单页面模式传中文名称作为title
var text = model['text'];
var defaultMode = 'newWindow';
var mode = $('#toggle-view-mode').data('mode') || defaultMode;
var openType = model['openType'];
if (openType !=null && openType!="0" ){
mode=getopenType(openType)
}
selectedNodeText=text;
if (!model['leaf']) {
var url = trim(model.nodeUrl),
param = trim(model.nodeParam),
tabTarget;//单页模式下获得的对象
for (var i=0; i<v6Index.tabs.tabGroup.children().length; i++) {
if (v6Index.tabs.tabGroup.children()[i].innerText == text) {
tabTarget = v6Index.tabs.tabGroup.children()[i];
break;
}
}
if (v6Index._options.tabs && v6Index.tabs) {
if (url) {
v6Index.tabs.addTab({
title: text,
url: url,
urlFlag: true,
mode:mode
});
} else {
//打开页面
if (mode === 'tabView') {
if (tabTarget == null) {
v6Index.tabs.addTab({
title: text,
url: IPLAT.createUrl(formEname, param),
urlFlag: false,
mode:mode
});
}else {
//模拟点击事件切换tab标签
tabTarget.click();
}
}else {
v6Index.tabs.addTab({
title: formEname,
url: IPLAT.createUrl(formEname, param),
urlFlag: false,
mode:mode,
param:param
});
}
}
} else {
if (url) {
var alreadyExists = _.some(window.childWindows, {location: {href: url}});
var openedWindow = window.open(alreadyExists ? "" : url, formEname);
alreadyExists ? void 0 : window.childWindows.push(openedWindow);
} else {
IPLAT.openForm(formEname, param);
}
}
}
},
loadComplete: function () {
$menu.on("click", "li .k-state-selected", function () {
var treeview = $("#" + id).data("kendoTreeView"),
node = $(this).closest("li")[0];
treeview.trigger("select", {node: node});
});
}
});
content.data("first", false);
var kendoTreeView = $menu.data("kendoTreeView");
$menu.on("click", ".k-in", function (e) {
kendoTreeView.toggle($(e.target).closest(".k-item"));
});
}
$menu.show();
};
var init = function (menusHtml) {
$menus.html(menusHtml);
$menus.on("click", ".iplat-menu", function (e) {
// 获取li的结点
var $li = $(this),
leaf = $li.data("leaf"),
url = trim($li.data('url')),
param = trim($li.data('param')),
pageSerial = $li.data("page");
if (leaf == 1) {
if (v6Index._options.tabs && v6Index.tabs) {
if (url) {
v6Index.tabs.addTab({
title: pageSerial,
url: url
});
} else {
v6Index.tabs.addTab({
title: pageSerial,
url: IPLAT.createUrl(pageSerial, param)
});
}
} else {
if (url) {
window.open(url);
} else {
IPLAT.openForm(pageSerial, param);
}
}
} else {
var $iplatMenu = $("#iplat-menu");
if ($(e.target).closest(".iplat-menu-content").length < 1) {
var opened = $li.hasClass("open");
// 关闭已经打开menu
$menus.find(".iplat-menu-content").hide();
$iplatMenu.find("li.iplat-menu").removeClass("open");
if (!opened) { // 菜单之前是打开的,不再打开
openMenu($li);
}
}
$iplatMenu.getNiceScroll().resize();
}
});
};
ei.set("inqu_status-0-node", root);
// 构建menu
EiCommunicator.send("EF0000", "query", ei, {
onSuccess: function (ei) {
var nodeList = ei.getBlock(root).getMappedRows() || [];
var menusHtml = kendo.template($("#menu-template").html())({
menus: nodeList
});
init(menusHtml);
$menus.css("visibility", "visible");
$("#iplat-menu").niceScroll({
// cursorwidth: "7px",
// cursorborder: "none",
// height: $menus.height()
});
},
onFail: function (ei) {
// alert("菜单服务调用失败");
}
});
};
var iplatMenuName = trim($("input[name='iplatMenuName']").val());
if (trim(iplatMenuName)) {
iplatMenu(iplatMenuName, "iplat-menu")
}
// 菜单的收缩展开
$("#side-toggle").on("click", function () {
App.layout("sidebar_mini_toggle");
});
};
// 收藏功能
V6Index.prototype.favorite = function () {
// 收藏页面
var favoriteTmpl = kendo.template($("#favorite-template").html());
EiCommunicator.send("EDFA10", "query", new EiInfo(), {
onSuccess: function (e) {
var favData = [],
item = e.getBlock("result").getMappedRows(),
favList = $("#fav-list");
if (item.length > 0) {
for (var i = 0; i < item.length; i++) {
favData.push({
encoded: false,
text: favoriteTmpl({
form_ename: item[i]['form_ename'],
form_cname: item[i]['form_cname']
})
})
}
} else {
favData.push({text: "暂无收藏页面!"});
favList.next(".for-more").css("display", "none");
}
favList.kendoPanelBar({
dataSource: favData,
select: onSelect
});
}, onFail: function (e) {
}
});
var onSelect = function (e) {
var ename = $(e.item).find("div").attr("ename");
if (ename){
IPLAT.openForm(ename);
}
};
$(".moreCollection").on("click", function () {
IPLAT.openForm("EDFA10");
});
/* $("#meetingAnnouncement").on("click", function () {
var meetInfo = new EiInfo();
EiCommunicator.send("KB00M", "meetingToThisWeek", meetInfo, {
onSuccess : function(eiInfo) {
var status = eiInfo.getStatus();
var fileUrl = eiInfo.get("fileUrl");
if (status != -1) {
$("#meetingAnnouncement").html('<a href="http://sp.baogang.info:9082/NMfiledownloadservlet?fileguid=ebc227e9-fe91-48b4-b8c5-475a15b22e31">本周会议</a>')
}
},
onFail : function(eMsg) {
IPLAT.NotificationUtil("调用会议接口服务失败.");
}
});
});*/
};
// 页面号查询功能
V6Index.prototype.pageSearch = function () {
var v6Index = this;
// 防止抖动
var filterChinese = _.debounce(function (td) {
td.value = td.value.replace(/[\u4e00-\u9fa5]/g, '');
}, 60);
var $formEname = $("#inqu_status-0-form_ename");
// 过滤中文
// $formEname.on("input", function () {
// filterChinese(this)
// });
var defaultPageSize = 100;
// 页面号的查询
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: IPLATUI.CONTEXT_PATH + "/service/EF0001/query",
type: 'POST',
dataType: "json",
contentType: "application/json;charset=utf-8"
},
parameterMap: function () {
var info = new EiInfo();
info.set("inqu_status-0-form_ename", $("#inqu_status-0-form_ename").val());
info.set("inqu_status-0-isSubFormFilter", "true");
info.set("result-limit", defaultPageSize);
info.set("result-offset", 0);
return info.toJSONString(true);
}
},
schema: {
model: {
id: "form_ename"
},
data: function (response) {
// 处理异常
var ajaxEi = EiInfo.parseJSONObject(response);
if (ajaxEi.getStatus() < 0) {
NotificationUtil(ajaxEi);
return [];
}
return ajaxEi.getBlock("result").getMappedRows();
}
},
error: function (e) {
NotificationUtil('网络发生异常, 请稍后再试', 'error');
},
pageSize: defaultPageSize,
serverFiltering: true
});
// 设置下拉列的宽度
var width = $formEname.width() * 1.4;
var template = "<div style='white-space: nowrap;'>" + '#: form_ename #-#: form_cname#' + "</div>";
// 按下Enter键后触发change事件
var enterFunc = function (e) {
if (kendo.keys.ENTER === e.keyCode) {
$formEname.unbind("keyup.iplat", enterFunc); // 解绑keyup事件,防止单页展示时出现两个相同tab
var autoComplete = $("#inqu_status-0-form_ename").data("kendoAutoComplete");
var data = autoComplete.dataSource.data();
var form_ename = $("#inqu_status-0-form_ename").val().toUpperCase();
let list = data.filter((obj) => obj.form_ename == form_ename);
if (list.length != 0) {
autoComplete.trigger("change", {sender: autoComplete, open: true});
} else {
NotificationUtil('该页面不存在或无法打开', 'warning');
}
}
};
var close = false;
$formEname.blur(function () {
close = true;
$formEname.data("kendoAutoComplete").close();
close = false;
});
$formEname.kendoAutoComplete({
autoWidth: true,
dataSource: dataSource,
dataTextField: "form_ename",
minLength: 2,
enforceMinLength: true,
height: 200,
template: template,
suggest: false,
select: function (e) {
var param = "",
form_ename = e.dataItem.form_ename;
var form_cname = e.dataItem.form_cname;
var openType = e.dataItem.openType;
if (v6Index._options.tabs && v6Index.tabs) {
var defaultMode = 'newWindow';
var mode = $('#toggle-view-mode').data('mode') || defaultMode;
if (openType !=null && openType!="0" ){
mode=getopenType(openType)
}
if (mode === 'tabView') {
for (var i=0; i<v6Index.tabs.tabGroup.children().length; i++) {
var tabTarget;
if (v6Index.tabs.tabGroup.children()[i].innerText == form_cname) {
tabTarget = v6Index.tabs.tabGroup.children()[i];
break;
}
}
if (tabTarget == null) {
v6Index.tabs.addTab({
title: form_cname,
url: IPLAT.createUrl(form_ename, param),
urlFlag: false,
mode:mode
});
} else {
//模拟点击事件切换tab标签
tabTarget.click();
}
}else {
v6Index.tabs.addTab({
title: form_ename,
url: IPLAT.createUrl(form_ename, param),
urlFlag: false,
mode:mode
});
}
} else {
IPLAT.openNewForm(form_ename.toUpperCase(), param);
}
},
change: function (e) {
// 支持重新打开页面
$formEname.unbind("keydown.iplat");
$formEname.on("keydown.iplat", enterFunc);
// 支持Enter时候触发,其他时候触发change不打开页面
if (e.open) {
var dataSource = e.sender.dataSource,
form_ename = trim(e.sender.element.val()).toUpperCase(),
param = "",
item = dataSource.get(form_ename);
var form_cname = form_ename;
var openType;
if (!!item) {
param = trim(item['form_param']);
form_cname = item.form_cname;
openType = item.openType;
}
if (v6Index._options.tabs && v6Index.tabs) {
var defaultMode = 'newWindow';
var mode = $('#toggle-view-mode').data('mode') || defaultMode;
if (openType !=null && openType!="0" ){
mode=getopenType(openType)
}
if (mode === 'tabView') {
for (var i=0; i<v6Index.tabs.tabGroup.children().length; i++) {
var tabTarget;
if (v6Index.tabs.tabGroup.children()[i].innerText == form_cname) {
tabTarget = v6Index.tabs.tabGroup.children()[i];
break;
}
}
if (tabTarget == null) {
v6Index.tabs.addTab({
title: form_cname,
url: IPLAT.createUrl(form_ename, param),
urlFlag: false,
mode:mode
});
} else {
//模拟点击事件切换tab标签
tabTarget.click();
}
}else {
v6Index.tabs.addTab({
title: form_ename,
url: IPLAT.createUrl(form_ename, param),
urlFlag: false,
mode:mode
});
}
} else {
IPLAT.openNewForm(form_ename.toUpperCase(), param);
}
}
},
close: function (e) {
// 避免下拉列表滚动条到底部后再向下滚动关闭下拉列表
// 阻止除了主动触发外的关闭
if (!close) e.preventDefault();
}
});
// 页面第一次加载时,用keyup事件弹出新窗口
$formEname.on("keyup.iplat", enterFunc);
};
// index刷新 关闭时,关闭所有的子窗口
V6Index.prototype.unload = function () {
window.onunload = function () {
__iplat__closeWindows(true);
};
};
// 首页消息主看板模块
V6Index.prototype.panelBar = function () {
/*
var rows = [
[
"质量模块",
"PQ",
"disputeAppr",
"质量异议审批",
"Manual4",
"备件二级审批人",
"a3ce7050-728d-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-27 13:50:37",
"open",
"PQYY02A",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"PM_LEV1",
"一级审核",
"107c4d9f-710b-11e7-ba7f-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-25 15:30:24",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"PM_LEV2",
"二级审核",
"d6123e71-710e-11e7-ba7f-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-25 18:08:36",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"PM_LEV1",
"一级审核",
"c009262f-70eb-11e7-92a2-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-25 14:00:23",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT1",
"一级审核",
"276476a4-715a-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-26 00:57:19",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT1",
"一级审核",
"f323d809-7159-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-26 00:55:44",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT1",
"一级审核",
"dd40fcf8-7152-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-26 00:33:36",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT1",
"一级审核",
"c1fe1945-715a-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-26 01:02:49",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT1",
"一级审核",
"8d5bfaba-715a-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-26 01:00:14",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT1",
"一级审核",
"6e33c01f-715a-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-26 00:58:47",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT1",
"一级审核",
"8ed7ec1e-76ab-11e7-b0b4-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-08-01 19:22:05",
"open",
"PMJPA303",
"01",
"0"
],
[
"基础模块",
"PSCS-PM",
"PmTestAuditDC",
"基础工作流审核测试1",
"AUDIT3",
"三级审核",
"d799ef4c-7296-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-27 18:13:13",
"open",
"PMJPA303",
"01",
"0"
],
[
"寻源模版",
"PSCS-PH",
"PhContract1001",
"合同审核",
"AUDIT2",
"二级审核",
"616227f8-75c1-11e7-a9a1-005056b604c3",
"创建人同时提交工作流",
"019328",
"2017-07-31 15:26:17",
"open",
"PHCTTASK",
"01",
"0"
]
];
var columns = ["categoryName", "categoryKey", "processKey", "processName", "taskDefKey", "taskDefName", "procInstId",
"subject", "assignee", "startTime", "state", "form", "taskType"];
var block = EiBlock.build("result", columns);
block.setRows(rows);
var jsonRows = block.getMappedRows();
*/
/**
* 刷新服务.
*
* @param service 调用的本地service
* @param method 调用本地service的方法
* @param drawfunc 渲染区域的function
* @param info 提交的数据
* @param acceptFail 即使服务调用失败,也调用处理函数
*/
var refreshService = function (service, method, drawfunc, info, acceptFail) {
if (!service || !method) {
return;
}
if (!info) {
info = new EiInfo();
}
EiCommunicator.send(service, method, info, {
onSuccess: function (ei) {
if (!acceptFail && ei.getStatus() === -1) {
// IPLAT.alert('<b>' + ei.getMsg() + '</b>', function (e) {
// }, '警告');
return false;
}
if (drawfunc && typeof drawfunc === 'function') {
drawfunc(ei);
}
},
onFail: function (errorMsg, status, e) {
// console.error(e);
NotificationUtil(errorMsg, "error");
}
});
};
// 看板id和顺序
var panelIndex = {
"todo": 0, // 待办
"information": 1, // 提醒
"trace": 2, // 跟踪
"record": 3, // 已办
"notification": 4, // 通知
"notice": 5, // 公告
};
// 清除看板和数量
var clearPanel = function (id) {
if (!id || panelIndex[id] === undefined) {
return null;
}
$("#" + id).html('');
var tabElements = $("#info-board>ul>li[role='tab']");
var tab = tabElements.eq(panelIndex[id]);
// 如果原来有通知数量,先清除
var bg = tab.find('.badge.badge-danger');
if (bg) {
bg.remove();
}
return tab;
};
// 绑定刷新链接
var bandForRefresh = function (id, refreshfunc) {
if (!id || !refreshfunc || typeof refreshfunc !== 'function') {
return false;
}
$("#" + id + " ~ .for-refresh").off("click");
$("#" + id + " ~ .for-refresh").on("click", function () {
refreshfunc();
});
};
// 绑定查看更多链接
var bandForMore = function (id, form, param) {
if (!id || !form) {
return false;
}
$("#" + id + " ~ .for-more").off("click");
$("#" + id + " ~ .for-more").on("click", function () {
IPLAT.openForm(form, param);
});
};
// 待办
var tempData;
var drawTodo = function (ei) {
//CHG: remove all first 20200217.yanzj
if ($('#todo').length == 0) {//未构造
} else if ($('#todo').hasClass('todo-empty-node')) {//前一次是空 tabStrip,为新构造 待办构造一个新dom
$('#todo').data('kendoPanelBar').destroy();
var joTd = $('#todo');
joTd.after('<ul id="todo"></ul>');
joTd.remove();
} else if ($('#todo').parent().data('kendoTabStrip')) {//已经存在 tabStrip,为新构造 待办构造一个新dom
var joTd = $('#todo');
joTd.closest('.k-tabstrip-wrapper').after('<div><ul id="todo"></ul></div>');
joTd.parent().data('kendoTabStrip').destroy();
joTd.parent().remove();
}
var tab = clearPanel('todo');
//刷新按钮绑定事件提前 20200110.yanzj
$("#info-board-1").off("click", ".for-refresh");
$("#info-board-1").on("click", ".for-refresh", function () {
refreshTodo();
});
var jsonRows = ei.get('result') || [];
var taskCount = parseInt(jsonRows.length);
if (taskCount === 0) {
var kendoPanelBar = $("#todo").kendoPanelBar({
dataSource: {
text: '暂无待办任务!'
}
});
$(kendoPanelBar).addClass('todo-empty-node');//空数据时,标识一下 20200217.yanzj
return false;
}
var modules = _.groupBy(jsonRows, "categoryKey");
var processTmpl = kendo.template($("#process-template").html());
var taskTmpl = kendo.template($("#task-template").html());
for (var module in modules) {
// 生成子tab
// var $module = $("<li id='" + module + "' >" + modules[module][0]["categoryName"] +
// "[" + modules[module].length + "]</li>");
var $panel = $('.todo-panel-items.module-' + module);
$panel = $panel.length > 0 ? $panel : $("<div id='" + module + "_panelBar' class='i-index-panelbar todo-panel-items module-" + module + "' />");
$("#todo").parent().append($panel);
// $("#todo").append($module);
// $("#todo").append($panel);
var groups = _.groupBy(modules[module], function (value) { // 按照流程定义和活动Id分组//20200121.CHG: 任务不按角色分组
return value["processKey"];
});
var dataSource = _.map(groups, function (group, key) {
var process = {encoded: false};
// context/web/form
// process["text"] = "您有" + group.length + "个" + group[0]["processName"] + group[0]["taskDefName"];
process["text"] = processTmpl({
count: group.length,
processDefName: group[0]["processDefName"],
taskName: group[0]["taskName"],
form: group[0]["form"],
categoryName: modules[module][0]["categoryName"]
});
process["items"] = _.map(group, function (value) {
// context/web/form?pid=pid
// return {text: value["subject"]};
return {
text: taskTmpl({
instSubject: value["instSubject"],
processInstanceId: value["processInstanceId"],
form: value["form"]
}),
encoded: false
};
});
return process;
});
$panel.kendoPanelBar({
dataSource: dataSource
});
setTimeout(function () {//刷新父节点,计算panel高度
$panel.parent().resize();
}, 500);
// tempData = dataSource;
}
$("#todo").parent().kendoTabStrip({
scrollable: {
distance: 125
}
}).data("kendoTabStrip").select(0);
$(".i-index-process").off("click");
$(".i-index-process").on("click", function (e) {
$(e.currentTarget).parent().click();
return false;
});
// 渲染待办数量
if (tab && taskCount > 0) {
// 显示通知数量
tab.append('<span class="badge badge-danger">' + taskCount + '</span>');
}
};
var refreshTodo = function () {
// refreshService('KB00WF', 'getTask', drawTodo);
var Info1 = new EiInfo();
Info1.set("userId",loginName);
Info1.set("limit",10);
// refreshService('EW11', 'getTaskList', drawTodonew, Info1);
};
var drawTodonew = function (ei) {
if (ei.extAttr.tasks.length==0){
var kendoPanelBar = $("#todo").kendoPanelBar({
dataSource: [
{
text: '暂无待办任务!'
}
]
});
}else {
var newDataSource=[];
for (var i=0;i<ei.extAttr.tasks.length;i++){
if("docViewFlow" == ei.extAttr.tasks[i].processKey){
var datalist = {
text:ei.extAttr.tasks[i].name + ":" + ei.extAttr.tasks[i].businessKey,
url:ctx+'/web/EUDC07?'+ei.extAttr.tasks[i].processInstanceId
}
newDataSource.push(datalist)
}else {
var datalist = {
text:ei.extAttr.tasks[i].name,
url:ctx+'/web/EWPC01?taskId='+ei.extAttr.tasks[i].actProcInstanceId
}
newDataSource.push(datalist)
}
}
var kendoPanelBar = $("#todo").kendoPanelBar({
dataSource:newDataSource
});
}
bandForMore('todo', 'EWPC01', 'methodName=query');
bandForRefresh('todo', refreshTodo);
}
//获取提醒中的数据信息 add@20200224.yanzj
var getInformationSum = function (ei) {
var info = {sum: 0};
var rows = ei.getBlock('result').getMappedRows();
for (var i = 0; i < rows.length; i++) {
var count = (rows[i].notifyContent || '[0]').replace(new RegExp('.*\\[([\\d]{1,})\\].*'), '$1');
console.log('count :', count);
info.sum += parseInt(count);
}
return info;
};
//显示提醒总数 add@20200224.yanzj
var showInformationSum = function (tab, ei) {
if (tab && ei) {
try {
var info = getInformationSum(ei);
if (info) {
tab.append('<span class="badge badge-danger">' + info.sum + '</span>');
}
} catch (ex) {
}
}
};
//给eiInfo 追加工时内容
var appendWorkHours = function (oldInfo) {
var defer = $.Deferred();
var info = new EiInfo();
// EiCommunicator.send("KPPE1700", "getManHour", info, {
/*onSuccess : function(ei) {
try {
if (ei.getStatus() === -1) {// 调用失败
console.error('获取工时信息失败 : ' + ei.getMsg(), ei.getDetailMsg());
defer.resolve(oldInfo);
return;
}
// 添加工时数据
var count = parseInt(oldInfo.get('result-count') || '0');
var resultBlock = oldInfo.getBlock('result');
if (!resultBlock) {
resultBlock = new EiBlock('result');
oldInfo.addBlock(resultBlock);
}
// add rows
var rows = ei.getBlock('result').getMappedRows();
for (var i = 0; i < rows.length; i++) {
if (parseInt(rows[i].notFillManhour) != 0 || parseInt(rows[i].notCommTime) != 0) {//有未填报 或 未提交工时,则认为本周未处理
count++;
}
}
// 添加一行工时新数据
var ridx = resultBlock.getRows().length;
oldInfo.set('result', ridx, 'notifyTitle', 'KPPE1700');
oldInfo.set('result', ridx, 'notifyContent', '您有工时需要填报,共[' + rows.length + ']周');
oldInfo.set('result', ridx, 'eiMetadata', '{}');
oldInfo.set('result-count', count);// 总数修改成新的
// 移动到最前面
var rows = resultBlock.getRows();
var row = rows.splice(rows.length - 1)[0];
rows.splice(0, 0, row);
// 将明细,置于最终的eiInfo中
ei.getBlock('result').getBlockMeta().blockId = 'manhour';
oldInfo.addBlock(ei.getBlock('result'));
} catch (ex) {
console.error('处理工时出错:', ex);
}
defer.resolve(oldInfo);
},
onFail : function(errorMsg, status, e) {
console.error('获取工时出错:', e);
defer.resolve(oldInfo);
}*/
// });
return defer.promise();
};
// 显示工时明细
var showManHoursItems = function (tab, ei) {
try {
var joPanel = $('#information');
var joHours = null;
joPanel.find('a').each(function () {// 找工时项目
if ($(this).attr('href').indexOf('KPPE1700') > 0) {// 工时填报页面
joHours = $(this).closest('li.k-item');
}
});
// console.debug(' joHours :', joHours);
if (joHours) {// 找到,则处理
joHours.addClass('man-hour-li');// 标识出自己这一项
var manHoursTmpl = kendo.template($("#manhours-template").html());
var txt = manHoursTmpl({
rows: ei.getBlock('manhour').getMappedRows()
});
joHours.append(txt);// 添加模板
joHours.closest('li').on('click', function () {// 添加展开折叠事件
joHours.find('.man-hour-items').toggleClass('hide');
});
joHours.find('.k-header:first').append('<span class="man-hour-open">展开</span>');//添加可展开提示
}
} catch (ex) {
console.error('显示工时明细 出错', ex);
}
};
// 提醒
var drawInformation = function (ei) {
appendWorkHours(ei).then(function (ei) {//添加工时信息
var tab = clearPanel('information');
// 提醒数量
var infoCount = parseInt(ei.get('result-count'));
if (infoCount === 0) {
$("#information").kendoPanelBar({
dataSource: {
text: '暂无提醒信息!'
}
});
} else {
var result = ei.getBlock("result").getMappedRows();
// 提醒数据
var informationData = [];
// 提醒模板
var informationTmpl = kendo.template($("#information-template").html());
// 构造提醒显示内容
$.each(result, function (i, n) {
informationData.push({
text: informationTmpl(n),
encoded: false
});
});
// 渲染提醒
$("#information").kendoPanelBar({
dataSource: informationData
});
showInformationSum(tab, ei);//显示提醒总数 add@20200224.yanzj
showManHoursItems(tab, ei);//显示工时明细
}
bandForRefresh('information', refreshInformation);
});
};
var refreshInformation = function () {
// refreshService('KB00WF', 'getBusinessTask', drawInformation, null, true);
// refreshService('KPPE1700', 'getManHour', drawInformation, null, true);
};
// 跟踪
drawTrace = function (ei) {
var tab = clearPanel('trace');
// 跟踪数量
var traceCount = parseInt(ei.get('result-count'));
if (traceCount === 0) {
$("#trace").kendoPanelBar({
dataSource: {
text: '暂无跟踪信息!'
}
});
} else {
/* TODO 待实现
var result = ei.getBlock("result").getMappedRows();
// 跟踪数据
var traceData = [];
// 跟踪模板
var traceTmpl = kendo.template($("#trace-template").html());
// 构造跟踪显示内容
$.each(result, function(i,n) {
traceData.push({
text: infoTmpl(n),
encoded: false
});
});
// 渲染跟踪
$("#trace").kendoPanelBar({
dataSource: traceData
});
// 渲染跟踪数量
if (traceCount > 0) {
// 显示跟踪数量
tab.append('<span class="badge badge-danger">'+traceCount+'</span>');
}
*/
}
bandForMore('trace', '', '');
bandForRefresh('trace', null);
};
var refreshTrace = function () {
var info = new EiInfo();
info.set('result-count', 0);
drawTrace(info);
//refreshService('', '', drawTrace);
};
// 已办
var drawRecord = function (ei) {
var tab = clearPanel('record');
// 已办数量
var recordCount = parseInt(ei.get('result-count'));
if (recordCount === 0) {
$("#record").kendoPanelBar({
dataSource: {
text: '暂无已办任务!'
}
});
} else {
var result = ei.getBlock("result").getMappedRows();
// 已办数据
var recordData = [];
// 已办模板
var recordTmpl = kendo.template($("#record-template").html());
// 构造已办显示内容
$.each(result, function (i, n) {
var ar = n.approvalResult || ' ';
var op = n.opinion || '无';
op = op.trim() || '无';
switch (ar) {
case 'grant':
ar = '同意';
break;
case 'deny':
ar = '拒绝';
break;
case 'reject':
ar = '驳回';
break;
default:
ar = '提交';
}
n.ar = ar;
n.op = op;
n.endTime = kendo.toString(kendo.parseDate(n.endTime, 'yyyyMMddHHmmss'), 'yyyy-MM-dd HH:mm:ss');
recordData.push({
text: recordTmpl(n),
encoded: false
});
});
// 渲染已办
$("#record").kendoPanelBar({
dataSource: recordData
});
// 渲染已办数量
//if (recordCount > 0) {
// 显示已办数量
// tab.append('<span class="badge badge-danger">'+recordCount+'</span>');
//}
}
// bandForMore('record', 'KB00WF', 'methodName=getHistoryTask');
bandForRefresh('record', refreshRecord);
};
var refreshRecord = function () {
// refreshService('KB00WF', 'getHistoryTask', drawRecord);
};
// 通知
var drawNotification = function (ei) {
var tab = clearPanel('notification');
// 通知数量
var notifyCount = parseInt(ei.get('count'));
if (notifyCount === 0) {
$("#notification").kendoPanelBar({
dataSource: {
text: '暂无未阅通知!'
}
});
} else {
var result = ei.getBlock("result").getMappedRows();
// 通知数据
var notifyData = [];
// 通知模板
var notifyTmpl = kendo.template($("#notify-template").html());
// 构造通知显示内容
$.each(result, function (i, n) {
notifyData.push({
text: notifyTmpl(n),
encoded: false
});
});
// 渲染通知
$("#notification").kendoPanelBar({
dataSource: notifyData
});
// 渲染通知数量
if (notifyCount > 0) {
// 显示通知数量
tab.append('<span class="badge badge-danger">' + notifyCount + '</span>');
}
// 清除原来的事件
$("#notification").off("click", "[data-notify-guid]");
// 重新绑定关闭事件
$("#notification").on("click", "[data-notify-guid]", function (e) {
var guid = $(e.target).data('notifyGuid');
var rows = [{
guid: guid
}];
var info = new EiInfo();
info.set('data', rows);
// EiCommunicator.send('KBCT00', 'confirm', info, {
// onSuccess: function (ei) {
// if (ei.getStatus() === -1) {
// IPLAT.alert('<b>' + ei.getMsg() + '</b>', function (e) {
// }, '警告');
// return false;
// }
// // IPLAT.alert('通知已读');//20200326.yanzj 领导不想看删除后的提示
// refreshNotification();
// },
// onFail: function (errorMsg, status, e) {
// console.error(e);
// NotificationUtil(errorMsg, "error");
// }
// });
});
}
bandForMore('notification', 'KBCT00', 'methodName=query');
bandForRefresh('notification', refreshNotification);
};
var refreshNotification = function () {
// refreshService('KBCTNotify', 'queryNotification', drawNotification);
};
// 公告
var drawNotice = function (ei) {
var tab = clearPanel('notice');
var MAX_NOTICE_DISPLAY = 10;
var result = ei.get("result");
// console.debug(JSON.stringify(result, null,2));
// 公告数量
var noticeCount = result.length;
if (noticeCount === 0) {
$("#notice").kendoPanelBar({
dataSource: {
text: '暂无未阅公告!'
}
});
} else {
// 公告数据
var noticeData = [];
// 公告模板
var noticeHtml = kendo.template($("#notice-template").html())({
nodes: result,
encode: false
});
$("#notice").append(noticeHtml).resize();
$('.slick-notice').css({
height: "100%",
overflow: "hidden"
});
$('.slick-notice').slick({
slidesToShow: 1,
slidesToScroll: 1,
dots: true,
autoplay: false,
autoplaySpeed: 5000,
infinite: true,
appendDots: $("#i-region-dots-append-notice"),
dotsClass: 'slick-dots i-slick-dots'
});
$('#info-board').data('kendoTabStrip').setOptions({
show: function (e) {
if (e.contentElement.id === 'info-board-6') {
$('.slick-notice')[0].slick.refresh();
}
}
});
// 渲染公告数量
if (noticeCount > 0) {
// 显示通知数量
tab.append('<span class="badge badge-danger">' + noticeCount + '</span>');
}
$("#notice").off('click', '.notice-close[data-notice-guid]');
$("#notice").on('click', '.notice-close[data-notice-guid]', function (e) {
var guid = $(e.target).data('noticeGuid');
console.debug('notice.guid', guid);
var info = new EiInfo();
info.set('guid', guid);
// EiCommunicator.send('KBCTNotify', 'closeNotice', info, {
// onSuccess: function (ei) {
// if (ei.getStatus() === -1) {
// IPLAT.alert('<b>' + ei.getMsg() + '</b>', function (e) {
// }, '警告');
// return false;
// }
// refreshNotice();
// },
// onFail: function (errorMsg, status, e) {
// console.error(e);
// NotificationUtil(errorMsg, "error");
// }
// });
});
}
bandForRefresh('notice', refreshNotice);
};
var refreshNotice = function () {
var info = new EiInfo();
info.set('unread', 'true');
// refreshService('KBCTNotify', 'queryNotice', drawNotice, info);
};
// 首页消息主看板的Tab的图标的添加
window.onload = function () {
var data = sessionStorage.getItem("frameOpenWeb");
if (data == null || data == ""){
// 准备条数
var tabElements = $("#info-board>.k-tabstrip-items-wrapper.k-hstack>ul>li[role='tab']");
var tabElementsTwo = $("#info>.k-tabstrip-items-wrapper.k-hstack>ul>li[role='tab']");
// 待办
// tabElements.eq(0).prepend('<span class="k-link k-distance"><span class="index-todo"></span></span>');
// 提醒
tabElements.eq(1).prepend('<span class="k-link k-distance"><span class="index-warn"></span></span>');
// 跟踪
//tabElements.eq(2).prepend('<span class="k-link"><span class="index-icon index-follow"></span></span>');
// 已办
// tabElements.eq(3).prepend('<span class="k-link k-distance"><span class="index-record"></span></span>');
// 通知
tabElements.eq(4).prepend('<span class="k-link k-distance"><span class="index-notification"></span></span>');
// 公告
tabElements.eq(5).prepend('<span class="k-link k-distance"><span class="index-announcement"></span></span>');
// tabElementsTwo.eq(0).prepend('<span class="k-link k-distance"><span class="index-icon-fav index-fav"></span></span>');
// tabElementsTwo.eq(1).prepend('<span class="k-link k-distance"><span class="index-icon-link index-link"></span></span>');
var tabPanel = $('#info-board').data('kendoTabStrip');
// 刷新看板数据
// 待办
refreshTodo();
(function () {//定时刷新
var refreshLimits = null;
if (needRefresh) {//指定刷新
$('.i-index-todo .refresh-timer').removeClass('hide');
try {
taskRefeshTime = IPLAT.trimString(taskRefeshTime);
taskRefeshTime = taskRefeshTime == '' ? 5 * 60 * 1000 : (taskRefeshTime * 1);
refreshLimits = refreshLimits || taskRefeshTime;
var refreshTimmer = new RefreshTimer().setLimits(refreshLimits).setSlice(1000);
$('.i-index-todo .refresh-timer .refresh-limits').text(refreshTimmer.seconds2Minutes(refreshLimits / 1000));
var ticker = function (refresher) {
var text = refreshTimmer.seconds2Minutes(refresher.getSpareSeconds());
$('.i-index-todo .refresh-timer .spare-seconds').text(text);
};
var trigger = function (refresher) {
refreshTodo();
};
refreshTimmer.setTicker(ticker).setTrigger(trigger).start();
} catch (ex) {
console.error(ex);
}
}
})();
// 提醒
refreshInformation();
// tabPanel.hide(1);
// 跟踪
//refreshTrace();
tabPanel.hide(1);
tabPanel.hide(2);
tabPanel.hide(4);
tabPanel.hide(5);
// 已办
refreshRecord();
// 通知
refreshNotification();
// 公告
refreshNotice();
}
function updateTime() {
var now = new Date();
var hours = now.getHours().toString().padStart(2, '0');
var minutes = now.getMinutes().toString().padStart(2, '0');
var seconds = now.getSeconds().toString().padStart(2, '0');
document.getElementById('usertime').innerHTML = hours + ':' + minutes + ':' + seconds;
}
setInterval(updateTime, 1000);
};
};
V6Index.prototype.tabs = function () {
var page_list = $('#page-list').data('kendoTabStrip');
if (page_list) {
var contextTab;
page_list.tabGroup.on("click", "[data-type='remove']", function (e) {
e.preventDefault();
e.stopPropagation();
var item = $(e.target).closest(".k-item");
var itemindex=item.index();
page_list.remove(item.index());
if (page_list.items().length > 0 && item.hasClass('k-active')) {
page_list.select(itemindex-1);
}
if (item[0].innerText == selectedNodeText){
$("#"+treeid).data("kendoTreeView").select($());
}
});
this.tabs = page_list;
$("#page-list").on("contextmenu", "li.k-item", function(e) {
e.preventDefault(); // 阻止默认右键菜单
contextTab = $(e.target).closest("li"); // 更新选中的 Tab 元素
var itemindex=contextTab.index();
if(itemindex !=0){
// 定位右键菜单
var menu = $("#context-menu");
menu.css({
left: e.pageX,
top: e.pageY
});
menu.show();
}
});
$("#close-tab").on("click", function() {
$("#context-menu").hide();
var itemindex=contextTab.index();
if (page_list.items().length > 0 && contextTab.hasClass('k-active')) {
page_list.select(itemindex-1);
}
if (contextTab) {
page_list.remove(contextTab.index()); // 关闭当前页
}
if (contextTab[0].innerText == selectedNodeText){
$("#"+treeid).data("kendoTreeView").select($());
}
});
$("#close-all-tabs").on("click", function() {
var tabCount = page_list.tabGroup.children("li").length;
// 遍历每个选项卡并关闭除第一页以外的所有选项卡
for (var i = tabCount - 1; i > 0; i--) {
var tab = page_list.tabGroup.children("li").eq(i);
page_list.remove(tab);
}
$("#context-menu").hide();
page_list.select(0);
$("#"+treeid).data("kendoTreeView").select($());
});
$("#close-other-tabs").on("click", function() {
var tabCount = page_list.tabGroup.children("li").length;
// 遍历每个选项卡并关闭除第一页以外的所有选项卡
for (var i = tabCount - 1; i > 0; i--) {
if (i != contextTab.index()){
var tab = page_list.tabGroup.children("li").eq(i);
page_list.remove(tab);
}
}
$("#context-menu").hide();
if (page_list.items().length > 0 && !contextTab.hasClass('k-active')) {
page_list.select(1);
}
if (contextTab[0].innerText != selectedNodeText){
$("#"+treeid).data("kendoTreeView").select($());
}
});
$("#refresh-tab").on("click", function() {
$("#context-menu").hide();
var itemindex=contextTab.index();
var currentTab = page_list.contentElement(itemindex);
// 获取当前 Tab 页内的 iframe 元素
var iframeElement = $(currentTab).find("iframe")[0];
// 刷新 iframe 内容
if (iframeElement != null){
iframeElement.contentWindow.location.reload();
}
});
}
var data = sessionStorage.getItem("frameOpenWeb");
if (data != null && data != ""){
var tab = page_list.tabGroup.children("li").eq(0);
$('#page-list').data('kendoTabStrip').remove(tab);
}
};
$(document).on("click ", function(e) {
var menu = $("#context-menu");
if (e.which === 1 ) {
if (!menu.is(e.target) && menu.has(e.target).length === 0 ) {
menu.hide(); // 隐藏菜单
}
}
});
window.V6Index = V6Index;
V6Index.uiLayout = uiLayout;
// 设置人员下拉框中明细信息
var setUserInfoValue = function (name, obj, key, value) {
var node = $("#user-info-dropdown").find('.detail-info.' + name);
if (!node || !obj || !obj[key] || !obj[value]) {
return false;
}
var display = obj[key] + ' - ' + obj[value];
node.text(display);
};
var setUserInfoValueByOrg = function (name, obj, key, value) {
var node = $("#user-info-dropdown").find('.detail-info.' + name);
if (!node || !obj || !obj[key] || !obj[value]) {
return false;
}
if (name.indexOf("-oth") === -1) {
var display = obj[key];
node.text(display);
} else {
var display = obj[value];
node.text(display);
}
};
// 设置人员组织机构信息
var setUserOrg = function (obj) {
setUserInfoValue('user-org', obj, 'orgEname', 'orgCname');
// 附加设置代理委托用户
var node = $("#user-info-dropdown").find('.delegate-user');
if (!node) {
return false;
} else if (!obj || !obj.delegateLoginName || !obj.delegateLoginName.trim()) {
node.text('');
return false;
}
node.text('[' + obj.delegateLoginName + '-' + obj.delegateUserName + ']');
$('.change-password').remove();
};
// 设置人员公司别账套信息
var selectAccountSet = function (accountSetObj) {
setUserInfoValue('user-company', accountSetObj, 'companyCode', 'companyName');
setUserInfoValue('user-accountset', accountSetObj, 'accountSet', 'accountSetName');
$('#header-navbar>ul.pull-right>li[data-accountset]>a>span').text(accountSetObj.accountSetName);
setTimeout(function () {
V6Index.prototype.meet();
}, 200);
};
// 设置人员业务组织机构信息
var selectOrg = function (data, blockId) {
// console.debug(blockId, data);
if (blockId) {
setUserInfoValueByOrg('user-' + blockId + '-org', data, 'orgEname', 'orgCname');
setUserInfoValueByOrg('user-' + blockId + '-org-oth', data, 'orgEname', 'orgCname');
}
};
// 打开公司别、账套选择弹框
var openAccountSet = function (type) {
wChangeUserInfoWindow.content('');
wChangeUserInfoWindow.setOptions({
// 打开是刷新
open: function () {
wChangeUserInfoWindow.refresh({
url: IPLATUI.CONTEXT_PATH + '/web/KB00?methodName=query'
});
if (type === 'auto') {
wChangeUserInfoWindow.element.siblings().find('div.k-window-actions').hide();
} else {
wChangeUserInfoWindow.element.siblings().find('div.k-window-actions').show();
}
},
height: "50%"
});
wChangeUserInfoWindow.open().center();
};
// 打开业务组织机构选择弹框
var openOrg = function (type) {
wChangeUserInfoWindow.content('');
wChangeUserInfoWindow.setOptions({
// 打开是刷新
open: function () {
wChangeUserInfoWindow.refresh({
url: IPLATUI.CONTEXT_PATH + '/web/KB01?methodName=query&inqu_status-0-type=' + type
});
},
height: "80%"
});
wChangeUserInfoWindow.open().center();
};
$.extend(window, {
setUserOrg: setUserOrg,
selectAccountSet: selectAccountSet,
selectOrg: selectOrg,
openAccountSet: openAccountSet,
openOrg: openOrg
//refreshNotify: refreshNotify
});
$(window).load(function (elementId) {
var data = sessionStorage.getItem("frameOpenWeb");
if (data != null && data != ""){
var formCname = sessionStorage.getItem("frameOpenCname");
$('#page-list').data('kendoTabStrip').addTab({
title: formCname,
url: IPLAT.createUrl(data),
urlFlag: false,
mode:"tabView"
});
$('#page-list').data('kendoTabStrip').select(0);
}
$("#user-info-dropdown").on("click", "[data-stopPropagation]", function (e) {
e.stopPropagation();
});
// 切换账套按钮
$("#header-navbar").on("click", "[data-accountset]", function (e) {
openAccountSet('manual');
});
$("#user-info-dropdown").on("click", "[data-accountset]", function (e) {
openAccountSet('manual');
});
// 切换组织按钮
$("#user-info-dropdown").on("click", "[data-org]", function (e) {
openOrg($(this).data('org'));
});
// refreshNotify();
$("#user-info-dropdown").on("click", ".k-link.user-name", function (e) {
IPLAT.confirm({
message: '<b>切换代理将<span style="color: #ff0000">关闭</span>所有已打开的画面<br>确定执行该操作吗?</b>',
okFn: function (e) {
window.location.href = IPLATUI.CONTEXT_PATH + '/web/KB00DL?methodName=query';
},
cancelFn: function (e) {
},
title: '确认对话框'
});
});
var info = new EiInfo();
info.set("result-limit",100);
EiCommunicator.send("EDFA63", "query", info, {
onSuccess: function (eiInfo) {
var status = eiInfo.getStatus();
var item = eiInfo.getBlock("result").getMappedRows();
var page='';
if (item.length > 0) {
for (var i = 0; i < item.length; i++) {
var iconAddress="roc"+item[i]['iconAddress'];
var iconParam=item[i]['iconParam'];
var pageCname=item[i]['pageCname'];
var url=item[i]['url'];
page=page+" <div class='dashboard_item' data-iconUrl='"+url+"' data-pageCname='"+pageCname+"'> <span class='rocIcon "+iconAddress+ "' style='display:block;height:50px;font-size: 50px;color: "+iconParam+"'></span>\n" +
" <p >"+pageCname+"</p></div>";
}
}
var contain=document.getElementById("dashboard");
if (contain != null){
contain.innerHTML=page;
}
$(".dashboard_item").on("click", function () {
let pageurl=this.getAttribute('data-iconUrl');
let pageCname=this.getAttribute('data-pageCname');
indexOpenForm(pageurl,pageCname)
});
},
onFail: function (eMsg) {
}
});
// 对于超长的 菜单项,显示叠层
(function () {
// 构造
var MENU_ITEM_TITLE = 'cls-menu-item-title';
var joParent = null;
var joTitle = $('.' + MENU_ITEM_TITLE);// 添加动态显示条
if (joTitle.length == 0) {
joTitle = $('<span class="' + MENU_ITEM_TITLE + ' left-hide"></span>');
joParent = joParent || $('#page-container');
joParent.append(joTitle);
}
// 检查,项目是否被覆盖
var checkItemCovered = function (joItem) {
var maxWidth = $('#iplat-menu').width();
var titleWith = $('.' + MENU_ITEM_TITLE).width() + 28 + 2;// 文本内容 + padding + 线宽
var titleLeft = joItem.find('.k-in:last').offset().left;// 真实项目的左偏移
if (titleLeft + titleWith > maxWidth) {
return true;
}
return false;
};
// 显示
var showItemTitle = function (joItem) {
var offset = joItem.find('.k-in:first').offset();
joTitle.text(joItem.find('.k-in:first').text());
if (checkItemCovered(joItem)) {
joTitle.css({
left: offset.left - 1, // 减边框宽度
top: offset.top
});
joTitle.removeClass('left-hide');
}
};
// 隐藏
var hideItemTitle = function (joItem) {
joTitle.addClass('left-hide');
};
$('#iplat-menu').on('mouseover', 'ul.k-group > li.k-item', function (e) {
var joItem = $(e.target).closest('.k-item');
// 显示
try {
showItemTitle(joItem);
} catch (ex) {
}
});
$('#iplat-menu').on('mouseout', 'ul.k-group > li.k-item', function (e) {
var joItem = $(e.target).closest('.k-item');
try {
hideItemTitle(joItem);
} catch (ex) {
}
});
})();
if (SideBarIsMini){
App.layout("sidebar_mini_toggle");
}
});
/**
* 定时刷新器.
*/
var RefreshTimer = function () {
this._start = null;
this._slicer = null;
this._slice = null;
this._limits = null;
this._trigger = null;
};
RefreshTimer.prototype = {
setTicker: function (ticker) {
this._ticker = ticker;
return this;
},
setSlice: function (slice) {
this._slice = slice;
return this;
},
getSpareSeconds: function () {
return parseInt((this._start + this._limits - new Date().getTime()) / 1000) + 1;
},
setLimits: function (limits) {
this._limits = limits;
return this;
},
setTrigger: function (trigger) {
this._trigger = trigger;
return this;
},
seconds2Minutes: function (seconds) {
var min = parseInt(seconds / 60);
var sec = parseInt(seconds % 60);
var text = (min < 10 ? '0' : '') + min + ':' + (sec < 10 ? '0' : '') + sec;
return text;
},
startTicker: function () {
var that = this;
var loop = function () {
if ($.isFunction(that._ticker)) {
try {
that._ticker(that);
} catch (ex) {
}
}
};
this._sliceTimer = setInterval(loop, this._slice);
},
start: function () {
var that = this;
this._start = new Date().getTime();
var loop = function () {
that._start = new Date().getTime();
if ($.isFunction(that._trigger)) {
try {
that._trigger(that);
} catch (ex) {
}
}
setTimeout(loop, that._limits);
};
setTimeout(loop, this._limits);
this.startTicker();
}
};
// App.layout("sidebar_mini_toggle");
})(jQuery, _);
$(function () {
var taskCount = 0;
if (taskCount === 0) {
var kendoPanelBar = $("#todo").kendoPanelBar({
dataSource: [
{
text: '暂无待办任务!'
}
]
});
}
var recordCount = 0;
if (recordCount === 0) {
$("#record").kendoPanelBar({
dataSource: [
{
text: '暂无已办任务!'
}
]
});
}
var notifyCount = 0;
if (notifyCount === 0) {
$("#notification").kendoPanelBar({
dataSource: [
{
text: '暂无未阅通知!'
}
]
});
}
var noticeCount = 0;
if (noticeCount === 0) {
$("#notice").kendoPanelBar({
dataSource: {
text: '暂无未阅公告!'
}
});
}
})
function timedisplay() {
var element = document.getElementById('usertime');
var style = window.getComputedStyle(element);
var display = style.getPropertyValue('display');
if (display=="inline"){
element.style.display="none";
} else if (display=="none"){
element.style.display="inline";
}
}
function getopenType(type) {
var result="newWindow";
switch (type) {
case "1":
result="newWindow";
break;
case "2":
result="tabView";
break;
case "3":
result="thisWindow";
break;
}
return result;
}
var indexOpenForm =function (url,cname) {
var defaultMode = 'newWindow';
var mode = $('#toggle-view-mode').data('mode') || defaultMode;
if (mode == "newWindow"){
window.open(url)
}else {
let tab= $('#page-list').data('kendoTabStrip');
let tabTarget;
for (var i=0; i<tab.tabGroup.children().length; i++) {
if (tab.tabGroup.children()[i].innerText == cname) {
tabTarget = tab.tabGroup.children()[i];
break;
}
}
if (tabTarget == null) {
tab.addTab({
title: cname,
url: url,
urlFlag: false,
mode:"tabView"
});
} else {
//模拟点击事件切换tab标签
tabTarget.click();
}
}
}
function changepassword(formEname,formCname){
layx.iframe(formEname,formCname,'./web/'+formEname,{
moveLimit:{
leftOut: false,
rightOut: false,
topOut: false,
bottomOut: false,
},
escKey:false,
dragInTopToMax:false,
// border:false,
// skin:windtheme,
});
}
<!DOCTYPE html>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="com.baosight.iplat4j.core.FrameworkInfo" %>
<%@ page import="com.baosight.iplat4j.core.ei.EiConstant" %>
<%@ page import="com.baosight.iplat4j.core.ei.EiInfo" %>
<%@ page import="com.baosight.iplat4j.core.ioc.spring.PlatApplicationContext" %>
<%@ page import="com.baosight.iplat4j.core.log.Logger" %>
<%@ page import="com.baosight.iplat4j.core.log.LoggerFactory" %>
<%@ page import="com.baosight.iplat4j.core.security.SecurityTokenFilter" %>
<%@ page import="com.baosight.iplat4j.core.service.soa.XServiceManager" %>
<%@ page import="org.apache.commons.lang.StringUtils" %>
<%@ page import="com.baosight.iplat4j.core.web.threadlocal.UserSession" %>
<%@ page import="com.baosight.iplat4j.core.service.soa.XLocalManager" %>
<%@ page import="com.baosight.iplat4j.ed.service.PlatApplicationDynamicContext" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="EF" tagdir="/WEB-INF/tags/EF" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<%
UserSession.web2Service(request);
String userName = UserSession.getLoginCName();
String loginName = UserSession.getLoginName();
request.setAttribute("userName", userName);
request.setAttribute("loginName", loginName);
String efSecurityToken = null;
Boolean SideBarIsMini = PlatApplicationContext.getProperty("SideBarIsMini")==null?false: Boolean.valueOf(PlatApplicationContext.getProperty("SideBarIsMini"));
if (PlatApplicationContext.containsBean("securityTokenFilter")) {
SecurityTokenFilter securityTokenFilter = (SecurityTokenFilter) PlatApplicationContext.getBean("securityTokenFilter");
efSecurityToken = securityTokenFilter.getSecurityToken(request);
}
// 获取iPlatUI静态资源地址
String iPlatStaticURL = FrameworkInfo.getPlatStaticURL(request);
// 获取Context根路径,考虑到分布式部署的场景,不能直接使用WebContext
String iPlatContext = FrameworkInfo.getPlatWebContext(request);
String theme = org.apache.commons.lang.StringUtils.defaultIfEmpty(PlatApplicationContext.getProperty("theme"),"ant");
boolean hasTheme = false;
Cookie[] cookies = request.getCookies();
// 防止匿名访问页面无cookie信息
if (null != cookies) {
for (Cookie cookie : cookies) {
if (("iplat.theme").equals(cookie.getName())) {
hasTheme = true;
theme = cookie.getValue();
break;
}
}
}
if (!hasTheme) {
EiInfo eiInfo = new EiInfo();
final Logger logger = LoggerFactory.getLogger(this.getClass());
// 获取主题服务
try {
eiInfo.set(EiConstant.serviceName, "EDFA61");
eiInfo.set(EiConstant.methodName, "getUserStyle");
EiInfo outInfo = XLocalManager.call(eiInfo);
// 获取个人自定义配置主题
String styleEname = (String) outInfo.getBlock(EiConstant.resultBlock).getCell(0, "style_ename");
if (StringUtils.isNotEmpty(styleEname)) {
theme = styleEname;
}
} catch (Exception e) {
logger.error("无法获取页面主题", e);
}
}
String loadingIcon= StringUtils.defaultIfEmpty(PlatApplicationContext.getProperty("iplat4j.ui.loading.iconConfig"), "default");
// 获取首页菜单目录初始化参数
String menuRoot = null;
try {
String projectName = PlatApplicationContext.getProperty("projectName");
String moduleName = PlatApplicationContext.getProperty("moduleName");
if (null != projectName && null != moduleName) {
EiInfo eiInfo = new EiInfo();
eiInfo.set(EiConstant.serviceId, "S_ED_21");
eiInfo.set("project", projectName.toUpperCase());
eiInfo.set("module", moduleName.toUpperCase());
eiInfo.set("key", "menuRoot");
EiInfo outInfo = XServiceManager.call(eiInfo);
if ("".equals(outInfo.get("menuRoot")) ||
" ".equals(outInfo.get("menuRoot")) ||
null == outInfo.get("menuRoot")) {
menuRoot = "root";
} else {
menuRoot = (String) outInfo.get("menuRoot");
}
}
} catch (Exception e) {
final Logger logger = LoggerFactory.getLogger("index");
logger.error("无法获取首页菜单目录", e);
}
request.setAttribute("menuRoot", menuRoot);
// 获取首页APM指标刷新间隔参数(min)
String apmRefresh = PlatApplicationContext.getProperty("apmRefresh").isEmpty() ? "5" :
PlatApplicationContext.getProperty("apmRefresh");
request.setAttribute("apmRefresh", apmRefresh);
String projectCname = FrameworkInfo.getProjectCname();
String projectTypeDesc = FrameworkInfo.getProjectTypeDesc();
%>
<c:set var="ctx" value="<%=iPlatContext%>"/>
<c:set var="iPlatStaticURL" value="<%=iPlatStaticURL%>"/>
<c:set var="theme" value="<%=theme%>" scope="session"/>
<c:set var="loadingIcon" value="<%=loadingIcon%>" scope="session"/>
<c:set var="SideBarIsMini" value="<%=SideBarIsMini%>" />
<c:set var="loginName" value="<%=loginName%>" />
<!--[if IE 9]>
<html class="ie9 no-focus" xmlns="http://www.w3.org/1999/xhtml">
<![endif]-->
<!--[if gt IE 9]><!-->
<html class="no-focus" xmlns="http://www.w3.org/1999/xhtml">
<!--<![endif]-->
<head>
<meta charset="utf-8"/>
<meta name="robots" content="noindex, nofollow"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta http-equiv="Cache-Control" content="public">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1.0"/>
<% if (StringUtils.isNotEmpty(projectCname) && StringUtils.isNotEmpty(projectTypeDesc)) { %>
<title><%=projectCname%>[<%=projectTypeDesc%>]首页</title>
<% } else { %>
<title>首页</title>
<% } %>
<%@include file="/WEB-INF/fragments/kendo-ui-css.tagf" %>
<link rel="shortcut icon" href="${iPlatStaticURL}/iplat.ico" type="image/x-icon">
<%-- <link href="${iPlatStaticURL}/iPlatV7-index.css" rel="stylesheet" type="text/css"/>--%>
<link rel="stylesheet" href="${iPlatStaticURL}/iplatui/assets/js/plugins/slick/slick.min.css">
<link rel="stylesheet" href="${iPlatStaticURL}/iplatui/assets/js/plugins/slick/slick-theme.min.css" onload="this.rel='stylesheet'" rel="preload" as="style" >
<script src="${iPlatStaticURL}/kendoui/js/jquery.min.js"></script>
<script src="${iPlatStaticURL}/kendoui/js/kendo.all.min.js"></script>
<script src="${iPlatStaticURL}/kendoui/js/messages/kendo.messages.zh-CN.min.js" defer></script>
<script src="${iPlatStaticURL}/kendoui/js/cultures/kendo.culture.zh-CN.min.js"></script>
<script src="${iPlatStaticURL}/iplatui/js/lib/underscore.min.js"></script>
<script src="${iPlatStaticURL}/iplatui/js/lib/echarts.min.js" defer></script>
<!--[if lte IE 8]>
<link href="${iPlatStaticURL}/iPlatV7-index-ie.css" rel="stylesheet" type="text/css"/>
<![endif]-->
<script src="${iPlatStaticURL}/iplatui/js/iplat.ui.config.js"></script>
<script src="${iPlatStaticURL}/iplatui/assets/js/plugins/slick/slick.min.js"></script>
<script>
IPLATUI.CONTEXT_PATH = "${ctx}";
var taskRefeshTime = "${taskRefeshTime}";
var needRefresh = "${needRefresh}" == 'true';
</script>
<script src="${iPlatStaticURL}/iplatui/assets/js/iplat.ui.bootstrap.min.js"></script>
<script src="${iPlatStaticURL}/iplatui/js/iplat.ui.min.js"></script>
<script src="${iPlatStaticURL}/iPlatV7-index.js"></script>
<%-- <link href="${iPlatStaticURL}/Layx/layx.css" rel="stylesheet" type="text/css" />--%>
<%-- <script src="${iPlatStaticURL}/Layx/layx.js" type="text/javascript"></script>--%>
<%-- <script src="${iPlatStaticURL}/EM/NT/websocket.js"></script>--%>
</head>
<body class="i-theme-${theme}">
<div id="iplatV6index" style="height: 100%">
<ul id="context-menu" class="dropdown-menu">
<li><a href="#" id="close-tab">关闭当前页</a></li>
<li><a href="#" id="close-all-tabs">关闭所有页</a></li>
<li><a href="#" id="close-other-tabs">关闭其他页</a></li>
<li><a href="#" id="refresh-tab">刷新当前页</a></li>
</ul>
<div id="page-container" class="i-index-content sidebar-l sidebar-o side-scroll header-navbar-fixed">
<input type="hidden" id="efSecurityToken" value="<%=efSecurityToken%>"/>
<div id="sidebar">
<div class="sidebar-content">
<!-- Side Header -->
<div class="side-header">
<img src="${ctx}/hpjx-logo.png" style="width:200px;height:55px;background-image: none;"/>
<%-- <span class="logo"></span>--%>
<%--<span class="projectType">[<%=projectTypeDesc%>]</span>--%>
</div>
<!-- END Side Header -->
<!-- Side Content -->
<div id="iplat-menu" class="side-content">
</div>
<div id="side-toggle" class="side-content-toggle">
<span class="hide-mini fa fa-thumb-tack"></span>
<span class="hide-normal fa fa-bars"></span>
</div>
<!-- END Side Content -->
</div>
<!-- Sidebar Content -->
</div>
<div id="header-navbar">
<ul class="nav-header pull-right">
<%--<li style="margin-right: 0"><a href="#" class="fa fa-search">
<span style="margin-left:3px">搜索</span></a>
</li>--%>
<li class="search-input">
<input id="inqu_status-0-form_ename" name="inqu_status-0-form_ename" placeholder="请输入页面号|页面中文名">
<i class="fa fa-search iconPosition"></i>
</li>
<li id="user-time-region">
<a href="#" class="fa fa-clock-o" id="user-time" onclick="timedisplay()" >
<span id="usertime" >00:00:00</span>
</a>
</li>
<li id="user-info-dropdown">
<a href="#" class="fa fa-user" id="user-info" data-toggle="dropdown" aria-expanded="true">
<span><%=userName%></span>
</a>
<%--DAM包中使用--%>
<%--<ul class="dropdown-menu dropdown-menu-right">--%>
<%--<li>--%>
<%--<a id='myInfo' href="#">--%>
<%--<i class="fa fa-user" style="margin-right: 5px"></i>--%>
<%--我的信息</a>--%>
<%--</li>--%>
<%--<li class="divider"></li>--%>
<%--<li><a id='modifiedPassWord' href="#"><i class="fa fa-pencil-square-o"--%>
<%--style="margin-right: 5px"></i>修改密码</a></li>--%>
<%--<li class="divider"></li>--%>
<%--</ul>--%>
<%--DAM包中注释掉此段 ul 开始--%>
<%--<ul class="dropdown-menu dropdown-menu-right profile" data-stopPropagation="true">
<span class="dropdown-triangle"></span>
<li>
<div class="info-title">
<span class="user-name">${userName}</span>
<span class="information">工号:</span>
<span class="detail-info">${userId}</span>
<span class="information">区域:</span>
<span class="detail-info"></span>
<a class="k-link change-password" target="_blank" href="${ctx}/web/XS0104">修改密码</a>
</div>
</li>
<li>
<div>
<span class="information">岗号:</span>
<span class="detail-info"></span>
</div>
</li>
<li>
<div>
<span class="information">部门:</span>
<span class="detail-info"></span>
</div>
</li>
<li>
<div>
<span class="information">领用账套:</span>
<span class="detail-info"></span>
</div>
</li>
<li>
<div>
<span class="information">采购账套:</span>
<span class="detail-info"></span>
</div>
</li>
<li>
<div>
<span class="information i-last">采购组织:</span>
<span class="detail-info"></span>
</div>
</li>
<li class="divider"></li>
<li>
<div>
<span class="information i-first">联系方式:</span>
<span class="detail-info"></span>
</div>
</li>
<li>
<div>
<span class="information">邮件:</span>
<span class="detail-info"></span>
</div>
</li>
<li>
<div>
<span class="information">地址:</span>
<span class="detail-info"></span>
</div>
</li>
</ul>--%>
<div class="dropdown-menu dropdown-menu-right profile" data-stopPropagation="true">
<span class="dropdown-triangle"></span>
<div class="fl">
<div class="headPortrait">
<img src="iplatui/img/index/headPortrait.png" alt="headPortrait">
</div>
<div>
<ul class="personal-information">
<li class="userName">
<span>${userName}</span>
</li>
<li>
<span class="job-number">工号:</span>
<span>${loginName}</span>
</li>
<li>
<span class="information">组织机构:</span>
<span class="detail-info user-org"></span>
</li>
<%--<li data-accountset="true">
<span class="information k-link change-org">公司别:</span>
<span class="detail-info user-company"></span>
</li>
<li data-accountset="true">
<span class="information k-link change-org">账套:</span>
<span class="detail-info user-accountset"></span>
</li>--%>
</ul>
</div>
<c:choose>
<c:when test="${loginName == 'admin'}">
<div class="change-password" style="right: 80px;">
<a href="javascript:void(0)" onclick="changepassword('XS0108','重置密码')">重置密码</a>
</div>
</c:when>
</c:choose>
<div class="change-password">
<a href="javascript:void(0)" onclick="changepassword('XS0104','修改密码')">修改密码</a>
</div>
</div>
<%--<div class="cut-off-rule"></div>--%>
<div>
<ul class="fl left-distance">
</ul>
</div>
</div>
<%--DAM包中注释掉此段 ul 结束--%>
</li>
<li id="toggle-view-mode">
<a href="#" class="fa fa-files-o" id="new-window-view">
<span data-toggle="tooltip" data-placement="bottom"
data-original-title="在新窗口中打开页面">多页展示</span>
</a>
<a href="#" class="fa fa-file-o" id="tab-view" style="display: none">
<span data-toggle="tooltip" data-placement="bottom"
data-original-title="在当前窗口中打开页面">单页展示</span>
</a>
</li>
<li>
<a class="logout" href="login.jsp" data-toggle="tooltip" data-placement="bottom"
data-original-title="注销">
<i class="fa fa-sign-out"></i>
</a>
</li>
</ul>
<ul class="nav-header pull-left">
</ul>
</div>
<div id="main-container" class="main-content" style="height: 100%">
<EF:EFTab id="page-list" showClose="false" active="0">
<div title="首页" style="padding-top: 8px;padding-left: 10px;">
<div class="row">
<div class="col-sm-9 i-index-todo i-index-top">
<EF:EFTab id="info-board" class="i-index-top">
<div class="i-index-tab" title="待办">
<div id="todo">
</div>
<a class="for-more"><i class="fa fa-angle-double-right"></i> 查看更多</a>
<a class="for-refresh"><i class="fa fa-refresh"></i> 刷新</a>
<div class="refresh-timer hide">距离下次刷新时间还剩<span class="spare-seconds">00:00</span>/<span
class="refresh-limits">00:00</span></div>
</div>
<div class="i-index-tab" title="提醒">
<div id="information"></div>
<%--<a class="for-more"><i class="fa fa-angle-double-right"></i> 查看更多</a>--%>
<a class="for-refresh"><i class="fa fa-refresh"></i> 刷新</a>
</div>
<div class="i-index-tab" title="跟踪">
<div id="trace"></div>
<a class="for-more"><i class="fa fa-angle-double-right"></i> 查看更多</a>
<a class="for-refresh"><i class="fa fa-refresh"></i> 刷新</a>
</div>
<div class="i-index-tab" title="已办">
<div id="record"></div>
<a class="for-more"><i class="fa fa-angle-double-right"></i> 查看更多</a>
<a class="for-refresh"><i class="fa fa-refresh"></i> 刷新</a>
</div>
<div class="i-index-tab" title="通知">
<div id="notification"></div>
<a class="for-more"><i class="fa fa-angle-double-right"></i> 查看更多</a>
<a class="for-refresh"><i class="fa fa-refresh"></i> 刷新</a>
</div>
<div class="i-index-tab" title="公告">
<div id="notice" style="height: 100%; overflow:hidden;"></div>
<a class="for-refresh"><i class="fa fa-refresh"></i> 刷新</a>
</div>
</EF:EFTab>
</div>
<div class="col-sm-3">
<div class="index-apm i-index-top">
<%--<div class="i-region-header">
<span class="index-meet"></span>日历
</div>--%>
<div class="i-region-content">
<div class="fp-calendar">
<script>
$(".fp-calendar").kendoCalendar({
culture: "zh-CN",
footer: false
});
</script>
</div>
</div>
</div>
</div>
</div>
<div class="row" style="padding-top: 8px">
<div class="col-sm-9">
<div class="index-charts i-index-bottom">
<div class="i-region-header"><span class="index-dashboard"></span>业务快捷</div>
<div class="i-region-content" id="i-region-dots-append">
<div class="dashboard_content" id="dashboard">
</div>
</div>
</div>
</div>
<div class="col-sm-3 i-index-todo">
<EF:EFTab id="info">
<div class="i-index-tab index-favorite" title="收藏">
<div class="i-region-content">
<div id="fav-list" class="fav-list"></div>
</div>
<a class="for-more moreCollection"><i class="fa fa-angle-double-right"></i> 查看更多</a>
</div>
<div class="i-index-tab index-links" title="友情链接" style="margin: 0;">
<div >
<div class="dropup open">
<ul class="dropdown-menu" role="menu" >
<li style="text-align: left;">
<div class="link-list" style="padding-bottom:1px;">
<%--<span class="index-icon index-related-clip"></span>--%>
<a>暂无友情链接!</a>
</div>
</li>
<%--<li>
<div class="link-list">
<span class="index-icon index-related-clip"></span>
<a target="_blank" href="${ctx}/web/EDFA10">收藏页</a>
</div>
</li>
<li>
<div class="link-list">
<span class="index-icon index-related-clip"></span>
<a target="_blank" href="${ctx}/web/EEDM4004">AutoComplete示例</a>
</div>
</li>
<li>
<div class="link-list">
<span class="index-icon index-related-clip"></span>
<a target="_blank" href="${ctx}/web/EDFA61">用户自选风格管理表</a>
</div>
</li>--%>
</ul>
</div>
</div>
</div>
</EF:EFTab>
</div>
</div>
</div>
<%--第一项删除会被关闭--%>
</EF:EFTab>
</div>
</div>
</div>
<%--菜单结点名称--%>
<input type="hidden" name="iplatMenuName" value="${menuRoot}" validate="false" novalidate="novalidate"/>
<EF:EFFragment/>
<script id="menu-template" type="text/x-kendo-template">
<ul class="iplat-menu-ul">
#for(var index in menus){ var menu = menus[index]#
<li class="iplat-menu" data-page="#:menu.label#" data-url="#:menu.nodeUrl#"
data-param="#:menu.nodeParam#" data-leaf="#:menu.leaf#">
<a class="i-sub-#:menu.leaf#" href="\\#">
<i class="i-menu-icon # var iconCss = IPLAT.Util.parseBtnClass(menu.imagePath).css;
if (iconCss !== '') {# #:iconCss# #} else {# fa fa-cube #} #"></i>
<span class="sidebar-mini-hide iplat-menu-title">#:menu.text#</span>
</a>
<div id="tree#=menu.label#" class="iplat-menu-content" data-first="true">
</div>
</li>
#}#
</ul>
</script>
<script id="menu-item-template" type="text/x-kendo-template">
#: item.text #
# if ( !item.leaf && IPLATUI.Config.Layout.MENU_WITH_FORM_ENAME) {#
[#: item.label #]
#}#
</script>
<script id="process-template" type="text/x-kendo-template">
<p style="margin-bottom: 0">您有<a class="i-index-process"
target="_blank"
href="${ctx}/web/#:form#">[#:count#]</a>个#:processName##:taskDefName#
</p>
</script>
<script id="task-template" type="text/x-kendo-template">
<a target="_blank"
href="${ctx}/web/#:form#?procInstId=#:procInstId#">#:subject#</a>
</script>
<script id="favorite-template" type="text/x-kendo-template">
<div class="k-link k-header" ename="#:form_ename#"><span
class="index-icon index-clip"></span>#:form_ename# - #:form_cname#
</div>
</script>
<script>
window.IPLAT_INDEX_WINDOW = "rootWindow";
window.APM_REFRESH = "${apmRefresh}";
$(function () {
V6Index();
});
</script>
<!--[if lte IE 8]>
<script src="${iPlatStaticURL}/iplatui/assets/js/polyfills/iplat.ui.ie8.polyfills.min.js"></script>
<![endif]-->
</body>
<script type="text/javascript">
var ctx = "${ctx}";
var loginName = "${loginName}";
var SideBarIsMini =${SideBarIsMini};
var theme = "${theme}";
</script>
<style>
.icon-badge {
position: absolute;
top: -8px;
right: -18px;
background-color: red;
color: white;
font-size: 12px;
font-weight: bold;
width: 24px;
height: 24px;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
}
</style>
</html>
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
blockName="invent_name_block_id" textField="textField" valueField="valueField" blockName="invent_name_block_id" textField="textField" valueField="valueField"
columnTemplate="#=textField#" itemTemplate="#=textField#"> columnTemplate="#=textField#" itemTemplate="#=textField#">
</EF:EFComboColumn> </EF:EFComboColumn>
<EF:EFComboColumn ename="inventRecordId" cname="规格(MM)" enable="false" width="100" align="center" <EF:EFComboColumn ename="inventRecordId" cname="规格(MM)" enable="false" width="150" align="center"
blockName="invent_spec_block_id" textField="textField" valueField="valueField" blockName="invent_spec_block_id" textField="textField" valueField="valueField"
columnTemplate="#=textField#" itemTemplate="#=textField#"> columnTemplate="#=textField#" itemTemplate="#=textField#">
</EF:EFComboColumn> </EF:EFComboColumn>
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
<EF:EFColumn ename="unitWeight" cname="单量(KG)" enable="false" width="120" align="right" format="{0:N3}"/> <EF:EFColumn ename="unitWeight" cname="单量(KG)" enable="false" width="120" align="right" format="{0:N3}"/>
<EF:EFColumn ename="weight" cname="库存重量(KG)" enable="false" width="120" align="right" format="{0:N3}" <EF:EFColumn ename="weight" cname="库存重量(KG)" enable="false" width="120" align="right" format="{0:N3}"
sumType="all"/> sumType="all"/>
<EF:EFColumn ename="remark" cname="备注" enable="false" width="150"/> <EF:EFColumn ename="remark" cname="备注" enable="false" width="150" type="hidden"/>
</EF:EFGrid> </EF:EFGrid>
</EF:EFRegion> </EF:EFRegion>
</EF:EFPage> </EF:EFPage>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<EF:EFRegion id="result" title="记录集"> <EF:EFRegion id="result" title="记录集">
<EF:EFGrid blockId="result" autoDraw="override" autoFit="true" checkMode="row"> <EF:EFGrid blockId="result" autoDraw="override" autoFit="true" checkMode="row">
<EF:EFColumn ename="id" cname="库存ID" enable="false" width="60" align="center" hidden="true"/> <EF:EFColumn ename="id" cname="库存ID" enable="false" width="60" align="center" hidden="true"/>
<EF:EFComboColumn ename="inventType" cname="存货类型" enable="false" width="100" align="center"> <EF:EFComboColumn ename="inventType" cname="存货类型" enable="false" width="60" align="center">
<EF:EFCodeOption codeName="hpjx.hpkc.inventType" condition="ITEM_CODE IN ('2')"/> <EF:EFCodeOption codeName="hpjx.hpkc.inventType" condition="ITEM_CODE IN ('2')"/>
</EF:EFComboColumn> </EF:EFComboColumn>
<EF:EFComboColumn ename="whCode" cname="仓库名称" enable="false" width="120" align="center" <EF:EFComboColumn ename="whCode" cname="仓库名称" enable="false" width="120" align="center"
...@@ -41,18 +41,18 @@ ...@@ -41,18 +41,18 @@
blockName="invent_spec_block_id" textField="textField" valueField="valueField" blockName="invent_spec_block_id" textField="textField" valueField="valueField"
columnTemplate="#=textField#" itemTemplate="#=textField#"> columnTemplate="#=textField#" itemTemplate="#=textField#">
</EF:EFComboColumn> </EF:EFComboColumn>
<EF:EFComboColumn ename="projCode" cname="项目名称" width="300" align="center" defaultValue="" required="true" <EF:EFComboColumn ename="projCode" cname="项目名称" width="350" align="center" defaultValue="" required="true"
filter="contains" > filter="contains" >
<EF:EFOptions blockId="proj_record_block_id" valueField="valueField" textField="textField" /> <EF:EFOptions blockId="proj_record_block_id" valueField="valueField" textField="textField" />
</EF:EFComboColumn> </EF:EFComboColumn>
<EF:EFColumn ename="applyAmount" cname="申请数量" width="120" align="right" format="{0:N0}" required="true"/> <EF:EFColumn ename="applyAmount" cname="申请数量" width="120" align="right" format="{0:N0}" required="true"/>
<EF:EFColumn ename="applyRemark" cname="申请说明" width="150" editType="textarea" copy="true"/> <EF:EFColumn ename="applyRemark" cname="申请说明" width="200" editType="textarea" copy="true"/>
<EF:EFColumn ename="amount" cname="库存数量" enable="false" width="120" align="right" format="{0:N0}" <EF:EFColumn ename="amount" cname="库存数量" enable="false" width="120" align="right" format="{0:N0}"
sumType="all"/> sumType="all"/>
<EF:EFColumn ename="unitWeight" cname="单量(KG)" enable="false" width="120" align="right" format="{0:N3}"/> <EF:EFColumn ename="unitWeight" cname="单量(KG)" enable="false" width="120" align="right" format="{0:N3}"/>
<EF:EFColumn ename="weight" cname="库存重量(KG)" enable="false" width="120" align="right" format="{0:N3}" <EF:EFColumn ename="weight" cname="库存重量(KG)" enable="false" width="120" align="right" format="{0:N3}"
sumType="all"/> sumType="all"/>
<EF:EFColumn ename="remark" cname="备注" enable="false" width="150"/> <EF:EFColumn ename="remark" cname="备注" enable="false" width="150" hidden="true"/>
</EF:EFGrid> </EF:EFGrid>
</EF:EFRegion> </EF:EFRegion>
</EF:EFPage> </EF:EFPage>
...@@ -22,10 +22,10 @@ ...@@ -22,10 +22,10 @@
<EF:EFColumn ename="projCode" cname="项目编码" hidden="true"/> <EF:EFColumn ename="projCode" cname="项目编码" hidden="true"/>
<EF:EFColumn ename="operator" cname="操作" enable="false" width="120" align="center"/> <EF:EFColumn ename="operator" cname="操作" enable="false" width="120" align="center"/>
<EF:EFColumn ename="templateName" cname="模板名称" enable="false" width="120" align="center"/> <EF:EFColumn ename="templateName" cname="模板名称" enable="false" width="120" align="center"/>
<EF:EFColumn ename="createdBy" enable="false" cname="创建人"/> <EF:EFColumn ename="createdName" enable="false" align="center" cname="创建人"/>
<EF:EFColumn ename="createdTime" dateFormat="yyyy-MM-dd HH:mm:ss" enable="false" cname="创建时间"/> <EF:EFColumn ename="createdTime" dateFormat="yyyy-MM-dd HH:mm:ss" enable="false" align="center" cname="创建时间"/>
<EF:EFColumn ename="updatedBy" enable="false" cname="修改人"/> <EF:EFColumn ename="updatedName" enable="false" cname="修改人"/>
<EF:EFColumn ename="updatedTime" dateFormat="yyyy-MM-dd HH:mm:ss" enable="false" cname="修改时间"/> <EF:EFColumn ename="updatedTime" dateFormat="yyyy-MM-dd HH:mm:ss" enable="false" align="center" cname="修改时间"/>
</EF:EFGrid> </EF:EFGrid>
</EF:EFRegion> </EF:EFRegion>
</EF:EFPage> </EF:EFPage>
......
...@@ -14,7 +14,7 @@ if (url.indexOf("?") != -1) { //判断是否有参数 ...@@ -14,7 +14,7 @@ if (url.indexOf("?") != -1) { //判断是否有参数
$(function () { $(function () {
IPLATUI.EFTree = { IPLATUI.EFTree = {
"materialTree": { "materialTree": {
ROOT: "root:项目列表", ROOT: "root:产品列表",
/** /**
* 树加载完成后的回调函数 * 树加载完成后的回调函数
* @param options: 树的配置项 * @param options: 树的配置项
...@@ -135,7 +135,17 @@ $(function () { ...@@ -135,7 +135,17 @@ $(function () {
* e.preventDefault 阻止事件发生 * e.preventDefault 阻止事件发生
*/ */
beforeAdd: function (e) { beforeAdd: function (e) {
var lv = IPLATUI.EFTree.materialTree.selectTreeNode.lv;
var logic = IPLATUI.EFTree.materialTree.selectTreeNode.nodeId ? false : true; var logic = IPLATUI.EFTree.materialTree.selectTreeNode.nodeId ? false : true;
if (lv === '3') {
IPLAT.alert({
message: '<b>不能在零件下进行新增</b>',
okFn: function (e) {
},
title: '提示'
});
e.preventDefault();
} else {
if (logic) { // 通过业务逻辑判断, 控制是否进行新增 if (logic) { // 通过业务逻辑判断, 控制是否进行新增
IPLAT.alert({ IPLAT.alert({
message: '<b>请选择项目列表</b>', message: '<b>请选择项目列表</b>',
...@@ -145,6 +155,7 @@ $(function () { ...@@ -145,6 +155,7 @@ $(function () {
}); });
e.preventDefault(); e.preventDefault();
} }
}
}, },
/** /**
* EFGrid新增行时触发的事件,此时数据行tr元素还未渲染 * EFGrid新增行时触发的事件,此时数据行tr元素还未渲染
......
...@@ -135,9 +135,9 @@ $(function () { ...@@ -135,9 +135,9 @@ $(function () {
* e.preventDefault 阻止事件发生 * e.preventDefault 阻止事件发生
*/ */
beforeAdd: function (e) { beforeAdd: function (e) {
var lv = IPLATUI.EFTree.materialTree.selectTreeNode.nodeId.lv; var lv = IPLATUI.EFTree.materialTree.selectTreeNode.lv;
var logic = IPLATUI.EFTree.materialTree.selectTreeNode.nodeId ? false : true; var logic = IPLATUI.EFTree.materialTree.selectTreeNode.nodeId ? false : true;
if (lv === 3) { if (lv === '3') {
IPLAT.alert({ IPLAT.alert({
message: '<b>不能在零件下进行新增</b>', message: '<b>不能在零件下进行新增</b>',
okFn: function (e) { okFn: function (e) {
...@@ -363,7 +363,17 @@ $(function () { ...@@ -363,7 +363,17 @@ $(function () {
* 导入 * 导入
*/ */
$("#IMPORT").on("click", function (e) { $("#IMPORT").on("click", function (e) {
var lv = IPLATUI.EFTree.materialTree.selectTreeNode.lv;
var logic = IPLATUI.EFTree.materialTree.selectTreeNode.nodeId ? false : true; var logic = IPLATUI.EFTree.materialTree.selectTreeNode.nodeId ? false : true;
if (lv === '3') {
IPLAT.alert({
message: '<b>不能在零件下进行导入</b>',
okFn: function (e) {
},
title: '提示'
});
e.preventDefault();
} else {
if (logic) { // 通过业务逻辑判断, 控制是否进行新增 if (logic) { // 通过业务逻辑判断, 控制是否进行新增
IPLAT.alert({ IPLAT.alert({
message: '<b>请选择项目列表</b>', message: '<b>请选择项目列表</b>',
...@@ -375,6 +385,7 @@ $(function () { ...@@ -375,6 +385,7 @@ $(function () {
} else { } else {
openFileWindow.open(); openFileWindow.open();
} }
}
}); });
IPLATUI.EFUpload = { IPLATUI.EFUpload = {
fileUpload: { fileUpload: {
...@@ -436,15 +447,33 @@ $(function () { ...@@ -436,15 +447,33 @@ $(function () {
*/ */
$("#GENERATE").on("click", function () { $("#GENERATE").on("click", function () {
var projCode = IPLATUI.EFTree.materialTree.selectTreeNode.projCode; var projCode=strs[1];
if (projCode === undefined) { var info = new EiInfo()
IPLAT.alert({ info.set("id", projCode);
message: '<b>请选择项目列表</b>', EiCommunicator.send("HPPZ015", "count", info, {
onSuccess: function (ei) {
if (ei["status"] == 1) {
//处理存在产品模板
var generateName= ei["extAttr"]["tempName"];
IPLAT.confirm({
message: '<b>模板名称:<red>*<red></b> <input id="generateName" type="text" name="generateName" ' +
'class="k-textbox" with="30px" required="true" value=" '+generateName+'"/>',
okFn: function (e) { okFn: function (e) {
var generateName = $("#generateName").val();
if (generateName === "") {
message("模板名称不能为空!");
} else {
generateMode(projCode, generateName);
}
}, },
title: '提示' cancelFn: function (e) {
IPLAT.NotificationUtil('取消该操作');
},
title: '该产品模板已经存在,是否覆盖',
minWidth: 300
}); });
}else {
} else {
IPLAT.confirm({ IPLAT.confirm({
message: '<b>模板名称:<red>*<red></b> <input id="generateName" name="generateName" ' + message: '<b>模板名称:<red>*<red></b> <input id="generateName" name="generateName" ' +
'class="k-textbox" with="30px" required="true" />', 'class="k-textbox" with="30px" required="true" />',
...@@ -462,7 +491,12 @@ $(function () { ...@@ -462,7 +491,12 @@ $(function () {
title: '生成物料清单模板确认', title: '生成物料清单模板确认',
minWidth: 300 minWidth: 300
}); });
}
}, onFail: function (ei) {
} }
}, {async: false});
}); });
// 模板选择 // 模板选择
...@@ -472,15 +506,13 @@ $(function () { ...@@ -472,15 +506,13 @@ $(function () {
* 物料生成 * 物料生成
*/ */
function assign() { function assign() {
var projCode = IPLATUI.EFTree.materialTree.selectTreeNode.projCode; var projCode=strs[1];
if (projCode === undefined) { var info = new EiInfo()
IPLAT.alert({ info.set("id", projCode);
message: '<b>请选择项目列表</b>', EiCommunicator.send("HPSC002", "count", info, {
okFn: function (e) { onSuccess: function (ei) {
}, if (ei["status"] == 1) {
title: '提示' var projCodeNew=ei["extAttr"]["projCode"];
});
}else {
JSColorbox.open({ JSColorbox.open({
href: "HPSC002C?methodName=initLoad", href: "HPSC002C?methodName=initLoad",
title: "<div style='text-align: center;'>选择产品模板</div>", title: "<div style='text-align: center;'>选择产品模板</div>",
...@@ -490,7 +522,8 @@ $(function () { ...@@ -490,7 +522,8 @@ $(function () {
var info = new EiInfo() var info = new EiInfo()
info.set("id", row.id); info.set("id", row.id);
info.set("projCode", row.projCode); info.set("projCode", row.projCode);
/* EiCommunicator.send("HPPZ015", "assign", info, { info.set("projCodeNew", projCodeNew);
EiCommunicator.send("HPPZ015", "assign", info, {
onSuccess: function (ei) { onSuccess: function (ei) {
if (ei["status"] == -1) { if (ei["status"] == -1) {
NotificationUtil(ei, "error"); NotificationUtil(ei, "error");
...@@ -498,6 +531,9 @@ $(function () { ...@@ -498,6 +531,9 @@ $(function () {
NotificationUtil({ NotificationUtil({
msg: ei.msg msg: ei.msg
}); });
//刷新树
var tree = $("#materialTree").data("kendoTreeView");
tree.reload("root");//更新树
// 刷新列表 // 刷新列表
resultGrid.dataSource.page(1); resultGrid.dataSource.page(1);
// 关闭弹窗 // 关闭弹窗
...@@ -505,15 +541,25 @@ $(function () { ...@@ -505,15 +541,25 @@ $(function () {
} }
}, onFail: function (ei) { }, onFail: function (ei) {
} }
}, {async: false});*/ }, {async: false});
} }
}); });
}else {
IPLAT.alert({
message: '<b>该项目下已有物料清单!</b>',
okFn: function (e) {
},
title: '提示'
});
} }
}, onFail: function (ei) {
}
}, {async: false});
} }
function generateMode(projCode,generateName) { function generateMode(projCode,generateName) {
const inEiInfo = new EiInfo(); const inEiInfo = new EiInfo();
inEiInfo.set("projCode", projCode); inEiInfo.set("id", projCode);
inEiInfo.set("templateName", generateName); inEiInfo.set("templateName", generateName);
EiCommunicator.send('HPPZ015', 'insert', inEiInfo, { EiCommunicator.send('HPPZ015', 'insert', inEiInfo, {
onSuccess(response) { onSuccess(response) {
......
...@@ -26,7 +26,7 @@ $(function () { ...@@ -26,7 +26,7 @@ $(function () {
parent.JSColorbox.setValueCallback(row); parent.JSColorbox.setValueCallback(row);
return; return;
}; };
JSUtils.confirm("确定选择模板吗? ", { JSUtils.confirm("确定选择模板吗? ", {
ok: function () { ok: function () {
parent.JSColorbox.setValueCallback(row); parent.JSColorbox.setValueCallback(row);
} }
......
...@@ -349,6 +349,7 @@ function saveDetail(btn) { ...@@ -349,6 +349,7 @@ function saveDetail(btn) {
JSUtils.submitGridsData("detail", "HPSC003", "updatePlanDetail", true); JSUtils.submitGridsData("detail", "HPSC003", "updatePlanDetail", true);
//释放禁用按钮 //释放禁用按钮
btn.attr("disabled", false); btn.attr("disabled", false);
query();
} }
}); });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment