`
william_869642103
  • 浏览: 1063 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

debugInfoToTxt

阅读更多
public class FinanceSalarySearchToCashier extends AbstractFinanceSalarySearchToCashier
{
    private static final Logger logger = CoreUIObject.getLogger(FinanceSalarySearchToCashier.class);
private String whereSql;

   
    /**
     * output class constructor
     */
    public FinanceSalarySearchToCashier() throws Exception
    {
        super();
    }

@Override
protected ICoreBase getBizInterface() throws Exception {
return null;
}

@Override
protected String getEditUIName() {
return null;
}

@Override
public void onLoad() throws Exception {
super.onLoad();
buildAdminOrgUnitTree(false);
kDSearch.setEnabled(true);
kDTreeView1.setEnabled(true);
kDTree1.setEnabled(true);

kDTable1.setScrollStateVertical(KDTStyleConstants.SCROLL_STATE_SHOW);

//初始化次数
    kDTime.setSelectedIndex(10);
   
//初始化日期
    DateFormat df = new SimpleDateFormat("yyyyMM");
    Date now = new Date();
    kDEndDate.setValue(Integer.parseInt(df.format(now)));
    kDStartDate.setValue(Integer.parseInt(df.format(now)));
   
   
    this.kDTree1.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
setWhereSql();
try {
fillTable();
} catch (Exception e1) {
e1.printStackTrace();
}
}
});
   
    kDCheckChild.addItemListener(new ItemListener(){

public void itemStateChanged(ItemEvent e) {
setWhereSql();
try {
fillTable();
} catch (Exception e1) {
e1.printStackTrace();
}
}
   
    });
   
    kDStartDate.addChangeListener(new ChangeListener(){

public void stateChanged(ChangeEvent e) {
int value = kDStartDate.getIntegerVlaue();
if(value%100 == 0){
value = (value/100-1)*100+12;
kDStartDate.setValue(value);
}
if(value%100 >= 13){
value = (value/100+1)*100+1;
kDStartDate.setValue(value);
}

}

});
kDEndDate.addChangeListener(new ChangeListener(){

public void stateChanged(ChangeEvent e) {
int value = kDEndDate.getIntegerVlaue();
if(value%100 == 0){
value = (value/100-1)*100+12;
kDEndDate.setValue(value);
}
if(value%100 >= 13){
value = (value/100+1)*100+1;
kDEndDate.setValue(value);
}

}

});
   
    //设置表头排序
    KDTSortManager sm = new KDTSortManager(kDTable1);
    sm.setSortAuto(true);
    sm.setClickCount(1);
    for (int i = 0, count = kDTable1.getColumnCount(); i < count; i++) {
    kDTable1.getColumn(i).setSortable(true);//setSortable for sort data
}
}


/**
* data filter method
*/
    protected void setWhereSql() {
    //?whereSql do what
    whereSql = "";
//人员条件查询
    String number = null;
    if(kDPerson.getValue() != null){
    number = ((PersonInfo)kDPerson.getValue()).getNumber();//取用户交互 值
    whereSql += "AND PERSON.FNUMBER = '"+number+"' ";//判断数据库的职员值和输入的职员值后过滤
    }
   
    //薪酬方案过滤
    String cmpScheme = null;
    if(CmpScheme.getValue() != null){
    cmpScheme = ((CmpSchemeInfo) CmpScheme.getValue()).getName();//取用户交互 值
    whereSql += "AND CMP.FNAME_L2 = '"+cmpScheme+"' ";//
    }
   
    //薪酬方案次数过滤
    int time = 1;
    if(kDTime.getSelectedIndex() != 10){
    time = kDTime.getSelectedIndex() + 1;//取用户交互 值
    whereSql += "AND SCHM.ftime = '"+time+"' ";
    }
   
    //部门树查询
    DefaultKingdeeTreeNode selectNode = null;
TreePath path = kDTree1.getSelectionPath();
if(path != null){
selectNode = (DefaultKingdeeTreeNode) path.getLastPathComponent();
}
if(selectNode != null && (selectNode.getUserObject() instanceof AdminOrgUnitInfo)){
AdminOrgUnitInfo adminInfo = (AdminOrgUnitInfo) selectNode.getUserObject();

if(kDCheckChild.isSelected()){
whereSql += "AND ( ADMIN.flongnumber like  '" + adminInfo.getLongNumber()
+ "!%' or ADMIN.flongnumber='" + adminInfo.getLongNumber() + "' )";
}else{
whereSql += "AND ADMIN.FID ='" + adminInfo.getId().toString() + "'";
}
}//部门树查询 hardPoint
}

private String mainSql() throws EASBizException, BOSException {
String start ;
    if(kDStartDate.getValue()==null)
    {
    start = "197901";
   
    }else{
    start = kDStartDate.getValue().toString();
   
    }
   
    String end ;
    if(kDStartDate.getValue()==null)
    {
    end = "197901";
   
    }else{
    end = kDEndDate.getValue().toString();
   
    }
   
    StringBuilder sql = new StringBuilder();
    sql.setLength(0);
   
   
    sql.append("/*dialect*/").append("\r\n");
    sql.append("Select").append("\r\n");
    sql.append("CMP.FNAME_L2 AS CMPNAME,  --薪酬方案名称").append("\r\n");

    sql.append("PERIOD.fnumber AS PERIOD, --年月").append("\r\n");
    sql.append("ADMIN.FNAME_L2 AS ADMIN,    -- 部门名称").append("\r\n");
    sql.append("PERSON.FNUMBER AS PERSONNUM,    -- 职员代码").append("\r\n");
    sql.append("PERSON.FNAME_L2 AS PERSONNAME,    -- 职员姓名 ").append("\r\n");
    sql.append("SCHM.FFSAL235 AS FFSAL235 ,    -- 银行转账(含暂缓) ").append("\r\n");
    sql.append("SCHM.ftime AS time,  --薪酬方案次数").append("\r\n");
    sql.append("SCHM.FFSAL259 AS FFSAL259 ,    -- 是否发放上月止暂缓 ").append("\r\n");
    sql.append("SCHM.FFSAL233 AS FFSAL233 ,    -- 截止上月薪资未发放").append("\r\n");
    sql.append("SCHM.FFSAL234 AS FFSAL234 ,    -- 截止本月薪资未发放  ").append("\r\n");
    sql.append("SCHM.FFSAL236 AS FFSAL236 ,    -- 发放上月止暂缓工资  ").append("\r\n");
    sql.append("SCHM.FFSAL256 AS FFSAL256 ,    -- 是否暂缓     ").append("\r\n");
    sql.append("SCHM.FFSAL252 AS FFSAL252 ,    -- 实领工资(含暂缓)").append("\r\n");
    sql.append("SCHM.FFSAL251 AS FFSAL251 ,    -- 现金       ").append("\r\n");
    sql.append("SCHM.FFSAL254 AS FFSAL254 ,    -- 领现金  ").append("\r\n");
sql.append("PCMP.FACCOUNTONENAME_L2 AS FPER054 ,    -- 银行名称1 ").append("\r\n");
    sql.append("PCMP.FACCOUNTONE AS FPER025    -- 个人账号1 ").append("\r\n");
   
    if(getSql()==null || "".equals(getSql())){
return null;
}
   
    sql.append("FROM ("+getSql()+") SCHM").append("\r\n");
    sql.append("LEFT OUTER JOIN t_hr_cmpscheme CMP ").append("\r\n");
    sql.append("ON CMP.FHISTABLENAME = SCHM.TABLENAME ").append("\r\n");
    sql.append("OR CMP.FHORTABLENAME = SCHM.TABLENAME").append("\r\n");
    sql.append("LEFT OUTER JOIN T_BD_PERSON PERSON ").append("\r\n");
    sql.append("ON PERSON.FID = SCHM.FPERSONID").append("\r\n");
    sql.append("LEFT OUTER JOIN T_HR_PersonPosition PERSONPOSITION ").append("\r\n");
    sql.append("ON PERSON.FID = PERSONPOSITION.FPERSONID ").append("\r\n");
    sql.append("LEFT OUTER JOIN T_ORG_Admin ADMIN ").append("\r\n");
    sql.append("ON ADMIN.FID = PERSONPOSITION.FPERSONDEP  ").append("\r\n");
    sql.append("LEFT OUTER JOIN T_HR_PersonCmp PCMP ").append("\r\n");
    sql.append("ON PCMP.FPERSONID = PERSON.FID ").append("\r\n");
sql.append("LEFT OUTER JOIN T_HR_CMPPERIOD PERIOD ").append("\r\n");
    sql.append("ON PERIOD.FID = SCHM.FPERIOD").append("\r\n");
    sql.append("WHERE SCHM.FFSAL256 IS NULL AND PERIOD.FNUMBER >= '"+start+"'  AND PERIOD.FNUMBER <= '"+end+"'  ").append("\r\n");


if(!"".equals(whereSql)){
    sql.append(whereSql);
    }
//print sql statement
System.out.println(sql.toString());
debugInfoToTxt(sql);
    return sql.toString();
}



private void buildAdminOrgUnitTree(boolean isShowSealUp) throws Exception {
AdminTreeBuilder adminTree = new AdminTreeBuilder(false, null);
adminTree.buildTree(this.kDTree1, isShowSealUp);
}
   
private void fillFootRow(IRow footRow, String sql) {
YMSQLBuilder builder = new YMSQLBuilder();
builder.clear();
builder.appendSql(sql);
IRowSet irs = null;
try {
irs = builder.executeQuery();
if(irs.next()){

footRow.getCell("FFSAL235" ).setValue(irs.getString("FFSAL235" ));
footRow.getCell("FFSAL233" ).setValue(irs.getString("FFSAL233" ));
footRow.getCell("FFSAL234" ).setValue(irs.getString("FFSAL234" ));
footRow.getCell("FFSAL236" ).setValue(irs.getString("FFSAL236" ));
footRow.getCell("FFSAL252" ).setValue(irs.getString("FFSAL252" ));
footRow.getCell("FFSAL251" ).setValue(irs.getString("FFSAL251" ));
footRow.getCell("FFSAL254" ).setValue(irs.getString("FFSAL254" ));


}
}catch (BOSException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* do database T_HR_SCHM_71448264184074 records display
* @throws Exception
*/
    private void fillTable() throws Exception {
    kDTable1.removeRows();
    YMSQLBuilder builder = new YMSQLBuilder();
    builder.clear();
    StringBuilder sql = new StringBuilder();
    int totalCount = getTotalCount(mainSql());//mainSql return String
    setMessageBarText("符合条件的共计"+totalCount+"条");
    int page = totalCount%5000==0?totalCount/5000:totalCount/5000+1;//count page number
   
    for(int n=0;n<page;n++){
    //                      select t.* from tablename t where rownum >= and rownum<=
    sql.append("/*dialect*/ select t.* from (").append(mainSql()).append(")t where rownum >="+n*5000+" and rownum<="+(n+1)*5000+" ");//?
    if(sql == null || "".equals(sql)){
    return ;
    }
    debugInfoToTxt(sql);
    System.out.println(sql);
    builder.appendSql(sql.toString());
   
    try {
IRowSet irs = builder.executeQuery();
while(irs.next()){
IRow row = kDTable1.addRow();
row.getCell("FFSAL235" ).setValue(irs.getString("FFSAL235" ));
row.getCell("FFSAL259" ).setValue(irs.getString("FFSAL259" ));
row.getCell("FFSAL233" ).setValue(irs.getString("FFSAL233" ));
row.getCell("FFSAL234" ).setValue(irs.getString("FFSAL234" ));
row.getCell("FFSAL236" ).setValue(irs.getString("FFSAL236" ));
row.getCell("FFSAL256" ).setValue(irs.getString("FFSAL256" ));
row.getCell("FFSAL252" ).setValue(irs.getString("FFSAL252" ));
row.getCell("FFSAL251" ).setValue(irs.getString("FFSAL251" ));
row.getCell("FFSAL254" ).setValue(irs.getString("FFSAL254" ));

row.getCell("FPER005" ).setValue(irs.getString("ADMIN" ));
row.getCell("cmpName" ).setValue(irs.getString("CMPNAME" ));
row.getCell("time" ).setValue(irs.getString("time" ));
row.getCell("month" ).setValue(irs.getString("PERIOD" ));
row.getCell("FPER002" ).setValue(irs.getString("PERSONNUM" ));
row.getCell("FPER001" ).setValue(irs.getString("PERSONNAME" ));

row.getCell("FPER054" ).setValue(irs.getString("FPER054" ));
row.getCell("FPER025" ).setValue(irs.getString("FPER025" ));

}
} catch (BOSException e) {
throw new RuntimeException(e);
} catch (SQLException e) {
throw new RuntimeException(e);
}
    }
    setFootRow();
}
   
   
  private int getTotalCount(String mainSql) throws Exception {
  int count = 0;
String sql = "/*dialect*/ select count(1) from ("+mainSql+")";

YMSQLBuilder builder = new YMSQLBuilder(sql);
IRowSet irs = builder.executeQuery();
if(irs.next()){
count = irs.getInt(1);
}

return count;
}

//查询横表或历史表中的数据
    private String getSql() {
    /**
    * columnName 数组链表
    */
    //设置标准模板的字段名称,用于和横表或历史表中的字段进行比较
    List<String> columnName = new ArrayList<String>();//ArrayList&LinkedList
    columnName.add("FFSAL235");
    columnName.add("FFSAL259");
    columnName.add("FFSAL233");
    columnName.add("FFSAL234");
    columnName.add("FFSAL236");
    columnName.add("FFSAL256");
    columnName.add("FFSAL252");
    columnName.add("FFSAL251");
    columnName.add("FFSAL254");
    columnName.add("FPER054");
columnName.add("FPER025");
    columnName.add("FPERSONID");
    columnName.add("FPERIOD");
    columnName.add("FTIME");
   
    String start ;
    if(kDStartDate.getValue()==null)
    {
    start = "197901";
   
    }else{
    start = kDStartDate.getValue().toString();
   
    }
   
    String end ;
    if(kDStartDate.getValue()==null)
    {
    end = "300000";
   
    }else{
    end = kDEndDate.getValue().toString();
   
    }
    /**
    * yama.basedata.YMSQLBuilder
    * @see lesliech YMSQLBuilder CLASS files
    * function:connecting to YM database
    */
    YMSQLBuilder builder = new YMSQLBuilder();
    IRowSet irs = null;
    StringBuilder sql = new StringBuilder();
    sql.setLength(0);
    sql.append("SELECT FHORTABLENAME AS TABLENAME FROM t_hr_cmpscheme CMP ").append("\n\t");
    sql.append("WHERE CMP.FENABLE = 1 ").append("\n\t");
    sql.append(" UNION").append("\n\t");
    sql.append("SELECT FHISTABLENAME AS TABLENAME FROM t_hr_cmpscheme CMP").append("\n\t");
    sql.append("WHERE CMP.FENABLE = 1 ").append("\n\t");
    builder.clear();
    builder.appendSql(sql.toString());
   
    StringBuilder sb = new StringBuilder();
sb.setLength(0);

    try {
irs = builder.executeQuery();//builder execute sql statement return result set
int index = 0;
/**
* use irs resultset get biz tables
* e.g:T_HR_SCHM_71448264184074
*/
while(irs.next()){
String tableName = irs.getString("TABLENAME");
if(!"".equals(tableName) && tableName!= null){
sql.setLength(0);
sql.append("SELECT * FROM "+tableName+" where rownum = 1").append("\n\t");
builder.clear();
builder.appendSql(sql.toString());
IRowSet irs2 = builder.executeQuery();

//获取横表或者历史表的所有字段,并和模板的columnName比较,存在则添加到column中

ResultSetMetaData rsmd = irs2.getMetaData();//get database resultSet
int count = rsmd.getColumnCount();//return resultSet records count
List<String> s = new ArrayList<String>();
for(int i=1;i<count ;i++){
s.add(rsmd.getColumnName(i));
}

/**
* columms 数组链表
* 用于存储需要查询的字段名称
*/
/*FFSAL477-->银行转账(含暂缓)
FFSAL479-->是否发放上月止暂缓
FFSAL481-->截止上月薪资未发放
FFSAL483-->截止本月薪资未发放
FFSAL485-->发放上月止暂缓工资
FFSAL487-->是否暂缓
FFSAL475-->实领工资(含暂缓)
FFSAL495-->现金发放
FFSAL490-->领现金*/
//用于存储需要查询的字段名称 :
    List<String> columns = new ArrayList<String>();
//获取查询的字段名称,没有的字段为Null
for(String cn : columnName){//String cn = '';columnName<=list.length;list++
if(s.contains(cn)){//存在则添加到column中
//是暂缓||是发放上月止暂缓
if("FFSAL256".equals(cn) || "FFSAL259".equals(cn))
columns.add("TO_CHAR("+cn+") AS "+cn);//
else{
/*判断是否为莆田薪酬方案,是的话执行莆田薪酬方案项目值字段替换
* T_HR_SCHM_61446536527612
**/

if(tableName.equals("T_HR_SCHM_61446536527612"))
{
columns.add("T_HR_SCHM_61446536527612.FFSAL481 AS"+ cn);
}else if
columns.add(cn);
}
}else//不存在则null AS
columns.add("null AS "+cn);
}

String column = columns.toString().replaceAll("(\\[)|(\\])", " ");

if(index != 0){
sb.append(" UNION ALL").append("\n\t");
}
sb.append("SELECT '"+tableName+"' as tableName,"+column+" FROM "+tableName).append("\n\t");

index++;
}
}
    } catch (BOSException e1) {
    e1.printStackTrace();
    } catch (SQLException e1) {
    e1.printStackTrace();

    }
    debugInfoToTxt(sb);
    System.out.println(sb.toString());
return sb.toString();
    }
 
   
    @Override
    public void actionSearch_actionPerformed(ActionEvent e) throws Exception {
    setWhereSql();
    fillTable();
    }
   
  //汇总
private String getTotalSql(String whereSql) throws EASBizException, BOSException {
String mainSql = mainSql().toString();
//Debug info
StringBuilder sql = new StringBuilder();
if(mainSql.length() > 0){
    sql.append("/*dialect*/").append("\n\t");
    sql.append("SELECT").append("\n\t");

      sql.append("SUM(FFSAL235) AS FFSAL235,  ").append("\n\t");
      sql.append("SUM(FFSAL233) AS FFSAL233,  ").append("\n\t");
      sql.append("SUM(FFSAL234) AS FFSAL234,  ").append("\n\t");
      sql.append("SUM(FFSAL236) AS FFSAL236,  ").append("\n\t");
      sql.append("SUM(FFSAL252 ) AS FFSAL252,   ").append("\n\t");
      sql.append("SUM(FFSAL251 ) AS FFSAL251  , ").append("\n\t");
      sql.append("SUM(FFSAL254 ) AS FFSAL254    ").append("\n\t");

   
    sql.append("FROM ").append("\n\t");
    //table is sql compensation scheme.
    sql.append("("+mainSql+")").append("\n\t");
   
//     if(whereSql != null && !"".equals(whereSql)){
//     sql.append(whereSql).append("\n\t");
//     sql.append("GROUP BY FFSAL256").append("\n\t");
//     }   
   

}
debugInfoToTxt(sql);
System.out.println(sql.toString());
return sql.toString();
}


//设置底部汇总行
private void setFootRow() throws EASBizException, BOSException {
IRow footRow1 = null;

KDTFootManager footRowManager = kDTable1.getFootManager();
if (footRowManager == null) {
footRowManager = new KDTFootManager(kDTable1);
footRowManager.addFootView();
kDTable1.setFootManager(footRowManager);
}
footRow1 = footRowManager.getFootRow(0);

String whereSql = null;

if (footRow1 == null) {
footRow1 = footRowManager.addFootRow(0);
}


footRowManager.addIndexText(0, "合计");




//总计
whereSql = null ;
String sql = getTotalSql(whereSql).toString();
if(sql!=null && !"".equals(sql)){
fillFootRow(footRow1, sql );
}

footRow1.getStyleAttributes().setBackground(new Color(246, 246, 191));

}
public void debugInfoToTxt(StringBuilder sb)throws FileNotFoundException,IOException{
sb = new StringBuilder();
sb.append("JAVADEBUGINFO粑葛");
int n = 100;
//声明流对象
FileOutputStream fos = null;
fos = new FileOutputStream("d:\\ur0652\\sysOutPrint\\sysOutPrint.txt");
//转换为字节数组
byte[] b1 = sb.toString().getBytes();
//追加回车和换行符
byte[] b2 = "\r\n".getBytes();
byte[] b3 = String.valueOf(n).getBytes();
//依次写入文件
fos.write(b1);
fos.write(b2);
fos.write(b3);
//close file output stream object
fos.close();
}

}
分享到:
EAS
评论

相关推荐

    停车场管理系统c语言.docx

    问题描述: 停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在停车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入; 当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。 1.基本要求 (1)以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。 (2)每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去;则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。 (3)栈以顺序结构实现,队列以链表实现。 2.重点难点 重点:针对停车场问题的特点,利

    精选毕设项目-人民好公仆小程序(生活+便民+政务).zip

    精选毕设项目-人民好公仆小程序(生活+便民+政务)

    精选毕设项目-相册;处理用户信息.zip

    精选毕设项目-相册;处理用户信息

    精选毕设项目-喵喵小说.zip

    精选毕设项目-喵喵小说

    精选毕设项目-图片预览带后端.zip

    精选毕设项目-图片预览带后端

    精选项目-爱靓女带后台.zip

    精选项目-爱靓女带后台

    法院综合安全监管平台解决方案PPT(53页).pptx

    在科技与司法的交响曲中,智慧法院应运而生,成为新时代司法服务的新篇章。它不仅仅是一个概念,更是对法院传统工作模式的一次深刻变革。智慧法院通过移动信息化技术,为法院系统注入了强大的生命力,有效缓解了案多人少的矛盾,让司法服务更加高效、便捷。 立案、调解、审判,每一个阶段都融入了科技的智慧。在立案阶段,智慧法院利用区块链技术实现可信存证,确保了电子合同的合法性和安全性,让交易双方的身份真实性、交易安全性得到了有力见证。这不仅极大地缩短了立案时间,还为后续审判工作奠定了坚实的基础。在调解阶段,多元调解服务平台借助人工智能、自然语言处理等前沿技术,实现了矛盾纠纷的快速化解。无论是矛盾类型的多元化,还是化解主体的多元化,智慧法院都能提供一站式、全方位的服务,让纠纷解决更加高效、和谐。而在审判阶段,智能立案、智能送达、智能庭审、智能判决等一系列智能化手段的应用,更是让审判活动变得更加智能化、集约化。这不仅提高了审判效率,还确保了审判质量的稳步提升。 更为引人注目的是,智慧法院还构建了一套完善的执行体系。移动执行指挥云平台的建设,让执行工作变得更加精准、高效。执行指挥中心和信息管理中心的一体化应用,实现了信息的实时传输和交换,为执行工作提供了强有力的支撑。而执行指挥车的配备,更是让执行现场通讯信号得到了有力保障,应急通讯能力得到了显著提升。这一系列创新举措的实施,不仅让执行难问题得到了有效解决,还为构建诚信社会、保障金融法治化营商环境提供了有力支撑。智慧法院的出现,让司法服务更加贴近民心,让公平正义的阳光更加温暖人心。

    西门子1200与3台台达DTK温控器通讯程序 功能:实现西门子1200 PLC对3台台达DTK温控器进行485通讯控制,在触摸屏上设定温度,读取温度 器件:西门子12

    西门子1200与3台台达DTK温控器通讯程序 功能:实现西门子1200 PLC对3台台达DTK温控器进行485通讯控制,在触摸屏上设定温度,读取温度 器件:西门子1200 1214DC DC DC.昆仑通态TPC7062Ti ,西门子KTP700 Basic PN,台达DTK 4848V12温控器。 说明:的是程序,带详细注释程序,西门子触摸屏程序,PLC设置和温控器设置,接线说明书。 #SIEMENS 西门子

    机械设计电阻绕线焊线一体机sw18全套技术资料100%好用.zip

    机械设计电阻绕线焊线一体机sw18全套技术资料100%好用.zip

    VB6编写的上位机采集2路温度 并形成曲线图 还可查看历史数据

    VB6编写的上位机源码,可实时显示曲线图,带有数据库,可以进行历史数据的保存 及 查看历史采集数据。

    精选毕设项目-新浪读书.zip

    精选毕设项目-新浪读书

    jQuery+Slick插件实现游戏人物轮播展示切换特效源码.zip

    jQuery+Slick插件实现游戏人物轮播展示切换特效源码是一款通过背景图片的切换来显示不同的人物效果,轮播效果通过slick幻灯片插件来制作。效果非常棒,有需要的朋友可以直接下载使用,适应各大网站

    精选毕设项目-地图查找附件.zip

    精选毕设项目-地图查找附件

    (蛐蛐voc数据)农作物病虫害识别目标检测数据集,VOC格式,蛐蛐数据集,纯手动标注,用来进行目标检测代码训练的数据

    (蛐蛐voc数据)农作物病虫害识别目标检测数据集,VOC格式,蛐蛐数据集,纯手动标注,用来进行目标检测代码训练的数据。

    MATLAB Simulink仿真模型 双馈风机并网频率控制仿真模型,利用下垂控制与惯性控制结合的综合惯性控制,实现电力系统的频率稳定,两台同步发电机组,具体参数可自行调节,频率波形比较可利用matl

    MATLAB Simulink仿真模型 双馈风机并网频率控制仿真模型,利用下垂控制与惯性控制结合的综合惯性控制,实现电力系统的频率稳定,两台同步发电机组,具体参数可自行调节,频率波形比较可利用matlab工作区画出。

    科研项目结题报告的撰写指南:结构、内容与注意事项

    一、结题报告的类型及主要结构 结题报告是一种专门用于科研课题结题验收的实用性报告类文体,也叫研究报告。它是研究者在课题研究结束后对科研课题研究过程和研究成果进行客观、全面、实事求是的描述,是课题研究所有材料中最主要的材料,也是科研课题结题验收的主要依据。   一篇规范、合格的结题报告,需要回答好3个问题:一是“为什么要选择这项课题进行研究?”二是“这项课题是怎样进行研究的?”三是“课题研究取得哪些研究成果?”  基本结构大致包括以下部分: 第一个问题 “为什么要选择这项课题进行研究?”  1.课题提出的背景;2.课题研究的意义(包括理论意义和现实意义,这个部分也可以合并归入“课题提出的背景”部分);第二个问题“这项课题是怎样进行研究的?”3.文献综述;4.课题研究的理论依据;5.课题研究的目标;6.课题研究的主要内容;7.课题研究的对象;8.课题研究的方法;9. 课题研究的主要过程(研究的步骤);   除了第9部分外,从第1到第8部分在填报课题立项申报表、在制定课题研究方案、在开题报告中,都有要求,内容基本相同。到了撰写结题报告时,只须稍作适当修改就可以了。而第9部分,则需要通过对

    1+X网络安全应急响应之应急准备:构建高效安全的应急响应体系

    内容概要:本文档重点讲述了网络安全应急响应的各项准备工作,涵盖了‘1+X’网络安全应急响应的职业技能等级证书概述、应急响应的基础知识、应急响应组织的建立、风险评估与改进、应急响应预案的制定以及详细的应急响应计划处置样例。文中详细介绍了各级职业技能的要求和任务,尤其关注如何未雨绸缪,制定完善的应急预案以应对潜在的网络安全风险;同时也探讨了如何在网络安全事件发生时,采取及时有效的应急处置措施。 适合人群:从事或有兴趣进入网络安全领域的从业人员,尤其是准备考取‘1+X’网络安全应急响应职业技能等级证书的相关人员。 使用场景及目标:帮助读者了解网络安全应急响应的基本概念及其在整个国家安全框架中的重要地位;指导读者学会如何建立健全高效的应急响应组织结构,如何进行全面的风险评估以及如何编制切实可行的应急预案;通过实例剖析,增强读者应对突发网络安全事件的能力。文档的目标在于提升读者在不同层面的专业技能,包括但不限于系统备份、日志分析、安全漏洞修复等方面的能力。 阅读建议:此文档结构清晰,内容详尽,非常适合有一定基础的技术从业者参考学习。建议读者逐章节深入了解,特别是关注自身岗位对应的技能细分类别。此外,结合实例深入理解和练习如何进行应急处置是非常有价值的,有助于提升自身的实战能力。

    电动汽车动力系统匹配计算模型:输入整车参数及性能要求,一键生成驱动系统的扭矩功率峰值转速等参数 2、整车动力经济性计算模型:包含NEDC WLTC CLTC工况,输入整车参数可生成工况电耗、百公里电

    电动汽车动力系统匹配计算模型:输入整车参数及性能要求,一键生成驱动系统的扭矩功率峰值转速等参数。 2、整车动力经济性计算模型:包含NEDC WLTC CLTC工况,输入整车参数可生成工况电耗、百公里电耗、匀速工况续航、百公里电耗等信息。 实际项目中使用的计算仿真模型. 两个模型打包

    chromedriver-linux64_122.0.6254.0.zip

    chromedriver-linux64_122.0.6254.0

Global site tag (gtag.js) - Google Analytics