liupeng 4 years ago
parent
commit
f5a30e8a4f

+ 33 - 0
code/sapparent/sapcms/src/main/java/org/fouram/controller/ApiController.java

@@ -19,6 +19,7 @@ import org.fouram.core.util.DateUtil;
 import org.fouram.core.util.ExcelExportUtil;
 import org.fouram.core.util.LoggerUtil;
 import org.fouram.core.util.ResultUtil;
+import org.fouram.dto.input.GetCancelIngoreListDTO;
 import org.fouram.dto.input.GetToBeConfirmedListDTO;
 import org.fouram.dto.input.UpdateResultDTO;
 import org.fouram.dto.output.GetToBeConfirmedListOutput;
@@ -263,6 +264,38 @@ public class ApiController extends BaseController {
 			return ResultUtil.error(ResultConstant.WEB_ERR_MSG);
 		}
 	}
+	
+	@ApiResponses(@ApiResponse(response = GetCancelIngoreListDTO.class, code = 200, message = "success"))
+	@ApiOperation(value = "查询取消忽略列表")
+	@PostMapping(value = "/getCancelIngoreList", produces = "application/json;charset=utf-8")
+	@ResponseBody
+	public Object getCancelIngoreList(HttpServletRequest request, @RequestBody GetCancelIngoreListDTO dto) {
+		if (!isLogin(request)) {
+			return AppUtil.error(ResultConstant.NO_TOKEN, ResultConstant.TOKEN_ERR_MSG);
+		}
+		try {
+			return ResultUtil.success(sapUserService.selectCancelIngorePrimaryList(dto), null);
+		} catch (Exception e) {
+			LoggerUtil.error(e);
+			return AppUtil.error(ResultConstant.WEB_ERR_MSG);
+		}
+	}
+	
+	@ApiOperation(value = "取消忽略")
+	@PostMapping(value = "/cancelIngore", produces = "application/json;charset=utf-8")
+	@ResponseBody
+	public Object cancelIngore(HttpServletRequest request, @RequestBody UpdateResultDTO dto) {
+		if (!isLogin(request)) {
+			return AppUtil.error(ResultConstant.NO_TOKEN, ResultConstant.TOKEN_ERR_MSG);
+		}
+		try {
+			sapUserService.updateCancelIngore(dto.getUserId());
+			return ResultUtil.success(null, "操作成功");
+		} catch (Exception e) {
+			LoggerUtil.error(e);
+			return ResultUtil.error(ResultConstant.WEB_ERR_MSG);
+		}
+	}
 
 	/**
 	 * 删除离职员工

+ 28 - 0
code/sapparent/sapservice/src/main/java/org/fouram/dto/input/GetCancelIngoreListDTO.java

@@ -0,0 +1,28 @@
+package org.fouram.dto.input;
+
+import java.io.Serializable;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class GetCancelIngoreListDTO implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+	
+	@ApiModelProperty(value = "用户姓名")
+	private String name;
+	
+	@ApiModelProperty(value = "第几页")
+	private Integer pageNumber;
+	
+	@ApiModelProperty(value = "每页条数")
+	private Integer pageSize;
+}

+ 24 - 0
code/sapparent/sapservice/src/main/java/org/fouram/dto/output/GetCancelIngoreListOutput.java

@@ -0,0 +1,24 @@
+package org.fouram.dto.output;
+
+import java.io.Serializable;
+import java.util.List;
+
+import org.fouram.entity.SapUser;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class GetCancelIngoreListOutput implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+	
+	private List<SapUser> data;
+	private Long total;
+}

+ 21 - 0
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapUserMapper.xml

@@ -132,4 +132,25 @@
 		</if>
 		order by sortNumber ASC
 	</select>
+	
+	<select id="selectCancelIngorePrimaryList" resultType="SapUser">
+		select * from sap_user 
+		where isPrimary = 1 and (delFlag = 0 or delFlag = 1) and result = #{result}
+		<if test="name != null and name != ''">
+			and name like CONCAT(CONCAT('%', #{name}),'%')
+		</if>
+		order by sortNumber ASC
+		<if test="pageCurrent != null and pageCurrent != ''">
+			limit ${pageCurrent},${pageSize}
+		</if>
+	</select>
+	
+	<select id="selectCancelIngorePrimaryTotal" resultType="Long">
+		select count(1) from sap_user 
+		where isPrimary = 1 and (delFlag = 0 or delFlag = 1) and result = #{result}
+		<if test="name != null and name != ''">
+			and name like CONCAT(CONCAT('%', #{name}),'%')
+		</if>
+		order by sortNumber ASC
+	</select>
 </mapper>

+ 29 - 0
code/sapparent/sapservice/src/main/java/org/fouram/service/SapUserService.java

@@ -16,7 +16,9 @@ import org.fouram.core.util.ConfConfig;
 import org.fouram.core.util.JSONUtil;
 import org.fouram.core.util.JsonNodeUtil;
 import org.fouram.core.util.Tools;
+import org.fouram.dto.input.GetCancelIngoreListDTO;
 import org.fouram.dto.input.GetToBeConfirmedListDTO;
+import org.fouram.dto.output.GetCancelIngoreListOutput;
 import org.fouram.dto.output.GetToBeConfirmedListOutput;
 import org.fouram.entity.SapOrg;
 import org.fouram.entity.SapUser;
@@ -96,6 +98,10 @@ public class SapUserService extends BaseService {
 			if (sapUserDb == null) {
 				this.saveSapUser(sapUser);
 			} else {
+				// 如果是忽略INGORE,保留INGORE状态
+				if(SapUserResultEnum.INGORE.getCode().equals(sapUserDb.getResult())) {
+					sapUser.setResult(SapUserResultEnum.INGORE.getCode());
+				}
 				this.updateSapUser(sapUser);
 			}
 		}
@@ -396,6 +402,15 @@ public class SapUserService extends BaseService {
 	public void updateIngore(String personId) throws Exception {
 		updateResultByUserId(SapUserResultEnum.INGORE.getCode(), personId);
 	}
+	
+	public void updateCancelIngore(String personId) throws Exception {
+		SapUser sapUser = selectByUserId(personId);
+		String result = getCheckResultByWx(sapUser);
+		if(StringUtils.isBlank(result)) {
+			result = SapUserResultEnum.NORMAL.getCode();
+		}
+		updateResultByUserId(result, personId);
+	}
 
 	public void updateAllNormalSyncWxResult() throws Exception {
 		List<SapUser> normalSapUsers = this.selectPrimaryListByResult(SapUserResultEnum.NORMAL.getCode());
@@ -403,4 +418,18 @@ public class SapUserService extends BaseService {
 			this.updateSyncWxResult(sapUser.getPersonId());
 		}
 	}
+
+	@SuppressWarnings("unchecked")
+	public GetCancelIngoreListOutput selectCancelIngorePrimaryList(GetCancelIngoreListDTO dto) throws Exception {
+		PageData pd = new PageData();
+		pd.put("name", dto.getName());
+		pd.put("result", SapUserResultEnum.INGORE.getCode());
+		if (dto.getPageNumber() != null && dto.getPageSize() != null) {
+			pd.put("pageCurrent", String.valueOf(dto.getPageSize() * (dto.getPageNumber() - 1)));
+			pd.put("pageSize", String.valueOf(dto.getPageSize()));
+		}
+		List<SapUser> data = (List<SapUser>) findList("SapUserMapper.selectCancelIngorePrimaryList", pd);
+		Long total = (Long) findObject("SapUserMapper.selectCancelIngorePrimaryTotal", dto);
+		return GetCancelIngoreListOutput.builder().data(toInfoDetails(data)).total(total).build();
+	}
 }