Browse Source

出库申请添加验证若为本销售订单中最后一批车辆出库,则需要判断是否还有未赠送的套餐,如果存在则不允许提交

master
dimengzhe 2 years ago
parent
commit
585db324fa
  1. 6
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.java
  2. 20
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml
  3. 25
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  4. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java
  5. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml
  6. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  7. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.java
  8. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.xml
  9. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountService.java

6
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.java

@ -104,4 +104,10 @@ public interface BusDeliveredApplyMapper extends BaseMapper<BusDeliveredApply> {
List<String> selectVinNo(@Param("contractId") String contractId, @Param("list") List<String> vinSid);
String selectNum(String billNo);
List<String> selectByContractNoToVin(String contractId);
List<String> selectByContractNoToVinSid(@Param("contractNo") String contractId, @Param("list") List<String> vinSid);
int selectNumByContractNo(String contractId);
}

20
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml

@ -113,4 +113,24 @@
order by billNo desc
limit 1
</select>
<select id="selectByContractNoToVin" resultType="java.lang.String">
select busVinSid from bus_delivered where contractNo = #{contractId} and state = 0;
</select>
<select id="selectByContractNoToVinSid" resultType="java.lang.String">
select bv.sid
from bus_delivered bd
left join bus_sales_order_vehicle bv on bv.sid = bd.busVinSid
where bd.contractNo = #{contractNo}
and bv.linkSid in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="selectNumByContractNo" resultType="int">
select sum(bddd.giveNum) from bus_delivered_details_discount bddd left join bus_delivered bd on bd.sid = bddd.applySid
where contractNo = #{contractId} and (bd.state =2 or bd.state = 3)
</select>
</mapper>

25
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java

@ -1130,7 +1130,6 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
baseMapper.updateStateBySid(1, query.getBusinessSid());
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
//更新业务中的流程相关的参数
updateFlowFiled(map);
busDeliveredApply = fetchBySid(query.getBusinessSid());
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(busDeliveredApply.getProcInstId());
@ -1735,6 +1734,30 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
}
}
}
boolean isTrue = false;
//若为本销售订单中最后一批车辆出库,则需要判断是否还有未赠送的套餐,如果存在则不允许提交
//查询该合同的销售订单的车辆sid集合
List<String> busSidList = busSalesOrderService.selectByContractNoToVin(dto.getContractId());
//查询已出库或出库审批中的车辆sid集合
List<String> applyBusSidList = baseMapper.selectByContractNoToVin(dto.getContractId());
//所有车辆与已出库或审批中的车辆集合查询出差集
busSidList.removeAll(applyBusSidList);
//根据合同编号以及车辆sid查询busVinSid
List<String> busVinSidList = baseMapper.selectByContractNoToVinSid(dto.getContractId(),vinSid);
busSidList.removeAll(busVinSidList);
busVinSidList.removeAll(Collections.singleton(null));
if(busVinSidList.isEmpty()){
isTrue = true;
}
//是否是最后一批出库车辆
if(isTrue){
//是否存在未赠送的套餐,如果存在则不允许提交
int num = baseMapper.selectNumByContractNo(dto.getContractId());
int orderNum = busSalesOrderDiscountService.selectByContractNo(dto.getContractId());
if(orderNum>num){
return rb.setMsg("该合同还有未赠送的套餐,不允许提交");
}
}
} else {
return rb.setMsg("请选择要出库的车辆");
}

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java

@ -207,4 +207,6 @@ public interface BusSalesOrderMapper extends BaseMapper<BusSalesOrder> {
List<String> selectBusinessSid(@Param("userSid") String userSid, @Param("useOrgSid") String useOrgSid,@Param(Constants.WRAPPER) QueryWrapper<BaseVehicle> qw);
List<String> selectQKBusinessSid(@Param("userSid") String userSid, @Param("useOrgSid") String useOrgSid);
List<String> selectByContractNoToVin(String contractId);
}

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml

@ -413,4 +413,9 @@
select sid
from bus_sales_order where createBySid = #{userSid} and useOrgSid = #{useOrgSid} and nodeState = '已办结' and financePlan = '2'
</select>
<select id="selectByContractNoToVin" resultType="java.lang.String">
select bv.sid from bus_sales_order_vehicle bv left join bus_sales_order bo on bo.sid = bv.salesOrderSid
where bo.contractNo = #{contractId}
</select>
</mapper>

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -6486,4 +6486,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
return rb.success().setData(busSids);
}
public List<String> selectByContractNoToVin(String contractId) {
return baseMapper.selectByContractNoToVin(contractId);
}
}

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.java

@ -117,4 +117,6 @@ public interface BusSalesOrderDiscountMapper extends BaseMapper<BusSalesOrderDis
List<BusSalesOrderDiscount> selectListByContractNo(String contractNo);
List<BusSalesOrderDiscount> selectBySaleOrderSid(@Param("saleOrderSid") String saleOrderSid);
int selectByContractNo(String contractId);
}

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.xml

@ -70,4 +70,9 @@
resultType="com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscount">
select * from bus_sales_order_discount where salesOrderSid = #{saleOrderSid}
</select>
<select id="selectByContractNo" resultType="int">
select sum(bddd.num) from bus_sales_order_discount bddd left join bus_sales_order bo on bo.sid = bddd.salesOrderSid
where bo.contractNo = #{contractId}
</select>
</mapper>

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountService.java

@ -216,4 +216,8 @@ public class BusSalesOrderDiscountService extends MybatisBaseService<BusSalesOrd
public List<BusSalesOrderDiscount> selectBySaleOrderSid(String saleOrderSid) {
return baseMapper.selectBySaleOrderSid(saleOrderSid);
}
public int selectByContractNo(String contractId) {
return baseMapper.selectByContractNo(contractId);
}
}
Loading…
Cancel
Save