Merge remote-tracking branch 'origin/test' into test

release
WangQi 2 years ago
commit a6222d0198
  1. 2
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/dao/CommodityMapper.java
  2. 19
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java
  3. 10
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/controller/UserController.java
  4. 60
      order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml
  5. 14
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java
  6. 15
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInfoController.java
  7. 5
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderInfoService.java
  8. 17
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderCommonServiceImpl.java
  9. 42
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java
  10. 8
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderSplitServiceImpl.java
  11. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/AllocateInvoiceInterfaceServiceImplV3.java
  12. 20
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java
  13. 20
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java
  14. 32
      order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java

@ -53,6 +53,8 @@ public interface CommodityMapper {
*/
int updateCommodity(@Param("commodityCode") CommodityCodeEntity codeEntity, @Param("shList") List<String> shList);
int updateCommodityByZxbm(@Param("commodityCode") CommodityCodeEntity codeEntity, @Param("map") Map<String,String> map);
int batchUpdateCommodity(@Param("commodityCode") CommodityCodeEntity codeEntity, @Param("ids") List<String> ids);
/**

@ -639,20 +639,27 @@ public class CommodityServiceImpl implements CommodityService {
log.debug("{}校验名称是否存在 参数:{}", LOGGER_MSG, map);
List<CommodityCodeEntity> commodityCodeEntityList = commodityMapper.queryProductList(map, null);
//R r = commodityService.checkRepeat(commodityCodeCheckQuery, NsrsbhUtils.transShListByNsrsbh(receiveSpxxReq.getXhfNsrsbh()), false);
if(commodityCodeEntityList.isEmpty()){
//if (ConfigureConstant.STRING_0000.equals(r.get(OrderManagementConstant.CODE))) {
TaxClassCodeEntity taxClassCodeEntity = taxClassCodeService.queryTaxClassCodeFromCache(receiveSpxxReq.getSpbm());
CommodityCodeEntity commodityCodeEntity = null;
if (ObjectUtil.isNotEmpty(taxClassCodeEntity)) {
commodityCodeEntity = transCommodityCode(receiveSpxxReq, taxClassCodeEntity);
}
if(commodityCodeEntityList.isEmpty()) {
//if (ConfigureConstant.STRING_0000.equals(r.get(OrderManagementConstant.CODE))) {
/**
* 从缓存中取税编信息
*
*/
TaxClassCodeEntity taxClassCodeEntity = taxClassCodeService.queryTaxClassCodeFromCache(receiveSpxxReq.getSpbm());
if (ObjectUtil.isNotEmpty(taxClassCodeEntity)) {
CommodityCodeEntity commodityCodeEntity = transCommodityCode(receiveSpxxReq, taxClassCodeEntity);
if (commodityCodeEntity != null){
commodityMapper.insertCommodity(commodityCodeEntity);
log.debug("添加成功");
}
}else{
// TODO 简称、商品编码、规格型号、单位、优惠政策标识、零税率标识
if (commodityCodeEntity != null){
commodityMapper.updateCommodityByZxbm(commodityCodeEntity, map);
}
}
}
}

