前后端对接问题优化

This commit is contained in:
liux 2025-08-23 16:27:45 +08:00
parent 1081c45c8d
commit db8467f0ab
17 changed files with 118 additions and 48 deletions

View File

@ -30,7 +30,7 @@ import com.bonus.common.core.web.page.TableDataInfo;
/**
* 报价详情Controller
*
*
* @author xsheng
* @date 2025-07-15
*/

View File

@ -141,4 +141,7 @@ public class ImsIntoInventory extends BaseEntity
@ApiModelProperty(value = "是否全部入库 1-是 2-否")
private Integer ifAllInto;
@ApiModelProperty(value = "关键字")
private String keyWord;
}

View File

@ -12,7 +12,7 @@ import com.bonus.common.core.web.domain.BaseEntity;
/**
* 询价单对象 ims_inquiry
*
*
* @author xsheng
* @date 2025-07-15
*/
@ -124,4 +124,7 @@ public class Inquiry extends BaseEntity {
private String inquiryState;
private String orderStatus;
private String supplierNames;
@ApiModelProperty(value = "供应商用户id")
private Long supplierUserId;
}

View File

@ -68,9 +68,9 @@ public class ImsIntoInventoryAdd implements Serializable
private String relateDeliveryGoodsId;
/** 总价 */
@ApiModelProperty(value = "总价")
@NotNull(message = "总价不能为空")
@Min(value = 0, message = "总价不能小于0")
@ApiModelProperty(value = "入库总价")
@NotNull(message = "入库总价不能为空")
@Min(value = 0, message = "入库总价不能小于0")
private Long totalAmount;
/** 关联采购订单号 */

View File

@ -67,9 +67,9 @@ public class ImsIntoInventoryDetailAdd implements Serializable
private Long unitPrice;
/** 总价 */
@ApiModelProperty(value = "总价")
@NotNull(message = "总价不能为空")
@Min(value = 0, message = "总价不能小于0")
@ApiModelProperty(value = "详情总价")
@NotNull(message = "详情总价不能为空")
@Min(value = 0, message = "详情总价不能小于0")
private Long totalPrice;
/** 交货数量 */

View File

@ -16,7 +16,7 @@ import java.io.Serializable;
/**
* 入库记录对象 ims_into_inventory
*
*
* @author gaowdong
* @date 2025-07-07
*/
@ -113,4 +113,7 @@ public class ImsIntoInventoryQuery implements Serializable
@ApiModelProperty(value = "货品名称")
private List<Long> materialTypeIds;
@ApiModelProperty(value = "关键字")
private String keyWord;
}

View File

@ -1,15 +1,18 @@
package com.bonus.canteen.core.ims.domain.vo;
import java.math.BigDecimal;
import com.bonus.canteen.core.common.utils.FileUrlUtil;
import com.bonus.common.core.web.domain.BaseEntity;
import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.ToString;
/**
* 库存对象 ims_inventory
*
*
* @author gaowdong
* @date 2025-07-07
*/
@ -103,4 +106,13 @@ public class ImsInventoryVO extends BaseEntity
@ApiModelProperty(value = "货品单价")
private Integer unitPrice;
@ApiModelProperty(value = "货品图片")
private String imgUrl;
public String getImgUrl(){
return FileUrlUtil.getFileUrl(this.imgUrl);
}
}

View File

