Merge remote-tracking branch 'origin/master'

This commit is contained in:
lizhenhua 2025-09-15 13:46:12 +08:00
commit 842390d66f
4 changed files with 61 additions and 42 deletions

View File

@ -10,6 +10,7 @@ import com.bonus.canteen.core.ims.mapper.InquirySupplierMapper;
import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.security.utils.SecurityUtils;
import com.bonus.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.bonus.canteen.core.ims.mapper.InquiryMapper;
@ -43,11 +44,12 @@ public class InquiryServiceImpl implements IInquiryService {
Inquiry inquiry=new Inquiry();
try{
Long userId = SecurityUtils.getUserId();
LoginUser user=SecurityUtils.getLoginUser();
boolean tf = SecurityUtils.isAdmin(userId);
if(tf){
userId = null;
}
inquiry=inquiryMapper.selectInquiryByInquiryId(inquiryId,userId);
inquiry=inquiryMapper.selectInquiryByInquiryId(inquiryId,null);
List<InquiryDetail> inquiryDetails=new ArrayList<>();
inquiryDetails=inquiryMapper.selectInquiryDetailByInquiryId(inquiryId);
inquiry.setDetailList(inquiryDetails);

View File

@ -276,8 +276,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and mdsr.sale_month = month(curdate())
left join basic_canteen ac on mr.canteen_id = ac.canteen_id
left join basic_stall ass on mr.stall_id = ass.stall_id
left join basic_stall_mealtime bsm on mr.stall_id=bsm.stall_id and mrd.mealtime_type=bsm.mealtime_type
where
mrd.apply_date = #{applyDate}
mrd.apply_date = #{applyDate} and bsm.if_enable='1'
<if test="recipeId != null">
and mrd.recipe_id = #{recipeId}
</if>

View File

@ -208,7 +208,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectInquiryList" parameterType="com.bonus.canteen.core.ims.domain.Inquiry" resultMap="InquiryResult">
select * from (
select aa.inquiry_id, aa.area_id, aa.inquiry_code, aa.title, aa.start_time, aa.end_time, aa.status, aa.bid_time,
aa.request_arrival_time, aa.inquiry_notes, aa.phone, aa.link_man, aa.address, aa.bid_total_price, aa.supplier_id,
aa.request_arrival_time, aa.inquiry_notes, aa.phone, aa.link_man, aa.address, aa.bid_total_price, cc.inquiry_supplier_id as supplier_id,
bb.area_name as area, aa.create_by, aa.create_time, aa.update_by, aa.update_time,cc.bid_status,cc.quote_amount
from ims_inquiry aa
left join basic_area bb on aa.area_id=bb.area_id

View File

@ -389,45 +389,61 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="supplyStatistics" resultType="com.bonus.canteen.core.ims.vo.SupplyStatisticsPageVO">
SELECT
a.supplier_code,
a.supplier_id,
a.supplier_name,
a.area_id,
aa.area_name
FROM
ims_supplier a
LEFT JOIN basic_area aa on a.area_id = aa.area_id
WHERE
a.del_flag = #{delFlag}
select
isr.supplier_id,isr.supplier_name as supplierName,isr.supplier_code as supplierCode,ba.area_name as areaName
,IFNULL(zb.bid_num, 0) as bidNumbers,IFNULL(zb.quote_amount, 0) as cumulativeBidAmount,IFNULL(hgl.hgl, 0) as deliveryPassRate
,IFNULL(cg.order_amount, 0) as orderAmount,IFNULL(cg.total_num, 0) as orderNum
,last.bid_time as lastBidDate
,last.quote_amount as lastBidAmount
from
ims_supplier isr
left join basic_area ba on isr.area_id = ba.area_id
left join (
select supplier_id,sum(bid_num) as bid_num,sum(quote_amount) as quote_amount from(
select isr.supplier_id,isr.supplier_code,isr.supplier_name
,case when iig.bid_status='3' then 1 else 0 end as bid_num,iig.quote_amount
from ims_supplier isr
left join (select * from ims_inquiry_supplier where bid_status='3') iig on isr.supplier_id = iig.supplier_id
where iig.quote_amount is not null
) a
group by supplier_id
) zb on isr.supplier_id=zb.supplier_id
left join(
select supplier_id,case when inspect_qualified_num/delivery_total_num >1 then 1 else inspect_qualified_num/delivery_total_num end as hgl from(
select isr.supplier_id,isr.supplier_code,isr.supplier_name
,sum(iig.delivery_total_num) as delivery_total_num,sum(iig.inspect_qualified_num) as inspect_qualified_num
from ims_supplier isr
left join (select * from ims_inspect_goods where status='2') iig on isr.supplier_id = iig.delivery_supplier_id
where iig.delivery_total_num is not null
group by isr.supplier_id
) a
) hgl on isr.supplier_id=hgl.supplier_id
left join (
select isr.supplier_id,isr.supplier_code,isr.supplier_name
,sum(iog.order_amount) as order_amount,sum(iog.total_num) as total_num
from ims_supplier isr
left join ims_order_goods iog on isr.supplier_id=iog.supplier_id
where iog.order_amount is not null
group by isr.supplier_id
) cg on isr.supplier_id=cg.supplier_id
left join (
SELECT * FROM (
select isr.supplier_id,isr.supplier_code,isr.supplier_name
,ii.bid_time,iig.quote_amount
from ims_supplier isr
left join (select * from ims_inquiry_supplier where bid_status='3') iig on isr.supplier_id = iig.supplier_id
left join ims_inquiry ii on iig.inquiry_id=ii.inquiry_id
where ii.bid_time is not null
order by ii.bid_time desc
) r group by supplier_id
) last on isr.supplier_id=last.supplier_id
where isr.del_flag='0'
<if test="content.supplierId != null">
AND a.supplier_id = #{content.supplierId}
and isr.area_id = #{content.areaId}
</if>
<if test="content.areaIdList != null and content.areaIdList.size() > 0">
and a.area_id in
<foreach collection="content.areaIdList" item="item" separator="," open="(" close=")">
#{item}
</foreach>
<if test="content.supplierId != null">
and isr.supplier_id = #{content.supplierId}
</if>
<!-- SELECT-->
<!-- a.supplier_code,-->
<!-- a.supplier_id,-->
<!-- a.supplier_name,-->
<!-- a.area_id,-->
<!-- aa.area_name,-->
<!-- sum(IF(iis.bid_status = '3',1,0)) as bidNumbers,-->
<!-- sum(IF(iis.bid_status = '3',iis.quote_amount,0)) as cumulativeBidAmount,-->
<!-- IFNULL(sum(IF(iis.bid_status = '3',1,0)) / COUNT(iis.inquiry_supplier_id) * 100,0) as deliveryPassRate,-->
<!-- FROM-->
<!-- ims_supplier a-->
<!-- LEFT JOIN basic_area aa on a.area_id = aa.area_id-->
<!-- left join ims_inquiry_supplier iis on iis.inquiry_supplier_id = a.supplier_id-->
<!-- WHERE-->
<!-- a.del_flag = 0-->
<!-- GROUP BY a.supplier_id-->
</select>
<select id="selectSupplier" resultType="com.bonus.canteen.core.ims.vo.SupplierScoreVO">