|
@@ -5,13 +5,12 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
-import com.galaxis.manatee.entity.chuanyun.data.object.BasicDO;
|
|
|
import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunBuildProject;
|
|
|
import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunGroupProjectDO;
|
|
|
import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunFindAllBizDTO;
|
|
|
import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunFindBizDTO;
|
|
|
-import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunFindBizReturnData;
|
|
|
import com.galaxis.manatee.entity.chuanyun.dto.Filter;
|
|
|
+import com.galaxis.manatee.exception.BigSizeException;
|
|
|
import com.galaxis.manatee.manager.ChuanYunManager;
|
|
|
import com.galaxis.manatee.service.WorkGroupService;
|
|
|
import lombok.Data;
|
|
@@ -26,7 +25,6 @@ import java.util.List;
|
|
|
@Slf4j
|
|
|
@SpringBootTest
|
|
|
public class BuildProjectTest {
|
|
|
-
|
|
|
@Autowired
|
|
|
private ChuanYunManager chuanYunManager;
|
|
|
|
|
@@ -35,7 +33,6 @@ public class BuildProjectTest {
|
|
|
|
|
|
@Test
|
|
|
void test1() {
|
|
|
-
|
|
|
//从氚云查询数据
|
|
|
// 由于存在两条不正常的数据需要排除在外
|
|
|
List<String> m = List.of("F0000003_2,AS21149");
|
|
@@ -52,20 +49,15 @@ public class BuildProjectTest {
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
List<ChuanyunBuildProject> bpList = objectMapper.convertValue(bizObjectArray, new TypeReference<>() {
|
|
|
});
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
void test2() {
|
|
|
-// workGroupService.findAll();
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Test
|
|
|
void test3() {
|
|
|
-
|
|
|
int start = 525;
|
|
|
long totalCount = 0L;
|
|
|
boolean flag = true;
|
|
@@ -94,20 +86,15 @@ public class BuildProjectTest {
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
List<ChuanyunBuildProject> bpList = objectMapper.convertValue(bizObjectArray, new TypeReference<>() {
|
|
|
});
|
|
|
-
|
|
|
} catch (Exception e) {
|
|
|
log.error(e.getMessage());
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
void test4() {
|
|
|
-
|
|
|
// 从氚云查询数据
|
|
|
// 由于存在两条不正常的数据需要排除在外
|
|
|
List<String> m = List.of("status_2,1");
|
|
@@ -126,14 +113,12 @@ public class BuildProjectTest {
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
List<ChuanyunBuildProject> bpList = objectMapper.convertValue(bizObjectArray, new TypeReference<>() {
|
|
|
});
|
|
|
-
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Test
|
|
|
- void syncBuildProjectToSubTable() {
|
|
|
-// List<String> m = List.of("F0000016_2,实施");
|
|
|
- List<String> m = List.of("F0000003_2,D22429");
|
|
|
+ void accountChildEnter() {
|
|
|
+ List<String> m = List.of("F0000016_2,实施", "Status_2,1");
|
|
|
+ // List<String> m = List.of("F0000003_2,D22429", "Status_2,1");
|
|
|
var filter = Filter.instance(0, 400, true, Filter.AND, m);
|
|
|
|
|
|
ChuanyunFindAllBizDTO<Object> chuanyunFindAllResponse = null;
|
|
@@ -152,28 +137,50 @@ public class BuildProjectTest {
|
|
|
List<ChuanyunBuildProject> bpList = objectMapper.convertValue(bizObjectArray, new TypeReference<>() {
|
|
|
});
|
|
|
|
|
|
- var preSalesList = new ArrayList<>();
|
|
|
bpList.forEach(chuanyunBuildProject -> {
|
|
|
- String projectCode = chuanyunBuildProject.getProjectCode();
|
|
|
- //售前转实施
|
|
|
- if (this.getPreSales(projectCode) != null && this.getPreSales(projectCode).size() > 0) {
|
|
|
- if (this.getPreSales(projectCode).size() == 1) {
|
|
|
- String projectCode1 = this.getProjectCode(this.getPreSales(projectCode).get(0).getSaleProjectObjectId());
|
|
|
- preSalesList.add(projectCode1);
|
|
|
- } else {
|
|
|
- this.getPreSales(projectCode).forEach(SaleToImpl -> {
|
|
|
- String projectCode1 = this.getProjectCode(SaleToImpl.getSaleProjectObjectId());
|
|
|
- preSalesList.add(projectCode1);
|
|
|
- });
|
|
|
+ try {
|
|
|
+ Thread.sleep(200);
|
|
|
+ ProjectSubAccount projectSubAccount = new ProjectSubAccount();
|
|
|
+ projectSubAccount.setProjectType("实施");
|
|
|
+ projectSubAccount.setImplProjectName(chuanyunBuildProject.getProjectName());
|
|
|
+ projectSubAccount.setImplProjectCode(chuanyunBuildProject.getProjectCode());
|
|
|
+ projectSubAccount.setSigningCompany(chuanyunBuildProject.getSigningCompany());
|
|
|
+ projectSubAccount.setCustomerName(chuanyunBuildProject.getCustomerName());
|
|
|
+ projectSubAccount.setNameOfOwner(chuanyunBuildProject.getNameOfOwner());
|
|
|
+ projectSubAccount.setProjectManager(chuanyunBuildProject.getProjectManager());
|
|
|
+ projectSubAccount.setSalesDirector(chuanyunBuildProject.getSalesDirector());
|
|
|
+ projectSubAccount.setSystemWarranty(chuanyunBuildProject.getSystemWarranty());
|
|
|
+ projectSubAccount.setDeviceWarranty(chuanyunBuildProject.getDeviceWarranty());
|
|
|
+
|
|
|
+ String projectCode = chuanyunBuildProject.getProjectCode();
|
|
|
+ //售前转实施
|
|
|
+ if (this.getPreSales(projectCode) != null && this.getPreSales(projectCode).size() > 0) {
|
|
|
+ String projectCode2 = this.getProjectCode(this.getPreSales(projectCode).get(0).getPreSaleProjectObjectId());
|
|
|
+ projectSubAccount.setPreSaleNumber(projectCode2);
|
|
|
+ }
|
|
|
+
|
|
|
+ //实施转售后
|
|
|
+ if (this.getAfterSales(projectCode) != null && this.getAfterSales(projectCode).size() > 0) {
|
|
|
+ projectSubAccount.setAfterSaleNumber(this.getAfterSales(projectCode).get(0).getAfterSaleProjectCode());
|
|
|
+ }
|
|
|
+
|
|
|
+ String json = null;
|
|
|
+ try {
|
|
|
+ json = objectMapper.writeValueAsString(projectSubAccount);
|
|
|
+ log.info("{json => {}}", json);
|
|
|
+ chuanYunManager.save("D0017894df4f53e50244f29ad440f11ead89fad",json,true);
|
|
|
+ } catch (JsonProcessingException | BigSizeException e) {
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
+ } catch (InterruptedException e) {
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
});
|
|
|
-
|
|
|
- log.info("{}", preSalesList);
|
|
|
}
|
|
|
|
|
|
+ //售前
|
|
|
List<SaleToImpl> getPreSales(String projectCode) {
|
|
|
- List<String> m = List.of("F0000064_2," + projectCode);
|
|
|
+ List<String> m = List.of("F0000064_2," + projectCode, "Status_2,1");
|
|
|
var filter = Filter.instance(0, 400, true, Filter.AND, m);
|
|
|
|
|
|
ChuanyunFindAllBizDTO<Object> chuanyunFindAllResponse = null;
|
|
@@ -195,6 +202,7 @@ public class BuildProjectTest {
|
|
|
return bpList;
|
|
|
}
|
|
|
|
|
|
+ //获取项目号
|
|
|
String getProjectCode(String saleProjectObjectId) {
|
|
|
ChuanyunFindBizDTO<Object> objectChuanyunFindBizDTO = null;
|
|
|
try {
|
|
@@ -209,11 +217,35 @@ public class BuildProjectTest {
|
|
|
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
Object bizObject = objectChuanyunFindBizDTO.getReturnData().getBizObject();
|
|
|
- ChuanyunGroupProjectDO groupProjectDO = objectMapper.convertValue(bizObject,new TypeReference<>() {
|
|
|
+ ChuanyunGroupProjectDO groupProjectDO = objectMapper.convertValue(bizObject, new TypeReference<>() {
|
|
|
});
|
|
|
return groupProjectDO.getProjectCode();
|
|
|
}
|
|
|
|
|
|
+ //售后
|
|
|
+ List<SaleToAfter> getAfterSales(String projectCode) {
|
|
|
+ List<String> m = List.of("F0000042_2," + projectCode, "Status_2,1");
|
|
|
+ var filter = Filter.instance(0, 400, true, Filter.AND, m);
|
|
|
+
|
|
|
+ ChuanyunFindAllBizDTO<Object> chuanyunFindAllResponse = null;
|
|
|
+ try {
|
|
|
+ chuanyunFindAllResponse = chuanYunManager.findAll("D001789Sk18j1niro92y5dxj2indfx583", filter);
|
|
|
+ } catch (JsonProcessingException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (chuanyunFindAllResponse.getReturnData() == null || chuanyunFindAllResponse.getReturnData().getBizObjectArray() == null) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Object> bizObjectArray = chuanyunFindAllResponse.getReturnData().getBizObjectArray();
|
|
|
+ ObjectMapper objectMapper = new ObjectMapper();
|
|
|
+ List<SaleToAfter> bpList = objectMapper.convertValue(bizObjectArray, new TypeReference<>() {
|
|
|
+ });
|
|
|
+
|
|
|
+ return bpList;
|
|
|
+ }
|
|
|
+
|
|
|
@Data
|
|
|
static class ProjectSubAccount {
|
|
|
@JsonProperty("F0000102")
|
|
@@ -236,18 +268,24 @@ public class BuildProjectTest {
|
|
|
private Integer systemWarranty;
|
|
|
@JsonProperty("F0000072")
|
|
|
private Integer deviceWarranty;
|
|
|
-
|
|
|
+ @JsonProperty("F0000076")
|
|
|
+ private String preSaleNumber;
|
|
|
+ @JsonProperty("F0000033")
|
|
|
+ private String afterSaleNumber;
|
|
|
}
|
|
|
|
|
|
@Data
|
|
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
|
static class SaleToImpl {
|
|
|
@JsonProperty("F0000015")
|
|
|
- private String SaleProjectObjectId; //售前转实施查出来的售前项目的ID
|
|
|
-
|
|
|
-
|
|
|
+ private String preSaleProjectObjectId; //售前转实施查出来的售前项目的ID
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ @Data
|
|
|
+ @JsonIgnoreProperties(ignoreUnknown = true)
|
|
|
+ static class SaleToAfter {
|
|
|
+ @JsonProperty("F0000073")
|
|
|
+ private String afterSaleProjectCode; //实施转售后
|
|
|
+ }
|
|
|
}
|
|
|
|