diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/controller/InquiryController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/controller/InquiryController.java index d8c4720..d7d00e7 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/controller/InquiryController.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/controller/InquiryController.java @@ -2,6 +2,8 @@ package com.bonus.canteen.core.ims.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + import com.bonus.common.log.enums.OperaType; //import com.bonus.canteen.core.ims.common.annotation.PreventRepeatSubmit; import io.swagger.annotations.Api; @@ -42,8 +44,8 @@ public class InquiryController extends BaseController { */ @ApiOperation(value = "查询询价单列表") //@RequiresPermissions("ims:inquiry:list") - @GetMapping("/list") - public TableDataInfo list(Inquiry inquiry) { + @PostMapping("/list") + public TableDataInfo list(@RequestBody @Valid Inquiry inquiry) { startPage(); List list = inquiryService.selectInquiryList(inquiry); return getDataTable(list); @@ -68,7 +70,7 @@ public class InquiryController extends BaseController { */ @ApiOperation(value = "获取询价单详细信息") //@RequiresPermissions("ims:inquiry:query") - @GetMapping(value = "/{inquiryId}") + @PostMapping(value = "/{inquiryId}") public AjaxResult getInfo(@PathVariable("inquiryId") Long inquiryId) { return success(inquiryService.selectInquiryByInquiryId(inquiryId)); } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/Inquiry.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/Inquiry.java index 769ed36..85b75bd 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/Inquiry.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/Inquiry.java @@ -1,6 +1,8 @@ package com.bonus.canteen.core.ims.domain; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; import com.bonus.common.core.annotation.Excel; import io.swagger.annotations.ApiModelProperty; @@ -96,12 +98,28 @@ public class Inquiry extends BaseEntity { /** 中标供应商id */ @Excel(name = "中标供应商id") @ApiModelProperty(value = "中标供应商id") - private Long supplierId; + private String supplierId; + private String[] supplierIds; + private String supplierIdstr; /** 选择的区域 */ @Excel(name = "选择的区域") @ApiModelProperty(value = "选择的区域") private String area; + private String bidStatus; + @Excel(name = "邀请供应商") + @ApiModelProperty(value = "邀请供应商") + private String inquirySupplierNum; + @Excel(name = "报价供应商") + @ApiModelProperty(value = "报价供应商") + private String supplierNum; + List detailList; + /** 中标供应商id */ + @Excel(name = "中标供应商名称") + @ApiModelProperty(value = "中标供应商名称") + private String supplierName; - + private String searchValue; + private String inquiryState; + private String orderStatus; } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/InquiryDetail.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/InquiryDetail.java index 7c9c3c4..fca201e 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/InquiryDetail.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/InquiryDetail.java @@ -56,7 +56,35 @@ public class InquiryDetail extends BaseEntity { /** 采购数量 */ @Excel(name = "采购数量") @ApiModelProperty(value = "采购数量") - private BigDecimal purchaseNum; + private BigDecimal purNum; + private String areaId ; + private String area ; + private String barCode ; + private String bigCategoryId ; + private String description ; + private String goodsType ; + private String imgUrl ; + private String materialCode ; + private String materialName ; + private String materialTotalNum ; + private String materialTypeId ; + private String materialTypeIds ; + private String materialTypeName ; + private String missionSource ; + private String nutritionId ; + private String nutritionList ; + private String nutritionName ; + private String nutritionTypeId ; + private String nutritionTypeName ; + private String purPriceCeiling ; + private String remark ; + private String salePrice ; + private String salesMode ; + private String shelfLifeDays ; + private String shelfLifeType ; + private String unitName ; + private String unitPrice ; + } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/InquirySupplier.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/InquirySupplier.java index a660fec..5d430f4 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/InquirySupplier.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/InquirySupplier.java @@ -27,7 +27,7 @@ public class InquirySupplier extends BaseEntity { /** 询价供应商id */ @Excel(name = "询价供应商id") @ApiModelProperty(value = "询价供应商id") - private Long inquirySupplierId; + private String inquirySupplierId; /** 询价单id */ @Excel(name = "询价单id") @@ -48,17 +48,17 @@ public class InquirySupplier extends BaseEntity { /** 决标状态(1-已报价,2-未报价,3-已中标,4-未中标) */ @Excel(name = "决标状态(1-已报价,2-未报价,3-已中标,4-未中标)") @ApiModelProperty(value = "决标状态(1-已报价,2-未报价,3-已中标,4-未中标)") - private Long bidStatus; + private String bidStatus; /** 报价供应商id */ @Excel(name = "报价供应商id") @ApiModelProperty(value = "报价供应商id") - private Long supplierId; + private String supplierId; /** 报价总金额 */ @Excel(name = "报价总金额") @ApiModelProperty(value = "报价总金额") - private Long quoteAmount; + private String quoteAmount; /** 交货日期 */ @ApiModelProperty(value = "交货日期") diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/mapper/InquiryDetailMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/mapper/InquiryDetailMapper.java index 44fef52..9bc60b0 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/mapper/InquiryDetailMapper.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/mapper/InquiryDetailMapper.java @@ -34,6 +34,8 @@ public interface InquiryDetailMapper { */ public int insertInquiryDetail(InquiryDetail inquiryDetail); + + public int delInquiryDetail(InquiryDetail inquiryDetail); /** * 修改询价原料明细 * diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/mapper/InquiryMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/mapper/InquiryMapper.java index 625b36d..1d0ca5e 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/mapper/InquiryMapper.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/mapper/InquiryMapper.java @@ -2,6 +2,7 @@ package com.bonus.canteen.core.ims.mapper; import java.util.List; import com.bonus.canteen.core.ims.domain.Inquiry; +import com.bonus.canteen.core.ims.domain.InquiryDetail; /** * 询价单Mapper接口 @@ -18,6 +19,14 @@ public interface InquiryMapper { */ public Inquiry selectInquiryByInquiryId(Long inquiryId); + /** + * 查询询价单货品清单 + * + * @param inquiryId 询价单主键 + * @return 询价单单货品清单 + */ + public List selectInquiryDetailByInquiryId(Long inquiryId); + /** * 查询询价单列表 * @@ -57,4 +66,6 @@ public interface InquiryMapper { * @return 结果 */ public int deleteInquiryByInquiryIds(Long[] inquiryIds); + + } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/mapper/InquirySupplierMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/mapper/InquirySupplierMapper.java index 0808bbc..c41f8a7 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/mapper/InquirySupplierMapper.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/mapper/InquirySupplierMapper.java @@ -34,6 +34,7 @@ public interface InquirySupplierMapper { */ public int insertInquirySupplier(InquirySupplier inquirySupplier); + public int delInquirySupplier(InquirySupplier inquirySupplier); /** * 修改询价供应商 * diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/InquiryServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/InquiryServiceImpl.java index bb8e117..ffa9355 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/InquiryServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/InquiryServiceImpl.java @@ -1,6 +1,12 @@ package com.bonus.canteen.core.ims.service.impl; +import java.util.ArrayList; import java.util.List; + +import com.bonus.canteen.core.ims.domain.InquiryDetail; +import com.bonus.canteen.core.ims.domain.InquirySupplier; +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 org.springframework.beans.factory.annotation.Autowired; @@ -9,6 +15,8 @@ import com.bonus.canteen.core.ims.mapper.InquiryMapper; import com.bonus.canteen.core.ims.domain.Inquiry; import com.bonus.canteen.core.ims.service.IInquiryService; +import static com.bonus.canteen.core.ims.utils.NoGenerateUtils.generateInquiryCode; + /** * 询价单Service业务层处理 * @@ -19,7 +27,10 @@ import com.bonus.canteen.core.ims.service.IInquiryService; public class InquiryServiceImpl implements IInquiryService { @Autowired private InquiryMapper inquiryMapper; - + @Autowired + private InquirySupplierMapper inquirySupplierMapper; + @Autowired + private InquiryDetailMapper inquiryDetailMapper; /** * 查询询价单 * @@ -28,7 +39,16 @@ public class InquiryServiceImpl implements IInquiryService { */ @Override public Inquiry selectInquiryByInquiryId(Long inquiryId) { - return inquiryMapper.selectInquiryByInquiryId(inquiryId); + Inquiry inquiry=new Inquiry(); + try{ + inquiry=inquiryMapper.selectInquiryByInquiryId(inquiryId); + List inquiryDetails=new ArrayList<>(); + inquiryDetails=inquiryMapper.selectInquiryDetailByInquiryId(inquiryId); + inquiry.setDetailList(inquiryDetails); + }catch (Exception e){ + e.printStackTrace(); + } + return inquiry; } /** @@ -52,7 +72,35 @@ public class InquiryServiceImpl implements IInquiryService { public int insertInquiry(Inquiry inquiry) { inquiry.setCreateTime(DateUtils.getNowDate()); try { - return inquiryMapper.insertInquiry(inquiry); + List detailList=new ArrayList<>(); + detailList=inquiry.getDetailList(); + String[] supplierIds = inquiry.getSupplierIds(); + String inquiryCode = generateInquiryCode(); + inquiry.setInquiryCode(inquiryCode); + inquiryMapper.insertInquiry(inquiry); + //录入询价供应商 + if(supplierIds.length>0){ + for(int i=0;i0){ + for(InquiryDetail vo:detailList){ + vo.setInquiryId(inquiry.getInquiryId()); + vo.setInquiryCode(inquiry.getInquiryCode()); + vo.setCreateTime(inquiry.getCreateTime()); + inquiryDetailMapper.insertInquiryDetail(vo); + } + } + return 1; } catch (Exception e) { throw new ServiceException(e.getMessage()); } @@ -68,7 +116,39 @@ public class InquiryServiceImpl implements IInquiryService { public int updateInquiry(Inquiry inquiry) { inquiry.setUpdateTime(DateUtils.getNowDate()); try { - return inquiryMapper.updateInquiry(inquiry); + List detailList=new ArrayList<>(); + detailList=inquiry.getDetailList(); + String[] supplierIds = inquiry.getSupplierIds(); + inquiryMapper.updateInquiry(inquiry); + //录入询价供应商 + if(supplierIds.length>0){ + InquirySupplier delInquirySupplier=new InquirySupplier(); + delInquirySupplier.setInquiryId(inquiry.getInquiryId()); + inquirySupplierMapper.delInquirySupplier(delInquirySupplier); + for(int i=0;i0){ + InquiryDetail delInquiryDetail=new InquiryDetail(); + delInquiryDetail.setInquiryId(inquiry.getInquiryId()); + inquiryDetailMapper.delInquiryDetail(delInquiryDetail); + for(InquiryDetail vo:detailList){ + vo.setInquiryId(inquiry.getInquiryId()); + vo.setInquiryCode(inquiry.getInquiryCode()); + vo.setCreateTime(inquiry.getCreateTime()); + inquiryDetailMapper.insertInquiryDetail(vo); + } + } + return 1; } catch (Exception e) { throw new ServiceException(e.getMessage()); } diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/InquiryDetailMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/InquiryDetailMapper.xml index 74b52d4..b2143fa 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/InquiryDetailMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/InquiryDetailMapper.xml @@ -11,7 +11,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -31,7 +31,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and unit_id = #{unitId} and material_id = #{materialId} and size = #{size} - and purchase_num = #{purchaseNum} + and purchase_num = #{purNum} @@ -49,7 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" unit_id, material_id, size, - purchase_num, + purchase_num, create_by, create_time, update_by, @@ -62,7 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{unitId}, #{materialId}, #{size}, - #{purchaseNum}, + #{purNum}, #{createBy}, #{createTime}, #{updateBy}, @@ -70,6 +70,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + delete from ims_inquiry_detail where inquiry_id=#{inquiryId} + + update ims_inquiry_detail @@ -79,7 +83,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" unit_id = #{unitId}, material_id = #{materialId}, size = #{size}, - purchase_num = #{purchaseNum}, + purchase_num = #{purNum}, create_by = #{createBy}, create_time = #{createTime}, update_by = #{updateBy}, diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/InquiryMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/InquiryMapper.xml index adb0907..9a2a2bf 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/InquiryMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/InquiryMapper.xml @@ -19,41 +19,144 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - select inquiry_id, area_id, inquiry_code, title, start_time, end_time, status, bid_time, request_arrival_time, inquiry_notes, phone, link_man, address, bid_total_price, supplier_id, area, create_by, create_time, update_by, update_time from ims_inquiry + 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, + bb.area_name as area, aa.create_by, aa.create_time, aa.update_by, aa.update_time,case when cc.bid_status=3 then dd.supplier_name else '' end as supplier_name, + sum(case when cc.bid_status=2 then 1 else 0 end) as inquirySupplierNum, + sum(case when cc.bid_status=1 then 1 else 0 end) as supplierNum + from ims_inquiry aa + left join basic_area bb on aa.area_id=bb.area_id + left join ims_inquiry_supplier cc on aa.inquiry_id=cc.inquiry_id + left join ims_supplier dd on cc.inquiry_supplier_id=dd.supplier_id + group by aa.inquiry_id + + diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/InquirySupplierMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/InquirySupplierMapper.xml index 3b62acc..018cdc1 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/InquirySupplierMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/InquirySupplierMapper.xml @@ -74,6 +74,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + delete from ims_inquiry_supplier where inquiry_id=#{inquiryId} + + update ims_inquiry_supplier