@ -8,18 +8,18 @@ import org.apache.ibatis.annotations.Param;
/**
* 询价单Mapper接口
*
*
* @author xsheng
* @date 2025-07-15
*/
public interface InquiryMapper {
/**
* 查询询价单
*
*
* @param inquiryId 询价单主键
* @return 询价单
*/
public Inquiry selectInquiryByInquiryId(Long inquiryId);
public Inquiry selectInquiryByInquiryId(@Param("inquiryId") Long inquiryId,@Param("userId") Long userId);
/**
* 查询询价单货品清单
@ -32,7 +32,7 @@ public interface InquiryMapper {
public List<InquirySupplier> selectInquirySupplierDetailByInquiryId(@Param("inquiryId") Long inquiryId, @Param("detailId") String detailId);;
/**
* 查询询价单列表
*
*
* @param inquiry 询价单
* @return 询价单集合
*/
@ -40,7 +40,7 @@ public interface InquiryMapper {
/**
* 新增询价单
*
*
* @param inquiry 询价单
* @return 结果
*/
@ -48,7 +48,7 @@ public interface InquiryMapper {
/**
* 修改询价单
*
*
* @param inquiry 询价单
* @return 结果
*/
@ -58,7 +58,7 @@ public interface InquiryMapper {
/**
* 删除询价单
*
*
* @param inquiryId 询价单主键
* @return 结果
*/
@ -67,7 +67,7 @@ public interface InquiryMapper {
public int deleteInquiryDetailByInquiryId(Long inquiryId);
/**
* 批量删除询价单
*
*
* @param inquiryIds 需要删除的数据主键集合
* @return 结果
*/

View File

@ -299,7 +299,7 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
}
}
if(tempFetchLeftNum.compareTo(BigDecimal.ZERO) > 0) {
throw new ServiceException("失败,库存不足");
throw new ServiceException("失败,库存不足");
}
totalPriceSum += totalPrice;
}else {

View File

@ -9,6 +9,7 @@ import com.bonus.canteen.core.ims.mapper.InquiryDetailMapper;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.bonus.canteen.core.ims.mapper.InquiryMapper;
@ -19,7 +20,7 @@ import static com.bonus.canteen.core.ims.utils.NoGenerateUtils.generateInquiryCo
/**
* 询价单Service业务层处理
*
*
* @author xsheng
* @date 2025-07-15
*/
@ -33,7 +34,7 @@ public class InquiryServiceImpl implements IInquiryService {
private InquiryDetailMapper inquiryDetailMapper;
/**
* 查询询价单
*
*
* @param inquiryId 询价单主键
* @return 询价单
*/
@ -41,7 +42,12 @@ public class InquiryServiceImpl implements IInquiryService {
public Inquiry selectInquiryByInquiryId(Long inquiryId) {
Inquiry inquiry=new Inquiry();
try{
inquiry=inquiryMapper.selectInquiryByInquiryId(inquiryId);
Long userId = SecurityUtils.getUserId();
boolean tf = SecurityUtils.isAdmin(userId);
if(tf){
userId = null;
}
inquiry=inquiryMapper.selectInquiryByInquiryId(inquiryId,userId);
List<InquiryDetail> inquiryDetails=new ArrayList<>();
inquiryDetails=inquiryMapper.selectInquiryDetailByInquiryId(inquiryId);
inquiry.setDetailList(inquiryDetails);
@ -60,7 +66,12 @@ public class InquiryServiceImpl implements IInquiryService {
public Inquiry selectInquiryQouteByInquiryId(Long inquiryId) {
Inquiry inquiry=new Inquiry();
try{
inquiry=inquiryMapper.selectInquiryByInquiryId(inquiryId);
Long userId = SecurityUtils.getUserId();
boolean tf = SecurityUtils.isAdmin(userId);
if(tf){
userId = null;
}
inquiry=inquiryMapper.selectInquiryByInquiryId(inquiryId,null);
List<InquiryDetail> inquiryDetails=new ArrayList<>();
inquiryDetails=inquiryMapper.selectInquiryDetailByInquiryId(inquiryId);
inquiry.setDetailList(inquiryDetails);
@ -95,7 +106,7 @@ public class InquiryServiceImpl implements IInquiryService {
}
/**
* 查询询价单列表
*
*
* @param inquiry 询价单
* @return 询价单
*/
@ -106,7 +117,7 @@ public class InquiryServiceImpl implements IInquiryService {
/**
* 新增询价单
*
*
* @param inquiry 询价单
* @return 结果
*/
@ -150,7 +161,7 @@ public class InquiryServiceImpl implements IInquiryService {
/**
* 修改询价单
*
*
* @param inquiry 询价单
* @return 结果
*/
@ -221,7 +232,7 @@ public class InquiryServiceImpl implements IInquiryService {
/**
* 批量删除询价单
*
*
* @param inquiryIds 需要删除的询价单主键
* @return 结果
*/
@ -237,7 +248,7 @@ public class InquiryServiceImpl implements IInquiryService {
/**
* 删除询价单信息
*
*
* @param inquiryId 询价单主键
* @return 结果
*/

View File

@ -8,6 +8,7 @@ import com.bonus.canteen.core.ims.domain.InquirySupplier;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.bonus.canteen.core.ims.mapper.QuoteMapper;
@ -16,7 +17,7 @@ import com.bonus.canteen.core.ims.service.IQuoteService;
/**
* 报价详情Service业务层处理
*
*
* @author xsheng
* @date 2025-07-15
*/
@ -29,7 +30,7 @@ public class QuoteServiceImpl implements IQuoteService {
/**
* 查询报价详情
*
*
* @param quoteId 报价详情主键
* @return 报价详情
*/
@ -40,7 +41,7 @@ public class QuoteServiceImpl implements IQuoteService {
/**
* 查询报价详情列表
*
*
* @param quote 报价详情
* @return 报价详情
*/
@ -55,7 +56,7 @@ public class QuoteServiceImpl implements IQuoteService {
}
/**
* 新增报价详情
*
*
* @param quote 报价详情
* @return 结果
*/
@ -71,7 +72,7 @@ public class QuoteServiceImpl implements IQuoteService {
/**
* 修改报价详情
*
*
* @param quote 报价详情
* @return 结果
*/
@ -112,7 +113,7 @@ public class QuoteServiceImpl implements IQuoteService {
/**
* 批量删除报价详情
*
*
* @param quoteIds 需要删除的报价详情主键
* @return 结果
*/
@ -123,7 +124,7 @@ public class QuoteServiceImpl implements IQuoteService {
/**
* 删除报价详情信息
*
*
* @param quoteId 报价详情主键
* @return 结果
*/
@ -134,6 +135,10 @@ public class QuoteServiceImpl implements IQuoteService {
@Override
public List<Inquiry> selectInquiryList(Inquiry inquiry) {
boolean tf = SecurityUtils.isAdmin(SecurityUtils.getUserId());
if(!tf){
inquiry.setSupplierUserId(SecurityUtils.getUserId());
}
return quoteMapper.selectInquiryList(inquiry);
}
}

View File

@ -7,6 +7,7 @@ import com.bonus.canteen.core.ims.model.CategoryModel;
import com.bonus.canteen.core.utils.SysUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import java.math.BigDecimal;
import java.time.LocalDate;
@ -94,6 +95,10 @@ public class SupplierPageVO {
private Integer noticeStyle;
@ApiModelProperty("供应商用户id")
private Long supplierUserId;
@Getter
@ApiModelProperty("供应商用户id")
private String supplierUserName;
@ApiModelProperty("供应商状态(1-待审核,2-审核通过,3-禁用)")
private Integer status;
@ApiModelProperty("供应商评分")
@ -137,6 +142,10 @@ public class SupplierPageVO {
}
}
public void setSupplierUserName(String supplierUserName) {
this.supplierUserName = supplierUserName;
}
public String getIdCardImgZ() {
return FileUrlUtil.getFileUrl(this.idCardImgZ);
}

View File

@ -106,6 +106,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="endDateTime != null">
and iii.into_date <![CDATA[ <= ]]> #{endDateTime}
</if>
<if test="keyWord != null and keyWord != ''">
and (
iii.into_code like concat('%',#{keyWord},'%')
or iwi.warehouse_name like concat('%',#{keyWord},'%')
)
</if>
</where>
order by iii.into_date desc
</select>

View File

@ -29,13 +29,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="areaId" column="area_id" />
<result property="materialCode" column="material_code" />
<result property="unitPrice" column="unit_price" />
<result property="imgUrl" column="img_url" />
</resultMap>
<sql id="selectImsInventoryVo">
select ii.inventory_id, ii.warehouse_id, ii.material_id, ii.unit_id, min_num, max_num,
material_num, inventory_status, remark, ii.del_flag, ii.create_by, ii.create_time,
ii.update_by, ii.update_time, iwi.warehouse_name, cm.material_name, cmt.material_type_name,
iu.unit_name, cm.bar_code, cm.size, ba.area_name, ba.area_id, cm.material_code, cm.unit_price
iu.unit_name, cm.bar_code, cm.size, ba.area_name, ba.area_id, cm.material_code, cm.unit_price,cm.img_url
from ims_inventory ii
left join ims_warehouse_info iwi on ii.warehouse_id = iwi.warehouse_id
left join cook_material cm on ii.material_id = cm.material_id
@ -255,8 +256,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
dii.into_code,
'系统' as data_form,
did.expire_time,
IF
( TIMESTAMPDIFF( DAY, NOW(), did.expire_time ) <![CDATA[ < ]]> 0, 1, 2 ) expireState,
CASE
WHEN did.expire_time <![CDATA[ < ]]> NOW() THEN 1 -- 已过期
WHEN TIMESTAMPDIFF(DAY, NOW(), did.expire_time) <![CDATA[ <= ]]> mm.shelf_life_days THEN 3 -- 临期
ELSE 2 -- 正常
END AS expireState,
TIMESTAMPDIFF( DAY, NOW(), did.expire_time ) expireDay,
did.unit_id,
@ -282,6 +286,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<where>
did.expire_time is not null
and did.inventory_num > 0
and (
did.expire_time <![CDATA[ <]]> NOW() -- 已过期
OR TIMESTAMPDIFF(DAY, NOW(), did.expire_time) <![CDATA[ <= ]]> mm.shelf_life_days -- 临期
)
<if test="content.areaIdList != null and content.areaIdList.size() > 0">
AND dw.area_id in
<foreach collection="content.areaIdList" item="item" separator="," open="(" close=")">

View File

@ -140,10 +140,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
group by aa.inquiry_id
) aa order by create_time desc
</select>
<select id="selectInquiryByInquiryId" parameterType="Long" resultMap="InquiryResult">
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, dd.supplier_id,
bb.area_name as area, aa.create_by, aa.create_time, aa.update_by, aa.update_time,dd.supplier_name as supplier_name,
aa.bid_total_price,GROUP_CONCAT(dd.supplier_name) as supplier_names,GROUP_CONCAT(dd.supplier_id) AS supplier_ids
from ims_inquiry aa
@ -151,6 +151,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join ims_inquiry_supplier cc on aa.inquiry_id=cc.inquiry_id
left join ims_supplier dd on cc.supplier_id=dd.supplier_id
where aa.inquiry_id = #{inquiryId}
<if test="userId !=null">
and dd.supplier_user_id = #{userId}
</if>
group by aa.inquiry_id
</select>
@ -287,10 +290,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<delete id="deleteInquiryByInquiryIds" parameterType="String">
delete from ims_inquiry where inquiry_id in
delete from ims_inquiry where inquiry_id in
<foreach item="inquiryId" collection="array" open="(" separator="," close=")">
#{inquiryId}
</foreach>
</delete>
</mapper>
</mapper>

View File

@ -94,7 +94,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectQuoteList" parameterType="com.bonus.canteen.core.ims.domain.Quote" resultMap="QuoteResult">
<include refid="selectQuoteVo"/>
<where>
<where>
<if test="inquirySupplierId != null "> and inquiry_supplier_id = #{inquirySupplierId}</if>
<if test="inquiryDetailId != null "> and inquiry_detail_id = #{inquiryDetailId}</if>
<if test="quoteNum != null "> and quote_num = #{quoteNum}</if>
@ -139,12 +139,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join ims_inquiry_supplier dd on aa.inquiry_id=dd.inquiry_id
where aa.inquiry_id = #{inquiryId} and dd.inquiry_supplier_id=#{supplierId}
</select>
<select id="selectQuoteByQuoteId" parameterType="Long" resultMap="QuoteResult">
<include refid="selectQuoteVo"/>
where quote_id = #{quoteId}
</select>
<insert id="insertQuote" parameterType="com.bonus.canteen.core.ims.domain.Quote" useGeneratedKeys="true" keyProperty="quoteId">
insert into ims_quote
<trim prefix="(" suffix=")" suffixOverrides=",">
@ -194,7 +194,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<delete id="deleteQuoteByQuoteIds" parameterType="String">
delete from ims_quote where quote_id in
delete from ims_quote where quote_id in
<foreach item="quoteId" collection="array" open="(" separator="," close=")">
#{quoteId}
</foreach>
@ -210,8 +210,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
bb.area_name as area, aa.create_by, aa.create_time, aa.update_by, aa.update_time
from ims_inquiry aa
left join basic_area bb on aa.area_id=bb.area_id
where aa.status>1
LEFT JOIN ims_inquiry_supplier cc on cc.inquiry_id = aa.inquiry_id
LEFT JOIN ims_supplier dd on dd.supplier_id = cc.inquiry_supplier_id
<where>
aa.status>1
<if test="supplierUserId != null and supplierUserId != ''">
and dd.supplier_user_id = #{supplierUserId}
</if>
<if test="areaId != null "> and aa.area_id = #{areaId}</if>
<if test="searchValue != null and searchValue != ''">
and (aa.inquiry_code like CONCAT('%',#{searchValue},'%') or aa.title like CONCAT('%',#{searchValue},'%')
@ -232,4 +237,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
group by aa.inquiry_id
) aa order by create_time desc
</select>
</mapper>
</mapper>

View File

@ -330,6 +330,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.if_receive_notice,
a.notice_style,
a.supplier_user_id,
sys.user_name as supplier_user_name,
a.`status`,
a.supplier_score,
a.create_time,
@ -343,6 +344,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ims_supplier a
LEFT JOIN ims_supplier_category b on a.supplier_id = b.supplier_id
LEFT JOIN basic_area aa on a.area_id = aa.area_id
LEFT JOIN sys_user sys on sys.user_id = a.supplier_user_id
where
a.del_flag = #{delFlag}
<if test="content.supplierId != null">