解决未能同步开票组织管理

release
路明慧 2 years ago
parent b4079f431a
commit 22cc583e70
  1. 2
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/groupmanagement/dao/GroupManagementMapper.java
  2. 2
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/groupmanagement/service/GroupManagementService.java
  3. 5
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/groupmanagement/service/impl/GroupManagementServiceImpl.java
  4. 49
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/controller/UserController.java
  5. 52
      order-management-base-service/src/main/resources/mybatis/mapper/GroupManagementMapper.xml

@ -46,4 +46,6 @@ public interface GroupManagementMapper {
int countEntIdNumByXfnsrsbh(@Param("xfnsrsbh") String xfnsrsbh);
List<GroupManagementEntityVO> findAllGroupInfo();
int updateGroupByKey(@Param(value = "groupManagementEntity") GroupManagementEntity groupManagementEntity);
}

@ -55,4 +55,6 @@ public interface GroupManagementService {
* 查询所有组织信息
*/
List<GroupManagementEntityVO> findAllGroupInfo();
int updateGroupByKey(GroupManagementEntity groupManagementEntity);
}

@ -208,6 +208,11 @@ public class GroupManagementServiceImpl implements GroupManagementService {
return groupManagementMapper.findAllGroupInfo();
}
@Override
public int updateGroupByKey(GroupManagementEntity groupManagementEntity) {
return groupManagementMapper.updateGroupByKey(groupManagementEntity);
}
/**
* 构建组织树集合

@ -81,6 +81,7 @@ public class UserController {
*/
private void syncPhysicalGroupManagement(List<TaxPlayerCodeDept> taxplayercodeDeptList) {
taxplayercodeDeptList.forEach(taxPlayerCodeDept -> {
log.debug("同步开票组织管理信息组织编码为:{}",taxPlayerCodeDept.getEnterpriseNumbers());
//查找出deptType不等于5 并且税号不为空(实体组织) 的数据
if (!ConfigureConstant.STRING_5.equals(Integer.toString(taxPlayerCodeDept.getDeptType()))
&& StringUtils.isNotBlank(taxPlayerCodeDept.getTaxpayerCode())) {
@ -91,6 +92,7 @@ public class UserController {
String kpzzglKey = String.format(RedisConstant.REDIS_GROUP_MANAGEMENT_MESSAGE, key);
String groupManagementResult = redisService.get(kpzzglKey);
if(StringUtils.isNotBlank(groupManagementResult)){
log.debug("同步开票组织管理---redis不为空");
GroupManagementEntity groupManagementEntity = JSON.parseObject(groupManagementResult, GroupManagementEntity.class);
if(!StringUtils.equals(taxPlayerCodeDept.getName(), groupManagementEntity.getGroupName())
|| !StringUtils.equals(taxPlayerCodeDept.getTaxpayerCode(), groupManagementEntity.getXhfNsrsbh())
@ -115,12 +117,17 @@ public class UserController {
groupManagementEntity.setEntId(taxPlayerCodeDept.getDeptId());
groupManagementEntity.setUsingEntId(taxPlayerCodeDept.getDeptId());
groupManagementEntity.setUpdateTime(new Date());
groupManagementService.updateGroup(groupManagementEntity);
int count = groupManagementService.updateGroup(groupManagementEntity);
if (count == 0) {
log.debug("同步开票组织管理---id is not find");
groupManagementService.updateGroupByKey(groupManagementEntity);
}
//更新redis缓存
redisService.del(kpzzglKey);
}
} else {
log.debug("同步开票组织管理---redis is null");
//查询数据库
GroupManagementQuery groupManagementQuery = new GroupManagementQuery();
groupManagementQuery.setGroupId(taxPlayerCodeDept.getDeptId());
@ -135,10 +142,15 @@ public class UserController {
if(groupManagementEntityOptional.isPresent()){
GroupManagementEntity groupManagementEntity = groupManagementEntityOptional.get();
boolean changed = isChanged(taxPlayerCodeDept, groupManagementEntity);
if (changed) {
updateGroup(taxPlayerCodeDept,groupManagementEntity);
}
//新增redis缓存
String groupManagementStr = JSON.toJSONString(groupManagementEntity);
redisService.set(kpzzglKey, groupManagementStr, RedisConstant.REDIS_EXPIRE_TIME_7DAYS);
} else {
log.debug("同步开票组织管理---database is null");
GroupManagementEntity groupManagementEntity = new GroupManagementEntity();
groupManagementEntity.setId(DistributedKeyMaker.generateShotKey());
groupManagementEntity.setGroupId(taxPlayerCodeDept.getDeptId());
@ -174,4 +186,39 @@ public class UserController {
}
});
}
public boolean isChanged(TaxPlayerCodeDept taxPlayerCodeDept,GroupManagementEntity groupManagementEntity){
if(!StringUtils.equals(taxPlayerCodeDept.getName(), groupManagementEntity.getGroupName())
|| !StringUtils.equals(taxPlayerCodeDept.getTaxpayerCode(), groupManagementEntity.getXhfNsrsbh())
|| !StringUtils.equals(taxPlayerCodeDept.getName(), groupManagementEntity.getXhfMc())
|| !StringUtils.equals(taxPlayerCodeDept.getTaxpayerAddress(), groupManagementEntity.getXhfDz())
|| !StringUtils.equals(taxPlayerCodeDept.getTaxpayerPhone(), groupManagementEntity.getXhfDh())
|| !StringUtils.equals(taxPlayerCodeDept.getTaxpayerBank(), groupManagementEntity.getXhfYh())
|| !StringUtils.equals(taxPlayerCodeDept.getTaxpayerAccount(), groupManagementEntity.getXhfZh())
|| !StringUtils.equals(taxPlayerCodeDept.getDeptId(), groupManagementEntity.getEntId())) {
return true;
}
return false;
}
public void updateGroup(TaxPlayerCodeDept taxPlayerCodeDept,GroupManagementEntity groupManagementEntity){
String name = taxPlayerCodeDept.getName();
String repl = "(" + taxPlayerCodeDept.getEnterpriseNumbers() + ")";
String replace = taxPlayerCodeDept.getName().replace(repl, "");
taxPlayerCodeDept.setName(replace);
groupManagementEntity.setGroupName(taxPlayerCodeDept.getName());
groupManagementEntity.setXhfNsrsbh(taxPlayerCodeDept.getTaxpayerCode());
groupManagementEntity.setXhfMc(taxPlayerCodeDept.getName());
groupManagementEntity.setXhfDz(taxPlayerCodeDept.getTaxpayerAddress());
groupManagementEntity.setXhfDh(taxPlayerCodeDept.getTaxpayerPhone());
groupManagementEntity.setXhfYh(taxPlayerCodeDept.getTaxpayerBank());
groupManagementEntity.setXhfZh(taxPlayerCodeDept.getTaxpayerAccount());
groupManagementEntity.setEntId(taxPlayerCodeDept.getDeptId());
groupManagementEntity.setUsingEntId(taxPlayerCodeDept.getDeptId());
groupManagementEntity.setUpdateTime(new Date());
groupManagementService.updateGroup(groupManagementEntity);
groupManagementEntity.setGroupName(name);
groupManagementEntity.setXhfMc(name);
}
}

@ -290,4 +290,56 @@
and del_flag='0'
group by group_id
</select>
<update id="updateGroupByKey" parameterType="com.dxhy.order.baseservice.module.groupmanagement.model.GroupManagementEntity">
UPDATE
sys_group_management
<set>
<if test="groupManagementEntity.groupName != null">
group_name = #{groupManagementEntity.groupName,jdbcType=VARCHAR},
</if>
<if test="groupManagementEntity.groupType != null">
group_type = #{groupManagementEntity.groupType,jdbcType=CHAR},
</if>
<if test="groupManagementEntity.xhfMc != null">
xhf_mc = #{groupManagementEntity.xhfMc,jdbcType=VARCHAR},
</if>
<if test="groupManagementEntity.xhfDz != null">
xhf_dz = #{groupManagementEntity.xhfDz,jdbcType=VARCHAR},
</if>
<if test="groupManagementEntity.xhfDh != null">
xhf_dh = #{groupManagementEntity.xhfDh,jdbcType=VARCHAR},
</if>
<if test="groupManagementEntity.xhfYh != null">
xhf_yh = #{groupManagementEntity.xhfYh,jdbcType=VARCHAR},
</if>
<if test="groupManagementEntity.xhfZh != null">
xhf_zh = #{groupManagementEntity.xhfZh,jdbcType=VARCHAR},
</if>
<if test="groupManagementEntity.dataSource != null">
data_source = #{groupManagementEntity.dataSource,jdbcType=CHAR},
</if>
<if test="groupManagementEntity.defaultItem != null">
is_default = #{groupManagementEntity.defaultItem,jdbcType=CHAR},
</if>
<if test="groupManagementEntity.dataStatus != null">
data_status = #{groupManagementEntity.dataStatus,jdbcType=CHAR},
</if>
<if test="groupManagementEntity.delFlag != null">
del_flag = #{groupManagementEntity.delFlag,jdbcType=CHAR},
</if>
<if test="groupManagementEntity.createTime != null">
create_time = #{groupManagementEntity.createTime,jdbcType=TIMESTAMP},
</if>
<if test="groupManagementEntity.updateTime != null">
update_time = #{groupManagementEntity.updateTime,jdbcType=TIMESTAMP},
</if>
</set>
WHERE
xhf_nsrsbh = #{groupManagementEntity.xhfNsrsbh,jdbcType=VARCHAR}
and ent_id = #{groupManagementEntity.entId,jdbcType=VARCHAR}
and del_flag = '0'
and data_source = '1'
</update>
</mapper>

Loading…
Cancel
Save