|
@@ -4,10 +4,13 @@ import cn.hutool.core.convert.Convert;
|
|
|
import com.github.pagehelper.Page;
|
|
|
import com.jpsoft.picc.modules.base.entity.Company;
|
|
|
import com.jpsoft.picc.modules.base.entity.CompanyMember;
|
|
|
+import com.jpsoft.picc.modules.base.entity.Jobs;
|
|
|
import com.jpsoft.picc.modules.base.service.CompanyMemberService;
|
|
|
import com.jpsoft.picc.modules.base.service.CompanyService;
|
|
|
+import com.jpsoft.picc.modules.base.service.JobsService;
|
|
|
import com.jpsoft.picc.modules.common.dto.MessageResult;
|
|
|
import com.jpsoft.picc.modules.common.dto.Sort;
|
|
|
+import com.jpsoft.picc.modules.common.utils.CheckIdCard;
|
|
|
import com.jpsoft.picc.modules.common.utils.POIUtils;
|
|
|
import com.jpsoft.picc.modules.common.utils.PojoUtils;
|
|
|
import io.swagger.annotations.Api;
|
|
@@ -40,6 +43,9 @@ public class CompanyMemberController {
|
|
|
@Autowired
|
|
|
private CompanyService companyService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private JobsService jobsService;
|
|
|
+
|
|
|
@ApiOperation(value="读取企业人员列表")
|
|
|
@RequestMapping(value = "list",method = RequestMethod.POST)
|
|
|
public MessageResult<List<CompanyMember>> list(
|
|
@@ -365,66 +371,113 @@ public class CompanyMemberController {
|
|
|
int existCount = 0;
|
|
|
List<String> existName = new ArrayList<>();
|
|
|
for(Object[] array : list){
|
|
|
- String name = array[1].toString();
|
|
|
- String cardType = array[2].toString();
|
|
|
- String cardNo = array[3].toString();
|
|
|
- String sex = array[4].toString();
|
|
|
- String jobsId = array[5].toString();
|
|
|
- String healthStatus = array[6].toString();
|
|
|
-
|
|
|
- Map<String,Object> searchParams = new HashMap<>();
|
|
|
- searchParams.put("companyId",company.getId());
|
|
|
- searchParams.put("cardNo",cardNo);
|
|
|
- List<Sort> sortList = new ArrayList<>();
|
|
|
- Page<CompanyMember> page = companyMemberService.pageSearch(searchParams,1,100,sortList);
|
|
|
-
|
|
|
- if(page.size() > 0) {
|
|
|
- existCount++;
|
|
|
- existName.add(page.get(0).getName());
|
|
|
- }else {
|
|
|
- companyMember.setId(UUID.randomUUID().toString());
|
|
|
- if (StringUtils.isNotEmpty(company.getId())) companyMember.setCompanyId(company.getId());
|
|
|
- if (StringUtils.isNotEmpty(name)) companyMember.setName(name);
|
|
|
- if (cardType.contains("身份证")){
|
|
|
- companyMember.setCardType("1");
|
|
|
- if (StringUtils.isNotEmpty(cardNo)) companyMember.setAge(getAge(cardNo));
|
|
|
+ try {
|
|
|
+ String name = array[1].toString();
|
|
|
+ String cardType = array[2].toString();
|
|
|
+ String cardNo = array[3].toString();
|
|
|
+ String sex = array[4].toString();
|
|
|
+ String age = array[5].toString();
|
|
|
+ String jobName = array[6].toString();
|
|
|
+ String healthStatus = array[7].toString();
|
|
|
+
|
|
|
+ if(StringUtils.isEmpty(name)){
|
|
|
+ continue;
|
|
|
}
|
|
|
- if (cardType.contains("港澳通行证")) companyMember.setCardType("2");
|
|
|
- if (cardType.contains("护照")) companyMember.setCardType("3");
|
|
|
- if (StringUtils.isNotEmpty(cardNo)) companyMember.setCardNo(cardNo);
|
|
|
- if (sex.contains("男")) {
|
|
|
- companyMember.setSex(true);
|
|
|
+
|
|
|
+ Map<String, Object> searchParams = new HashMap<>();
|
|
|
+ searchParams.put("companyId", company.getId());
|
|
|
+ searchParams.put("cardNo", cardNo);
|
|
|
+ searchParams.put("delFlag", false);
|
|
|
+
|
|
|
+ List<Sort> sortList = new ArrayList<>();
|
|
|
+ Page<CompanyMember> page = companyMemberService.pageSearch(searchParams, 1, 100, sortList);
|
|
|
+
|
|
|
+ if (page.size() > 0) {
|
|
|
+ existCount++;
|
|
|
+ existName.add(page.get(0).getName());
|
|
|
} else {
|
|
|
- companyMember.setSex(false);
|
|
|
- }
|
|
|
- if (jobsId.contains("一类职业")) companyMember.setJobsId("4e0a6674-a539-45fb-878e-a8dd9db224c5");
|
|
|
- if (jobsId.contains("二类职业")) companyMember.setJobsId("88ab9059-d0aa-4cef-a623-9beb536e4c10");
|
|
|
- if (jobsId.contains("三类职业")) companyMember.setJobsId("f0f13d78-54b8-4741-aec9-5e0c07c6bfe4");
|
|
|
- if (StringUtils.isNotEmpty(healthStatus)) companyMember.setHealthStatus(healthStatus);
|
|
|
-// if(StringUtils.isNotEmpty(cardFiles)) companyMember.setCardFiles(cardFiles);
|
|
|
- companyMember.setStatus("0");
|
|
|
- companyMember.setDelFlag(false);
|
|
|
- companyMember.setCreateBy(principal.getName());
|
|
|
- companyMember.setCreateTime(new Date());
|
|
|
-
|
|
|
- if (companyMemberService.insert(companyMember) > 0) {
|
|
|
- affectCount++;
|
|
|
+ companyMember.setId(UUID.randomUUID().toString());
|
|
|
+ if (StringUtils.isNotEmpty(company.getId())) companyMember.setCompanyId(company.getId());
|
|
|
+ if (StringUtils.isNotEmpty(name)) companyMember.setName(name);
|
|
|
+
|
|
|
+ CheckIdCard cic = null;
|
|
|
+
|
|
|
+ if (cardType.contains("身份证")) {
|
|
|
+ companyMember.setCardType("1");
|
|
|
+ cic = new CheckIdCard(cardNo);
|
|
|
+ } else if (cardType.contains("港澳通行证")) {
|
|
|
+ companyMember.setCardType("2");
|
|
|
+ } else if (cardType.contains("护照")) {
|
|
|
+ companyMember.setCardType("3");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtils.isNotEmpty(cardNo)) companyMember.setCardNo(cardNo);
|
|
|
+
|
|
|
+ if (StringUtils.isNotEmpty(sex)) {
|
|
|
+ if (sex.contains("男")) {
|
|
|
+ companyMember.setSex(true);
|
|
|
+ } else {
|
|
|
+ companyMember.setSex(false);
|
|
|
+ }
|
|
|
+ } else if (cic != null && cic.validate()) {
|
|
|
+ companyMember.setSex(cic.isFemal());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtils.isNotEmpty(age)) {
|
|
|
+ companyMember.setAge(Integer.valueOf(age));
|
|
|
+ } else if (cic != null && cic.validate()) {
|
|
|
+ companyMember.setAge(cic.getAge());
|
|
|
+ }
|
|
|
+
|
|
|
+ String jobsName = "";
|
|
|
+ if (jobName.contains("一类职业")) {
|
|
|
+ jobsName = "一类职业";
|
|
|
+ } else if (jobName.contains("二类职业")) {
|
|
|
+ jobsName = "二类职业";
|
|
|
+ } else if (jobName.contains("三类职业")) {
|
|
|
+ jobsName = "三类职业";
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Jobs> jobsList = jobsService.findByName(jobsName);
|
|
|
+
|
|
|
+ if (jobsList.size() > 0) {
|
|
|
+ companyMember.setJobsId(jobsList.get(0).getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtils.isNotEmpty(healthStatus)) companyMember.setHealthStatus(healthStatus);
|
|
|
+
|
|
|
+ companyMember.setStatus("0");
|
|
|
+ companyMember.setDelFlag(false);
|
|
|
+ companyMember.setCreateBy(principal.getName());
|
|
|
+ companyMember.setCreateTime(new Date());
|
|
|
+
|
|
|
+ if (companyMemberService.insert(companyMember) > 0) {
|
|
|
+ affectCount++;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ catch(Exception innerEx){
|
|
|
+ logger.error(innerEx.getMessage(),innerEx);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
|
if (affectCount > 0) {
|
|
|
msgResult.setResult(true);
|
|
|
if(existCount > 0) {
|
|
|
- msgResult.setData("您有<" + existCount + ">条数据未导入成功,错误数据姓名为<" + String.join(",", existName) + ">,失败原因为<数据重复>。");
|
|
|
- msgResult.setMessage("您有<" + existCount + ">条数据未导入成功,错误数据姓名为<" + String.join(",", existName) + ">,失败原因为<数据重复>。");
|
|
|
+ msgResult.setMessage("数据成功导入" + affectCount + "条,有<" + existCount + ">条数据未导入成功,错误数据姓名为<" + String.join(",", existName) + ">,失败原因为<数据重复>。");
|
|
|
}else{
|
|
|
- msgResult.setMessage("数据导入成功。");
|
|
|
+ msgResult.setMessage("数据成功导入" + affectCount + "条");
|
|
|
}
|
|
|
} else {
|
|
|
msgResult.setResult(false);
|
|
|
- msgResult.setMessage("数据导入失败。");
|
|
|
+
|
|
|
+ if(existCount > 0) {
|
|
|
+ msgResult.setMessage("您有<" + existCount + ">条数据未导入成功,错误数据姓名为<" + String.join(",", existName) + ">,失败原因为<数据重复>。");
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ msgResult.setMessage("数据导入失败。");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
catch(Exception ex){
|
|
@@ -436,21 +489,4 @@ public class CompanyMemberController {
|
|
|
|
|
|
return msgResult;
|
|
|
}
|
|
|
-
|
|
|
- private int getAge(String idCard){
|
|
|
- int leh = idCard.length();
|
|
|
- String dates="";
|
|
|
- if (leh == 18) {
|
|
|
- int se = Integer.valueOf(idCard.substring(leh - 1)) % 2;
|
|
|
- dates = idCard.substring(6, 10);
|
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
|
|
|
- String year = sdf.format(new Date());
|
|
|
- int u=Integer.parseInt(year)-Integer.parseInt(dates);
|
|
|
- return u;
|
|
|
- }else{
|
|
|
- dates = idCard.substring(6, 8);
|
|
|
- return Integer.parseInt(dates);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
}
|