You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
211 lines
7.8 KiB
Java
211 lines
7.8 KiB
Java
package com.glxp.api.controller.purchase;
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.glxp.api.common.res.BaseResponse;
|
|
import com.glxp.api.common.util.ResultVOUtils;
|
|
import com.glxp.api.entity.purchase.*;
|
|
import com.glxp.api.req.purchase.*;
|
|
import com.glxp.api.res.PageSimpleResponse;
|
|
import com.glxp.api.res.purchase.PurContractEntityResponse;
|
|
import com.glxp.api.res.purchase.PurInquiryEntityResponse;
|
|
import com.glxp.api.service.auth.CustomerService;
|
|
import com.glxp.api.service.basic.SysApprovalFlowService;
|
|
import com.glxp.api.service.purchase.impl.PurInquiryItemDetailService;
|
|
import com.glxp.api.service.purchase.impl.PurInquiryItemService;
|
|
import com.glxp.api.service.purchase.impl.PurInquiryService;
|
|
import com.glxp.api.service.system.SystemParamConfigService;
|
|
import com.glxp.api.util.GennerOrderUtils;
|
|
import com.glxp.api.util.OrderNoTypeBean;
|
|
import jodd.util.StringUtil;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.validation.constraints.NotEmpty;
|
|
import java.util.Arrays;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
|
|
@RestController
|
|
@Slf4j
|
|
@RequiredArgsConstructor
|
|
public class PurInquiryController {
|
|
|
|
@Resource
|
|
CustomerService customerService;
|
|
@Resource
|
|
GennerOrderUtils gennerOrderUtils;
|
|
@Resource
|
|
SystemParamConfigService systemParamConfigService;
|
|
@Resource
|
|
PurInquiryService purInquiryService;
|
|
@Resource
|
|
PurInquiryItemService purInquiryItemService;
|
|
@Resource
|
|
SysApprovalFlowService sysApprovalFlowService;
|
|
@Resource
|
|
PurInquiryItemDetailService purInquiryItemDetailService;
|
|
|
|
final String type_xjjh = "xjjh";
|
|
|
|
/**
|
|
* 查询询价业务列表
|
|
*/
|
|
@GetMapping("/purchase/purInquiry/list")
|
|
public BaseResponse list(PurInquiryRequest purInquiryRequest) {
|
|
|
|
Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow"));
|
|
purInquiryRequest.setSysApprovalFlow(sys_approval_flow);
|
|
List<PurInquiryEntityResponse> purInquiryEntityResponses = purInquiryService.queryPageList(purInquiryRequest);
|
|
PageInfo<PurInquiryEntityResponse> pageInfo;
|
|
pageInfo = new PageInfo<>(purInquiryEntityResponses);
|
|
PageSimpleResponse<PurInquiryEntityResponse> pageSimpleResponse = new PageSimpleResponse<>();
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
pageSimpleResponse.setList(purInquiryEntityResponses);
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
}
|
|
|
|
/**
|
|
* 新增询价业务
|
|
*/
|
|
@PostMapping("/purchase/addPurInquiryItem/add")
|
|
public BaseResponse add() {
|
|
Long userId = customerService.getUserId();
|
|
PurInquiryEntity purInquiryEntity = new PurInquiryEntity();
|
|
Date date = new Date();
|
|
purInquiryEntity.setCreateUser(userId + "");
|
|
purInquiryEntity.setCreateTime(date);
|
|
purInquiryEntity.setUpdateTime(date);
|
|
purInquiryEntity.setUpdateUser(userId + "");
|
|
purInquiryEntity.setPageType(1);
|
|
purInquiryService.insert(purInquiryEntity);
|
|
Long id = purInquiryEntity.getId();
|
|
return ResultVOUtils.success(id);
|
|
}
|
|
|
|
/**
|
|
* 添加产品到合同里面
|
|
*/
|
|
@PostMapping("/purchase/purInquiry/addPurInquiryItem")
|
|
public BaseResponse addPurInquiryItem(@RequestBody AddPurInquiryItemRequest addPurInquiryItemRequest) {
|
|
int falg = purInquiryItemService.insert(addPurInquiryItemRequest);
|
|
if (falg > 0) {
|
|
return ResultVOUtils.success("添加成功");
|
|
} else {
|
|
return ResultVOUtils.success("添加失败");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 查询询价单详情列表
|
|
*
|
|
* @param purContractDetailRequest
|
|
* @return
|
|
*/
|
|
@GetMapping("/purchase/purInquiry/list/detail")
|
|
public BaseResponse getDetailList(PurContractDetailRequest purContractDetailRequest) {
|
|
List<PurInquiryItemEntity> page = purInquiryItemService.queryPageList(purContractDetailRequest);
|
|
PageInfo<PurInquiryItemEntity> pageInfo;
|
|
pageInfo = new PageInfo<>(page);
|
|
PageSimpleResponse<PurInquiryItemEntity> pageSimpleResponse = new PageSimpleResponse<>();
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
pageSimpleResponse.setList(page);
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
}
|
|
/**
|
|
* 查询询价单详情列表
|
|
*
|
|
* @param purContractDetailRequest
|
|
* @return
|
|
*/
|
|
@GetMapping("/purchase/purInquiry/list/itemDetail")
|
|
public BaseResponse getItemDetailList(PurContractDetailRequest purContractDetailRequest) {
|
|
List<PurInquiryItemDetailEntity> page = purInquiryItemDetailService.queryPageList(purContractDetailRequest);
|
|
PageInfo<PurInquiryItemDetailEntity> pageInfo;
|
|
pageInfo = new PageInfo<>(page);
|
|
PageSimpleResponse<PurInquiryItemDetailEntity> pageSimpleResponse = new PageSimpleResponse<>();
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
pageSimpleResponse.setList(page);
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
}
|
|
|
|
|
|
/**
|
|
* 草稿保存
|
|
*/
|
|
@PostMapping("/purchase/purInquiry/postOrder")
|
|
public BaseResponse postOrder(@RequestBody PostPurInquiryRequest postPurInquiryRequest) {
|
|
|
|
Long userId = customerService.getUserId();
|
|
PurInquiryEntity purInquiryEntity = postPurInquiryRequest.getPurInquiryEntity();
|
|
|
|
Date date = new Date();
|
|
purInquiryEntity.setUpdateTime(date);
|
|
purInquiryEntity.setUpdateUser(userId + "");
|
|
purInquiryEntity.setStatus(postPurInquiryRequest.getEditStatus()); //状态
|
|
|
|
Integer editStatus = postPurInquiryRequest.getEditStatus();
|
|
|
|
String billNo = purInquiryEntity.getBillNo();
|
|
if (StringUtil.isEmpty(billNo)) {
|
|
billNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("XJJH", "yyyyMMdd"));
|
|
purInquiryEntity.setBillNo(billNo);
|
|
}
|
|
|
|
Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow"));
|
|
if (editStatus == 2 && sys_approval_flow){//提交审核
|
|
String approvalFlowId = sysApprovalFlowService.getApprovalFlowId();
|
|
purInquiryEntity.setApprovalFlowId(approvalFlowId);
|
|
sysApprovalFlowService.generateFlow(approvalFlowId,purInquiryEntity.getBillNo(),type_xjjh);
|
|
}
|
|
|
|
if (purInquiryEntity.getId() == null) {
|
|
purInquiryEntity.setCreateTime(date);
|
|
purInquiryEntity.setCreateUser(userId + "");
|
|
purInquiryService.save(purInquiryEntity);
|
|
} else {
|
|
purInquiryService.updateById(purInquiryEntity);
|
|
}
|
|
|
|
//更新明细详情表
|
|
purInquiryItemDetailService.updateItemDetail(purInquiryEntity);
|
|
|
|
return ResultVOUtils.success("提交成功!");
|
|
}
|
|
|
|
/**
|
|
* 修改询价明细
|
|
*/
|
|
@PostMapping("/purchase/purInquiry/updateItem")
|
|
public BaseResponse updateItem(@RequestBody PurInquiryItemEntity purInquiryItemEntity) {
|
|
purInquiryItemService.updateById(purInquiryItemEntity);
|
|
return ResultVOUtils.success("修改成功");
|
|
}
|
|
|
|
|
|
/**
|
|
* 删除询价明细
|
|
*
|
|
* @param ids 主键串
|
|
*/
|
|
@DeleteMapping("/purchase/purInquiry/item/{ids}")
|
|
public BaseResponse detailRemove(@NotEmpty(message = "主键不能为空")
|
|
@PathVariable Long[] ids) {
|
|
|
|
purInquiryItemService.deleteByIds(Arrays.asList(ids));
|
|
return ResultVOUtils.success("删除成功");
|
|
}
|
|
|
|
/**
|
|
* 发起报价
|
|
*/
|
|
@PostMapping("/purchase/purInquiry/submitOffer")
|
|
public BaseResponse submitOffer(@RequestBody PurInquiryEntity purInquiryEntity) {
|
|
purInquiryService.submitOffer(purInquiryEntity);
|
|
return ResultVOUtils.success("发起成功");
|
|
}
|
|
|
|
}
|