@ -65,11 +65,11 @@ public class UserController {
if(ConfigureConstant.STRING_0000.equals(r.get(OrderManagementConstant.CODE))){
UserEntity userEntity = (UserEntity) r.get(OrderManagementConstant.DATA);
if(ObjectUtil.isNotNull(userEntity)){
List<TaxPlayerCodeDept> taxplayercodeDeptList = userEntity.getTaxplayercodeDeptList();
List<TaxPlayerCodeDept> taxplayercodeDeptList = userEntity.getTaxplayercodeDeptList();
if(ObjectUtil.isNotEmpty(taxplayercodeDeptList)){
//同步大B或用户中心实体组织信息到发票组织管理表
syncPhysicalGroupManagement(taxplayercodeDeptList);
}
//同步大B或用户中心实体组织信息到发票组织管理表
syncPhysicalGroupManagement(taxplayercodeDeptList);
}
}
}
@ -158,7 +158,7 @@ public class UserController {
groupManagementEntity.setXhfZh(taxPlayerCodeDept.getTaxpayerAccount());
groupManagementEntity.setDataSource(OrderInfoEnum.ORDER_KPZZGL_SJLY_1.getKey());
groupManagementEntity.setDataStatus(OrderInfoEnum.ORDER_KPZZGL_SJZT_0.getKey());
groupManagementEntity.setDefaultItem(OrderInfoEnum.ORDER_KPZZGL_SFMRX_0.getKey());
groupManagementEntity.setDefaultItem(OrderInfoEnum.ORDER_KPZZGL_SFMRX_1.getKey());
groupManagementEntity.setDelFlag(OrderInfoEnum.ORDER_KPZZGL_SCBJ_0.getKey());
groupManagementEntity.setEntId(taxPlayerCodeDept.getDeptId());
groupManagementEntity.setUsingEntId(taxPlayerCodeDept.getDeptId());

@ -384,6 +384,61 @@
</if>
</where>
</update>
<update id="updateCommodityByZxbm" parameterType="com.dxhy.order.baseservice.module.commodity.model.CommodityCodeEntity">
<bind name="dataType" value="${dataType}"/>
update commodity_code
<set>
<if test="commodityCode.ggxh != null">
specification_model = #{commodityCode.ggxh,jdbcType=VARCHAR},
</if>
<if test="commodityCode.xmdw != null">
metering_unit = #{commodityCode.xmdw,jdbcType=VARCHAR},
</if>
<if test="commodityCode.ycbz != null">
hide_the_logo = #{commodityCode.ycbz,jdbcType=VARCHAR},
</if>
<if test="commodityCode.lslbs != null">
preferential_policies_type = #{commodityCode.lslbs,jdbcType=VARCHAR},
</if>
<if test="commodityCode.yhzcbs != null">
enjoy_preferential_policies = #{commodityCode.yhzcbs,jdbcType=VARCHAR},
</if>
<if test="commodityCode.spbm != null">
tax_class_code = #{commodityCode.spbm,jdbcType=VARCHAR},
</if>
<if test="commodityCode.spjc != null">
tax_class_abbreviation = #{commodityCode.spjc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.zzstsgl != null">
zzstsgl = #{commodityCode.zzstsgl,jdbcType=VARCHAR},
</if>
<if test="dataType == 0">
modify_time = now(),
</if>
<if test="dataType == 1">
modify_time = SYSDATE,
</if>
<if test="commodityCode.modifyUserId != null">
modify_user_id = #{commodityCode.modifyUserId,jdbcType=CHAR},
</if>
<if test="commodityCode.collectIdent != null">
collect_ident = #{commodityCode.collectIdent,jdbcType=VARCHAR},
</if>
<if test="commodityCode.cpy != null">
cpy = #{commodityCode.cpy,jdbcType=VARCHAR},
</if>
</set>
<where>
<if test="map.zxbm != null">
and encoding = #{map.zxbm,jdbcType=VARCHAR}
</if>
<if test="map.entId != null">
and ent_id = #{map.entId,jdbcType=VARCHAR}
</if>
</where>
</update>
<update id="batchUpdateCommodity" parameterType="com.dxhy.order.baseservice.module.commodity.model.CommodityCodeEntity">
<bind name="dataType" value="${dataType}"/>
update commodity_code
@ -406,8 +461,9 @@
<if test="commodityCode.wlflmc != null">
wlflmc = #{commodityCode.wlflmc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.ggxh != null">
specification_model = #{commodityCode.ggxh,jdbcType=VARCHAR},
</if>
<if test="commodityCode.commodityId != null">
commodity_id = #{commodityCode.commodityId,jdbcType=VARCHAR},
</if>

@ -145,6 +145,8 @@ public class InvoiceServiceImpl implements InvoiceService {
return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"购方信息为空,请补全!");
}
String cpy = "";
String kcp = baseServiceConfig.getKcp();
boolean kcpMark = kcp.contains(commonOrderInfo.getOrderItemInfo().get(0).getSpbm());
for(OrderItemInfo orderItemInfo: commonOrderInfo.getOrderItemInfo()){
if(StrUtil.isBlank(orderItemInfo.getSpbm())){
return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"第"+orderItemInfo.getSphxh()+"行商品税编为空,请补全!");
@ -157,6 +159,9 @@ public class InvoiceServiceImpl implements InvoiceService {
}else {
cpy = taxClassCodeEntity.getCpy();
}
if(kcp.contains(orderItemInfo.getSpbm()) != kcpMark){
return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"矿产品与非矿产品税编不能混开,请做手动拆分处理!");
}
}
}
if(ConfigureConstant.STRING_Y.equals(cpy) && commonOrderInfo.getOrderItemInfo().size()>ConfigureConstant.INT_8){
@ -263,11 +268,15 @@ public class InvoiceServiceImpl implements InvoiceService {
OrderProcessInfo processInfo = f.getProcessInfo();
processInfo.setYzfp(ConfigureConstant.STRING_1);
orderProcessService.updateOrderProcessInfoByProcessId(processInfo, null);
OrderInfo orderInfo = f.getOrderInfo();
if(ObjectUtil.isNotNull(taxClassCodeEntity) && ConfigureConstant.STRING_Y.equals(taxClassCodeEntity.getCpy())){
OrderInfo orderInfo = f.getOrderInfo();
orderInfo.setQdBz(OrderInfoEnum.QDBZ_CODE_4.getKey());
orderInfoService.updateOrderInfoByOrderId(orderInfo,null);
}else if(f.getOrderItemInfo().size() > 8){
orderInfo.setQdBz(OrderInfoEnum.QDBZ_CODE_1.getKey());
}else{
orderInfo.setQdBz(OrderInfoEnum.QDBZ_CODE_0.getKey());
}
orderInfoService.updateOrderInfoByOrderId(orderInfo,null);
} else if (orderSplit.size() > 1) {
List<CommonOrderInfo> commonOrderInfoSaveResults = new ArrayList<>();
@ -277,6 +286,7 @@ public class InvoiceServiceImpl implements InvoiceService {
OrderProcessInfo processInfo = orderProcessService.selectOrderProcessInfoByProcessId(s.getOrderInfo().getProcessId(),null);
processInfo.setYzfp(ConfigureConstant.STRING_1);
orderProcessService.updateOrderProcessInfoByProcessId(processInfo, null);
//
});
} else {
continue;

@ -500,4 +500,19 @@ public class OrderInfoController {
}
}
@ApiOperation(value = "批量订单明细合并", notes = "订单信息管理-批量订单明细合并")
@PostMapping("/batchMegerOrderItem")
@SysLog(operation = "批量订单明细合并", operationDesc = "订单明细合并", key = "批量订单明细合并")
public R batchMegerOrderItem(@RequestBody String param){
log.info("批量订单明细合并",param);
List<JSONObject> jsonObjects = JSONObject.parseArray(param).toJavaList(JSONObject.class);
try {
return orderInfoService.batchMegerOrderItem(jsonObjects);
} catch (Exception e) {
log.error(e.getMessage());
return R.error("系统异常");
}
}
}

@ -1,6 +1,7 @@
package com.dxhy.order.consumer.modules.order.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dxhy.order.consumer.model.page.PageRequestVO;
import com.dxhy.order.exception.OrderReceiveException;
import com.dxhy.order.model.*;
@ -219,7 +220,9 @@ public interface OrderInfoService {
R updateOrderItem(String orderInfoId,String entId,List<String> itemList);
@Transactional
R mergeOrderItem(String entId,String orderInfoId,List<String> itemList);
R mergeOrderItem(String entId,String orderInfoId,List<String> itemList) throws Exception;
R batchMegerOrderItem(List<JSONObject> jsonObjects);
/**

@ -2,6 +2,8 @@ package com.dxhy.order.consumer.modules.order.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.dxhy.order.baseservice.module.taxclass.dao.TaxClassCodeMapper;
import com.dxhy.order.baseservice.module.taxclass.model.TaxClassCodeEntity;
import com.dxhy.order.constant.ConfigureConstant;
import com.dxhy.order.constant.OrderInfoContentEnum;
import com.dxhy.order.constant.OrderInfoEnum;
@ -92,6 +94,9 @@ public class OrderCommonServiceImpl implements OrderCommonService {
@Resource
private BaseService baseService;
@Resource
private TaxClassCodeMapper taxClassCodeMapper;
@Override
public String getGenerateShotKey() {
return DistributedKeyMaker.generateShotKey();
@ -1382,6 +1387,7 @@ public class OrderCommonServiceImpl implements OrderCommonService {
}
int i = 1;
int cpy = 0;
for (OrderItemInfo orderItemInfo : comm.getOrderItemInfo()) {
orderItemInfo.setOrderInfoId(orderInfo.getId());
if (StringUtils.isBlank(orderItemInfo.getXhfNsrsbh())) {
@ -1391,6 +1397,10 @@ public class OrderCommonServiceImpl implements OrderCommonService {
orderItemInfo.setId(apiInvoiceCommonService.getGenerateShotKey());
orderItemInfo.setCreateTime(orderItemInfo.getCreateTime() == null ? new Date() : orderItemInfo.getCreateTime());
orderItemInfo.setSphxh(String.valueOf(i));
TaxClassCodeEntity taxClassCodeEntity = taxClassCodeMapper.selectTaxClassCodeBySpbm(orderItemInfo.getSpbm());
if(taxClassCodeEntity != null && "Y".contains(taxClassCodeEntity.getCpy())){
cpy++;
}
/**
* 处理单价,保留非零位
*/
@ -1411,6 +1421,13 @@ public class OrderCommonServiceImpl implements OrderCommonService {
}
i++;
}
if(cpy == comm.getOrderItemInfo().size()){
orderInfo.setQdBz(OrderInfoEnum.QDBZ_CODE_4.getKey());
}else if(comm.getOrderItemInfo().size() > 8){
orderInfo.setQdBz(OrderInfoEnum.QDBZ_CODE_1.getKey());
}else{
orderInfo.setQdBz(OrderInfoEnum.QDBZ_CODE_0.getKey());
}
int insert = orderProcessInfoExtMapper.insertOrderProcessExt(orderExt);
if (insert <= 0) {

@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.dxhy.base.constant.OrderSeparationException;
import com.dxhy.base.constant.TaxSeparateConfig;
import com.dxhy.base.utils.PriceTaxSeparationUtilNew;
@ -1840,7 +1841,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
Map map = new HashMap(2);
map.put("cpy","Y");
Integer integer = taxClassCodeMapper.countTaxClassCodeBySpbm(collect1, map);
if(orderItemInfoList.size()==integer.intValue()){
if(orderItemInfos.size()==integer.intValue()){
//更新order_info 清单标志为4
OrderInfo orderInfo = new OrderInfo();
orderInfo.setId(orderInfoId);
@ -1855,15 +1856,20 @@ public class OrderInfoServiceImpl implements OrderInfoService {
}
@Override
public R mergeOrderItem(String entId, String orderInfoId,List<String> itemList){
public R mergeOrderItem(String entId, String orderInfoId,List<String> itemList) throws Exception{
List<OrderItemInfo> orderItemInfos = orderItemInfoMapper.selectAllByOrderId(Arrays.asList(orderInfoId), null);
if(ObjectUtil.isNull(orderItemInfos)){
return R.error("根据订单号未查询到明细行信息");
}
List<OrderItemInfo> collect = orderItemInfos.stream().filter(t -> itemList.contains(t.getId()) && StringUtils.isNotBlank(t.getSpbm())).collect(Collectors.toList());
if(ObjectUtil.isNull(orderItemInfos)){
return R.error("税收编码为空的不允许合并,请先更新税收编码");
List<OrderItemInfo> collect = null;
if(itemList != null){
collect = orderItemInfos.stream().filter(t -> itemList.contains(t.getId()) && StringUtils.isNotBlank(t.getSpbm())).collect(Collectors.toList());
if(ObjectUtil.isNull(orderItemInfos)){
return R.error("税收编码为空的不允许合并,请先更新税收编码");
}
}else{
collect = orderItemInfos;
}
Map<String, List<OrderItemInfo>> collect1 = collect.stream().collect(Collectors.groupingBy(t -> t.getFphxz() + t.getXmmc() + t.getXmdw() + t.getGgxh() + t.getSl() + t.getSpbm()));
List<OrderItemInfo> orderItemInfoList = new ArrayList<>();
@ -1886,7 +1892,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
//重算税额
String hsbz = orderItemInfo.getHsbz();
BigDecimal taxRate = new BigDecimal(orderItemInfo.getSl());
BigDecimal taxAmout = new BigDecimal(orderItemInfo.getSl());
BigDecimal taxAmout = new BigDecimal(orderItemInfo.getXmje());
if (OrderInfoEnum.HSBZ_1.getKey().equals(hsbz)) {
taxAmout = xmje.divide(new BigDecimal("1").add(taxRate),0).multiply(taxRate).setScale(2,RoundingMode.HALF_UP);
} else if (OrderInfoEnum.HSBZ_0.getKey().equals(hsbz)) {
@ -1928,6 +1934,26 @@ public class OrderInfoServiceImpl implements OrderInfoService {
return R.ok();
}
@Override
public R batchMegerOrderItem(List<JSONObject> jsonObjects){
for (JSONObject t : jsonObjects) {
String orderInfoId = t.getString("orderInfoId");
String entId = t.getString("entId");
String ddh = t.getString("ddh");
try {
R r = mergeOrderItem(entId,orderInfoId, null);
if(!ConfigureConstant.STRING_0000.equals(r.getCode())){
return R.error(String.format("结算单号%s明细行合并失败",ddh));
}
} catch (Exception e) {
log.error("批量合并报错orderInfoId:{},entId:{},报错信息:{}",orderInfoId,entId,e.getMessage());
return R.error(String.format("结算单号%s明细行合并失败",ddh));
}
}
return R.ok();
}
@Override
@Transactional(readOnly = true)
public Boolean checkInvoiceRemarksFlag(String xfnsrsbh, String ghfId) {
@ -1975,9 +2001,9 @@ public class OrderInfoServiceImpl implements OrderInfoService {
StringBuilder stringBuilder = new StringBuilder();
if(StrUtil.isNotBlank(commodity.getInvoiceName())){
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(commodity.getInvoiceName()).toString();
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(commodity.getInvoiceName().trim()).toString();
}else{
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(commodity.getXmmc()).toString();
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(commodity.getXmmc().trim()).toString();
}
item.setXmmc(spmc);

@ -262,9 +262,14 @@ public class OrderSplitServiceImpl implements OrderSplitService {
CommonOrderInfo commonOrder = new CommonOrderInfo();
OrderInfo orderInfo = new OrderInfo();
List<OrderItemInfo> orderItemList = new ArrayList<>();
int cpy = 0;
for (PageOrderItemInfo pageOrderItemInfo : pageCommonOrderInfo.getOrderItemInfo()) {
OrderItemInfo orderItemInfo = new OrderItemInfo();
BeanUtils.copyProperties(pageOrderItemInfo, orderItemInfo);
TaxClassCodeEntity taxClassCodeEntity = taxClassCodeMapper.selectTaxClassCodeBySpbm(orderItemInfo.getSpbm());
if(taxClassCodeEntity != null && "Y".contains(taxClassCodeEntity.getCpy())){
cpy++;
}
orderItemList.add(orderItemInfo);
}
@ -281,6 +286,9 @@ public class OrderSplitServiceImpl implements OrderSplitService {
CommonUtils.resetQdbz(orderInfo);
//重新计算清单标志
CommonUtils.setQdbz(orderInfo, orderItemList.size());
if(cpy == pageCommonOrderInfo.getOrderItemInfo().size()){
orderInfo.setQdBz(OrderInfoEnum.QDBZ_CODE_4.getKey());
}
CommonUtils.setQdXmmc(orderInfo);
String cfDdh = oldDdh + CF + DECIMAL_FORMAT.format(i);

@ -894,7 +894,7 @@ public class AllocateInvoiceInterfaceServiceImplV3 implements AllocateInvoiceInt
insertOrder.stream().forEach(item->{
if (orderInfoService.checkInvoiceRemarksFlag(item.getXhfNsrsbh(), item.getGhfId())) {
log.info("ddpcxxReq:{}", JSONObject.toJSONString(ddpcxxReq));
item.setBz(item.getBz()+";销方公司代码:"+ddpcxxReq.getDDZXX().get(0).getDDTXX().getXHFBM()+",销方公司名称:"+item.getXhfMc()+";");
item.setBz(StringUtils.isBlank(item.getBz())?"":item.getBz()+";销方公司代码:"+ddpcxxReq.getDDZXX().get(0).getDDTXX().getXHFBM()+",销方公司名称:"+item.getXhfMc()+";");
}
});

@ -823,6 +823,22 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService {
if (StringUtils.isBlank(item.getSe())) {
item.setSe("");
}
//判断规格信号是否大于40位,大于则截取
if(StringUtils.isNotBlank(item.getGgxh())){
String ggxh = item.getGgxh();
try {
if (ggxh.getBytes(ConfigureConstant.STRING_CHARSET_GBK).length > ConfigureConstant.INT_40) {
log.debug("对明细行规格型号进行截取,截取前数据为:{}", ggxh);
ggxh = StringUtil.subStringByByte(ggxh, ConfigureConstant.INT_40);
log.debug("对明细行规格型号进行截取,截取后数据为:{}", ggxh);
item.setXmmc(ggxh);
}
} catch (IOException e) {
//编码格式错误
log.error("处理商品名称异常:{}", e);
throw new RuntimeException(e);
}
}
}
/**
@ -839,9 +855,9 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService {
String spmc = item.getXmmc();
StringBuilder stringBuilder = new StringBuilder();
if (StringUtils.isBlank(spmc)) {
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(commodity.getXmmc()).toString();
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(commodity.getXmmc().trim()).toString();
} else if (StringUtil.checkStr(spmc, commodity.getSpjc())) {
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(spmc).toString();
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(spmc.trim()).toString();
}
item.setXmmc(spmc);
//如果税率为空使用查询到的税率否则使用原税率

@ -18,6 +18,7 @@ import com.dxhy.order.baseservice.module.taxclass.dao.TaxClassCodeMapper;
import com.dxhy.order.baseservice.module.taxclass.model.TaxClassCodeEntity;
import com.dxhy.order.baseservice.module.thirdservice.user.dto.AddUserRequestDto;
import com.dxhy.order.baseservice.module.thirdservice.user.service.UserInfoService;
import com.dxhy.order.constant.ConfigureConstant;
import com.dxhy.order.consumer.dao.GroupCommodityCodeMapper;
import com.dxhy.order.consumer.modules.taxcodematch.dao.SdenergyTaxCodeMatchDao;
import com.dxhy.order.consumer.modules.taxcodematch.entity.SdenergyTaxCodeMatch;
@ -25,7 +26,9 @@ import com.dxhy.order.consumer.openapi.protocol.AjaxResult;
import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.*;
import com.dxhy.order.model.R;
import com.dxhy.order.utils.DistributedKeyMaker;
import com.dxhy.order.utils.GbkUtil;
import com.dxhy.order.utils.JsonUtils;
import com.dxhy.order.utils.StringUtil;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@ -37,6 +40,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
@ -220,12 +224,6 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
return AjaxResult.success("success", respStr);
}
public static void main(String[] args) {
DecimalFormat g=new DecimalFormat("0000000000");
String code = String.format("%10s","60121A").replace(" ","0");
System.out.println();
}
private static void structureBuyerEntity(BuyerEntity buyerEntity,MdmGmfxxtbReqBO tempMdmGmfxxtbReqBO){
buyerEntity.setTaxpayerCode(tempMdmGmfxxtbReqBO.getDESC14());
@ -342,6 +340,13 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
reqBO.setCODE(code);
List<CommodityCodeEntity> commodityCodeEntities = commodityMapper.queryByCommoditySpbmCompany(reqBO.getCODE());
List<CommodityCodeEntity> collect = commodityCodeEntities.stream().filter(t -> "-1".equals(t.getXhfNsrsbh())).collect(Collectors.toList());
String ggxh = StringUtils.isNotBlank(reqBO.getDESCSHORT())&& reqBO.getDESCSHORT().contains("_")? reqBO.getDESCSHORT().substring(reqBO.getDESCSHORT().indexOf("_") + 1) : "";
if(GbkUtil.getGbkLength(ggxh) > ConfigureConstant.INT_40){
try {
ggxh = StringUtil.subStringByByte(ggxh, ConfigureConstant.INT_40);
} catch (IOException e) {
}
}
if(collect != null && collect.size() > 0){
matchCommodityCode(commodityCodeEntity);
commodityCodeEntity.setXmmc(reqBO.getDESC1());
@ -349,6 +354,7 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
commodityCodeEntity.setXmdw(reqBO.getDESC5());
commodityCodeEntity.setCreateTime(new Date());
commodityCodeEntity.setBz(reqBO.getDESCSHORT());
commodityCodeEntity.setGgxh(ggxh);
commodityCodeEntity.setUUID(reqBO.getUUID());
commodityCodeEntity.setWlflbm(reqBO.getCATEGORYCODE());
if(StringUtils.isNotBlank(reqBO.getCATEGORYNAME())){
@ -375,6 +381,7 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
commodityCodeEntity.setCreateTime(new Date());
commodityCodeEntity.setBz(reqBO.getDESCSHORT());
commodityCodeEntity.setUUID(reqBO.getUUID());
commodityCodeEntity.setGgxh(ggxh);
commodityCodeEntity.setWlflbm(reqBO.getCATEGORYCODE());
if(StringUtils.isNotBlank(reqBO.getCATEGORYNAME())){
commodityCodeEntity.setWlflmc(reqBO.getCATEGORYNAME());
@ -406,7 +413,6 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
}
return list;
}
/**
* 根据规则进行物料匹配
*

@ -3481,10 +3481,17 @@ public class BeanTransitionUtils {
ddtxxBO.setKPLX(req.getZSFHZ());
ddtxxBO.setXHFSBH(deptEntity.getInvoiceNsrsbh());
ddtxxBO.setXHFMC(deptEntity.getInvoiceName());
ddtxxBO.setXHFDZ(deptEntity.getTaxpayerAddress());
ddtxxBO.setXHFDH(deptEntity.getTaxpayerPhone());
ddtxxBO.setXHFYH(deptEntity.getTaxpayerBank());
ddtxxBO.setXHFZH(deptEntity.getTaxpayerAccount());
// if(OrderInfoEnum.ORDER_INVOICE_TYPE_001.getKey().equals(ddpcxxBO.getFPLXDM()) || OrderInfoEnum.ORDER_INVOICE_TYPE_002.getKey().equals(ddpcxxBO.getFPLXDM())){
// ddtxxBO.setXHFDZ("");
// ddtxxBO.setXHFDH("");
// ddtxxBO.setXHFYH("");
// ddtxxBO.setXHFZH("");
// } else {
ddtxxBO.setXHFDZ(deptEntity.getTaxpayerAddress());
ddtxxBO.setXHFDH(deptEntity.getTaxpayerPhone());
ddtxxBO.setXHFYH(deptEntity.getTaxpayerBank());
ddtxxBO.setXHFZH(deptEntity.getTaxpayerAccount());
// }
ddtxxBO.setGMFBM(req.getZGFBH());
ddtxxBO.setKPR(req.getZKPRXM());
ddtxxBO.setSKR(req.getZSKRXM());
@ -3545,13 +3552,13 @@ public class BeanTransitionUtils {
if(StringUtils.isNotBlank(detail.getZZSE()) && StringUtils.isNotBlank(detail.getZBHSJE())){
String zje = DecimalCalculateUtil.bigDecimalAdd(detail.getZZSE(), detail.getZBHSJE());
if(DecimalCalculateUtil.stringCompare(zje,detail.getZHSJE()) != 0){
ddmxxxBO.setJE(detail.getZBHSJE());
ddmxxxBO.setHSBZ(ConfigureConstant.STRING_0);
ddmxxxBO.setSE(detail.getZZSE());
}else {
log.info("SAP推送的不含税金额+税额不相等,传入的总金额:{},计算后的XMJE:{}",detail.getZHSJE(),zje);
ddmxxxBO.setJE(detail.getZHSJE());
ddmxxxBO.setHSBZ(ConfigureConstant.STRING_1);
}else {
ddmxxxBO.setJE(detail.getZBHSJE());
ddmxxxBO.setHSBZ(ConfigureConstant.STRING_0);
ddmxxxBO.setSE(detail.getZZSE());
}
} else {
ddmxxxBO.setJE(detail.getZHSJE());
@ -3577,6 +3584,11 @@ public class BeanTransitionUtils {
}
ddmxList.add(ddmxxxBO);
}
boolean match = ddmxList.stream().allMatch(mx -> ConfigureConstant.STRING_1.equals(mx.getHSBZ()));
if(match){
ddtxxBO.setHJJE("0");
ddtxxBO.setHJSE("0");
}
}
ddzxxBO.setDDTXX(ddtxxBO);
ddzxxBO.setDDMXXX(ddmxList);
@ -3588,8 +3600,8 @@ public class BeanTransitionUtils {
}
public static void main(String[] args) {
String zje = DecimalCalculateUtil.bigDecimalAdd("60561.96", "465861.19");
if(DecimalCalculateUtil.stringCompare(zje,"526423.15") != 0){
String zje = DecimalCalculateUtil.bigDecimalAdd("2", "1");
if(DecimalCalculateUtil.stringCompare(zje,"3") != 0){
System.out.println("00");
}
System.out.println("988989");

Loading…
Cancel
Save