Commit ef8951de authored by 廖旭伟's avatar 廖旭伟

用户同步时删除不存在的用户数据,新增单事项审批工作人员时将管理员类型也加入其中;所有管理员类型用户可以查看全部审批数据;优化单事项列表查询方法

parent a4b3f411
......@@ -11,6 +11,10 @@ import java.util.List;
* @date 2022-01-12
*/
public interface MatterDatumDao extends ICRUDDao<MatterDatumEntity,Long>{
/***
* 统计事项材料数
* @return
*/
List<MatterDatumEntity> getMatterDatumCount();
}
......@@ -17,5 +17,8 @@ import java.util.List;
public class MatterDatumDaoImpl extends BaseCRUDDaoMybatis<MatterDatumEntity,Long> implements MatterDatumDao {
@Override
public List<MatterDatumEntity> getMatterDatumCount() {
return this.getSqlSession().selectList(this.getSqlId("getMatterDatumCount"));
}
}
......@@ -18,4 +18,5 @@ public class MatterDatumVo extends BaseEntityLong {
private List<MatterDatumFileEntity> datumFileList;
private Integer count;
}
\ No newline at end of file
......@@ -3,6 +3,9 @@ import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.matter.model.MatterDatumEntity;
import java.util.List;
/**
* MatterDatumService
*
......@@ -21,4 +24,10 @@ public interface MatterDatumService extends ICRUDService<MatterDatumEntity,Long>
* @param context
*/
Rest<String> addToLibrary(String datumIds, Long siteId, Context context);
/***
* 统计事项材料数
* @return
*/
List<MatterDatumEntity> getMatterDatumCount();
}
\ No newline at end of file
......@@ -140,6 +140,11 @@ public class MatterDatumServiceImpl extends AbstractCRUDServiceImpl<MatterDatumD
return Rest.ok(msg);
}
@Override
public List<MatterDatumEntity> getMatterDatumCount() {
return dao.getMatterDatumCount();
}
private SiteDatumLibraryEntity updateOrSave(MatterDatumEntity item, Long siteId, Context context) {
SiteDatumLibraryEntity siteDatumLibraryEntity = siteDatumLibraryService.selectOne(new SiteDatumLibraryQuery().siteId(siteId).datumId(item.getId()));
if (ObjectUtils.isEmpty(siteDatumLibraryEntity)) {
......
......@@ -39,10 +39,20 @@ public class SiteMatterAssistServiceImpl extends AbstractCRUDServiceImpl<SiteMat
@Override
protected void findAfter(SiteMatterAssistEntity params, PageInfo pageInfo, Context context, List<SiteMatterAssistEntity> list) throws AppException {
List<MatterDatumEntity> matterDatumFileEntities = matterDatumService.getMatterDatumCount();
Map<Long,Integer> datumCountMap = new HashMap<>();
for (MatterDatumEntity item:matterDatumFileEntities){
datumCountMap.put(item.getMatterId(),item.getCount());
}
list.stream().peek(item->{
List<MatterDatumEntity> matterDatumFileEntities = matterDatumService.find(new MatterDatumQuery().matterId(item.getMatterId()));
if(CollectionUtils.isNotEmpty(matterDatumFileEntities)) {
item.setDatumCount(matterDatumFileEntities.size());
// List<MatterDatumEntity> matterDatumFileEntities = matterDatumService.find(new MatterDatumQuery().matterId(item.getMatterId()));
// if(CollectionUtils.isNotEmpty(matterDatumFileEntities)) {
// item.setDatumCount(matterDatumFileEntities.size());
// }else {
// item.setDatumCount(0);
// }
if(datumCountMap.containsKey(item.getMatterId())){
item.setDatumCount(datumCountMap.get(item.getMatterId()));
}else {
item.setDatumCount(0);
}
......@@ -69,10 +79,20 @@ public class SiteMatterAssistServiceImpl extends AbstractCRUDServiceImpl<SiteMat
@Override
protected void findAfter(SiteMatterAssistEntity params, Context context, List<SiteMatterAssistEntity> list) throws AppException {
List<MatterDatumEntity> matterDatumFileEntities = matterDatumService.getMatterDatumCount();
Map<Long,Integer> datumCountMap = new HashMap<>();
for (MatterDatumEntity item:matterDatumFileEntities){
datumCountMap.put(item.getMatterId(),item.getCount());
}
list.stream().peek(item->{
List<MatterDatumEntity> matterDatumFileEntities = matterDatumService.find(new MatterDatumQuery().matterId(item.getMatterId()));
if(CollectionUtils.isNotEmpty(matterDatumFileEntities)) {
item.setDatumCount(matterDatumFileEntities.size());
// List<MatterDatumEntity> matterDatumFileEntities = matterDatumService.find(new MatterDatumQuery().matterId(item.getMatterId()));
// if(CollectionUtils.isNotEmpty(matterDatumFileEntities)) {
// item.setDatumCount(matterDatumFileEntities.size());
// }else {
// item.setDatumCount(0);
// }
if(datumCountMap.containsKey(item.getMatterId())){
item.setDatumCount(datumCountMap.get(item.getMatterId()));
}else {
item.setDatumCount(0);
}
......
......@@ -444,6 +444,13 @@
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList">
delete from mortals_xhx_user where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_user as a
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.matter.dao.ibatis.MatterDatumDaoImpl">
<select id="getMatterDatumCount" resultType="com.mortals.xhx.module.matter.model.MatterDatumEntity">
SELECT matterId,count(1) as count FROM mortals_sys_matter_datum GROUP BY matterId
</select>
</mapper>
\ No newline at end of file
......@@ -20,9 +20,7 @@
<profiles>
<profile>
<id>develop</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profiles.active>develop</profiles.active>
<profiles.server.path>/sm</profiles.server.path>
......@@ -38,6 +36,9 @@
</profile>
<profile>
<id>test</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profiles.active>test</profiles.active>
<profiles.server.path>/sm</profiles.server.path>
......
......@@ -25,4 +25,5 @@ import java.util.List;
public interface UserDao extends ICRUDDao<UserEntity,Long> {
public List<Long> getAuthListById(Long id);
int deleteNotIn(List<Long> keyList);
}
\ No newline at end of file
......@@ -35,4 +35,9 @@ public class UserDaoImpl extends BaseCRUDDaoMybatis<UserEntity,Long> implements
return getSqlSession().selectList(getSqlId("getAuthListById"), param);
}
@Override
public int deleteNotIn(List<Long> keyList) {
return this.getSqlSession().delete(this.getSqlId("deleteByNotInKeyList"), keyList);
}
}
\ No newline at end of file
......@@ -326,6 +326,7 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
@Override
public void updateUserList(List<UserPhpPdu> list) {
if(!CollectionUtils.isEmpty(list)){
List<Long> userIdList = new ArrayList<>();
for(UserPhpPdu phpPdu:list){
UserEntity tempUser = this.selectOne(new UserQuery().loginName(phpPdu.getAccount()));
if (ObjectUtils.isEmpty(tempUser)) {
......@@ -342,6 +343,7 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
}
entity.setUserType(DataUtil.converStr2Int(phpPdu.getType(),1));
dao.insert(entity);
userIdList.add(entity.getId());
} else {
//更新
UserEntity userEntity = new UserEntity();
......@@ -356,8 +358,12 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
}
userEntity.setUserType(DataUtil.converStr2Int(phpPdu.getType(),1));
dao.update(userEntity);
userIdList.add(tempUser.getId());
}
}
if(userIdList.size()>0){
dao.deleteNotIn(userIdList);
}
}
}
......
......@@ -13,5 +13,5 @@ import java.util.List;
public interface ApproverDao extends ICRUDDao<ApproverEntity,Long>{
int deleteNotIn(List<Long> keyList);
}
......@@ -17,5 +17,8 @@ import java.util.List;
public class ApproverDaoImpl extends BaseCRUDDaoMybatis<ApproverEntity,Long> implements ApproverDao {
@Override
public int deleteNotIn(List<Long> keyList) {
return this.getSqlSession().delete(this.getSqlId("deleteByNotInKeyList"), keyList);
}
}
......@@ -19,6 +19,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
......@@ -39,10 +40,11 @@ public class ApproverServiceImpl extends AbstractCRUDServiceImpl<ApproverDao, Ap
@Override
public void updateUserList(List<UserPhpPdu> list) {
if(!CollectionUtils.isEmpty(list)){
List<Long> userIdList = new ArrayList<>();
for(UserPhpPdu phpPdu:list){
if(!phpPdu.getType().equals("2")){
continue;
}
// if(!phpPdu.getType().equals("2")){
// continue;
// }
ApproverEntity tempUser = this.selectOne(new ApproverQuery().loginName(phpPdu.getAccount()));
if (ObjectUtils.isEmpty(tempUser)) {
//新增
......@@ -58,7 +60,7 @@ public class ApproverServiceImpl extends AbstractCRUDServiceImpl<ApproverDao, Ap
approverEntity.setSiteId(1l);
approverEntity.setCreateTime(new Date());
dao.insert(approverEntity);
userIdList.add(approverEntity.getId());
} else {
//更新
ApproverEntity approverEntity = new ApproverEntity();
......@@ -73,7 +75,11 @@ public class ApproverServiceImpl extends AbstractCRUDServiceImpl<ApproverDao, Ap
approverEntity.setPhoneNumber(phpPdu.getMobile());
approverEntity.setUpdateTime(new Date());
dao.update(approverEntity);
userIdList.add(tempUser.getId());
}
}
if(userIdList.size()>0){
dao.deleteNotIn(userIdList);
}
}
}
......
......@@ -105,8 +105,7 @@ public class MatterApplyServiceImpl extends AbstractCRUDServiceImpl<MatterApplyD
params.setDeptCode(deptCode);
}
if( context!=null && context.getUser()!=null){
String loginName = context.getUser().getLoginName();
if(loginName.equals("renlin")) {
if(context.getUser().getUserType()==2) {
params.setDeptCode(null);
}
}
......
......@@ -12,5 +12,9 @@ import java.util.List;
*/
public interface MatterDatumDao extends ICRUDDao<MatterDatumEntity,Long>{
/***
* 统计事项材料数
* @return
*/
List<MatterDatumEntity> getMatterDatumCount();
}
......@@ -17,5 +17,8 @@ import java.util.List;
public class MatterDatumDaoImpl extends BaseCRUDDaoMybatis<MatterDatumEntity,Long> implements MatterDatumDao {
@Override
public List<MatterDatumEntity> getMatterDatumCount() {
return this.getSqlSession().selectList(this.getSqlId("getMatterDatumCount"));
}
}
......@@ -18,4 +18,6 @@ public class MatterDatumVo extends BaseEntityLong {
private List<MatterDatumFileEntity> datumFileList;
private Integer count;
}
\ No newline at end of file
......@@ -3,6 +3,9 @@ import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.matter.model.MatterDatumEntity;
import java.util.List;
/**
* MatterDatumService
*
......@@ -21,4 +24,10 @@ public interface MatterDatumService extends ICRUDService<MatterDatumEntity,Long>
* @param context
*/
Rest<String> addToLibrary(String datumIds, Long siteId, Context context);
/***
* 统计事项材料数
* @return
*/
List<MatterDatumEntity> getMatterDatumCount();
}
\ No newline at end of file
......@@ -140,6 +140,11 @@ public class MatterDatumServiceImpl extends AbstractCRUDServiceImpl<MatterDatumD
return Rest.ok(msg);
}
@Override
public List<MatterDatumEntity> getMatterDatumCount() {
return dao.getMatterDatumCount();
}
private SiteDatumLibraryEntity updateOrSave(MatterDatumEntity item, Long siteId, Context context) {
SiteDatumLibraryEntity siteDatumLibraryEntity = siteDatumLibraryService.selectOne(new SiteDatumLibraryQuery().siteId(siteId).datumId(item.getId()));
if (ObjectUtils.isEmpty(siteDatumLibraryEntity)) {
......
......@@ -38,10 +38,21 @@ public class SingleMatterServiceImpl extends AbstractCRUDServiceImpl<SingleMatte
@Override
protected void findAfter(SingleMatterEntity params, PageInfo pageInfo, Context context, List<SingleMatterEntity> list) throws AppException {
List<MatterDatumEntity> matterDatumFileEntities = matterDatumService.getMatterDatumCount();
Map<Long,Integer> datumCountMap = new HashMap<>();
for (MatterDatumEntity item:matterDatumFileEntities){
datumCountMap.put(item.getMatterId(),item.getCount());
}
list.stream().peek(item->{
List<MatterDatumEntity> matterDatumFileEntities = matterDatumService.find(new MatterDatumQuery().matterId(item.getMatterId()));
if(CollectionUtils.isNotEmpty(matterDatumFileEntities)) {
item.setDatumCount(matterDatumFileEntities.size());
// List<MatterDatumEntity> matterDatumFileEntities = matterDatumService.find(new MatterDatumQuery().matterId(item.getMatterId()));
// if(CollectionUtils.isNotEmpty(matterDatumFileEntities)) {
// item.setDatumCount(matterDatumFileEntities.size());
// }else {
// item.setDatumCount(0);
// }
if(datumCountMap.containsKey(item.getMatterId())){
item.setDatumCount(datumCountMap.get(item.getMatterId()));
}else {
item.setDatumCount(0);
}
......@@ -57,10 +68,20 @@ public class SingleMatterServiceImpl extends AbstractCRUDServiceImpl<SingleMatte
@Override
protected void findAfter(SingleMatterEntity params, Context context, List<SingleMatterEntity> list) throws AppException {
List<MatterDatumEntity> matterDatumFileEntities = matterDatumService.getMatterDatumCount();
Map<Long,Integer> datumCountMap = new HashMap<>();
for (MatterDatumEntity item:matterDatumFileEntities){
datumCountMap.put(item.getMatterId(),item.getCount());
}
list.stream().peek(item->{
List<MatterDatumEntity> matterDatumFileEntities = matterDatumService.find(new MatterDatumQuery().matterId(item.getMatterId()));
if(CollectionUtils.isNotEmpty(matterDatumFileEntities)) {
item.setDatumCount(matterDatumFileEntities.size());
// List<MatterDatumEntity> matterDatumFileEntities = matterDatumService.find(new MatterDatumQuery().matterId(item.getMatterId()));
// if(CollectionUtils.isNotEmpty(matterDatumFileEntities)) {
// item.setDatumCount(matterDatumFileEntities.size());
// }else {
// item.setDatumCount(0);
// }
if(datumCountMap.containsKey(item.getMatterId())){
item.setDatumCount(datumCountMap.get(item.getMatterId()));
}else {
item.setDatumCount(0);
}
......
......@@ -444,6 +444,20 @@
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList">
delete from mortals_xhx_user where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByNotInKeyList">
delete from mortals_xhx_user where id not in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_user as a
......
......@@ -298,7 +298,13 @@
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByNotInKeyList">
delete from mortals_sys_approver where id not in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据对象列表删除一批,针对单一主健有效 -->
<delete id="deleteByEntityList">
delete from mortals_sys_approver where id in
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.matter.dao.ibatis.MatterDatumDaoImpl">
<select id="getMatterDatumCount" resultType="com.mortals.xhx.module.matter.model.MatterDatumEntity">
SELECT matterId,count(1) as count FROM mortals_sys_matter_datum GROUP BY matterId
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment