|
@@ -20,6 +20,7 @@ import com.galaxis.manatee.util.ChuanyunLocalDateTimeSerializer;
|
|
|
import lombok.Data;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.StringUtils;
|
|
@@ -105,6 +106,9 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
|
|
|
public void getGroupProjectForSynchronizationManually() {this.getGroupProjectForSynchronization();}
|
|
|
|
|
|
+ @Async
|
|
|
+ public void chuanyunUpdateProjectMemberManually(String param){this.chuanyunUpdateProjectMember(param);};
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 定时将氚云中的数据保存到manatee
|
|
@@ -217,6 +221,20 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 项目立项单独更新项目组成员
|
|
|
+ * @param param
|
|
|
+ */
|
|
|
+ private void chuanyunUpdateProjectMember(String param){
|
|
|
+ log.info(param);
|
|
|
+ var objectMapper=new ObjectMapper();
|
|
|
+ ChuanyunWebServiceDTO chuanyunWebServiceDTO = objectMapper.convertValue(param, new TypeReference<>(){});
|
|
|
+ log.info(chuanyunWebServiceDTO.getProjectId());
|
|
|
+ ChuanyunGroupProjectDO chuanyunGroupProjectDO = chuanyunGroupProjectDao.getOne(chuanyunWebServiceDTO.getProjectId());
|
|
|
+ projectMemberListCheck(chuanyunGroupProjectDO);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 更新项目成员方法
|
|
|
* @param chuanyunGroupProjectDO 项目对象
|
|
|
*/
|
|
@@ -240,6 +258,7 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
var groupProjectMemberListUpdateString=objectMapper.writeValueAsString(groupProjectMemberListUpdateDTO);
|
|
|
ChuanyunSaveDTO chuanyunSaveDTO=chuanYunManager.update(ChuanyunGroupProjectDO.SCHEMA_CODE,chuanyunGroupProjectDO.getObjectId(),groupProjectMemberListUpdateString);
|
|
|
if(chuanyunSaveDTO.getSuccessful()){
|
|
|
+ log.info("更新项目成员成功"+groupProjectMemberListUpdateString);
|
|
|
updateFlag=true;
|
|
|
}else{
|
|
|
log.warn(chuanyunGroupProjectDO.getObjectId()+"更新项目成员失败"+groupProjectMemberListUpdateString);
|
|
@@ -364,66 +383,7 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
|
|
|
|
|
|
|
|
|
- /**
|
|
|
- * 新增人力成本
|
|
|
- */
|
|
|
- @Scheduled(fixedDelay = 7200000L)
|
|
|
- private void saveLaborCost() {
|
|
|
- var objectMapper=new ObjectMapper();
|
|
|
- var page = 1;
|
|
|
- var size = 20;
|
|
|
- var flag=true;
|
|
|
- while (flag) {
|
|
|
- Map<String,String> map=new HashMap<>(1);
|
|
|
- map.put("page",String.valueOf(page));
|
|
|
- map.put("size",String.valueOf(size));
|
|
|
- //获取物料成本
|
|
|
- PageDTO<ChuanyunLaborCostDTO> pageInfo = clawFeign.findChuanyunLaborCost(map);
|
|
|
- if (page<=pageInfo.getTotalPages()){
|
|
|
- page += 1;
|
|
|
- }else {
|
|
|
- flag = false;
|
|
|
- break;
|
|
|
- }
|
|
|
- List<ChuanyunLaborCostDTO> list = pageInfo.getContent();
|
|
|
- list.forEach(chuanyunLaborCostDTO -> {
|
|
|
- try {
|
|
|
- if(chuanyunLaborCostDTO != null) {
|
|
|
- DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
|
|
|
- String newDate = dateTimeFormatter.format(chuanyunLaborCostDTO.getChuanyunLaborCostPrimaryKey().getPeriod());
|
|
|
- LocalDateTime dt = LocalDateTime.parse(newDate,dateTimeFormatter);
|
|
|
- chuanyunLaborCostDTO.getChuanyunLaborCostPrimaryKey().setPeriod(dt);
|
|
|
- LaborCostDTO laborCostDTO = new LaborCostDTO(chuanyunLaborCostDTO);
|
|
|
- laborCostDTO.setDataType("U9");
|
|
|
- var purcostString=objectMapper.writeValueAsString(laborCostDTO);
|
|
|
- ChuanyunSaveDTO chuanyunSaveDTO;
|
|
|
- //根据项目号判断是否存在
|
|
|
- List<String> matchers = new ArrayList<>();
|
|
|
- matchers.add("F0000005_2,"+chuanyunLaborCostDTO.getChuanyunLaborCostPrimaryKey().getProjectcode());
|
|
|
- matchers.add("F0000002_2,"+chuanyunLaborCostDTO.getChuanyunLaborCostPrimaryKey().getPeriod());
|
|
|
- var filter= Filter.instance(0,1,true,"And",matchers);
|
|
|
- var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunMonthLaborCostDO.SCHEMA_CODE,filter);
|
|
|
- if (chuanyunFindAllResponse.getReturnData() == null) {
|
|
|
- //新增
|
|
|
- chuanyunSaveDTO =chuanYunManager.save(ChuanyunMonthLaborCostDO.SCHEMA_CODE,purcostString,true);
|
|
|
- }else {
|
|
|
- List<ChuanyunMonthLaborCostDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
|
|
|
-// ChuanyunMonthLaborCostDO chuanyunMonthLaborCostDO = result.get(0);
|
|
|
- //更新
|
|
|
- chuanyunSaveDTO = chuanYunManager.update(ChuanyunMonthLaborCostDO.SCHEMA_CODE,result.get(0).getObjectId(),purcostString);
|
|
|
- }
|
|
|
- if(chuanyunSaveDTO.getSuccessful()){
|
|
|
-// log.info("新增项目人力成本成功");
|
|
|
- }else{
|
|
|
- log.warn("新增项目人力成本失败");
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (JsonProcessingException | BigSizeException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -950,37 +910,7 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
|
|
|
|
|
|
|
|
|
- @Data
|
|
|
- class LaborCostDTO {
|
|
|
-
|
|
|
- @JsonProperty("F0000005")
|
|
|
- private String projectCode;
|
|
|
-
|
|
|
- @JsonProperty("F0000003")
|
|
|
- private BigDecimal amount;
|
|
|
-
|
|
|
- @JsonProperty("F0000002")
|
|
|
- @JsonSerialize(using = ChuanyunLocalDateTimeSerializer.class)
|
|
|
- @JsonDeserialize(using = ChuanyunLocalDateTimeDeserializer.class)
|
|
|
- private LocalDateTime logDate;
|
|
|
-
|
|
|
- @JsonProperty("F0000004")
|
|
|
- private String dataType;
|
|
|
|
|
|
- public LaborCostDTO(ChuanyunLaborCostDTO chuanyunMonthLaborCostDTO) {
|
|
|
- if (null!=chuanyunMonthLaborCostDTO){
|
|
|
- if (null!=chuanyunMonthLaborCostDTO.getCostamount()){
|
|
|
- this.amount=chuanyunMonthLaborCostDTO.getCostamount();
|
|
|
- }
|
|
|
- if (null!=chuanyunMonthLaborCostDTO.getChuanyunLaborCostPrimaryKey().getProjectcode()){
|
|
|
- this.projectCode=chuanyunMonthLaborCostDTO.getChuanyunLaborCostPrimaryKey().getProjectcode();
|
|
|
- }
|
|
|
- if (null!=chuanyunMonthLaborCostDTO.getChuanyunLaborCostPrimaryKey().getPeriod()){
|
|
|
- this.logDate=chuanyunMonthLaborCostDTO.getChuanyunLaborCostPrimaryKey().getPeriod();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
/**
|
|
|
* 用于刷新项目经理权限的对象
|