Merge remote-tracking branch 'origin/dev-blfp' into release

release V1.2.2
wangrangrang 2 years ago
commit 572d3fcc09
  1. 4
      order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java
  2. 19
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInfoController.java
  3. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderInfoService.java
  4. 58
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java
  5. 3
      order-management-invoice/src/main/resources/mybatis/mapper/OrderInvoiceInfoMapper.xml

@ -225,6 +225,8 @@ public enum OrderInfoContentEnum {
ORDER__SLD_NOT_CPY_ERROR("9638", "开具批次中包含成品油发票,但是受理点是非成品油受理点"), ORDER__SLD_NOT_CPY_ERROR("9638", "开具批次中包含成品油发票,但是受理点是非成品油受理点"),
ORDER__USER_INVALID_PERMISSIONS("9647", "当前用户关联组织权限不足,请关联对应组织再进行补录"),
READY_OPEN_ITEM_DJ_ERROR("9639", "请点击“编辑”按钮,去掉单价和数量,系统将自动按照限额拆分单据开票。"), READY_OPEN_ITEM_DJ_ERROR("9639", "请点击“编辑”按钮,去掉单价和数量,系统将自动按照限额拆分单据开票。"),
GENERATE_READY_NCY_ERROR("9640", "农产品订单和非农产品订单不允许合并"), GENERATE_READY_NCY_ERROR("9640", "农产品订单和非农产品订单不允许合并"),
@ -236,6 +238,8 @@ public enum OrderInfoContentEnum {
INVOICE_BZDH_OPERATED("9645", "此报账单已做其他操作"), INVOICE_BZDH_OPERATED("9645", "此报账单已做其他操作"),
INVOICE_BZDH_REPEAT_OPERATED("9646", "此报账单已关联其他发票,请注意重复补录"),
INVOICE_BILLING_ORDERITEM_XMMC_NULL_ERROR("2000", "发票明细中的商品名称为空!"), INVOICE_BILLING_ORDERITEM_XMMC_NULL_ERROR("2000", "发票明细中的商品名称为空!"),

@ -162,24 +162,35 @@ public class OrderInfoController {
} }
} }
/**
*
* @param bzdh
* @param orderInfoId
* @param fpqqlsh
* @param xhfNsrsbh
* @param force 是否强制补录0 不强制1是强制补录
* @return
*/
@PostMapping("/updateBillNumber") @PostMapping("/updateBillNumber")
@ApiOperation(value = "发票列表", notes = "发票列表修改报账单号") @ApiOperation(value = "发票列表", notes = "发票列表修改报账单号")
@SysLog(operation = "发票列表", operationDesc = "发票列表修改报账单号", key = "订单发票管理") @SysLog(operation = "发票列表", operationDesc = "补录报账单号", key = "订单发票管理")
public R updateBillNumber(@RequestParam("bzdh") String bzdh, public R updateBillNumber(@RequestParam("bzdh") String bzdh,
@RequestParam("orderInfoId") String orderInfoId, @RequestParam("orderInfoId") String orderInfoId,
@RequestParam("fpqqlsh")String fpqqlsh, @RequestParam("fpqqlsh")String fpqqlsh,
@RequestParam("xhfNsrsbh")String xhfNsrsbh @RequestParam("xhfNsrsbh")String xhfNsrsbh,
@RequestParam("force") String force
) { ) {
if(StringUtils.isBlank(bzdh)||StringUtils.isBlank(orderInfoId)){ if(StringUtils.isBlank(bzdh)||StringUtils.isBlank(orderInfoId)){
return R.error("请求参数有误"); return R.error("请求参数有误");
} }
try { try {
orderInfoService.updateBillNumber(bzdh, orderInfoId,fpqqlsh,xhfNsrsbh); orderInfoService.updateBillNumber(bzdh, orderInfoId,fpqqlsh,xhfNsrsbh,force);
return R.ok(); return R.ok();
} catch (Exception e) { } catch (Exception e) {
if(e instanceof OrderReceiveException){ if(e instanceof OrderReceiveException){
return R.error(e.getMessage()); OrderReceiveException e1 = (OrderReceiveException) e;
return R.error(e1.getCode(),e1.getMessage());
} }
log.error(e.getMessage()); log.error(e.getMessage());
return R.error(OrderInfoContentEnum.INTERNAL_SERVER_ERROR); return R.error(OrderInfoContentEnum.INTERNAL_SERVER_ERROR);

@ -223,7 +223,7 @@ public interface OrderInfoService {
R ratioConversion(List<String> orderInfoIds,String ratio,String xhfNsrsbh,String originUnit,String newUnit); R ratioConversion(List<String> orderInfoIds,String ratio,String xhfNsrsbh,String originUnit,String newUnit);
@Transactional @Transactional
void updateBillNumber(String bzdh,String orderInfoId,String fpqqlsh,String xhfNsrsbh) throws Exception; void updateBillNumber(String bzdh,String orderInfoId,String fpqqlsh,String xhfNsrsbh,String force) throws Exception;
@Transactional @Transactional
R logicalDeleteByOrderInfoId(List<PageRequestVO> pageRequestList); R logicalDeleteByOrderInfoId(List<PageRequestVO> pageRequestList);

@ -22,6 +22,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.taxclass.model.TaxClassCodeEntity;
import com.dxhy.order.baseservice.module.thirdservice.simsback.service.SimsBackService; import com.dxhy.order.baseservice.module.thirdservice.simsback.service.SimsBackService;
import com.dxhy.order.baseservice.module.thirdservice.user.model.DeptEntity; import com.dxhy.order.baseservice.module.thirdservice.user.model.DeptEntity;
import com.dxhy.order.baseservice.module.thirdservice.user.model.TaxPlayerCodeDept;
import com.dxhy.order.baseservice.module.thirdservice.user.service.UserInfoService; import com.dxhy.order.baseservice.module.thirdservice.user.service.UserInfoService;
import com.dxhy.order.baseservice.utils.BaseServiceBeanTransitionUtils; import com.dxhy.order.baseservice.utils.BaseServiceBeanTransitionUtils;
import com.dxhy.order.constant.*; import com.dxhy.order.constant.*;
@ -64,7 +65,6 @@ import com.dxhy.order.model.qdsk.taxpayerinfo.Qdjcxx;
import com.dxhy.order.utils.*; import com.dxhy.order.utils.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -1752,31 +1752,67 @@ public class OrderInfoServiceImpl implements OrderInfoService {
} }
@Override @Override
public void updateBillNumber(String bzdh,String orderInfoId,String fpqqlsh,String xhfNsrsbh) throws Exception{ public void updateBillNumber(String bzdh,String orderInfoId,String fpqqlsh,String xhfNsrsbh,String force) throws Exception{
//通过报账单查询订单,如果存在则删除 //通过报账单查询订单,如果存在则删除
List<OrderProcessInfo> orderProcessInfos = orderProcessInfoMapper.queryOrderProcessInfoByBzdh(bzdh,"", Arrays.asList(xhfNsrsbh)); List<OrderProcessInfo> orderProcessInfos = orderProcessInfoMapper.queryOrderProcessInfoByBzdh(bzdh,"", Arrays.asList(xhfNsrsbh));
OrderProcessInfo orderProcessInfo = null; OrderProcessInfo orderProcessInfo = null;
if(orderProcessInfos.size() > 1){ List<OrderProcessInfo> orderProcessInfoList = orderProcessInfos.stream().filter(t -> OrderInfoEnum.ORDER_STATUS_0.getKey().equals(t.getDdzt())).collect(Collectors.toList());
if(orderProcessInfoList.size() > 1){
throw new OrderReceiveException(OrderInfoContentEnum.INVOICE_BZDH_MULTIPLE); throw new OrderReceiveException(OrderInfoContentEnum.INVOICE_BZDH_MULTIPLE);
} }
if(orderProcessInfos.size() == 1){ if(orderProcessInfos.size() > 0){
orderProcessInfo = orderProcessInfos.get(0); orderProcessInfo = orderProcessInfos.get(0);
} }
if(orderProcessInfo != null){ if(orderProcessInfo != null){
if(!OrderInfoEnum.ORDER_STATUS_0.getKey().equals(orderProcessInfo.getDdzt())){ if((!OrderInfoEnum.ORDER_STATUS_0.getKey().equals(orderProcessInfo.getDdzt())||ConfigureConstant.STRING_1.equals(orderProcessInfo.getYzfp()))
&& OrderInfoEnum.ORDER_SOURCE_3.getKey().equals(orderProcessInfo.getDdly())){
throw new OrderReceiveException(OrderInfoContentEnum.INVOICE_BZDH_OPERATED); throw new OrderReceiveException(OrderInfoContentEnum.INVOICE_BZDH_OPERATED);
} }
OrderProcessInfo orderProcessInfo1 = new OrderProcessInfo(); if((OrderInfoEnum.ORDER_STATUS_5.getKey().equals(orderProcessInfo.getDdzt()) || OrderInfoEnum.ORDER_STATUS_7.getKey().equals(orderProcessInfo.getDdzt()))
orderProcessInfo1.setOrderStatus(OrderInfoEnum.ORDER_VALID_STATUS_1.getKey()); &&!OrderInfoEnum.ORDER_SOURCE_3.getKey().equals(orderProcessInfo.getDdly()) && ConfigureConstant.STRING_0.equals(force)){
orderProcessInfo1.setOrderInfoId(orderProcessInfo.getOrderInfoId()); throw new OrderReceiveException(OrderInfoContentEnum.INVOICE_BZDH_REPEAT_OPERATED);
orderProcessInfoMapper.updateOrderProcessInfoByFpqqlsh(orderProcessInfo1, Arrays.asList(xhfNsrsbh)); }
if(ConfigureConstant.STRING_0.equals(force)){
OrderProcessInfo orderProcessInfo1 = new OrderProcessInfo();
orderProcessInfo1.setOrderStatus(OrderInfoEnum.ORDER_VALID_STATUS_1.getKey());
orderProcessInfo1.setOrderInfoId(orderProcessInfo.getOrderInfoId());
orderProcessInfoMapper.updateOrderProcessInfoByFpqqlsh(orderProcessInfo1, Arrays.asList(xhfNsrsbh));
}
} }
OrderProcessInfo orderProcessInfo2 = new OrderProcessInfo(); OrderProcessInfo orderProcessInfo2 = new OrderProcessInfo();
orderProcessInfo2.setBzdh(bzdh); orderProcessInfo2.setBzdh(bzdh);
orderProcessInfo2.setOrderInfoId(orderInfoId); orderProcessInfo2.setOrderInfoId(orderInfoId);//作为更新where条件
orderProcessInfo2.setXtly(orderProcessInfo != null && StringUtils.isNotBlank(orderProcessInfo.getXtly()) ? orderProcessInfo.getXtly() : ""); orderProcessInfo2.setXtly(orderProcessInfo != null && StringUtils.isNotBlank(orderProcessInfo.getXtly()) ? orderProcessInfo.getXtly() : orderProcessInfos.size() > 0 && StringUtils.isNotBlank(orderProcessInfos.get(0).getXtly())?orderProcessInfos.get(0).getXtly():"SAP");
//查询entId,判断如果为空
String gsdm = orderProcessInfo != null && StringUtils.isNotBlank(orderProcessInfo.getGsdm()) ? orderProcessInfo.getGsdm() : orderProcessInfos.size() > 0 && StringUtils.isNotBlank(orderProcessInfos.get(0).getGsdm()) ? orderProcessInfos.get(0).getGsdm() : null;
if(StringUtils.isNotBlank(gsdm)){
//根据orderInfoId 查询 发票公司代码是否为空
OrderProcessInfo orderProcessInfo1 = orderProcessInfoMapper.selectByOrderId(orderInfoId, Arrays.asList(xhfNsrsbh));
if(orderProcessInfo1 != null && StringUtils.isBlank(orderProcessInfo1.getGsdm())){
//如果为空,根据entID查询大B获取公司代码
List<TaxPlayerCodeDept> taxplayercodeDeptList = userInfoService.getUser().getTaxplayercodeDeptList();
gsdm = taxplayercodeDeptList.stream().filter(t -> orderProcessInfo1.getEntId().equals(t.getDeptId())).map(t -> t.getEnterpriseNumbers()).findFirst().orElse("");
if(StringUtils.isNotBlank(gsdm)){
throw new OrderReceiveException(OrderInfoContentEnum.ORDER__USER_INVALID_PERMISSIONS);
}
}
}
orderProcessInfo2.setGsdm(gsdm);
String ddh = orderProcessInfo != null && StringUtils.isNotBlank(orderProcessInfo.getDdh()) ? orderProcessInfo.getDdh() : orderProcessInfos.size() > 0 && StringUtils.isNotBlank(orderProcessInfos.get(0).getDdh()) ? orderProcessInfos.get(0).getDdh() : null;
orderProcessInfo2.setDdh(ddh);
int i = orderProcessInfoMapper.updateOrderProcessInfoByFpqqlsh(orderProcessInfo2, Arrays.asList(xhfNsrsbh)); int i = orderProcessInfoMapper.updateOrderProcessInfoByFpqqlsh(orderProcessInfo2, Arrays.asList(xhfNsrsbh));
if(StringUtils.isNotBlank(ddh)){
OrderInfo orderInfo = new OrderInfo();
orderInfo.setDdh(ddh);
orderInfo.setId(orderInfoId);
orderMapper.updateOrderInfoByOrderId(orderInfo,Arrays.asList(xhfNsrsbh));
OrderInvoiceInfo orderInvoiceInfo = new OrderInvoiceInfo();
orderInvoiceInfo.setOrderInfoId(orderInfoId);
orderInvoiceInfo.setDdh(ddh);
orderInvoiceInfoMapper.updateOrderInvoiceInfoByOrderId(orderInvoiceInfo,Arrays.asList(xhfNsrsbh));
}
if(i > 0) { if(i > 0) {
Map map = new HashMap(); Map map = new HashMap();
map.put("ddqqlsh",fpqqlsh); map.put("ddqqlsh",fpqqlsh);

@ -2222,6 +2222,9 @@
<if test="orderInvoiceInfo.fpqqlsh != null"> <if test="orderInvoiceInfo.fpqqlsh != null">
fpqqlsh = #{orderInvoiceInfo.fpqqlsh,jdbcType=VARCHAR}, fpqqlsh = #{orderInvoiceInfo.fpqqlsh,jdbcType=VARCHAR},
</if> </if>
<if test="orderInvoiceInfo.ddh != null">
ddh = #{orderInvoiceInfo.ddh,jdbcType=VARCHAR},
</if>
<if test="orderInvoiceInfo.updateTime != null"> <if test="orderInvoiceInfo.updateTime != null">
update_time = #{orderInvoiceInfo.updateTime,jdbcType=TIMESTAMP}, update_time = #{orderInvoiceInfo.updateTime,jdbcType=TIMESTAMP},
</if> </if>

Loading…
Cancel
Save