Showing
8 changed files
with
67 additions
and
6 deletions
| @@ -7,6 +7,8 @@ import com.lframework.starter.web.core.components.resp.InvokeResultBuilder; | @@ -7,6 +7,8 @@ import com.lframework.starter.web.core.components.resp.InvokeResultBuilder; | ||
| 7 | import com.lframework.starter.web.core.components.resp.PageResult; | 7 | import com.lframework.starter.web.core.components.resp.PageResult; |
| 8 | import com.lframework.starter.web.core.controller.DefaultBaseController; | 8 | import com.lframework.starter.web.core.controller.DefaultBaseController; |
| 9 | import com.lframework.xingyun.sc.procurement.entity.SalesmanQuotation; | 9 | import com.lframework.xingyun.sc.procurement.entity.SalesmanQuotation; |
| 10 | +import com.lframework.xingyun.sc.procurement.entity.SalesmanQuotationLine; | ||
| 11 | +import com.lframework.xingyun.sc.procurement.service.quotation.SalesmanQuotationLineService; | ||
| 10 | import com.lframework.xingyun.sc.procurement.service.quotation.SalesmanQuotationService; | 12 | import com.lframework.xingyun.sc.procurement.service.quotation.SalesmanQuotationService; |
| 11 | import com.lframework.xingyun.sc.procurement.vo.quotation.CreateSalesmanQuotationVo; | 13 | import com.lframework.xingyun.sc.procurement.vo.quotation.CreateSalesmanQuotationVo; |
| 12 | import com.lframework.xingyun.sc.procurement.vo.quotation.QuerySalesmanQuotationVo; | 14 | import com.lframework.xingyun.sc.procurement.vo.quotation.QuerySalesmanQuotationVo; |
| @@ -25,6 +27,9 @@ import org.springframework.web.bind.annotation.RequestBody; | @@ -25,6 +27,9 @@ import org.springframework.web.bind.annotation.RequestBody; | ||
| 25 | import org.springframework.web.bind.annotation.RequestMapping; | 27 | import org.springframework.web.bind.annotation.RequestMapping; |
| 26 | import org.springframework.web.bind.annotation.RestController; | 28 | import org.springframework.web.bind.annotation.RestController; |
| 27 | 29 | ||
| 30 | +import java.time.LocalDate; | ||
| 31 | +import java.util.List; | ||
| 32 | + | ||
| 28 | /** | 33 | /** |
| 29 | * 业务员报价 Controller | 34 | * 业务员报价 Controller |
| 30 | */ | 35 | */ |
| @@ -39,6 +44,8 @@ public class SalesmanQuotationController extends DefaultBaseController { | @@ -39,6 +44,8 @@ public class SalesmanQuotationController extends DefaultBaseController { | ||
| 39 | */ | 44 | */ |
| 40 | @Resource | 45 | @Resource |
| 41 | private SalesmanQuotationService salesmanQuotationService; | 46 | private SalesmanQuotationService salesmanQuotationService; |
| 47 | + @Resource | ||
| 48 | + private SalesmanQuotationLineService salesmanQuotationLineService; | ||
| 42 | 49 | ||
| 43 | @ApiOperation("生成编号") | 50 | @ApiOperation("生成编号") |
| 44 | @GetMapping("/generateCode") | 51 | @GetMapping("/generateCode") |
| @@ -117,4 +124,26 @@ public class SalesmanQuotationController extends DefaultBaseController { | @@ -117,4 +124,26 @@ public class SalesmanQuotationController extends DefaultBaseController { | ||
| 117 | salesmanQuotationService.cancel(id); | 124 | salesmanQuotationService.cancel(id); |
| 118 | return InvokeResultBuilder.success(); | 125 | return InvokeResultBuilder.success(); |
| 119 | } | 126 | } |
| 127 | + | ||
| 128 | + /** | ||
| 129 | + * 成交/终止 | ||
| 130 | + */ | ||
| 131 | + @ApiOperation("成交/终止") | ||
| 132 | + @PostMapping("/updateStatus") | ||
| 133 | + public InvokeResult<Void> updateStatus(@NotBlank(message = "id不能为空!") String id, | ||
| 134 | + @NotBlank(message = "状态不能为空!") String status) { | ||
| 135 | + salesmanQuotationService.updateStatus(id, status); | ||
| 136 | + return InvokeResultBuilder.success(); | ||
| 137 | + } | ||
| 138 | + | ||
| 139 | + /** | ||
| 140 | + * 已成交报价明细 | ||
| 141 | + */ | ||
| 142 | + @ApiOperation("已成交报价明细") | ||
| 143 | + @GetMapping("/concluded") | ||
| 144 | + public InvokeResult<List<SalesmanQuotationLine>> concluded() { | ||
| 145 | + LocalDate today = LocalDate.now(); | ||
| 146 | + List<SalesmanQuotationLine> salesmanQuotationLineList = salesmanQuotationLineService.queryCurrentDayList(today, "DEAL_CLOSED"); | ||
| 147 | + return InvokeResultBuilder.success(salesmanQuotationLineList); | ||
| 148 | + } | ||
| 120 | } | 149 | } |
| @@ -48,8 +48,8 @@ public class SalesmanQuotationLineServiceImpl | @@ -48,8 +48,8 @@ public class SalesmanQuotationLineServiceImpl | ||
| 48 | * @return 业务员报价明细列表 | 48 | * @return 业务员报价明细列表 |
| 49 | */ | 49 | */ |
| 50 | @Override | 50 | @Override |
| 51 | - public List<SalesmanQuotationLine> queryCurrentDayList(LocalDate day) { | ||
| 52 | - return getBaseMapper().queryCurrentDayList(day); | 51 | + public List<SalesmanQuotationLine> queryCurrentDayList(LocalDate day, String status) { |
| 52 | + return getBaseMapper().queryCurrentDayList(day, status); | ||
| 53 | } | 53 | } |
| 54 | 54 | ||
| 55 | /** | 55 | /** |
| @@ -317,6 +317,25 @@ public class SalesmanQuotationServiceImpl | @@ -317,6 +317,25 @@ public class SalesmanQuotationServiceImpl | ||
| 317 | } | 317 | } |
| 318 | } | 318 | } |
| 319 | 319 | ||
| 320 | + /** | ||
| 321 | + * 成交/中止 | ||
| 322 | + * | ||
| 323 | + * @param id 主键ID | ||
| 324 | + * @param status 状态 | ||
| 325 | + */ | ||
| 326 | + @Override | ||
| 327 | + public void updateStatus(String id, String status) { | ||
| 328 | + if (StringUtils.isBlank(id) || StringUtils.isBlank(status)) { | ||
| 329 | + throw new DefaultClientException("业务员报价ID、状态不能为空!"); | ||
| 330 | + } | ||
| 331 | + Wrapper<SalesmanQuotation> wrapper = Wrappers.lambdaUpdate(SalesmanQuotation.class) | ||
| 332 | + .set(SalesmanQuotation::getStatus, status) | ||
| 333 | + .eq(SalesmanQuotation::getId, id); | ||
| 334 | + getBaseMapper().update(wrapper); | ||
| 335 | + | ||
| 336 | + publishChangedEvent(id, "UPDATE"); | ||
| 337 | + } | ||
| 338 | + | ||
| 320 | 339 | ||
| 321 | /** | 340 | /** |
| 322 | * 构建新增实体 | 341 | * 构建新增实体 |
| @@ -26,5 +26,5 @@ public interface SalesmanQuotationLineMapper extends BaseMapper<SalesmanQuotatio | @@ -26,5 +26,5 @@ public interface SalesmanQuotationLineMapper extends BaseMapper<SalesmanQuotatio | ||
| 26 | * @param day 日期 | 26 | * @param day 日期 |
| 27 | * @return 业务员报价明细表列表 | 27 | * @return 业务员报价明细表列表 |
| 28 | */ | 28 | */ |
| 29 | - List<SalesmanQuotationLine> queryCurrentDayList(@Param("day") LocalDate day); | 29 | + List<SalesmanQuotationLine> queryCurrentDayList(@Param("day") LocalDate day, @Param("status") String status); |
| 30 | } | 30 | } |
| @@ -27,7 +27,7 @@ public interface SalesmanQuotationLineService extends BaseMpService<SalesmanQuot | @@ -27,7 +27,7 @@ public interface SalesmanQuotationLineService extends BaseMpService<SalesmanQuot | ||
| 27 | * @param day 日期 | 27 | * @param day 日期 |
| 28 | * @return 业务员报价明细列表 | 28 | * @return 业务员报价明细列表 |
| 29 | */ | 29 | */ |
| 30 | - List<SalesmanQuotationLine> queryCurrentDayList(LocalDate day); | 30 | + List<SalesmanQuotationLine> queryCurrentDayList(LocalDate day, String status); |
| 31 | 31 | ||
| 32 | /** | 32 | /** |
| 33 | * 根据ID查询 | 33 | * 根据ID查询 |
| @@ -68,6 +68,14 @@ public interface SalesmanQuotationService extends BaseMpService<SalesmanQuotatio | @@ -68,6 +68,14 @@ public interface SalesmanQuotationService extends BaseMpService<SalesmanQuotatio | ||
| 68 | void updateApprovalStatus(String id, String approvalStatus); | 68 | void updateApprovalStatus(String id, String approvalStatus); |
| 69 | 69 | ||
| 70 | /** | 70 | /** |
| 71 | + * 更新状态 | ||
| 72 | + * | ||
| 73 | + * @param id 主键ID | ||
| 74 | + * @param status 状态 | ||
| 75 | + */ | ||
| 76 | + void updateStatus(String id, String status); | ||
| 77 | + | ||
| 78 | + /** | ||
| 71 | * 生成编号 | 79 | * 生成编号 |
| 72 | * | 80 | * |
| 73 | * @return 编号 | 81 | * @return 编号 |
| @@ -89,7 +89,7 @@ public class SalesmanQuotationLineRealtimePushService { | @@ -89,7 +89,7 @@ public class SalesmanQuotationLineRealtimePushService { | ||
| 89 | */ | 89 | */ |
| 90 | private QuotationLineRealtimeMessage buildCurrentDayMessage(String eventType) { | 90 | private QuotationLineRealtimeMessage buildCurrentDayMessage(String eventType) { |
| 91 | LocalDate today = LocalDate.now(); | 91 | LocalDate today = LocalDate.now(); |
| 92 | - List<SalesmanQuotationLine> records = salesmanQuotationLineService.queryCurrentDayList(today); | 92 | + List<SalesmanQuotationLine> records = salesmanQuotationLineService.queryCurrentDayList(today,"QUOTED"); |
| 93 | 93 | ||
| 94 | QuotationLineRealtimeMessage message = new QuotationLineRealtimeMessage(); | 94 | QuotationLineRealtimeMessage message = new QuotationLineRealtimeMessage(); |
| 95 | message.setMessageType("FULL_SYNC"); | 95 | message.setMessageType("FULL_SYNC"); |
| @@ -86,7 +86,12 @@ | @@ -86,7 +86,12 @@ | ||
| 86 | 86 | ||
| 87 | <select id="queryCurrentDayList" resultMap="SalesmanQuotationLine"> | 87 | <select id="queryCurrentDayList" resultMap="SalesmanQuotationLine"> |
| 88 | <include refid="SalesmanQuotationLineSql1"/> | 88 | <include refid="SalesmanQuotationLineSql1"/> |
| 89 | - WHERE DATE(sq.create_time) = #{day} and sq.status='QUOTED' | 89 | + <where> |
| 90 | + DATE(sq.create_time) = #{day} | ||
| 91 | + <if test="status != null and status != ''"> | ||
| 92 | + AND sq.status = #{status} | ||
| 93 | + </if> | ||
| 94 | + </where> | ||
| 90 | ORDER BY tb.create_time DESC, tb.quotation_id DESC | 95 | ORDER BY tb.create_time DESC, tb.quotation_id DESC |
| 91 | </select> | 96 | </select> |
| 92 | </mapper> | 97 | </mapper> |