上海市第二中级人民法院
民 事 判 决 书
（2015）沪二中民四（商）终字第1056号
上诉人（原审原告）江苏永纪化工设备有限公司，住所地江苏省扬州市。
法定代表人贾永季，董事长。
委托代理人唐玉明，江苏润扬律师事务所律师。
被上诉人（原审被告）上海上唯环境工程有限公司，住所地上海市。
法定代表人孙在柏，总经理。
委托代理人许剑菁，上海剑菁律师事务所律师。
上诉人江苏永纪化工设备有限公司（以下简称“永纪公司”）因承揽合同纠纷一案，不服上海市闸北区人民法院（2013）闸民二（商）初字第892号民事判决，向本院提起上诉。本院依法组成合议庭，公开开庭审理了本案。上诉人永纪公司之委托代理人唐玉明、被上诉人上海上唯环境工程有限公司（以下简称“上唯公司”）之委托代理人许剑菁到庭参加诉讼。本案现已审理终结。
原审法院经审理查明，2012年11月9日，永纪公司与上唯公司签订《东方希望包头稀土铝业有限责任公司电厂二期2×350MW机组氨法脱硫电除雾器总包合同》（以下简称“《总包合同》”）一份。合同约定，合同工程上唯公司以总承包方式交予永纪公司承包完成（交钥匙工程）；工程所有技术来源、设备、材料、土建施工及系统安装、调试全部由永纪公司提供完成；总承包内容：电除雾器工程设计、设备采购、各种工程材料采购、土建工程建设、设备加工及安装、系统调试等，各项技术、经济指标符合国家行业标准及双方签订的《电厂二期2×350MW机组氨法脱硫电除雾器技术协议书》（以下简称“《技术协议书》”）要求；工程项目及价格组成：电除雾器1套，916万元，工程费282万元，合计1，198万元；设备供货详见《技术协议书》；工程开工日期：合同生效之日（指双方共同签字、盖章确认、预付到账日期）；工程竣工日期：合同生效后力争90天内完成，保证120天内完成；合同签订后，上唯公司向永纪公司支付合同总额的10%作为合同履约定金，同时付冬季施工临设费；永纪公司应保证具备履行合同承包任务的所有相关资质，并将资质提交永纪公司审核、备案，如永纪公司不具备上述资质时，应及时通知上唯公司，上唯公司有权解除合同；合同项下所有通知均应采用书面形式以传真、邮寄或派专人送达，双方有关的地址、联系人及电话、传真号见合同尾部“签署栏”详细记载；合同《技术协议》等与合同具有同等法律效力等。合同“签署栏”记载：永纪公司地址江苏扬州方巷工业集中区，电话0514-XXXX****，传真0514-XXXXXXXX等。
签约后，双方未签订《技术协议书》，永纪公司未向上唯公司提交履行合同的相关资质，上唯公司未向永纪公司支付合同履约定金。同年11月14日，上唯公司以传真方式向永纪公司发出《解除合同通知》，认为永纪公司不具备工程设计、土建工程、设备安装方面的相关资质，通知永纪公司解除双方签订的《总包合同》。同日，永纪公司致函上唯公司称，合同签订后，永纪公司已备料生产，现已完成198万元的工作量，要求上唯公司支付合同履约保证金110万元及冬季施工费50万元。11月16日，上唯公司再次以快递方式向永纪公司发送《解除合同通知》（内容同传真）。11月18日，上唯公司致函永纪公司称，双方签订的合同，由于永纪公司不具备相应资质，属无效合同，上唯公司已正式通知永纪公司解除合同。11月23日，永纪公司致函上唯公司称，上唯公司《解除合同通知》，永纪公司于11月18日收到，认为永纪公司有资格承揽电除雾器，要求继续履行原合同，如解除合同，永纪公司要求上唯公司赔偿损失。11月29日，上唯公司致函永纪公司称，双方的合同已经解除，认为永纪公司不具备相关资质，合同属无效，责任在永纪公司一方。
永纪公司遂诉至原审法院，请求判令上唯公司赔偿永纪公司经济损失人民币70万元（人民币，下同）、赔偿永纪公司可得利益30万元。
另查明，永纪公司的经营范围包括化工成套设备的制造、加工、安装等；但不具备环保工程专业承包企业资质。
原审法院经审理后认为，本案争议焦点：合同是否有效；如合同有效，合同解除后，永纪公司是否有权主张经济损失及收益。
第一、合同的效力。永纪公司认为，永纪公司具备承揽系争设备的资质，合同应属有效；上唯公司认为，永纪公司不具备履约的相关资质，合同应属无效；原审法院认为，系争合同包括电除雾器工程设计、设备采购、各种工程材料采购、土建工程建设、设备加工及安装、系统调试等多项内容，本案永纪公司具备承揽除土建工程建设外的合同内容的资质，而土建工程建设系合同的一小部分，永纪公司虽不具备环保工程专业承包企业资质，但可以委托具有资质的第三方完成土建工程建设部分，上唯公司仅以永纪公司不具备环保工程专业承包企业资质为由要求确认合同无效，理由不成立，原审法院确认系争合同有效。
第二、永纪公司是否有权主张损失及收益。永纪公司认为，上唯公司单方解除合同属违约行为，造成永纪公司经济损失，上唯公司应当予以赔偿。上唯公司认为，永纪公司未按约提供履约的相关资质，上唯公司按约解除合同，不同意永纪公司的诉请。原审法院认为，系争合同签订后，双方未签订《技术协议书》，永纪公司未向上唯公司提交履行合同的相关资质，上唯公司亦未向永纪公司支付合同履约定金；后上唯公司根据合同的约定，采用书面形式以传真（2012年11月14日）及快递（2012年11月16日）方式向永纪公司发出《解除合同通知》，双方的合同已实际解除，上唯公司并无不当；况且从合同签订至合同解除短短数日，永纪公司在未签订技术协议、未收取合同履约保证金的情况下，即完成了部分配件的加工，有违常理，永纪公司提供的证据亦不足以证明其已完成的部分配件系系争合同项下的配件，故永纪公司主张的损失及收益的诉请，既无事实根据又无法律依据，原审法院不予支持。
原审法院据此依照《中华人民共和国合同法》九十七条、《中华人民共和国民事诉讼法》第六十四条第一款、《最高人民法院关于民事诉讼证据的若干规定》第二条之规定作出判决：驳回永纪公司的诉讼请求。案件受理费人民币13，800元，由永纪公司负担。
原审判决后，上诉人永纪公司不服，向本院提起上诉称：1、双方洽谈业务时永纪公司已提交营业执照，上唯公司明知永纪公司不具备土建资质，而土建是永纪公司应上唯公司的要求才一并承揽的，上唯公司在提出解约前并未要求永纪公司提交相关资质；且永纪公司可以将土建工程委托第三方完成以达到相应建造要求，系争合同无需解除。2、在化工设备承揽中，一般程序都是先签技术协议，依据技术协议报价，商谈一致后签订合同，不存在先签合同再确定技术协议的情况。本案业务因是上唯公司转包，上唯公司与业主之间有技术协议，本合同技术协议已经签订，内容与该技术协议一致，永纪公司的报价也是依据该技术协议作出。永纪公司在原审中提交的设备清单及照片、发给上唯公司的函，以及核算单及采购原材料发票，均能证明永纪公司已经制作完成部分设备。3、原审程序违法。原审于2013年11月20日立案受理，应于2014年5月20日前结案，而永纪公司直至2015年6月9日才收到一审判决；原审庭审中永纪公司被要求庭后三日内提交设计图纸，永纪公司第二日提交图纸，但原审法院却未组织质证，也未在判决中予以表述；永纪公司在扬州起诉时即提交了对已完成设备价格及合同预期利益进行司法鉴定的申请，在移送原审法院后又再一次提出鉴定申请，原审法院对鉴定申请未作出是否准许的表示。据此请求二审撤销原判，改判支持其诉讼请求。
被上诉人上唯公司答辩称：1、系争合同解除是因永纪公司不具备相关资质，上唯公司有权按约解除合同。2、合同实施前，永纪公司应将进度计划交由上唯公司备案，而永纪公司在未签订技术协议以及未进行工程设计的情形下，即主张已经制作了部分配件，并无事实依据，相应的损失亦不成立。据此请求二审驳回上诉，维持原判。
本院经审理查明，原审查明事实属实，本院予以确认。
本院认为，本案二审中双方的争议焦点为：一、双方之间的《总包合同》是否已经解除，上唯公司提出解约是否符合合同约定；二、永纪公司主张的直接损失以及预期利益损失是否成立。
关于第一个争议焦点，本院认为，《总包合同》是双方真实意思的表示，且内容于法无悖，依法成立有效。合同成立后，双方均应按约履行。根据《总包合同》约定，永纪公司应具备履行承包任务的所有相关资质，并将资质提交上唯公司审核、备案，如永纪公司不具备上述资质的，上唯公司有权解除合同。根据《总包合同》内容，该项目应属大气污染防治工程，承办方须具备相应的环保工程资质，而永纪公司不具备该方面资质证书，上唯公司则有权按照《总包合同》约定，解除系争合同。
上唯公司于2012年11月14日以传真方式向永纪公司发出《解除合同通知》，永纪公司收到后虽有异议，但未在三个月内向人民法院提起诉讼，故该合同于永纪公司当日收到该通知时即告解除。
关于第二个争议焦点，永纪公司主张合同解除后的直接损失及预期利益损失，因双方尚未按约签订《技术协议书》，且永纪公司也未收取合同履约保证金，永纪公司在无基础数据的情形下即完成部分配件的加工，其主张不符常理，本院不予采信，故永纪公司提出的直接损失亦不能成立；对于永纪公司提出的预期利益损失，因合同解除系因永纪公司不具备相应环保资质所致，故不存在预期利益问题，本院对此不予支持。
综上所述，原审判决并无不当，本院予以维持。上诉人的上诉理由不能成立，本院不予支持。据此，依照《中华人民共和国民事诉讼法》第一百七十条第一款第（一）项之规定，判决如下：
驳回上诉，维持原判。
二审案件受理费人民币13，800元，由上诉人江苏永纪化工设备有限公司负担。
本判决为终审判决。
审判长 庄龙平
审判员 高增军
审判员 杨怡鸣
二〇一五年十月二十八日
书记员 沈振宇
附：相关法律条文
附：相关的法律条文
《中华人民共和国民事诉讼法》
第一百七十条第二审人民法院对上诉案件，经过审理，按照下列情形，分别处理：
（一）原判决、裁定认定事实清楚，适用法律正确的，以判决、裁定方式驳回上诉，维持原判决、裁定；
……