private void setDTOInfo(Worksheet sheet, List<HcDTOInfo> dtoList) { var name = sheet.Name; if (name.Length > 3 && name.Substring(name.Length - 3, 3).Equals("DTO")) { var dtoInfo = new HcDTOInfo(); Range range = null; range = (Range)sheet.Cells[2, 3]; dtoInfo.Name = range.Value.ToString(); range = (Range)sheet.Cells[1, 3]; dtoInfo.Caption = range.Value.ToString(); int iRow = 5; range = (Range)sheet.Cells[iRow, 3]; var cellValue = range.Value; dtoInfo.FieldArray = new List<HcFieldInfo>(); while (cellValue != null && !string.IsNullOrEmpty(cellValue.ToString())) { var field = new HcFieldInfo(); field.name = cellValue.ToString(); range = (Range)sheet.Cells[iRow, 2]; field.caption = range.Value.ToString(); range = (Range)sheet.Cells[iRow, 4]; field.FieldTypeString = range.Value.ToString(); dtoInfo.FieldArray.Add(field); iRow += 1; range = (Range)sheet.Cells[iRow, 3]; cellValue = range.Value; } dtoList.Add(dtoInfo); } }
private void setInDTO(Worksheet sheet, HcServiceInfo serviceInfo, ref int irow) { var inDto = new HcDTOInfo(); inDto.Caption = serviceInfo.Caption + "的InDTO"; var range = (Range)sheet.Cells[19, 2]; inDto.Name = range.Value.ToString(); range = (Range)sheet.Cells[20, 15]; var cellValue = range.Value; inDto.FieldArray = new List<HcFieldInfo>(); while (cellValue != null && !string.IsNullOrEmpty(cellValue.ToString())) { var field = new HcFieldInfo(); field.name = cellValue.ToString(); range = (Range)sheet.Cells[irow, 3]; field.caption = range.Value.ToString(); range = (Range)sheet.Cells[irow, 22]; field.FieldTypeString = range.Value.ToString(); inDto.FieldArray.Add(field); irow += 1; range = (Range)sheet.Cells[irow, 15]; cellValue = range.Value; } serviceInfo.InDTO = inDto; }
private void writeDTO(DirectoryInfo newFolder, HcDTOInfo dto) { var file = new FileStream(string.Format(@"{0}\{1}.java", newFolder.FullName, dto.Name), FileMode.Create, FileAccess.Write); using (StreamWriter writer = new StreamWriter(file, System.Text.Encoding.UTF8)) { writer.WriteLine(@"/**"); writer.WriteLine(@" * "); writer.WriteLine(@" */"); writer.WriteLine(@"package com.xl.frame.entity;"); writer.WriteLine(@""); if (dto.FieldArray.FindAll(d => d.FieldType == EmFieldType.DTOArray).Count > 0) { writer.WriteLine(@"import java.util.ArrayList;"); } writer.WriteLine(@"import java.util.HashMap;"); if (dto.FieldArray.FindAll(d => d.FieldType == EmFieldType.DTOArray).Count > 0) { writer.WriteLine(@"import java.util.List;"); } writer.WriteLine(@""); dto.FieldArray.FindAll(d => d.FieldType == EmFieldType.DTO).ForEach(item => { writer.WriteLine(@"import com.xl.frame.entity.{0};", item.FieldTypeString); }); writer.WriteLine(@""); writer.WriteLine(@"public class {0} extends BaseEntity implements IBaseEntity {{", dto.Name); writer.WriteLine(@""); writer.WriteLine(@" /**"); writer.WriteLine(@" * "); writer.WriteLine(@" */"); writer.WriteLine(@" private static final long serialVersionUID = 1L;"); writer.WriteLine(@""); foreach (var field in dto.FieldArray) { writer.WriteLine(@""); writer.WriteLine(@" public {0} {1}; // {2}", getFieldTypeInString(field.FieldType, field.FieldTypeString), field.name.ToPrivateDefinition(), field.caption); } writer.WriteLine(@""); writer.WriteLine(@" @Override"); writer.WriteLine(@" public HashMap<String, Object> buildRequestData() {"); writer.WriteLine(@" HashMap<String, Object> params = new HashMap<String, Object>({0});", dto.FieldArray.Count); var lstField = dto.FieldArray.FindAll(d => isBaseType(d.FieldType)); if (lstField != null) { foreach (var item in lstField) { writer.WriteLine(@" params.put(""{0}"", this.{1});", item.name, item.name.ToPrivateDefinition()); } } lstField = dto.FieldArray.FindAll(d => isArrayType(d.FieldType)); if (lstField != null) { if (lstField.Count > 0) { foreach (var item in lstField) { if (item.FieldType == EmFieldType.DTOArray) { writer.WriteLine(@" List<HashMap<String, Object>> array{0} = new ArrayList<HashMap<String, Object>>();", item.name); writer.WriteLine(@" for (IBaseEntity entity : this.{0}) {{", item.name.ToPrivateDefinition()); writer.WriteLine(@" array{0}.add(entity.buildRequestData());", item.name.ToPrivateDefinition()); writer.WriteLine(@" }"); writer.WriteLine(@" if (array{0}.size()>0) {{", item.name.ToPrivateDefinition()); writer.WriteLine(@" params.put(""{0}"",array{1});", item.name, item.name.ToPrivateDefinition()); writer.WriteLine(@" }"); } else { writer.WriteLine(@" if (this.{0}.length>0) {{", item.name.ToPrivateDefinition()); writer.WriteLine(@" params.put(""{0}"", this.{1});", item.name, item.name.ToPrivateDefinition()); writer.WriteLine(@" }"); } } } } lstField = dto.FieldArray.FindAll(d => d.FieldType == EmFieldType.DTO); if (lstField != null) { if (lstField.Count > 0) { foreach (var item in lstField) { writer.WriteLine(@" HashMap<String, Object> map{0} = this.{1}.buildRequestData();", item.name, item.name.ToPrivateDefinition()); writer.WriteLine(@" if (map{0} != null) {{", item.name); writer.WriteLine(@" params.put(""{0}"", map{0});", item.name.ToPrivateDefinition()); writer.WriteLine(@" }"); } } } writer.WriteLine(@" return params;"); writer.WriteLine(@" }"); writer.WriteLine(@""); writer.WriteLine(@" @Override"); writer.WriteLine(@" public Boolean checkInputData() {"); foreach (var item in dto.FieldArray) { if (item.FieldCheckType != null && item.FieldCheckType.Count > 0) { foreach (var chk in item.FieldCheckType) { switch (chk) { case EmCheckType.MustEnter: getMustInput(writer, item); break; default: getMustInput(writer, item); break; } } } } writer.WriteLine(@" return true;"); writer.WriteLine(@" }"); writer.WriteLine(@"}"); } }
private void writeDTO(DirectoryInfo newFolder, HcDTOInfo info) { var path = newFolder.FullName + @"\DTO"; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var fileName = string.Format(@"{0}", info.Name); var file = new FileStream(string.Format(@"{0}\{1}.h", path, fileName), FileMode.Create, FileAccess.Write); using (StreamWriter writer = new StreamWriter(file, System.Text.Encoding.UTF8)) { writer.WriteLine(@"//"); writer.WriteLine(@"// {0}.h", fileName); writer.WriteLine(@"// {0}", Constants.ProjectName); writer.WriteLine(@"//"); writer.WriteLine(@"// Created by xiao huama on {0}.", DateTime.Now.ToString("yy/MM/dd")); writer.WriteLine(@"// {0}", Constants.CompanyName); writer.WriteLine(@"//"); writer.WriteLine(@"#import ""ServiceBaseModel.h"""); foreach (var item in info.FieldArray.FindAll(d => d.FieldType == EmFieldType.DTO || d.FieldType == EmFieldType.DTOArray)) { if (item.FieldType == EmFieldType.DTO) { writer.WriteLine(@"#import ""{0}.h""", item.FieldTypeString); } else { writer.WriteLine(@"#import ""{0}.h""", item.FieldTypeString.Replace("[]", String.Empty)); } } writer.WriteLine(@""); writer.WriteLine(@"@interface {0} : ServiceBaseModel", fileName); writer.WriteLine(@""); foreach (var field in info.FieldArray) { writer.WriteLine(@"@property(nonatomic,strong){0} *{1}; /**< {2}*/", getFieldTypeOutString(field.FieldType, field.FieldTypeString), field.name.ToPrivateDefinition(), field.caption); } writer.WriteLine(@""); writer.WriteLine(@""); writer.WriteLine(@"@end"); } file = new FileStream(string.Format(@"{0}\{1}.m", path, fileName), FileMode.Create, FileAccess.Write); using (StreamWriter writer = new StreamWriter(file, System.Text.Encoding.UTF8)) { writer.WriteLine(@"//"); writer.WriteLine(@"// {0}.m", fileName); writer.WriteLine(@"// {0}", Constants.ProjectName); writer.WriteLine(@"//"); writer.WriteLine(@"// Created by xiao huama on {0}.", DateTime.Now.ToString("yy/MM/dd")); writer.WriteLine(@"// {0}", Constants.CompanyName); writer.WriteLine(@"//"); writer.WriteLine(@""); writer.WriteLine(@"#import ""{0}.h""", fileName); writer.WriteLine(@""); writer.WriteLine(@"@implementation {0}", fileName); writer.WriteLine(@""); writer.WriteLine(@"- (void)loadDataWithJsonData:(id)jsonData"); writer.WriteLine(@"{"); writer.WriteLine(@" if (![jsonData isKindOfClass:[NSDictionary class]]) {"); writer.WriteLine(@" return;"); writer.WriteLine(@" }"); writer.WriteLine(@" if (!jsonData) {"); writer.WriteLine(@" return;"); writer.WriteLine(@" }"); foreach (var field in info.FieldArray) { if (isNumberType(field.FieldType)) { writer.WriteLine(@" if (![jsonData[@""{0}""] isKindOfClass:[NSNull class]]) {{", field.name.ToPrivateDefinition()); writer.WriteLine(@" self.{0} = jsonData[@""{0}""];", field.name.ToPrivateDefinition()); writer.WriteLine(@" }"); } else if (field.FieldType == EmFieldType.DTO) { writer.WriteLine(@" if ([jsonData[@""{0}""] isKindOfClass:[NSDictionary class]]) {{", field.name.ToPrivateDefinition()); writer.WriteLine(@" self.{0} = [[{1} alloc] init];", field.name.ToPrivateDefinition(), field.FieldTypeString); writer.WriteLine(@" [self.{0} loadDataWithJsonData:jsonData[@""{0}""]];", field.name.ToPrivateDefinition()); writer.WriteLine(@" }"); } else { writer.WriteLine(@" if ([jsonData[@""{0}""] isKindOfClass:[NSArray class]]) {{", field.name.ToPrivateDefinition()); writer.WriteLine(@" if ([jsonData[@""{0}""] count]>0) {{", field.name.ToPrivateDefinition()); writer.WriteLine(@" NSMutableArray *tempArray = [NSMutableArray array];"); writer.WriteLine(@" for (id data in jsonData[@""{0}""]) {{", field.name.ToPrivateDefinition()); if (isStringArray(field.FieldTypeString.Replace("[]", ""))) { writer.WriteLine(@" [tempArray addObject:data];"); } else { writer.WriteLine(@" [tempArray addObject:[[{0} alloc]initWithJsonData:data]];", field.FieldTypeString.Replace("[]", "")); } writer.WriteLine(@" }"); writer.WriteLine(@" self.{0} = tempArray;", field.name.ToPrivateDefinition()); writer.WriteLine(@" }"); writer.WriteLine(@" }"); } } writer.WriteLine(@"}"); writer.WriteLine(@""); writer.WriteLine(@"-(NSMutableDictionary *)buildRequestData"); writer.WriteLine(@"{"); var lstField = info.FieldArray.FindAll(d => isBaseType(d.FieldType)); writer.WriteLine(@" NSMutableDictionary *dic = [super buildVerificationData];"); if (lstField != null) { foreach (var item in lstField) { writer.WriteLine(@" if (self.{0}) {{", item.name.ToPrivateDefinition()); writer.WriteLine(@" dic[@""{0}""] = self.{0};", item.name.ToPrivateDefinition()); writer.WriteLine(@" }"); } } lstField = info.FieldArray.FindAll(d => isArrayType(d.FieldType)); if (lstField != null) { if (lstField.Count > 0) { foreach (var item in lstField) { if (item.FieldType == EmFieldType.DTOArray) { writer.WriteLine(@" NSMutableArray *array{0} =[NSMutableArray array];", item.name.ToPrivateDefinition()); writer.WriteLine(@" for (BaseModel *mode in self.{0}) {{", item.name.ToPrivateDefinition()); writer.WriteLine(@" [array{0} addObject:[mode buildRequestData]];", item.name.ToPrivateDefinition()); writer.WriteLine(@" }"); writer.WriteLine(@" if (array{0}.count>0) {{", item.name.ToPrivateDefinition()); writer.WriteLine(@" dic[@""{0}""] = array{0};", item.name.ToPrivateDefinition()); writer.WriteLine(@" }"); } else { writer.WriteLine(@" if (self.{0}.count>0) {{", item.name.ToPrivateDefinition()); writer.WriteLine(@" dic[@""{0}""] = self.{0};", item.name.ToPrivateDefinition()); writer.WriteLine(@" }"); } } } } lstField = info.FieldArray.FindAll(d => d.FieldType == EmFieldType.DTO); if (lstField != null) { if (lstField.Count > 0) { foreach (var item in lstField) { writer.WriteLine(@" NSDictionary *{0}Dic = [self.{0} buildRequestData];", item.name.ToPrivateDefinition()); writer.WriteLine(@" if ({0}Dic) {{", item.name.ToPrivateDefinition()); writer.WriteLine(@" dic[@""{0}""] = {0}Dic;", item.name.ToPrivateDefinition()); writer.WriteLine(@" }"); } } } writer.WriteLine(@" return dic;"); writer.WriteLine(@"}"); writer.WriteLine(@""); writer.WriteLine(@"@end"); } }
private void writeDTO(String path, HcDTOInfo info, String subName) { if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var file = new FileStream(string.Format(@"{0}\{1}.java", path, info.Name), FileMode.Create, FileAccess.Write); using (StreamWriter writer = new StreamWriter(file, System.Text.Encoding.UTF8)) { writer.WriteLine(@"/**"); writer.WriteLine(@" * {0}", Constants.ProjectName); writer.WriteLine(@" * {0}", Constants.CompanyName); writer.WriteLine(@" */"); writer.WriteLine(@"package " + Constants.Package + @".main.biz." + subName + ".dto;"); writer.WriteLine(@""); if (info.FieldArray != null && info.FieldArray.Count > 0) { writer.WriteLine(@"import " + Constants.Package + @".fw.core.type.Alias;"); } writer.WriteLine(@""); writer.WriteLine(@"/**"); writer.WriteLine(@" * {0} DTO", info.Name); writer.WriteLine(@" *"); writer.WriteLine(@" * History"); writer.WriteLine(@" * REV. Updated Date Updater Infomation"); writer.WriteLine(@" * ------- --------------- ---------------- ------------------"); writer.WriteLine(@" * 1.0 {0} TOOL Create", DateTime.Now.ToString("yyyy/MM/dd")); writer.WriteLine(@" *"); writer.WriteLine(@" */"); writer.WriteLine(@"@" + Constants.Package + @".fw.core.type.AliasKanJi(""{0}"")", info.Caption); writer.WriteLine(@"public class {0} implements java.io.Serializable, Comparable<{0}> {{", info.Name); writer.WriteLine(@" /**"); writer.WriteLine(@" * System ID"); writer.WriteLine(@" */"); writer.WriteLine(@" private static final long serialVersionUID = 1L;"); writer.WriteLine(@""); foreach (var field in info.FieldArray) { writer.WriteLine(@" /**"); writer.WriteLine(@" * {0} ", field.caption); writer.WriteLine(@" */"); writer.WriteLine(@" @Alias(""{0}"")", field.caption); writeFieldCheck(writer, field); writer.WriteLine(@" private {0} {1} = null;", getFieldTypeString(field.FieldType, field.FieldTypeString), field.name.ToPrivateDefinition()); writer.WriteLine(@""); } foreach (var field in info.FieldArray) { writer.WriteLine(@" /**"); writer.WriteLine(@" * <code>{0}</code>返回", field.caption); writer.WriteLine(@" * @return <code>{0}</code>", field.caption); writer.WriteLine(@" */"); writer.WriteLine(@" public {0} get{1}() {{", getFieldTypeString(field.FieldType, field.FieldTypeString), field.name.ToTitleCase()); writer.WriteLine(@" return this.{0};", field.name.ToPrivateDefinition()); writer.WriteLine(@" }"); writer.WriteLine(@""); writer.WriteLine(@" /**"); writer.WriteLine(@" * <code>{0}</code>设定", field.name); writer.WriteLine(@" * @param {0} <code>{0}</code>设定值", field.name); writer.WriteLine(@" */"); writer.WriteLine(@" public void set{0}(", field.name.ToTitleCase()); writer.WriteLine(@" {0} {1}) {{", getFieldTypeString(field.FieldType, field.FieldTypeString), field.name.ToPrivateDefinition()); writer.WriteLine(@" this.{0} = {0};", field.name.ToPrivateDefinition()); writer.WriteLine(@" }"); writer.WriteLine(@""); } writer.WriteLine(@" /* (non-Javadoc)"); writer.WriteLine(@" * @see java.lang.Comparable#compareTo(java.lang.Object)"); writer.WriteLine(@" */"); writer.WriteLine(@" @Override"); writer.WriteLine(@" public int compareTo({0} compareToDTO) {{", info.Name); writer.WriteLine(@" return this.equals(compareToDTO) ? 0 : -1;"); writer.WriteLine(@" }"); writer.WriteLine(@"}"); } }