feat:集团物料、公司物料、物料分类CRUD和部分定制功能接口

release
gongquanlin 2 years ago
parent 3ca1431596
commit 36d2b6f7be
  1. 12
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/controller/CommodityController.java
  2. 2
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/dao/CommodityMapper.java
  3. 10
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/model/CommodityCodeEntity.java
  4. 3
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/CommodityService.java
  5. 17
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java
  6. 2
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/openapi/service/impl/InterfaceServiceForKfptImpl.java
  7. 63
      order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml
  8. 5
      order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/GroupCommodityCodeMapper.java
  9. 41
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/CompanyCommodityCodeController.java
  10. 18
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/CloneCompanyCommodityDTO.java
  11. 18
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/CloneCompanyCommodityDetailDTO.java
  12. 24
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/service/ICompanyCommodityCodeService.java
  13. 52
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/service/impl/CompanyCommodityCodeServiceImpl.java
  14. 8
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/taxcodematch/controller/SdenergyTaxCodeMatchController.java
  15. 14
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/taxcodematch/model/dto/SdenergyTaxCodeMatchDeleteDTO.java
  16. 246
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/InterfaceServiceImplV3.java
  17. 1
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java
  18. 52
      order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/ValidateUtils.java
  19. 2
      order-management-consumer/src/main/resources/bootstrap-dev.yaml
  20. 1100
      order-management-consumer/src/main/resources/mybatis/mapper/GroupCommodityCodeMapper.xml
  21. 4
      order-management-consumer/src/main/resources/mybatis/mapper/SdenergyTaxCodeMatchDao.xml

