Browse Source

查询报价明细关联主表过滤掉主表的状态为待提交的

master
yanyan 2 months ago
parent
commit
275ca54980
  1. 4
      src/main/java/com/xujie/modules/part/service/Impl/PartSupplierRelationServiceImpl.java
  2. 15
      src/main/java/com/xujie/modules/supplier/controller/PurQuotationController.java
  3. 1
      src/main/java/com/xujie/modules/supplier/mapper/PurQuotationDetailMapper.java
  4. 1
      src/main/java/com/xujie/modules/supplier/service/PurQuotationService.java
  5. 22
      src/main/java/com/xujie/modules/supplier/service/impl/PurQuotationServiceImpl.java
  6. 98
      src/main/resources/mapper/supplier/PurQuotationDetailMapper.xml

4
src/main/java/com/xujie/modules/part/service/Impl/PartSupplierRelationServiceImpl.java

@ -70,7 +70,9 @@ public class PartSupplierRelationServiceImpl extends ServiceImpl<PartSupplierRel
model.setPriceChangeNo(strDate);
if(exsitModel != null){
model.setId(exsitModel.getId());
if(model.getId() == null){
model.setId(exsitModel.getId());
}
baseMapper.updateById(model);
return;
}

15
src/main/java/com/xujie/modules/supplier/controller/PurQuotationController.java

