diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/controller/SarStandProjectLibraryController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/controller/SarStandProjectLibraryController.java index c35f1d7d..e098b0b8 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/controller/SarStandProjectLibraryController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/controller/SarStandProjectLibraryController.java @@ -3,10 +3,16 @@ import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; import com.adc.da.slrs.sarStandProjectLibrary.entity.*; import com.adc.da.slrs.sarStandProjectLibrary.service.impl.SarStandProjectLibraryServiceImpl; +import com.adc.da.sys.util.UUIDUtils; import com.alibaba.excel.EasyExcel; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import io.swagger.annotations.Api; @@ -14,6 +20,8 @@ import com.adc.da.base.web.BaseController; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.net.URLEncoder; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.*; /** *

@@ -218,8 +226,73 @@ public class SarStandProjectLibraryController extends BaseController list){ - sarStandProjectLibraryService.saveBatch(list); - return Result.success("200","新增成功",list); + public ResponseDto save(@RequestBody String jsonStr){ + Head head = new Head(); + ResponseDto responseDto = new ResponseDto(); + +// try { + //是数组就JSONarray,是对象就JSONobject + //把字符串转换成对象 + JsonObject jsonObject = (JsonObject) new JsonParser().parse(jsonStr); + //要把jsonObject里的HEAD强转成JsonObject类型 + JsonObject HEAD = (JsonObject) jsonObject.get("HEAD"); + //因为是最后要取的值了,所以就拿到之后把它转换成String类型 + ; + HEAD.get("CONSUMER").getAsString(); + + head.setBIZTRANSACTIONID(HEAD.get("BIZTRANSACTIONID").getAsString()); + + + //LIST是数组,所以强转成JSONArray + JsonArray LIST = (JsonArray) jsonObject.get("LIST"); + for (int i = 0; i < LIST.size(); i++) { + //把数组中的第一个强转成对象 + JsonObject projectObject = (JsonObject) LIST.get(i); + + //把刚刚拿到的值存到实体类里 + SarStandProjectLibrary sarStandProjectLibrary = new SarStandProjectLibrary(); + sarStandProjectLibrary + .setProjectPlatfor(projectObject.get("eng_platform").getAsString()) + .setProjectNumber(projectObject.get("code").getAsString()) + .setProjectName(projectObject.get("name").getAsString()) + .setProjectClassification(projectObject.get("catalog_name").getAsString()) + .setProjectStatus(projectObject.get("project_status").getAsString()) + .setProjectGroup(projectObject.get("project_group_name").getAsString()) + .setCurrentNode(projectObject.get("project_current_milestone").getAsString()) + .setProjectLevel(projectObject.get("project_level").getAsString()) + .setProductLine(projectObject.get("eng_product_line").getAsString()); + + projectObject.get("target_end_on").getAsString(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + + Date targetBeginOn = null; + try { + targetBeginOn = simpleDateFormat.parse(projectObject.get("target_begin_on").getAsString()); + Date targetEndOn = simpleDateFormat.parse(projectObject.get("target_end_on").getAsString()); + sarStandProjectLibrary + .setProjectStartDate(targetBeginOn) + .setProjectEndDate(targetEndOn); + + } catch (ParseException e) { + e.printStackTrace(); + } + + + sarStandProjectLibrary.setId(UUIDUtils.randomUUID20()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("project_number",sarStandProjectLibrary.getProjectNumber()); + + sarStandProjectLibraryService.saveOrUpdate(sarStandProjectLibrary,queryWrapper); + + } +// }catch (Exception e){ +// head.setERRORCODE("2"); +// head.setRESULT("业务失败需要重做"); +// return responseDto(head); +// } + head.setERRORCODE("0"); + head.setRESULT("成功"); + responseDto.setHEAD(head); + return responseDto; } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Head.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Head.java new file mode 100644 index 00000000..64cff205 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Head.java @@ -0,0 +1,27 @@ +package com.adc.da.slrs.sarStandProjectLibrary.entity; + +import com.adc.da.base.entity.BaseEntity; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class Head extends BaseEntity { + private String BIZTRANSACTIONID; + private String RESULT; + private String ERRORCODE; + private String ERRORINFO; + private String COMMENTS; + private String SUCCESSCOUNT; + + public Head(String BIZTRANSACTIONID, String RESULT, String ERRORCODE, String ERRORINFO, String COMMENTS, String SUCCESSCOUNT) { + this.BIZTRANSACTIONID = BIZTRANSACTIONID; + this.RESULT = RESULT; + this.ERRORCODE = ERRORCODE; + this.ERRORINFO = ERRORINFO; + this.COMMENTS = COMMENTS; + this.SUCCESSCOUNT = SUCCESSCOUNT; + } + + public Head(){}; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/ResponseDto.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/ResponseDto.java new file mode 100644 index 00000000..d8a99c92 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/ResponseDto.java @@ -0,0 +1,27 @@ +package com.adc.da.slrs.sarStandProjectLibrary.entity; + + +import lombok.Data; + +import java.util.List; +@Data +public class ResponseDto { + + private Head HEAD; + +// private List LIST; + +// public ResponseDto(Head HEAD, List LIST) { +// this.HEAD = HEAD; +// this.LIST = LIST; +// } + + + public ResponseDto(Head head) { + this.HEAD = head; + } + + public ResponseDto() { + + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java index 3727f519..8fc7b55f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java @@ -3,20 +3,19 @@ package com.adc.da.slrs.sarStandProjectTeam.controller; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; +import com.adc.da.slrs.sarStandProjectLibrary.entity.Head; +import com.adc.da.slrs.sarStandProjectLibrary.entity.ResponseDto; import com.adc.da.slrs.sarStandProjectLibrary.entity.SarStandProjectLibrary; import com.adc.da.slrs.sarStandProjectTeam.service.ISarStandProjectTeamService; +import com.google.gson.*; import io.swagger.annotations.ApiOperation; +import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.AutoConfigureBefore; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.*; import com.adc.da.slrs.sarStandProjectTeam.entity.SarStandProjectTeam; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RestController; import com.adc.da.base.web.BaseController; -import java.util.List; /** *

@@ -36,8 +35,11 @@ public class SarStandProjectTeamController extends BaseController list){ - sarStandProjectTeamService.saveBatch(list); - return Result.success("200","新增成功",list); + public ResponseDto save(@RequestBody String jsonStr){ + Head head = sarStandProjectTeamService.AnalysisJsonAndStorage(jsonStr); + + ResponseDto responseDto = new ResponseDto(head); + return responseDto; + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/entity/SarStandProjectTeam.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/entity/SarStandProjectTeam.java index 96cb201b..f44436c8 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/entity/SarStandProjectTeam.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/entity/SarStandProjectTeam.java @@ -1,6 +1,9 @@ package com.adc.da.slrs.sarStandProjectTeam.entity; import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import lombok.Data; import lombok.EqualsAndHashCode; @@ -10,15 +13,24 @@ import lombok.experimental.Accessors; @EqualsAndHashCode(callSuper = true) @Accessors(chain = true) @ApiModel(value="SarStandProjectTeam对象", description="") +@TableName("sar_stand_project_team") public class SarStandProjectTeam extends BaseEntity { private static final long serialVersionUID = 1L; + @TableId("id") private String id; + @TableField("name") private String name; + @TableField("person") private String person; + @TableField("user_id") + private String userId; + + @TableField("project_code") + private String projectCode; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java index d2444c3f..2c0f1731 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java @@ -1,5 +1,6 @@ package com.adc.da.slrs.sarStandProjectTeam.service; +import com.adc.da.slrs.sarStandProjectLibrary.entity.Head; import com.adc.da.slrs.sarStandProjectTeam.entity.SarStandProjectTeam; import com.baomidou.mybatisplus.extension.service.IService; @@ -13,4 +14,6 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface ISarStandProjectTeamService extends IService { + public Head AnalysisJsonAndStorage(String jsonStr); + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java index 69dfb385..92232593 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java @@ -1,9 +1,17 @@ package com.adc.da.slrs.sarStandProjectTeam.service.impl; +import com.adc.da.slrs.sarStandProjectLibrary.entity.Head; import com.adc.da.slrs.sarStandProjectTeam.entity.SarStandProjectTeam; import com.adc.da.slrs.sarStandProjectTeam.dao.SarStandProjectTeamDao; import com.adc.da.slrs.sarStandProjectTeam.service.ISarStandProjectTeamService; +import com.adc.da.util.UUIDUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import org.springframework.stereotype.Service; /** @@ -17,4 +25,61 @@ import org.springframework.stereotype.Service; @Service public class SarStandProjectTeamServiceImpl extends ServiceImpl implements ISarStandProjectTeamService { + @Override + public Head AnalysisJsonAndStorage(String jsonStr) { + Head responseHead = new Head(); + try { + + SarStandProjectTeam teamInfo = new SarStandProjectTeam(); + + JsonObject jsonObject = (JsonObject) new JsonParser().parse(jsonStr); + JsonObject jsonHead = (JsonObject) jsonObject.get("HEAD"); + responseHead.setBIZTRANSACTIONID(jsonHead.get("BIZTRANSACTIONID").getAsString()); + + + JsonArray LIST = (JsonArray) jsonObject.get("LIST"); + for (int i = 0; i < LIST.size(); i++) { + JsonObject jsonElement = (JsonObject) LIST.get(i); + teamInfo.setProjectCode(jsonElement.get("project_code").getAsString()); + + JsonArray orgNodes = (JsonArray) jsonElement.get("org_nodes"); + for (int j = 0; j < orgNodes.size(); j++) { + JsonObject project = (JsonObject)orgNodes.get(j); + + if (project.get("name").getAsString().equals("项目经理")) { + + + JsonArray persons = (JsonArray) project.get("persons"); + for (int k = 0; k < persons.size(); k++) { + + JsonObject jsonPerson = (JsonObject) persons.get(k); + + teamInfo.setId(UUIDUtils.randomUUID20()); + teamInfo.setUserId(jsonPerson.get("user_id").getAsString()); + teamInfo.setName(jsonPerson.get("name").getAsString()); + + QueryWrapper updateCondition = new QueryWrapper(); + updateCondition.eq("project_code",teamInfo.getProjectCode()) + .eq("user_id",teamInfo.getUserId()); + + this.saveOrUpdate(teamInfo,updateCondition); + + + } + } + + + } + + } + }catch (Exception e){ + responseHead.setERRORCODE("2"); + responseHead.setRESULT("业务失败需要重做"); + return responseHead; + } + responseHead.setERRORCODE("0") + .setRESULT("成功"); + + return responseHead; + } }