@ -76,18 +76,20 @@ public class CommodityController {
log.info("参数 {}", map);
String xhfNsrsbh = (String) map.get("xhfNsrsbh");
String entId = (String) map.get("entId"); // 数据权限id,对应的大B下的企业id
if (StringUtils.isBlank(xhfNsrsbh)) {
log.error("{},请求税号为空!", LOGGER_MSG);
return R.error(OrderInfoContentEnum.TAXCODE_ISNULL);
}
List<String> shList = NsrsbhUtils.transShListByXhfNsrsbh(xhfNsrsbh);
List<String> entIdList = NsrsbhUtils.transShListByXhfNsrsbh(entId);
try {
PageUtils pageUtil = commodityService.queryCommodityList(map, shList);
PageUtils pageUtil = commodityService.queryCommodityList(map, shList, entIdList);
return R.ok().put("page", pageUtil);
} catch (NumberFormatException e) {
log.error("{},分页参数类型转换异常:{}",LOGGER_MSG, e.getMessage());
log.error("{},分页参数类型转换异常:{}", LOGGER_MSG, e.getMessage());
return R.error("商品信息列表查询异常");
}
}
@ -132,7 +134,7 @@ public class CommodityController {
type = ConfigureConstant.STRING_2;
}
if(StringUtils.isBlank(commodityCodeEntity.getCommodityId())){
if (StringUtils.isBlank(commodityCodeEntity.getCommodityId())) {
commodityCodeEntity.setCommodityId(commodityCodeEntity.getId());
}
@ -581,11 +583,13 @@ public class CommodityController {
public void exportCommodityExcel(@RequestBody Map<String, Object> map, HttpServletResponse response) {
log.info("导出商品信息入参: {}", map);
String xhfNsrsbh = (String) map.get("xhfNsrsbh");
String entId = (String) map.get("entId"); // 数据权限id,对应的大B下的企业id
if (StringUtils.isBlank(xhfNsrsbh)) {
log.error("{},请求税号为空!", LOGGER_MSG);
}
List<String> shList = NsrsbhUtils.transShListByXhfNsrsbh(xhfNsrsbh);
PageUtils pageUtil = commodityService.queryCommodityList(map, shList);
List<String> entIdList = NsrsbhUtils.transShListByXhfNsrsbh(entId);
PageUtils pageUtil = commodityService.queryCommodityList(map, shList, entIdList);
List<CommodityCodeEntity> commodityCodeEntityList = (List<CommodityCodeEntity>) pageUtil.getList();
if (CollectionUtil.isEmpty(commodityCodeEntityList)) {
log.error("{},查询商品信息为空!", LOGGER_MSG);

@ -21,7 +21,7 @@ public interface CommodityMapper {
* @param shList
* @return
*/
List<CommodityCodeEntity> selectCommodityList(@Param("map") Map<String, Object> map, @Param("shList") List<String> shList);
List<CommodityCodeEntity> selectCommodityList(@Param("map") Map<String, Object> map, @Param("shList") List<String> shList, @Param("entId") List<String> entId);
/**
* 查询商品税编信息

@ -199,6 +199,16 @@ public class CommodityCodeEntity implements Serializable {
*/
private String wlflmc;
/**
* 数据权限id大B中的dept_id指下级公司
*/
private String entId;
/**
* 特殊物料标识 0非特殊物料1特殊物料
*/
private String tswl;
private String UUID;
private Boolean success;

@ -26,7 +26,7 @@ public interface CommodityService {
* @param xhfNsrsbh
* @return
*/
PageUtils queryCommodityList(Map<String, Object> map, List<String> xhfNsrsbh);
PageUtils queryCommodityList(Map<String, Object> map, List<String> xhfNsrsbh, List<String> entIdList);
/**
* 保存
@ -145,6 +145,7 @@ public interface CommodityService {
/**
* 导出商品信息
*
* @param commodityExcelList 需要导出的商品信息集合
* @return org.apache.poi.xssf.streaming.SXSSFWorkbook
* @throws ExcelReadException 表格导入自定义异常

@ -70,11 +70,11 @@ public class CommodityServiceImpl implements CommodityService {
* @return
*/
@Override
public PageUtils queryCommodityList(Map<String, Object> map, List<String> xhfNsrsbh) {
public PageUtils queryCommodityList(Map<String, Object> map, List<String> xhfNsrsbh, List<String> entIdList) {
int pageSize = Integer.parseInt((String) map.get(ConfigureConstant.STRING_PAGE_SIZE));
int currPage = Integer.parseInt((String) map.get(ConfigureConstant.STRING_CURR_PAGE));
PageHelper.startPage(currPage, pageSize);
List<CommodityCodeEntity> selectCommodity = commodityMapper.selectCommodityList(map, xhfNsrsbh);
List<CommodityCodeEntity> selectCommodity = commodityMapper.selectCommodityList(map, xhfNsrsbh,entIdList);
selectCommodity.forEach(commodityCodeEntity -> {
if (StringUtils.isNotBlank(commodityCodeEntity.getSl())) {
commodityCodeEntity.setSl(CommonUtils.formatSl(commodityCodeEntity.getSl()));
@ -97,7 +97,7 @@ public class CommodityServiceImpl implements CommodityService {
boolean flag;
//判断保存或者修改操作
String id = codeEntity.getId();
CommodityCodeEntity commodityCodeEntity = commodityMapper.queryCommodityById(id,"", shList);
CommodityCodeEntity commodityCodeEntity = commodityMapper.queryCommodityById(id, "", shList);
if (ObjectUtil.isNotEmpty(commodityCodeEntity)) {
log.debug("修改操作 id = {}", id);
if (StringUtils.isNotEmpty(codeEntity.getSpbm())) {
@ -162,7 +162,7 @@ public class CommodityServiceImpl implements CommodityService {
*/
@Override
public R queryCommodityById(String id, List<String> xhfNsrsbh) {
CommodityCodeEntity commodity = commodityMapper.queryCommodityById(id,"", xhfNsrsbh);
CommodityCodeEntity commodity = commodityMapper.queryCommodityById(id, "", xhfNsrsbh);
if (ObjectUtils.isEmpty(commodity)) {
return R.error("商品信息不存在");
}
@ -426,6 +426,7 @@ public class CommodityServiceImpl implements CommodityService {
/**
* 成品油商品信息查询
*
* @param pageSpxxReq 成品油类型1成品油0非成品油
* @param shList
* @return
@ -458,7 +459,7 @@ public class CommodityServiceImpl implements CommodityService {
//查询数据库中是否有当前请求信息
List<String> shList = new ArrayList<>();
shList.add(codeEntity.getXhfNsrsbh());
CommodityCodeEntity commodityCodeEntity = commodityMapper.queryCommodityById("",codeEntity.getCommodityId(), shList);
CommodityCodeEntity commodityCodeEntity = commodityMapper.queryCommodityById("", codeEntity.getCommodityId(), shList);
String spbm = codeEntity.getSpbm();
if (StringUtils.isNotEmpty(spbm)) {
@ -486,7 +487,7 @@ public class CommodityServiceImpl implements CommodityService {
switch (operationType) {
case "0":
if (Objects.isNull(commodityCodeEntity)) {
if(StringUtils.isBlank(codeEntity.getId())){
if (StringUtils.isBlank(codeEntity.getId())) {
codeEntity.setId(baseService.getGenerateShotKey());
}
@ -507,7 +508,7 @@ public class CommodityServiceImpl implements CommodityService {
break;
case "1":
if (Objects.nonNull(commodityCodeEntity)) {
if(StringUtils.isBlank(codeEntity.getId())){
if (StringUtils.isBlank(codeEntity.getId())) {
codeEntity.setId(commodityCodeEntity.getId());
}
commodityMapper.updateCommodity(codeEntity, shList);
@ -517,7 +518,7 @@ public class CommodityServiceImpl implements CommodityService {
break;
case "2":
if (Objects.nonNull(commodityCodeEntity)) {
if(StringUtils.isBlank(codeEntity.getId())){
if (StringUtils.isBlank(codeEntity.getId())) {
codeEntity.setId(commodityCodeEntity.getId());
}
commodityMapper.deleteCommodity(codeEntity.getId(), shList);

@ -179,7 +179,7 @@ public class InterfaceServiceForKfptImpl implements InterfaceServiceForKfpt {
//3.按照纳税人识别号查询
PageUtils pageUtils = commodityService.queryCommodityList(param, shList);
PageUtils pageUtils = commodityService.queryCommodityList(param, shList, null);
List<SpxxBO> spxxCommonList = new ArrayList<>();
List<CommodityCodeEntity> commodityCodeEntityList = (List<CommodityCodeEntity>) pageUtils.getList();
log.info("{}查询商品信息结果:{}", LOGGER_MSG, commodityCodeEntityList);

@ -40,6 +40,8 @@
<result column="jdc" jdbcType="VARCHAR" property="jdc"/>
<result column="wlflbm" jdbcType="VARCHAR" property="wlflbm"/>
<result column="wlflmc" jdbcType="VARCHAR" property="wlflmc"/>
<result column="ent_id" jdbcType="VARCHAR" property="entId"/>
<result column="tswl" jdbcType="VARCHAR" property="tswl"/>
</resultMap>
<sql id="Base_Column_List">
@ -48,7 +50,7 @@
tax_rate, specification_model, metering_unit, unit_price, tax_logo, hide_the_logo,
enjoy_preferential_policies, tax_class_code, tax_classification_name, preferential_policies_type,zzstsgl,
user_id, create_time, modify_time, modify_user_id, group_id,enterprise_name,data_source,
matching_state,data_state,tax_class_abbreviation,description,collect_ident,cpy,bmb_bbh,jdc,wlflbm,wlflmc
matching_state,data_state,tax_class_abbreviation,description,collect_ident,cpy,bmb_bbh,jdc,wlflbm,wlflmc,ent_id,tswl
</sql>
@ -91,7 +93,9 @@
cc.bmb_bbh,
gc.group_name,
cc.wlflbm,
cc.wlflmc
cc.wlflmc,
cc.ent_id,
cc.tswl
FROM
commodity_code cc LEFT JOIN group_commodity gc
ON gc.id = cc.group_id
@ -112,6 +116,13 @@
#{item}
</foreach>
</if>
<if test="entId != null and entId.size() > 1">
and cc.ent_id in
<foreach collection="entId" index="index" item="item"
open="(" separator="," close=")">
#{item}
</foreach>
</if>
and cc.xhf_nsrsbh != '-1'
<!-- 商品编码表ID-->
<if test="map.id != null and map.id != ''">
@ -133,6 +144,12 @@
<if test="map.sjzt != null and map.sjzt != ''">
AND cc.data_state = #{map.sjzt,jdbcType=VARCHAR}
</if>
<if test="map.entId != null and map.entId != ''">
AND cc.ent_id = #{map.entId,jdbcType=VARCHAR}
</if>
<if test="map.tswl != null and map.tswl != ''">
AND cc.tswl = #{map.tswl,jdbcType=VARCHAR}
</if>
<if test="dataType == 0">
<choose>
<!--模糊查询的标识(0表示不进行模糊查询,1表示模糊查询)-->
@ -323,6 +340,12 @@
<if test="commodityCode.wlflmc != null">
wlflmc = #{commodityCode.wlflmc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.entId != null">
ent_id = #{commodityCode.entId,jdbcType=VARCHAR},
</if>
<if test="commodityCode.tswl != null">
tswl = #{commodityCode.tswl,jdbcType=VARCHAR},
</if>
</set>
<where>
<if test="commodityCode.id != null and commodityCode.id != ''">
@ -457,6 +480,12 @@
<if test="wlflmc != null">
wlflmc,
</if>
<if test="entId != null">
ent_id,
</if>
<if test="tswl != null">
tswl,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -569,6 +598,12 @@
<if test="wlflmc != null">
#{wlflmc,jdbcType=VARCHAR},
</if>
<if test="entId != null">
#{entId,jdbcType=VARCHAR},
</if>
<if test="tswl != null">
#{tswl,jdbcType=VARCHAR},
</if>
</trim>
</insert>
@ -682,6 +717,12 @@
<if test="wlflmc != null">
wlflmc,
</if>
<if test="entId != null">
entId,
</if>
<if test="tswl != null">
tswl,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -794,6 +835,12 @@
<if test="wlflmc != null">
#{wlflmc,jdbcType=VARCHAR},
</if>
<if test="entId != null">
#{entId,jdbcType=VARCHAR},
</if>
<if test="tswl != null">
#{tswl,jdbcType=VARCHAR},
</if>
</trim>
ON DUPLICATE KEY UPDATE
<trim suffixOverrides=",">
@ -901,6 +948,12 @@
<if test="wlflmc != null">
wlflmc = VALUES(wlflmc),
</if>
<if test="entId != null">
ent_id = VALUES(ent_id),
</if>
<if test="tswl != null">
tswl = VALUES(tswl),
</if>
</trim>
</insert>
@ -1138,6 +1191,12 @@
#{item}
</foreach>
</if>
<if test="map.entId != null ">
AND cc.ent_id = #{map.entId,jdbcType=VARCHAR}
</if>
<if test="map.tswl != null ">
AND cc.tswl = #{map.tswl,jdbcType=VARCHAR}
</if>
and cc.xhf_nsrsbh != '-1'
</select>

@ -1,6 +1,7 @@
package com.dxhy.order.consumer.dao;
import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeEntity;
import com.dxhy.order.consumer.modules.commodity.domain.dto.CloneCompanyCommodityDetailDTO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -32,4 +33,8 @@ public interface GroupCommodityCodeMapper {
int insertCommodityCode(CommodityCodeEntity entity);
int deleteCommodityCodeByXhfNsrsbh(CloneCompanyCommodityDetailDTO dto);
int cloneCommodityCode(@Param("from") CloneCompanyCommodityDetailDTO from, @Param("to") CloneCompanyCommodityDetailDTO to);
}

@ -0,0 +1,41 @@
package com.dxhy.order.consumer.modules.commodity.controller;
import com.dxhy.order.consumer.modules.commodity.domain.dto.CloneCompanyCommodityDTO;
import com.dxhy.order.consumer.modules.commodity.domain.dto.QueryGroupCommodityDTO;
import com.dxhy.order.consumer.modules.commodity.domain.dto.QuoteGroupCommodityDTO;
import com.dxhy.order.consumer.modules.commodity.domain.dto.SyncGroupCommodityDTO;
import com.dxhy.order.consumer.modules.commodity.service.ICompanyCommodityCodeService;
import com.dxhy.order.consumer.modules.commodity.service.IGroupCommodityCodeService;
import com.dxhy.order.model.PageUtils;
import com.dxhy.order.model.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* @Description 公司物料库
* @Author 巩权林
* @Date 2023/3/9 08:19
**/
@RequestMapping(value = "/companyCommodity")
@RestController
@Slf4j
public class CompanyCommodityCodeController {
private final static String LOGGER_MSG = "(集团物料库)";
@Autowired
private ICompanyCommodityCodeService cloneCompanyCommodityCode;
/**
* 克隆物料
*
* @return
*/
@PostMapping("/clone")
public R quote(@RequestBody @Validated CloneCompanyCommodityDTO dto) {
return cloneCompanyCommodityCode.cloneCompanyCommodityCode(dto);
}
}

@ -0,0 +1,18 @@
package com.dxhy.order.consumer.modules.commodity.domain.dto;
import lombok.Data;
/**
* @Description 克隆物料DTO
* @Author 巩权林
* @Date 2023/3/15 20:50
**/
@Data
public class CloneCompanyCommodityDTO {
// 克隆的目标公司税号
private CloneCompanyCommodityDetailDTO from;
// 被克隆的目标公司税号
private CloneCompanyCommodityDetailDTO to;
}

@ -0,0 +1,18 @@
package com.dxhy.order.consumer.modules.commodity.domain.dto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Description
* @Author 巩权林
* @Date 2023/3/16 10:45
**/
@Data
public class CloneCompanyCommodityDetailDTO {
@NotBlank(message = "销方税号不能为空")
private String xhfNsrsbh; // 销方税号
@NotBlank(message = "数据权限不能为空")
private String entId; // 数据权限id
}

@ -0,0 +1,24 @@
package com.dxhy.order.consumer.modules.commodity.service;
import com.dxhy.order.consumer.modules.commodity.domain.dto.CloneCompanyCommodityDTO;
import com.dxhy.order.consumer.modules.commodity.domain.dto.QueryGroupCommodityDTO;
import com.dxhy.order.consumer.modules.commodity.domain.dto.QuoteGroupCommodityDTO;
import com.dxhy.order.consumer.modules.commodity.domain.dto.SyncGroupCommodityDTO;
import com.dxhy.order.model.PageUtils;
import com.dxhy.order.model.R;
/**
* @Description 集团物料库
* @Author 巩权林
* @Date 2023/3/9 10:06
**/
public interface ICompanyCommodityCodeService {
/**
* 克隆物料
*
* @param dto
* @return
*/
R cloneCompanyCommodityCode(CloneCompanyCommodityDTO dto);
}

@ -0,0 +1,52 @@
package com.dxhy.order.consumer.modules.commodity.service.impl;
import com.dxhy.order.baseservice.module.commodity.dao.GroupCommodityMapper;
import com.dxhy.order.consumer.dao.GroupCommodityCodeMapper;
import com.dxhy.order.consumer.modules.commodity.domain.dto.CloneCompanyCommodityDTO;
import com.dxhy.order.consumer.modules.commodity.domain.dto.CloneCompanyCommodityDetailDTO;
import com.dxhy.order.consumer.modules.commodity.service.ICompanyCommodityCodeService;
import com.dxhy.order.consumer.utils.ValidateUtils;
import com.dxhy.order.model.R;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
/**
* @Description
* @Author 巩权林
* @Date 2023/3/15 21:08
**/
@Service
public class CompanyCommodityCodeServiceImpl implements ICompanyCommodityCodeService {
@Autowired
private GroupCommodityCodeMapper groupCommodityMapper;
/**
* 克隆物料
*
* @param dto
* @return
*/
@Override
@Transactional
public R cloneCompanyCommodityCode(CloneCompanyCommodityDTO dto) {
CloneCompanyCommodityDetailDTO to = dto.getTo();
CloneCompanyCommodityDetailDTO from = dto.getFrom();
ValidateUtils.validate(to);
ValidateUtils.validate(from);
// 删除to公司下的所有物料
groupCommodityMapper.deleteCommodityCodeByXhfNsrsbh(to);
// 复制from公司下的所有物料到to
if (groupCommodityMapper.cloneCommodityCode(from, to) <= 0) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return R.error("克隆失败,请重新操作");
}
return R.ok();
}
}

@ -9,12 +9,14 @@ import com.dxhy.order.consumer.modules.commodity.domain.dto.QueryGroupCommodityD
import com.dxhy.order.consumer.modules.taxcodematch.emum.SdenergyTaxCodeMatchEnum;
import com.dxhy.order.consumer.modules.taxcodematch.entity.SdenergyTaxCodeMatch;
import com.dxhy.order.consumer.modules.taxcodematch.model.dto.SdenergyTaxCodeMatchDTO;
import com.dxhy.order.consumer.modules.taxcodematch.model.dto.SdenergyTaxCodeMatchDeleteDTO;
import com.dxhy.order.consumer.modules.taxcodematch.service.SdenergyTaxCodeMatchService;
import com.dxhy.order.model.PageUtils;
import com.dxhy.order.model.R;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -69,11 +71,10 @@ public class SdenergyTaxCodeMatchController {
}
@PutMapping("/edit")
public R edit(@RequestBody SdenergyTaxCodeMatchDTO dto, @RequestParam("id") Long id) {
public R edit(@RequestBody SdenergyTaxCodeMatch dto) {
SdenergyTaxCodeMatch updateEntity = new SdenergyTaxCodeMatch();
try {
BeanUtils.copyProperties(updateEntity, dto);
updateEntity.setId(id);
if (sdenergyTaxCodeMatchService.update(updateEntity) > 0) {
return R.ok();
} else {
@ -89,7 +90,8 @@ public class SdenergyTaxCodeMatchController {
}
@DeleteMapping("/delete")
public R delete(@RequestParam("id") Long id) {
public R delete(@RequestBody @Validated SdenergyTaxCodeMatchDeleteDTO dto) {
Long id = dto.getId();
return sdenergyTaxCodeMatchService.deleteById(id) ? R.ok() : R.error();
}

@ -0,0 +1,14 @@
package com.dxhy.order.consumer.modules.taxcodematch.model.dto;
import com.dxhy.order.consumer.modules.taxcodematch.entity.SdenergyTaxCodeMatch;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class SdenergyTaxCodeMatchDeleteDTO {
@NotNull(message = "id不得为空")
private Long id;
}

@ -298,7 +298,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
* @return
*/
@Override
@SentinelResource(value = "getAllocatedInvoicesV3",blockHandlerClass = InterfaceBlockExceptionUtil.class,blockHandler = "getAllocatedInvoicesV3Block")
@SentinelResource(value = "getAllocatedInvoicesV3", blockHandlerClass = InterfaceBlockExceptionUtil.class, blockHandler = "getAllocatedInvoicesV3Block")
public DdkjxxRspBO getAllocatedInvoicesV3(DdkjxxReqBO ddkjxxReq, String secretId) {
DdkjxxRspBO getInvoiceRsp = new DdkjxxRspBO();
@ -535,7 +535,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
* @return
*/
@Override
@SentinelResource(value = "getOrderInfoAndInvoiceInfoV3",blockHandlerClass = InterfaceBlockExceptionUtil.class,blockHandler = "getOrderInfoAndInvoiceInfoV3Block")
@SentinelResource(value = "getOrderInfoAndInvoiceInfoV3", blockHandlerClass = InterfaceBlockExceptionUtil.class, blockHandler = "getOrderInfoAndInvoiceInfoV3Block")
public DdfpcxRspBO getOrderInfoAndInvoiceInfoV3(DdfpcxReqBO ddfpcxReq, String secretId) {
String jsonString2 = JsonUtils.getInstance().toJsonString(ddfpcxReq);
log.debug("{},根据订单号获取订单数据以及发票数据接口数据:{}", LOGGER_MSG, jsonString2);
@ -874,7 +874,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
/**
* 获取PDF判断
*/
List<FileDownLoad> fileDownLoadList = orderInvoiceInfoService.getInvoiceFile(orderInfo.getDdlx(), orderInvoiceInfo.getFpzlDm(), orderInvoiceInfo.getPdfUrl(), orderInvoiceInfo.getKplsh(), orderInvoiceInfo.getFpdm(), orderInvoiceInfo.getFphm(), orderInvoiceInfo.getXhfNsrsbh(), terminalCode,"");
List<FileDownLoad> fileDownLoadList = orderInvoiceInfoService.getInvoiceFile(orderInfo.getDdlx(), orderInvoiceInfo.getFpzlDm(), orderInvoiceInfo.getPdfUrl(), orderInvoiceInfo.getKplsh(), orderInvoiceInfo.getFpdm(), orderInvoiceInfo.getFphm(), orderInvoiceInfo.getXhfNsrsbh(), terminalCode, "");
if (ObjectUtil.isNotEmpty(fileDownLoadList)) {
ddfpxx.setPDFZJL(fileDownLoadList.get(0).getFileContent());
ddfpxx.setZJLLX(CommonUtils.getZjlLx(fileDownLoadList.get(0).getFileSuffix()));
@ -1057,7 +1057,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
return ddfpcxRsp;
}
if(StringUtils.isNotBlank(fpcxReqBO.getFPDM()) && StringUtils.isNotBlank(fpcxReqBO.getFPHM())){
if (StringUtils.isNotBlank(fpcxReqBO.getFPDM()) && StringUtils.isNotBlank(fpcxReqBO.getFPHM())) {
if (StringUtils.length(fpcxReqBO.getFPDM()) > ConfigureConstant.INT_12 || !NumberUtil.isNumber(fpcxReqBO.getFPDM())) {
ddfpcxRsp.setZTDM(OrderInfoContentEnum.GET_INVOICE_PARAM_FPDM_V3_009673.getKey());
ddfpcxRsp.setZTXX(OrderInfoContentEnum.GET_INVOICE_PARAM_FPDM_V3_009673.getMessage());
@ -1072,7 +1072,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
return ddfpcxRsp;
}
}else{
} else {
if (StringUtils.isBlank(fpcxReqBO.getKPRQQ())) {
ddfpcxRsp.setZTDM(OrderInfoContentEnum.GET_INVOICE_PARAM_KPRQQ_V3_009663.getKey());
ddfpcxRsp.setZTXX(OrderInfoContentEnum.GET_INVOICE_PARAM_KPRQQ_V3_009663.getMessage());
@ -1087,7 +1087,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
}
}
if(StringUtils.isNotBlank(fpcxReqBO.getKPRQQ()) && StringUtils.isNotBlank(fpcxReqBO.getKPRQZ())){
if (StringUtils.isNotBlank(fpcxReqBO.getKPRQQ()) && StringUtils.isNotBlank(fpcxReqBO.getKPRQZ())) {
//开票日期起日期
if (!ConfigureConstant.DATE_FORMAT_DATE_Y_M_DH_M_S.equals(StringUtil.checkDateFormat(fpcxReqBO.getKPRQQ()))) {
ddfpcxRsp.setZTDM(OrderInfoContentEnum.GET_INVOICE_PARAM_DDRQQ_V3_009668.getKey());
@ -1236,7 +1236,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
/**
* 获取PDF判断
*/
List<FileDownLoad> fileDownLoadList = orderInvoiceInfoService.getInvoiceFile(orderInfo.getDdlx(), orderInvoiceInfo.getFpzlDm(), orderInvoiceInfo.getPdfUrl(), orderInvoiceInfo.getKplsh(), orderInvoiceInfo.getFpdm(), orderInvoiceInfo.getFphm(), orderInvoiceInfo.getXhfNsrsbh(), terminalCode,"");
List<FileDownLoad> fileDownLoadList = orderInvoiceInfoService.getInvoiceFile(orderInfo.getDdlx(), orderInvoiceInfo.getFpzlDm(), orderInvoiceInfo.getPdfUrl(), orderInvoiceInfo.getKplsh(), orderInvoiceInfo.getFpdm(), orderInvoiceInfo.getFphm(), orderInvoiceInfo.getXhfNsrsbh(), terminalCode, "");
if (ObjectUtil.isNotEmpty(fileDownLoadList)) {
ddfpxx.setPDFZJL(fileDownLoadList.get(0).getFileContent());
ddfpxx.setZJLLX(CommonUtils.getZjlLx(fileDownLoadList.get(0).getFileSuffix()));
@ -1320,7 +1320,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
}
ddfpcxRsp.setDDFPZXX(ddfpzxxBOList);
if(ObjectUtil.isNotEmpty(ddfpzxxBOList)){
if (ObjectUtil.isNotEmpty(ddfpzxxBOList)) {
ddfpcxRsp.setZTDM(OrderInfoContentEnum.INTERFACE_GETINVOICE_STATUS_000000.getKey());
ddfpcxRsp.setZTXX(OrderInfoContentEnum.INTERFACE_GETINVOICE_STATUS_000000.getMessage());
}
@ -1346,7 +1346,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
* @return
*/
@Override
public HzsqdscRspBO specialInvoiceRushRedV3(HzsqdscReqBO hzsqdscReq, String kpjh, String secretId,String interfaceVersion) {
public HzsqdscRspBO specialInvoiceRushRedV3(HzsqdscReqBO hzsqdscReq, String kpjh, String secretId, String interfaceVersion) {
HzsqdscRspBO hzsqdscRsp = new HzsqdscRspBO();
log.debug("{},接收红字发票申请单:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(hzsqdscReq));
@ -1383,15 +1383,15 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
}
//原开票日期补全后进行校验,红字专票(非成品油)购方已抵扣可不填
String xxbtsbs = hzsqdsczxx.getHZSQDTXX().getXXBTSBS();
String sqsm =hzsqdsczxx.getHZSQDTXX().getSQSM();
String sqsm = hzsqdsczxx.getHZSQDTXX().getSQSM();
boolean isCheck = OrderInfoEnum.SPECIAL_INVOICE_REASON_0000000100.getKey().equals(sqsm) ||
OrderInfoEnum.SPECIAL_INVOICE_REASON_1010000000.getKey().equals(sqsm) ||
CommonUtils.isGfsqAndOilProducts(sqsm,xxbtsbs);
if(isCheck && StringUtils.isBlank(hzsqdsczxx.getHZSQDTXX().getYFPKPRQ())){
CommonUtils.isGfsqAndOilProducts(sqsm, xxbtsbs);
if (isCheck && StringUtils.isBlank(hzsqdsczxx.getHZSQDTXX().getYFPKPRQ())) {
log.error("{}红字申请单上传原开票日期校验未通过,未通过数据:{}", LOGGER_MSG, hzsqdsczxx);
hzsqdscRsp.setZTDM(OrderInfoContentEnum.CHECK_ISS7PRI_115091.getKey());
hzsqdscRsp.setZTXX(OrderInfoContentEnum.CHECK_ISS7PRI_115091.getMessage());
if(CommonUtils.isGfsqAndOilProducts(sqsm,xxbtsbs)){
if (CommonUtils.isGfsqAndOilProducts(sqsm, xxbtsbs)) {
hzsqdscRsp.setZTDM(OrderInfoContentEnum.CHECK_ISS7PRI_115092.getKey());
hzsqdscRsp.setZTXX(OrderInfoContentEnum.CHECK_ISS7PRI_115092.getMessage());
}
@ -1400,19 +1400,18 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
}
//如果申请类别为空,根据申请说明补全
HzsqdscpcBO hzsqdscpc1 = hzsqdscReq.getHZSQDSCPC();
if(StringUtils.isBlank(hzsqdscpc1.getSQLB())){
if (StringUtils.isBlank(hzsqdscpc1.getSQLB())) {
HzsqdsczxxBO hzsqdsczxxBO = hzsqdscReq.getHZSQDSCZXX().get(0);
HzsqdtxxBO hzsqdtxx = hzsqdsczxxBO.getHZSQDTXX();
//购方申请
if(StringUtils.equals(OrderInfoEnum.SPECIAL_INVOICE_REASON_1100000000.getKey(), hzsqdtxx.getSQSM()) ||
StringUtils.equals(OrderInfoEnum.SPECIAL_INVOICE_REASON_1010000000.getKey(), hzsqdtxx.getSQSM())){
if (StringUtils.equals(OrderInfoEnum.SPECIAL_INVOICE_REASON_1100000000.getKey(), hzsqdtxx.getSQSM()) ||
StringUtils.equals(OrderInfoEnum.SPECIAL_INVOICE_REASON_1010000000.getKey(), hzsqdtxx.getSQSM())) {
hzsqdscpc1.setSQLB(ConfigureConstant.STRING_1);
}
//销方申请
if(StringUtils.equals(OrderInfoEnum.SPECIAL_INVOICE_REASON_0000000100.getKey(), hzsqdtxx.getSQSM())){
if (StringUtils.equals(OrderInfoEnum.SPECIAL_INVOICE_REASON_0000000100.getKey(), hzsqdtxx.getSQSM())) {
hzsqdscpc1.setSQLB(ConfigureConstant.STRING_0);
}
}
@ -1433,7 +1432,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
String terminalCode = simsBackService.getTerminalCode(hzsqdscReq.getHZSQDSCPC().getNSRSBH(), null);
if (StringUtils.isBlank(terminalCode)) {
log.warn("{}企业未配置税控设备,税号:{}", LOGGER_MSG, hzsqdscReq.getHZSQDSCPC().getNSRSBH());
hzsqdscRsp.setZTDM(StringUtils.leftPad(OrderInfoContentEnum.COMMON_ERROR.getKey(),6,"0"));
hzsqdscRsp.setZTDM(StringUtils.leftPad(OrderInfoContentEnum.COMMON_ERROR.getKey(), 6, "0"));
hzsqdscRsp.setZTXX(OrderInfoContentEnum.COMMON_ERROR.getMessage());
return hzsqdscRsp;
}
@ -1457,7 +1456,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
if (!OrderInfoContentEnum.SUCCESS.getKey().equals(String.valueOf(result.get(OrderManagementConstant.CODE)))) {
log.error("{}红字申请单上传数据自动匹配受理点失败:{}", LOGGER_MSG, checkInvParam);
hzsqdscRsp.setZTDM(result.get(OrderManagementConstant.CODE) == null ? ConfigureConstant.STRING_009999
: StringUtils.leftPad(String.valueOf(result.get(OrderManagementConstant.CODE)),6,"0"));
: StringUtils.leftPad(String.valueOf(result.get(OrderManagementConstant.CODE)), 6, "0"));
hzsqdscRsp.setZTXX(result.get(OrderManagementConstant.MESSAGE) == null ? "红字申请单上传数据自动匹配受理点失败"
: String.valueOf(result.get(OrderManagementConstant.MESSAGE)));
return hzsqdscRsp;
@ -1510,7 +1509,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
}
//如果为调用税控版本的方格,需要调用税控接口,如果为订单的需要发送指令
if(CommonUtils.judgeIsFgTerminalNew(terminalCode, fgSkKpShList, sh)){
if (CommonUtils.judgeIsFgTerminalNew(terminalCode, fgSkKpShList, sh)) {
String uploadUrl = invoiceConfig.configFgApplicationUpload();
//当对外接口一批次上传多条红字申请单时,按单条轮询上传
@ -1522,7 +1521,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
hzsqdscReq1.setHZSQDSCZXX(HZSQDSCZXX);
HzfpsqbsReq req = BeanTransitionUtils.transitionSpecialInvoiceRushRedV3(hzsqdscReq1, sldid, kpjh, fplx, fplb);
HpUploadResponse hpUploadResponse = HttpInvoiceRequestUtil.redInvoiceUpload(uploadUrl, req, terminalCode,fgSkKpShList,sh);
HpUploadResponse hpUploadResponse = HttpInvoiceRequestUtil.redInvoiceUpload(uploadUrl, req, terminalCode, fgSkKpShList, sh);
String statusCode = hpUploadResponse.getResult().getStatusCode();
String statusMsg = hpUploadResponse.getResult().getStatusMessage();
@ -1530,25 +1529,25 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
hzsqdscjg.setSQDH("");
hzsqdscjg.setXXBBH("");
List<HpUploadResponseHzfpsqbsc> hpUploadResponseHzfpsqbscList = hpUploadResponse.getResult().getResponse_HZFPSQBSC();
if(CollectionUtil.isNotEmpty(hpUploadResponseHzfpsqbscList)
&& Objects.nonNull(hpUploadResponseHzfpsqbscList.get(0))){
if (CollectionUtil.isNotEmpty(hpUploadResponseHzfpsqbscList)
&& Objects.nonNull(hpUploadResponseHzfpsqbscList.get(0))) {
HpUploadResponseHzfpsqbsc hpUploadResponseHzfpsqbsc = hpUploadResponseHzfpsqbscList.get(0);
hzsqdscjg.setSQDH(hpUploadResponseHzfpsqbsc.getSQDH());
hzsqdscjg.setXXBBH(hpUploadResponseHzfpsqbsc.getXXBBH());
}
if(ConfigureConstant.STRING_0000.equals(statusCode)){
if (ConfigureConstant.STRING_0000.equals(statusCode)) {
hzsqdscjg.setZTDM(OrderInfoEnum.SPECIAL_INVOICE_STATUS_TZD0501.getKey());
hzsqdscjg.setZTXX(OrderInfoEnum.SPECIAL_INVOICE_STATUS_TZD0501.getValue());
}else{
} else {
hzsqdscjg.setZTDM(statusCode);
hzsqdscjg.setZTXX(statusMsg);
}
hzsqdscjgs.add(hzsqdscjg);
}else{
} else {
//存放上传信息到redis队列
fangGeService.saveMqttToRedis(hzsqdscReq.getHZSQDSCPC().getNSRSBH(), sldid, OrderInfoEnum.FANGGE_INTERFACE_TYPE_2.getKey(), hzsqdsczxx.getHZSQDTXX().getSQBSCQQLSH(),false);
fangGeService.saveMqttToRedis(hzsqdscReq.getHZSQDSCPC().getNSRSBH(), sldid, OrderInfoEnum.FANGGE_INTERFACE_TYPE_2.getKey(), hzsqdsczxx.getHZSQDTXX().getSQBSCQQLSH(), false);
//消费下一条数据
fangGeService.handleRedisMsg(hzsqdscReq.getHZSQDSCPC().getNSRSBH(), sldid);
@ -1559,8 +1558,8 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
hzsqdscjgs.add(hzsqdscjg);
}
if(Objects.nonNull(specialInvoiceReversal)
&& !SPECIAL_INVOICE_STATUS_TZD0500.getKey().equals(specialInvoiceReversal.getStatusCode())){
if (Objects.nonNull(specialInvoiceReversal)
&& !SPECIAL_INVOICE_STATUS_TZD0500.getKey().equals(specialInvoiceReversal.getStatusCode())) {
//如果数据库存在该红字信息表,返回数据库中的红字信息表状态
HzsqdscjgBO hzsqdscjg1 = new HzsqdscjgBO();
hzsqdscjg1.setSQBSCQQLSH(hzsqdtxx.getSQBSCQQLSH());
@ -1570,8 +1569,8 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
hzsqdscjg1.setXXBBH(specialInvoiceReversal.getXxbbh());
//如果是新版方格,税控接口返回失败时对外接口返回税控接口的错误信息
if(CommonUtils.judgeIsFgTerminalNew(terminalCode, fgSkKpShList, sh)
&& !ConfigureConstant.STRING_0000.equals(hzsqdscjg.getZTDM())){
if (CommonUtils.judgeIsFgTerminalNew(terminalCode, fgSkKpShList, sh)
&& !ConfigureConstant.STRING_0000.equals(hzsqdscjg.getZTDM())) {
hzsqdscjg1.setZTDM(hzsqdscjg.getZTDM());
hzsqdscjg1.setZTXX(hzsqdscjg.getZTXX());
hzsqdscjg1.setXXBBH(hzsqdscjg.getXXBBH());
@ -1594,7 +1593,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
//组装对外接口出参数据
hzsqdscRsp.setHZSQDSCJG(hzsqdscjgsReturn);
} else if(CommonUtils.judgeNewInterface(terminalCode)){
} else if (CommonUtils.judgeNewInterface(terminalCode)) {
//上传成功的红字申请单集合
List<HpUploadResponse> successHpUploadResponseList = new ArrayList<>(hzsqdscReq.getHZSQDSCZXX().size());
@ -1614,22 +1613,22 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
log.debug("{},转换后数据:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(req));
String uploadUrl = invoiceConfig.configApplicationUpload();
HpUploadResponse redInvoiceUpload = HttpInvoiceRequestUtil.redInvoiceUpload(uploadUrl, req, terminalCode, fgSkKpShList,sh);
HpUploadResponse redInvoiceUpload = HttpInvoiceRequestUtil.redInvoiceUpload(uploadUrl, req, terminalCode, fgSkKpShList, sh);
List<HpUploadResponseHzfpsqbsc> hpUploadResponseHzfpsqbscList = redInvoiceUpload.getResult().getResponse_HZFPSQBSC();
//是否存在申请单明细信息
boolean isExistHpUploadResponseHzfpsqbsc = CollectionUtil.isNotEmpty(hpUploadResponseHzfpsqbscList)
&& Objects.nonNull(hpUploadResponseHzfpsqbscList.get(0));
if(ConfigureConstant.STRING_0000.equals(redInvoiceUpload.getCode())
&& isExistHpUploadResponseHzfpsqbsc
&& (SPECIAL_INVOICE_STATUS_TZD0000.getKey().equals(hpUploadResponseHzfpsqbscList.get(0).getSTATUS_CODE())
if (ConfigureConstant.STRING_0000.equals(redInvoiceUpload.getCode())
&& isExistHpUploadResponseHzfpsqbsc
&& (SPECIAL_INVOICE_STATUS_TZD0000.getKey().equals(hpUploadResponseHzfpsqbscList.get(0).getSTATUS_CODE())
|| SPECIAL_INVOICE_STATUS_TZD0001.getKey().equals(hpUploadResponseHzfpsqbscList.get(0).getSTATUS_CODE())
|| SPECIAL_INVOICE_STATUS_TZD1000.getKey().equals(hpUploadResponseHzfpsqbscList.get(0).getSTATUS_CODE()))){
|| SPECIAL_INVOICE_STATUS_TZD1000.getKey().equals(hpUploadResponseHzfpsqbscList.get(0).getSTATUS_CODE()))) {
successHpUploadResponseList.add(redInvoiceUpload);
} else {
failHpUploadResponseList.add(redInvoiceUpload);
}
successHpUploadResponseList.add(redInvoiceUpload);
} else {
failHpUploadResponseList.add(redInvoiceUpload);
}
}
//合并所有红字发票申请单上传结果
@ -1640,7 +1639,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
List<HpUploadResponseHzfpsqbsc> hpUploadResponseHzfpsqbscList = new ArrayList<>(10);
for (HpUploadResponse hpUploadResponse : hpUploadResponseList) {
if(ConfigureConstant.STRING_0000.equals(hpUploadResponse.getCode())){
if (ConfigureConstant.STRING_0000.equals(hpUploadResponse.getCode())) {
hpUploadResponseHzfpsqbscList.addAll(hpUploadResponse.getResult().getResponse_HZFPSQBSC());
} else {
HpUploadResponseHzfpsqbsc hpUploadResponseHzfpsqbsc = new HpUploadResponseHzfpsqbsc();
@ -1655,11 +1654,11 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
redInvoiceUpload.getResult().setResponse_HZFPSQBSC(hpUploadResponseHzfpsqbscList);
hzsqdscRsp = BeanTransitionUtils.transitionSpecialInvoiceRushRedRspV3(redInvoiceUpload);
if(hzsqdscReq.getHZSQDSCZXX().size() == failHpUploadResponseList.size()){
if (hzsqdscReq.getHZSQDSCZXX().size() == failHpUploadResponseList.size()) {
//红字申请单批量上传全部失败
hzsqdscRsp.setZTDM(OrderInfoContentEnum.CHECK_ISS7PRI_SC_060002.getKey());
hzsqdscRsp.setZTXX(OrderInfoContentEnum.CHECK_ISS7PRI_SC_060002.getMessage());
} else if(hzsqdscReq.getHZSQDSCZXX().size() == successHpUploadResponseList.size()) {
} else if (hzsqdscReq.getHZSQDSCZXX().size() == successHpUploadResponseList.size()) {
//红字申请单批量上传全部成功
hzsqdscRsp.setZTDM(OrderInfoContentEnum.CHECK_ISS7PRI_SC_060000.getKey());
hzsqdscRsp.setZTXX(OrderInfoContentEnum.CHECK_ISS7PRI_SC_060000.getMessage());
@ -1677,7 +1676,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
log.debug("{},转换后数据:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(req));
String uploadUrl = invoiceConfig.configRedInvoiceUpload();
HpUploadResponse redInvoiceUpload = HttpInvoiceRequestUtil.redInvoiceUpload(uploadUrl, req, terminalCode, fgSkKpShList,sh);
HpUploadResponse redInvoiceUpload = HttpInvoiceRequestUtil.redInvoiceUpload(uploadUrl, req, terminalCode, fgSkKpShList, sh);
hzsqdscRsp = BeanTransitionUtils.transitionSpecialInvoiceRushRedRspV3(redInvoiceUpload);
//更新数据库
@ -1736,7 +1735,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
String terminalCode = simsBackService.getTerminalCode(hzsqdxzReq.getNSRSBH(), null);
if (StringUtils.isBlank(terminalCode)) {
log.warn("{}企业未配置税控设备,税号:{}", LOGGER_MSG, hzsqdxzReq.getNSRSBH());
hzsqdxzRsp.setZTDM(StringUtils.leftPad(OrderInfoContentEnum.COMMON_ERROR.getKey(),6,"0"));
hzsqdxzRsp.setZTDM(StringUtils.leftPad(OrderInfoContentEnum.COMMON_ERROR.getKey(), 6, "0"));
hzsqdxzRsp.setZTXX(OrderInfoContentEnum.COMMON_ERROR.getMessage());
return hzsqdxzRsp;
}
@ -1744,14 +1743,14 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
log.info("税盘编码:{}", terminalCode);
//方格税盘特殊处理
String fgSkKpShList = baseServiceConfig.getFgSkKpShList();
if (CommonUtils.judgeIsFgTerminalOld(terminalCode,fgSkKpShList,sh)) {
if (CommonUtils.judgeIsFgTerminalOld(terminalCode, fgSkKpShList, sh)) {
/**
* 请求协议转换
*/
HpInvoiceRequest hpInvocieRequest = BeanTransitionUtils.transitionDownSpecialInvoiceV3(hzsqdxzReq, sldid, kpjh, fplx, fplb);
HpResponseBean redInvoiceDown = specialInvoiceService.downloadSpecialInvoiceReversalFg(hpInvocieRequest,terminalCode);
HpResponseBean redInvoiceDown = specialInvoiceService.downloadSpecialInvoiceReversalFg(hpInvocieRequest, terminalCode);
hzsqdxzRsp = BeanTransitionUtils.transitionDownSpecialInvoiceRspV3(redInvoiceDown);
recodeXxbtsbs(hzsqdxzRsp);
} else {
@ -1761,8 +1760,8 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
HpInvoiceRequest hpInvocieRequest = BeanTransitionUtils.transitionDownSpecialInvoiceV3(hzsqdxzReq, sldid, kpjh, fplx, fplb);
//调用下载前自动轮训可用开票点进行赋值
List<SearchFjh> searchFjhList = unifyService.getFjh(hzsqdxzReq.getNSRSBH(), "", "",terminalCode);
if(CollectionUtil.isEmpty(searchFjhList)){
List<SearchFjh> searchFjhList = unifyService.getFjh(hzsqdxzReq.getNSRSBH(), "", "", terminalCode);
if (CollectionUtil.isEmpty(searchFjhList)) {
log.error("{}红字申请单下载获取分机为空!,请求信息为:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(hpInvocieRequest));
hzsqdxzRsp.setZTDM(ConfigureConstant.STRING_009999);
hzsqdxzRsp.setZTXX("红字申请单下载获取分机为空");
@ -1776,7 +1775,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
for (SearchFjh searchFjh : searchFjhList) {
hpInvocieRequest.setKPJH(searchFjh.getFjh());
if(CommonUtils.judgeIsFgTerminalNew(terminalCode,fgSkKpShList,sh)) {
if (CommonUtils.judgeIsFgTerminalNew(terminalCode, fgSkKpShList, sh)) {
hpInvocieRequest.setKPJH(searchFjh.getJqbh());
}
@ -1784,24 +1783,24 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
if (CommonUtils.judgeNewInterface(terminalCode)) {
downUrl = invoiceConfig.configApplicationDownload();
}
if(CommonUtils.judgeIsFgTerminalNew(terminalCode,fgSkKpShList,sh)){
if (CommonUtils.judgeIsFgTerminalNew(terminalCode, fgSkKpShList, sh)) {
downUrl = invoiceConfig.configFgApplicationDownload();
}
HpResponseBean redInvoiceDown = HttpInvoiceRequestUtil.redInvoiceDown(downUrl, hpInvocieRequest, terminalCode,fgSkKpShList,sh);
HpResponseBean redInvoiceDown = HttpInvoiceRequestUtil.redInvoiceDown(downUrl, hpInvocieRequest, terminalCode, fgSkKpShList, sh);
//如果调用税控红字信息表下载接口异常,轮询下一个分机
if(ExceptionContentEnum.HZSQD_UPLOAD_ERROR_999999.getKey().equals(redInvoiceDown.getCode())){
if (ExceptionContentEnum.HZSQD_UPLOAD_ERROR_999999.getKey().equals(redInvoiceDown.getCode())) {
failRedInvoiceDownList.add(redInvoiceDown);
continue;
}
//如果下载成功,继续轮询下一个分机
if(CollectionUtil.isNotEmpty(redInvoiceDown.getResult().getRedinvreqbillxx())){
if (CollectionUtil.isNotEmpty(redInvoiceDown.getResult().getRedinvreqbillxx())) {
successRedInvoiceDownList.add(redInvoiceDown);
}
}
HpResponseBean redInvoiceDown;
//如果轮询分机都下载失败则返回第一个分机失败信息
if(searchFjhList.size() == CollectionUtil.size(failRedInvoiceDownList)){
if (searchFjhList.size() == CollectionUtil.size(failRedInvoiceDownList)) {
redInvoiceDown = failRedInvoiceDownList.get(0);
} else {
redInvoiceDown = successRedInvoiceDownList.get(0);
@ -1811,7 +1810,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
for (HpResponseBean hpResponseBean : successRedInvoiceDownList) {
redinvreqbillxx.addAll(hpResponseBean.getResult().getRedinvreqbillxx());
}
if(CollectionUtil.isNotEmpty(redinvreqbillxx)){
if (CollectionUtil.isNotEmpty(redinvreqbillxx)) {
redInvoiceDown.getResult().setRedinvreqbillxx(redinvreqbillxx);
}
}
@ -1885,7 +1884,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
}
//最大导入条数限制校验
if(ConfigureConstant.PC_MAX_ITEM_LENGTH <= ddfpzxxList.size()){
if (ConfigureConstant.PC_MAX_ITEM_LENGTH <= ddfpzxxList.size()) {
DdfpdrRspBO ddfpdrRsp = new DdfpdrRspBO();
ddfpdrRsp.setZTDM(OrderInfoContentEnum.INVOICE_INFO_IMPORT_ERROR.getKey());
ddfpdrRsp.setZTXX("单个批次最多支持1000张发票导入");
@ -1903,65 +1902,65 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
try {
//校验前补充数据
//清单项目名称(税控发票修复功能)
if(!StringUtils.equals(ConfigurerInfo.INTERFACE_VERSION_V5, interfaceVersion)
&& !StringUtils.equals(ConfigurerInfo.INTERFACE_VERSION_V6, interfaceVersion)){
if (!StringUtils.equals(ConfigurerInfo.INTERFACE_VERSION_V5, interfaceVersion)
&& !StringUtils.equals(ConfigurerInfo.INTERFACE_VERSION_V6, interfaceVersion)) {
DdfpxxBO ddfpxx = ddfpzxx.getDDFPXX();
if(Objects.nonNull(ddfpxx)){
if (Objects.nonNull(ddfpxx)) {
//补全清单项目名称
if(StringUtils.isBlank(ddfpxx.getQDXMMC()) &&
StringUtils.isNotBlank(ddfpxx.getQDBZ())){
if (StringUtils.isBlank(ddfpxx.getQDXMMC()) &&
StringUtils.isNotBlank(ddfpxx.getQDBZ())) {
String qdxmmcConstant = ConfigureConstant.XJXHQD;
if (OrderInfoEnum.INVOICE_BILLING_TYPE_1.getKey().equals(ddfpxx.getKPLX())) {
qdxmmcConstant = ConfigureConstant.XJZSXHQD;
}
if(StringUtils.equals(OrderInfoEnum.QDBZ_CODE_1.getKey(),ddfpxx.getQDBZ()) ||
StringUtils.equals(OrderInfoEnum.QDBZ_CODE_3.getKey(),ddfpxx.getQDBZ())){
if (StringUtils.equals(OrderInfoEnum.QDBZ_CODE_1.getKey(), ddfpxx.getQDBZ()) ||
StringUtils.equals(OrderInfoEnum.QDBZ_CODE_3.getKey(), ddfpxx.getQDBZ())) {
ddfpxx.setQDXMMC(qdxmmcConstant);
}
}
//补全编码表版本号
if(StringUtils.isBlank(ddfpxx.getBMBBBH())){
if (StringUtils.isBlank(ddfpxx.getBMBBBH())) {
ddfpxx.setBMBBBH(baseServiceConfig.configBmbbbh());
}
//如果是全电发票,发票行性质,优惠政策标识需要特殊处理
if(CommonUtils.judgeIsQdfp("", ddfpxx.getFPLXDM())){
if (CommonUtils.judgeIsQdfp("", ddfpxx.getFPLXDM())) {
ddfpzxx.getDDMXXX().forEach(ddmxxxBO -> {
//发票行性质
ddmxxxBO.setFPHXZ(CommonUtils.transFphxz(ddmxxxBO.getFPHXZ()));
//含税标志
if(StringUtils.isBlank(ddmxxxBO.getHSBZ())){
if (StringUtils.isBlank(ddmxxxBO.getHSBZ())) {
ddmxxxBO.setHSBZ(HSBZ_0.getKey());
}
//优惠政策标识、增值税特殊管理、零税率标识
if(StringUtils.isNotBlank(ddmxxxBO.getYHZCBS())){
if (StringUtils.isNotBlank(ddmxxxBO.getYHZCBS())) {
String zzstsgl = CommonUtils.transLocalZzstsgl(ddmxxxBO.getYHZCBS());
//免税和不征税需要设置零税率标识,如其他零税率标识设置为空,
if(OrderInfoEnum.ORDER_QD_YHZCBS_03.getValue().equals(zzstsgl)){
if (OrderInfoEnum.ORDER_QD_YHZCBS_03.getValue().equals(zzstsgl)) {
ddmxxxBO.setLSLBS(OrderInfoEnum.LSLBS_1.getKey());
ddmxxxBO.setYHZCBS(OrderInfoEnum.YHZCBS_1.getKey());
ddmxxxBO.setZZSTSGL(zzstsgl);
} else if(OrderInfoEnum.ORDER_QD_YHZCBS_04.getValue().equals(zzstsgl)){
} else if (OrderInfoEnum.ORDER_QD_YHZCBS_04.getValue().equals(zzstsgl)) {
ddmxxxBO.setLSLBS(OrderInfoEnum.LSLBS_2.getKey());
ddmxxxBO.setYHZCBS(OrderInfoEnum.YHZCBS_1.getKey());
ddmxxxBO.setZZSTSGL(zzstsgl);
} else {
if(DecimalCalculateUtil.stringCompare(ConfigureConstant.STRING_000,CommonUtils.formatSl(ddmxxxBO.getSL())) == 0){
if (DecimalCalculateUtil.stringCompare(ConfigureConstant.STRING_000, CommonUtils.formatSl(ddmxxxBO.getSL())) == 0) {
ddmxxxBO.setLSLBS(OrderInfoEnum.LSLBS_3.getKey());
ddmxxxBO.setYHZCBS(OrderInfoEnum.YHZCBS_0.getKey());
ddmxxxBO.setZZSTSGL("");
}else {
} else {
ddmxxxBO.setLSLBS("");
ddmxxxBO.setYHZCBS(OrderInfoEnum.YHZCBS_1.getKey());
ddmxxxBO.setZZSTSGL(zzstsgl);
}
}
}else {
} else {
ddmxxxBO.setYHZCBS(OrderInfoEnum.YHZCBS_0.getKey());
ddmxxxBO.setZZSTSGL("");
if(DecimalCalculateUtil.stringCompare(ConfigureConstant.STRING_000,CommonUtils.formatSl(ddmxxxBO.getSL())) == 0){
if (DecimalCalculateUtil.stringCompare(ConfigureConstant.STRING_000, CommonUtils.formatSl(ddmxxxBO.getSL())) == 0) {
ddmxxxBO.setLSLBS(OrderInfoEnum.LSLBS_3.getKey());
}
}
@ -2047,7 +2046,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
/*
* 订单业务bean
*/
List<OrderInfo> insertOrder = buildOrderInfo(ddfpzxx, sourceType, terminalCode,entId,qdfwlx);
List<OrderInfo> insertOrder = buildOrderInfo(ddfpzxx, sourceType, terminalCode, entId, qdfwlx);
/**
* 全电发票业务bean
@ -2146,24 +2145,24 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
try {
//校验前补充数据
//清单项目名称(税控发票修复功能)
if(!StringUtils.equals(ConfigurerInfo.INTERFACE_VERSION_V5, interfaceVersion)
&& !StringUtils.equals(ConfigurerInfo.INTERFACE_VERSION_V6, interfaceVersion)){
if (!StringUtils.equals(ConfigurerInfo.INTERFACE_VERSION_V5, interfaceVersion)
&& !StringUtils.equals(ConfigurerInfo.INTERFACE_VERSION_V6, interfaceVersion)) {
DdfpxxBO ddfpxx = ddfpzxx.getDDFPXX();
if(Objects.nonNull(ddfpxx)){
if (Objects.nonNull(ddfpxx)) {
//补全清单项目名称
if(StringUtils.isBlank(ddfpxx.getQDXMMC()) &&
StringUtils.isNotBlank(ddfpxx.getQDBZ())){
if (StringUtils.isBlank(ddfpxx.getQDXMMC()) &&
StringUtils.isNotBlank(ddfpxx.getQDBZ())) {
String qdxmmcConstant = ConfigureConstant.XJXHQD;
if (OrderInfoEnum.INVOICE_BILLING_TYPE_1.getKey().equals(ddfpxx.getKPLX())) {
qdxmmcConstant = ConfigureConstant.XJZSXHQD;
}
if(StringUtils.equals(OrderInfoEnum.QDBZ_CODE_1.getKey(),ddfpxx.getQDBZ()) ||
StringUtils.equals(OrderInfoEnum.QDBZ_CODE_3.getKey(),ddfpxx.getQDBZ())){
if (StringUtils.equals(OrderInfoEnum.QDBZ_CODE_1.getKey(), ddfpxx.getQDBZ()) ||
StringUtils.equals(OrderInfoEnum.QDBZ_CODE_3.getKey(), ddfpxx.getQDBZ())) {
ddfpxx.setQDXMMC(qdxmmcConstant);
}
}
//补全编码表版本号
if(StringUtils.isBlank(ddfpxx.getBMBBBH())){
if (StringUtils.isBlank(ddfpxx.getBMBBBH())) {
ddfpxx.setBMBBBH(baseServiceConfig.configBmbbbh());
}
}
@ -2227,7 +2226,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
/*
* 订单业务bean
*/
List<OrderInfo> insertOrder = buildOrderInfo(ddfpzxx, sourceType, terminalCode,entId,qdfwlx);
List<OrderInfo> insertOrder = buildOrderInfo(ddfpzxx, sourceType, terminalCode, entId, qdfwlx);
/*
* 订单明细业务bean
*/
@ -2354,7 +2353,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
//3.按照纳税人识别号查询
PageUtils pageUtils = commodityService.queryCommodityList(param, shList);
PageUtils pageUtils = commodityService.queryCommodityList(param, shList, null);
List<SpxxBO> spxxCommonList = new ArrayList<>();
List<CommodityCodeEntity> commodityCodeEntityList = (List<CommodityCodeEntity>) pageUtils.getList();
log.info("{}查询商品信息结果:{}", LOGGER_MSG_V4, commodityCodeEntityList);
@ -3544,7 +3543,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
DyResponse dyResponse = new DyResponse();
String fgSkKpShList = baseServiceConfig.getFgSkKpShList();
if (CommonUtils.judgeIsFgTerminalOld(terminalCode,fgSkKpShList,sh)) {
if (CommonUtils.judgeIsFgTerminalOld(terminalCode, fgSkKpShList, sh)) {
//新增校验,验证方格客户端是否在线,如果不在线直接返回异常
boolean subscriptions = unifyService.querySpzxzt(fpdyReqBO.getNSRSBH(),
invoicePrintPackageDetailList.get(0).getFjh(), terminalCode);
@ -3577,13 +3576,13 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
fangGeService.saveInvoicePrintInfo(printInfo);
//如果为调用税控版本的方格,需要调用税控接口,如果为订单的需要发送指令
if(CommonUtils.judgeIsFgTerminalNew(terminalCode,fgSkKpShList,sh)){
if (CommonUtils.judgeIsFgTerminalNew(terminalCode, fgSkKpShList, sh)) {
String fgInvoicePrint = invoiceConfig.configFgInvoicePrint();
dyRequest.setInvoicePrintPackageDetailList(invoicePrintPackageDetailList);
dyResponse = HttpInvoiceRequestUtil.batchPrint(fgInvoicePrint, dyRequest, terminalCode,fgSkKpShList,sh);
dyResponse = HttpInvoiceRequestUtil.batchPrint(fgInvoicePrint, dyRequest, terminalCode, fgSkKpShList, sh);
String statusCode = dyResponse.getCode();
String statusMsg = dyResponse.getMsg();
@ -3592,11 +3591,11 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
dyResponse.setMsg(statusMsg);
}else{
} else {
//存放打印信息到redis队列
fangGeService.saveMqttToRedis(dyRequestExtend.getNsrsbh(), dyRequestExtend.getFjh(),
OrderInfoEnum.FANGGE_INTERFACE_TYPE_5.getKey(), printInfo.getFpdypch(),false);
OrderInfoEnum.FANGGE_INTERFACE_TYPE_5.getKey(), printInfo.getFpdypch(), false);
//消费下一条数据
fangGeService.handleRedisMsg(dyRequestExtend.getNsrsbh(), dyRequestExtend.getFjh());
}
@ -3612,7 +3611,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
} else if (CommonUtils.judgeNewInterface(terminalCode)) {
requestUrl = invoiceConfig.configPrintInvoiceInfo();
}
dyResponse = HttpInvoiceRequestUtil.batchPrint(requestUrl, dyRequest, terminalCode, fgSkKpShList,sh);
dyResponse = HttpInvoiceRequestUtil.batchPrint(requestUrl, dyRequest, terminalCode, fgSkKpShList, sh);
}
if (ConfigureConstant.STRING_0000.equals(dyResponse.getCode())) {
@ -3690,7 +3689,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
//3.调用税控接口
String fgSkKpShList = baseServiceConfig.getFgSkKpShList();
if(CommonUtils.judgeIsFgTerminalOld(terminalCode,fgSkKpShList,sh)){
if (CommonUtils.judgeIsFgTerminalOld(terminalCode, fgSkKpShList, sh)) {
//方格
FgkpSkDyjmcCxParam fgkpSkDyjmcCxParam = new FgkpSkDyjmcCxParam();
fgkpSkDyjmcCxParam.setXhfNsrsbh(NsrsbhUtils.transShListByXhfNsrsbh(dyjcxReqBO.getNSRSBH()));
@ -3699,7 +3698,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
fgkpSkDyjmcCxParam, terminalCode);
if (ConfigureConstant.STRING_0000.equals(skDyjByShZl.getCode())) {
List<FgkpSkDyjEntity> fgkpSkDyjEntityList = skDyjByShZl.getData();
if(CollectionUtil.isEmpty(fgkpSkDyjEntityList)){
if (CollectionUtil.isEmpty(fgkpSkDyjEntityList)) {
throw new OrderReceiveException(OrderInfoContentEnum.QUERYPRINTER_000005);
}
@ -3729,10 +3728,10 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
if (CommonUtils.judgeNewInterface(terminalCode)) {
dyjListUrl = invoiceConfig.configQueryPrinterInfo();
}
if (CommonUtils.judgeIsFgTerminalNew(terminalCode,fgSkKpShList,sh)) {
if (CommonUtils.judgeIsFgTerminalNew(terminalCode, fgSkKpShList, sh)) {
dyjListUrl = invoiceConfig.configFgQueryPrinterInfo();
}
DydResponse dyResponse = HttpInvoiceRequestUtil.queryDydxxcxList(dyjListUrl, dydListRequst, terminalCode,fgSkKpShList,sh);
DydResponse dyResponse = HttpInvoiceRequestUtil.queryDydxxcxList(dyjListUrl, dydListRequst, terminalCode, fgSkKpShList, sh);
if (ConfigureConstant.STRING_0000.equals(dyResponse.getCode())) {
// 4.响应协议Bean转换
@ -3758,9 +3757,9 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
}
//如果打印机名称不为空,根据打印机名称过滤从税控底层查询到打印机列表
if(StringUtils.isNotBlank(dyjcxReqBO.getDYJMC())){
if (StringUtils.isNotBlank(dyjcxReqBO.getDYJMC())) {
List<Dyjxx> dyjxxList = dyjcxRspBO.getDYJXX();
if(CollectionUtil.isNotEmpty(dyjxxList)){
if (CollectionUtil.isNotEmpty(dyjxxList)) {
List<Dyjxx> dyjxxes = dyjxxList.stream()
.filter(dyjxx -> StringUtils.equals(dyjcxReqBO.getDYJMC(), dyjxx.getDYJMC()))
.collect(Collectors.toList());
@ -3843,7 +3842,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
qyjbxxCxRspBO.setNSRMC(taxEquipmentInfo.getXhfMc());
//税控
if(CollectionUtil.isNotEmpty(taxpayermachineinfos)){
if (CollectionUtil.isNotEmpty(taxpayermachineinfos)) {
List<Sbjcxx> sbjcxxList = new ArrayList<>(taxpayermachineinfos.size());
taxpayermachineinfos.forEach(taxpayerMachineInfo -> {
Sbjcxx sbjcxx = new Sbjcxx();
@ -3853,20 +3852,20 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
List<Fplxdmxx> fplxdmxxList = new ArrayList<>(invoiceTypeList.size());
for (InvoiceType invoiceType : invoiceTypeList) {
//过滤掉 41(卷票) 数据
if(StringUtils.equals(OrderInfoEnum.ORDER_INVOICE_TYPE_41.getKey(),invoiceType.getFPZLDM())){
if (StringUtils.equals(OrderInfoEnum.ORDER_INVOICE_TYPE_41.getKey(), invoiceType.getFPZLDM())) {
continue;
}
Fplxdmxx fplxdmxx = new Fplxdmxx();
BeanUtils.copyProperties(invoiceType, fplxdmxx);
fplxdmxx.setFPLXDM(CommonUtils.transFplxdm(invoiceType.getFPZLDM()));
if(StringUtils.isNotBlank(invoiceType.getSJBSQSSJ())){
fplxdmxx.setSJBSQSSJ(DateUtil.format(DateUtil.parse(invoiceType.getSJBSQSSJ()),ConfigureConstant.DATE_FORMAT_DATE));
if (StringUtils.isNotBlank(invoiceType.getSJBSQSSJ())) {
fplxdmxx.setSJBSQSSJ(DateUtil.format(DateUtil.parse(invoiceType.getSJBSQSSJ()), ConfigureConstant.DATE_FORMAT_DATE));
}
if(StringUtils.isNotBlank(invoiceType.getZXBSSJ())){
fplxdmxx.setZXBSSJ(DateUtil.format(DateUtil.parse(invoiceType.getZXBSSJ()),ConfigureConstant.DATE_FORMAT_DATE));
if (StringUtils.isNotBlank(invoiceType.getZXBSSJ())) {
fplxdmxx.setZXBSSJ(DateUtil.format(DateUtil.parse(invoiceType.getZXBSSJ()), ConfigureConstant.DATE_FORMAT_DATE));
}
if(StringUtils.isNotBlank(invoiceType.getKPJZRQ())){
fplxdmxx.setKPJZRQ(DateUtil.format(DateUtil.parse(invoiceType.getKPJZRQ()),ConfigureConstant.DATE_FORMAT_DATE));
if (StringUtils.isNotBlank(invoiceType.getKPJZRQ())) {
fplxdmxx.setKPJZRQ(DateUtil.format(DateUtil.parse(invoiceType.getKPJZRQ()), ConfigureConstant.DATE_FORMAT_DATE));
}
fplxdmxxList.add(fplxdmxx);
}
@ -3878,7 +3877,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
}
//全电
if(Objects.nonNull(qdjcxx) && Objects.nonNull(qdjcxx.getJCXX())){
if (Objects.nonNull(qdjcxx) && Objects.nonNull(qdjcxx.getJCXX())) {
qyjbxxCxRspBO.setNSRMC(qdjcxx.getJCXX().getNSRMC());
QdjcxxBO qdjcxxBO = new QdjcxxBO();
JcxxBO jcxxBO = new JcxxBO();
@ -4790,7 +4789,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
} else {
// 查询表 `order_invoice_info`
OrderInvoiceInfo orderInvoiceInfo = orderInvoiceInfoService.selectOrderInvoiceInfoByFpdmAndFphm(zfcxReqBO.getFPDM(), zfcxReqBO.getFPHM(), shList);
if(Objects.nonNull(orderInvoiceInfo)){
if (Objects.nonNull(orderInvoiceInfo)) {
zfBz = orderInvoiceInfo.getZfBz();
zfsj = orderInvoiceInfo.getZfsj();
} else {
@ -4882,7 +4881,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
* @author <a href="tivenninesongs@163.com">yaoxuguang</a>
* @date 2020/4/24
*/
private List<OrderInfo> buildOrderInfo(DdfpzxxBO ddfpzxx, String sourceType, String terminalCode,String entId,String qdfwlx) {
private List<OrderInfo> buildOrderInfo(DdfpzxxBO ddfpzxx, String sourceType, String terminalCode, String entId, String qdfwlx) {
List<OrderInfo> insertOrder = CollectionUtil.newArrayList();
OrderInfo orderInfo = BeanTransitionUtils.transitionInsertOrderInfo(ddfpzxx.getDDFPXX());
if (StringUtils.isEmpty(orderInfo.getDdh())) {
@ -4891,7 +4890,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
/**
* 设置订单数据类型
*/
if(CommonUtils.judgeIsQdfp("", orderInfo.getFpzlDm())){
if (CommonUtils.judgeIsQdfp("", orderInfo.getFpzlDm())) {
orderInfo.setDdlx(OrderInfoEnum.ORDER_TYPE_0.getKey());
} else {
if (OrderInfoEnum.ORDER_SOURCE_7.getKey().equals(sourceType)) {
@ -4917,8 +4916,8 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
orderInfo.setBz(resultBz);
//记录当前税控设备代码
orderInfo.setSksbCode(terminalCode);
if(CommonUtils.judgeIsQdfp("", orderInfo.getFpzlDm())
&& StringUtils.isNotBlank(CommonUtils.getQdSksbdm(qdfwlx))){
if (CommonUtils.judgeIsQdfp("", orderInfo.getFpzlDm())
&& StringUtils.isNotBlank(CommonUtils.getQdSksbdm(qdfwlx))) {
orderInfo.setSksbCode(CommonUtils.getQdSksbdm(qdfwlx));
}
@ -4934,14 +4933,15 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
/**
* 构建全电订单信息bean
* @author <a href="yaoxuguang@ele-cloud.com">yaoxuguang</a>
* @date 2022-10-20
*
* @param ddfpzxx 订单发票全数据返回协议bean
* @return java.util.List<com.dxhy.order.model.qd.OrderInfoQd>
* @author <a href="yaoxuguang@ele-cloud.com">yaoxuguang</a>
* @date 2022-10-20
*/
private List<OrderInfoQd> buildOrderInfoQd(DdfpzxxBO ddfpzxx) {
List<OrderInfoQd> orderInfoQdList = new ArrayList<>(5);
if(Objects.nonNull(ddfpzxx.getQDTXXBO())){
if (Objects.nonNull(ddfpzxx.getQDTXXBO())) {
OrderInfoQd orderInfoQd = BeanTransitionUtils.transitionOrderInfoQd(ddfpzxx.getQDTXXBO());
orderInfoQdList.add(orderInfoQd);
}
@ -5001,7 +5001,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
/**
* 设置订单数据类型
*/
if(CommonUtils.judgeIsQdfp("", orderInfo.getFpzlDm())){
if (CommonUtils.judgeIsQdfp("", orderInfo.getFpzlDm())) {
orderProcessInfo.setDdly(OrderInfoEnum.ORDER_SOURCE_1.getKey());
} else {
if (OrderInfoEnum.ORDER_TYPE_6.getKey().equals(orderInfo.getDdlx())) {
@ -5026,7 +5026,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
orderProcessInfo.setId(orderInfo.getProcessId());
//订单表id
orderProcessInfo.setOrderInfoId(orderInfo.getId());
if(StringUtils.isNotBlank(orderInfo.getSksbCode())){
if (StringUtils.isNotBlank(orderInfo.getSksbCode())) {
orderProcessInfo.setSksbCode(orderInfo.getSksbCode());
}
insertProcessInfo.add(orderProcessInfo);
@ -5073,7 +5073,7 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
orderInvoiceInfo.setId(apiInvoiceCommonService.getGenerateShotKey());
//发票来源和订单来源共用
orderInvoiceInfo.setFply(orderProcessInfo.getDdly());
if(StringUtils.isNotBlank(orderInfo.getSksbCode())){
if (StringUtils.isNotBlank(orderInfo.getSksbCode())) {
orderInvoiceInfo.setSksbdm(orderInfo.getSksbCode());
}
@ -5109,19 +5109,19 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 {
specialInvoiceReversalEntity.setSqdh(hzsqdtxx.getSQBSCQQLSH());
//如果是旧版方格,赋值申请单号
if(CommonUtils.judgeIsFgTerminalOld(terminalCode, baseServiceConfig.getFgSkKpShList(),
hzsqdscReq.getHZSQDSCPC().getNSRSBH())){
if (CommonUtils.judgeIsFgTerminalOld(terminalCode, baseServiceConfig.getFgSkKpShList(),
hzsqdscReq.getHZSQDSCPC().getNSRSBH())) {
//为了防止并发生成相同的申请单号加分布式锁,锁的过期时间为1秒
String hzxxbscSqdhRedisLock = String.format(RedisConstant.REDIS_ORDER_LOCK__FG_HZXXBSC_SQDH_KEY, kpjh);
String redisValue = hzsqdscReq.getHZSQDSCPC().getNSRSBH() + "," + kpjh;
if(redisService.setNx(hzxxbscSqdhRedisLock, redisValue, 1)){
if (redisService.setNx(hzxxbscSqdhRedisLock, redisValue, 1)) {
//方格重新生成申请单号,税号对应的12位机器编号 + 12位时间
String sqdh = kpjh + DateUtil.format(new Date(), ConfigureConstant.DATE_FORMAT_DATE_YMDHMS).substring(2);
specialInvoiceReversalEntity.setSqdh(sqdh);
Thread.sleep(1000);
redisService.del(redisValue);
} else {
synchronized (this){
synchronized (this) {
Thread.sleep(1000);
//方格重新生成申请单号,税号对应的12位机器编号 + 12位时间
String sqdh = kpjh + DateUtil.format(new Date(), ConfigureConstant.DATE_FORMAT_DATE_YMDHMS).substring(2);

@ -218,6 +218,7 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
commodityCodeEntity.setUUID(reqBO.getUUID());
commodityCodeEntity.setWlflbm(reqBO.getCATEGORYCODE());
commodityCodeEntity.setWlflmc(reqBO.getCATEGORYNAME());
commodityCodeEntity.setDataSource("4");
// 维护税编和商品编码
if (codeEntityForMatch != null && StringUtils.isNotBlank(codeEntityForMatch.getSsflMc())) {

@ -0,0 +1,52 @@
package com.dxhy.order.consumer.utils;
import org.apache.commons.collections4.CollectionUtils;
import javax.validation.ConstraintViolation;
import javax.validation.Valid;
import javax.validation.Validation;
import java.util.Set;
/**
* @Description
* @Author 巩权林
* @Date 2023/3/16 11:07
**/
public class ValidateUtils {
/**
* 单纯参数校验
*
* @param validateObject
* @param <T>
* @throws RuntimeException
*/
public static <T> void validate(@Valid T validateObject) throws RuntimeException {
validate(validateObject, null);
}
/**
* validate主动校验方式
*
* @param validateObject 进行校验的对象
* @param <T> 传递的校验类型
* @param preMsg 错误信息的前部分要追加的内容
* @throws RuntimeException 服务异常
*/
public static <T> void validate(@Valid T validateObject, String preMsg) throws RuntimeException {
Set<ConstraintViolation<@Valid T>> validateSet = Validation
.buildDefaultValidatorFactory()
.getValidator()
.validate(validateObject);
if (CollectionUtils.isNotEmpty(validateSet)) {
for (ConstraintViolation<@Valid T> i : validateSet) {
String msg = i.getPropertyPath() + i.getMessage();
if (preMsg != null) {
msg = preMsg + msg;
}
throw new RuntimeException(msg);
}
}
}
}

@ -56,6 +56,8 @@ spring:
server-addr: ${spring.cloud.nacos.config.server-addr}
username: ${spring.cloud.nacos.config.username}
password: ${spring.cloud.nacos.config.password}
grpc:
enabled: false
#sentinel配置相关
sentinel:
#sentinel是否开启控制

@ -56,13 +56,13 @@
and wlflbm like concat("%",#{wlflbm},"%")
</if>
<if test="flmc != null and flmc != ''">
and flmc = like concat("%",#{flmc},"%")
and flmc like concat("%",#{flmc},"%")
</if>
<if test="ssflbm != null and ssflbm != ''">
and ssflbm = #{ssflbm}
</if>
<if test="ssflmc != null and ssflmc != ''">
and ssflmc = #{ssflmc}
and ssflmc like concat("%",#{ssflmc},"%")
</if>
</where>
</select>

Loading…
Cancel
Save