@ -52,6 +52,7 @@ public class PurQuotationController {
*/
@PostMapping("/savePurHeader")
@ApiOperation("保存询价")
@ResponseBody
public R save(@Validated @RequestBody PurQuotationHeader model) {
purQuotationService.savePurHeader(model);
return R.ok();
@ -85,6 +86,7 @@ public class PurQuotationController {
@PostMapping("/getPurDetailList")
@ApiOperation("获取询价明细")
@ResponseBody
public R getPurDetailList(@RequestBody PurQuotationDetail query){
List<PurQuotationDetailData> rows = purQuotationService.getPurDetailList(query);
return R.ok().put("rows", rows);
@ -93,6 +95,7 @@ public class PurQuotationController {
@PostMapping("/savePurDetail")
@ApiOperation("保存询价明细")
@ResponseBody
public R savePurDetail(@Validated @RequestBody PurQuotationDetail model) {
purQuotationService.savePurDetail(model);
return R.ok();
@ -113,12 +116,24 @@ public class PurQuotationController {
@PostMapping("/getPurDetailPage")
@ApiOperation("询价单查询分页接口")
@ResponseBody
public R getPurDetailPage(@RequestBody PurQuotationDetailData query){
PageUtils page = purQuotationService.getPurDetailPage(query);
return R.ok().put("page", page);
}
/**
* 询价单报价分页接口
*/
@PostMapping(value="/getQuoPurDetailPage")
@ResponseBody
public Object getQuoPurDetailPage(@RequestBody PurQuotationDetailData query) {
PageUtils page = purQuotationService.getQuoPurDetailPage(query);
return R.ok().put("page", page);
}
// -----------------------------------------------------------------采购开票通知单 ---------------------------------------------------
/**
* @Method getSuppNotificationHeaderList

1
src/main/java/com/xujie/modules/supplier/mapper/PurQuotationDetailMapper.java

@ -31,4 +31,5 @@ public interface PurQuotationDetailMapper extends BaseMapper<PurQuotationDetail>
List<PurQuotationDetailData> getPurQuotationDetailList(PurQuotationDetailData query);
IPage<PurQuotationDetailData> getQuoPurDetailPage(Page<PurQuotationDetailData> page, @Param("query") PurQuotationDetailData query);
}

1
src/main/java/com/xujie/modules/supplier/service/PurQuotationService.java

@ -295,4 +295,5 @@ public interface PurQuotationService {
*/
void updatePurDetailStatus(PurQuotationDetailData purDetail);
PageUtils getQuoPurDetailPage(PurQuotationDetailData query);
}

22
src/main/java/com/xujie/modules/supplier/service/impl/PurQuotationServiceImpl.java

@ -22,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* @Auther: Zuowenwen
@ -123,6 +124,19 @@ public class PurQuotationServiceImpl implements PurQuotationService {
@Override
@Transactional
public void savePurDetail(PurQuotationDetail model){
//查询询价单状态
PurQuotationHeaderData purHeaderData = new PurQuotationHeaderData();
purHeaderData.setOrderNo(model.getOrderNo());
purHeaderData.setSite(model.getSite());
List<PurQuotationHeaderData> purHeaderList = purQuotationHeaderMapper.getListByModel(purHeaderData);
if(CollectionUtils.isEmpty(purHeaderList)){
throw new RuntimeException("询价单不存在");
}
//状态是否有待提交
PurQuotationHeaderData purHeader = purHeaderList.get(0);
if(!Objects.equals("待提交", purHeader.getStatus())){
throw new RuntimeException("询价单只有在待提交状态才可以提交");
}
if(model.getId() != null){
purQuotationDetailMapper.updateById(model);
return;
@ -175,6 +189,7 @@ public class PurQuotationServiceImpl implements PurQuotationService {
PurQuotationHeader purHeader = new PurQuotationHeader();
BeanUtils.copyProperties(purHeaderList.get(0), purHeader);
purHeader.setSubmitFlag("Y");
purHeader.setStatus(purDetail.getStatus());
purQuotationHeaderMapper.updateById(purHeader);
//批量更新询价明细状态
@ -182,7 +197,12 @@ public class PurQuotationServiceImpl implements PurQuotationService {
}
}
@Override
public PageUtils getQuoPurDetailPage(PurQuotationDetailData query) {
IPage<PurQuotationDetailData> resultList =
purQuotationDetailMapper.getQuoPurDetailPage(new Page<>(query.getPage(), query.getLimit()), query);
return new PageUtils(resultList);
}
/**

98
src/main/resources/mapper/supplier/PurQuotationDetailMapper.xml

@ -284,5 +284,103 @@
Order by A.order_no desc ,B.item_no
</select>
<select id="getQuoPurDetailPage" resultType="com.xujie.modules.supplier.data.PurQuotationDetailData">
select A.order_no
, A.supplier_id
, A.supplier_name
, A.tax_code
, A.buyer
, A.currency
, A.order_date
, A.upload_flag
, A.file_name
, A.want_reply_date
, A.other_condition as otherCondition
, B.item_no
, B.site
, B.part_no
, B.part_desc
, B.umid
, B.qty
, B.price
, B.material_cost
, B.produce_fee
, B.profit
, B.freight
, B.duty
, B.additional_cost
, B.pur_lead_time
, B.remark
, B.tax
, B.last_update_by
, B.status
, B.tax_rate
, B.surface_fee
, B.purchase_cycle
, B.mould_fee
, B.remark2
, E.user_display
, F.delivery_term as deliveryTerm
, G.payment_term as paymentTerm
, P.part_spec as spec
,H.qty,H.umid,H.convert_factor,H.price
,H.tax_rate,H.tax,H.material_cost ,H.produce_fee,H.profit,H.additional_cost,H.freight,H.duty
,H.surface_fee ,H.purchase_cycle ,H.mould_fee ,H.reason
from PurQuotationHeader as A
left join PurQuotationDetail B on A.site = B.site and A.order_no = B.order_no
left join PurQuotationReplyHist H on H.order_no = B.order_no and H.site = B.site
left join part as P On B.site = P.site and B.part_no = P.part_no
left join srm_supplier D on A.supplier_id = D.supplier_no and A.site = D.site
left join sys_user E on A.site = E.site and A.buyer = E.username
left join DeliveryTerm F on A.site = F.site and A.delivery_term = F.delivery_term_id
left join PaymentTerm G on A.site = G.site and A.payment_term = G.payment_term_id
where B.site = '${query.site}' and B.status != '待提交'
<if test="query.supplierId != null and query.supplierId != '' "> and A.supplier_id = '%${query.supplierId}%'</if>
<if test="query.supplierName != null and query.supplierName != '' "> and A.supplier_name like '%${query.supplierName}%'</if>
<if test="query.startDate != null">
and A.order_date gt;= '${query.startDate}'
</if>
<if test="query.endDate != null">
and A.order_date lt;= '${query.endDate}'
</if>
<if test="query.orderNo != null and query.orderNo != '' "> and B.order_no like '%${query.orderNo}%'</if>
<if test="query.partNo != null and query.partNo != '' "> and B.part_no like '%${query.partNo}%'</if>
<if test="query.partDesc != null and query.partDesc != '' "> and B.part_desc like '%${query.partDesc}%'</if>
<if test="query.status != null and query.status != '' "> and B.status like '%${query.status}%'</if>
<if test="query.qty != null and query.qty != '' "> and B.qty like '%${query.qty}%'</if>
<if test="query.umid != null and query.umid != '' "> and B.umid like '%${query.umid}%'</if>
<if test="query.remark2 != null and query.remark2 != '' "> and B.remark2 like '%${query.remark2}%'</if>
<if test="query.convertFactor != null and query.convertFactor != '' "> and B.convert_factor like '%${query.convertFactor}%'</if>
<if test="query.actReplyDate != null and query.actReplyDate != '' "> and B.act_reply_date like '%${query.actReplyDate}%'</if>
<if test="query.orderRef1 != null and query.orderRef1 != '' "> and B.order_ref1 like '%${query.orderRef1}%'</if>
<if test="query.itemNo != null and query.itemNo != '' "> and B.item_no like '%${query.itemNo}%'</if>
<if test="query.surfaceFee != null and query.surfaceFee != '' "> and B.surface_fee like '%${query.surfaceFee}%'</if>
<if test="query.freight != null and query.freight != '' "> and B.freight like '%${query.freight}%'</if>
<if test="query.lastUpdateBy != null and query.lastUpdateBy != '' "> and B.last_update_by like '%${query.lastUpdateBy}%'</if>
<if test="query.orderRef2 != null and query.orderRef2 != '' "> and B.order_ref2 like '%${query.orderRef2}%'</if>
<if test="query.purLeadTime != null and query.purLeadTime != '' "> and B.pur_lead_time like '%${query.purLeadTime}%'</if>
<if test="query.duty != null and query.duty != '' "> and B.duty like '%${query.duty}%'</if>
<if test="query.profit != null and query.profit != '' "> and B.profit like '%${query.profit}%'</if>
<if test="query.tax != null and query.tax != '' "> and B.tax like '%${query.tax}%'</if>
<if test="query.materialCost != null and query.materialCost != '' "> and B.material_cost like '%${query.materialCost}%'</if>
<if test="query.remark != null and query.remark != '' "> and B.remark like '%${query.remark}%'</if>
<if test="query.id != null "> and B.id = '${query.id}'</if>
<if test="query.additionalCost != null and query.additionalCost != '' "> and B.additional_cost like '%${query.additionalCost}%'</if>
<if test="query.purchaseCycle != null and query.purchaseCycle != '' "> and B.purchase_cycle like '%${query.purchaseCycle}%'</if>
<if test="query.price != null and query.price != '' "> and B.price like '%${query.price}%'</if>
<if test="query.actReplyComments != null and query.actReplyComments != '' "> and B.act_reply_comments like '%${query.actReplyComments}%'</if>
<if test="query.taxRate != null and query.taxRate != '' "> and B.tax_rate like '%${query.taxRate}%'</if>
<if test="query.acceptFlag != null and query.acceptFlag != '' "> and B.accept_flag like '%${query.acceptFlag}%'</if>
<if test="query.produceFee != null and query.produceFee != '' "> and B.produce_fee like '%${query.produceFee}%'</if>
<if test="query.mouldFee != null and query.mouldFee != '' "> and B.mould_fee like '%${query.mouldFee}%'</if>
<if test="query.orderRef3 != null and query.orderRef3 != '' "> and B.order_ref3 like '%${query.orderRef3}%'</if>
<if test="query.orderRefType != null and query.orderRefType != '' "> and B.order_ref_type like '%${query.orderRefType}%'</if>
Order by A.order_no desc ,B.item_no
</select>
</mapper>
Loading…
Cancel
Save