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.
208 lines
7.3 KiB
Java
208 lines
7.3 KiB
Java
package com.glxp.api.controller.purchase;
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.glxp.api.common.res.BaseResponse;
|
|
import com.glxp.api.common.util.ResultVOUtils;
|
|
import com.glxp.api.entity.purchase.PurContractDetailEntity;
|
|
import com.glxp.api.entity.purchase.PurContractEntity;
|
|
import com.glxp.api.entity.purchase.PurPlanEntity;
|
|
import com.glxp.api.req.purchase.AddPurPlanDetailRequest;
|
|
import com.glxp.api.req.purchase.PostPurContractRequest;
|
|
import com.glxp.api.req.purchase.PurContractDetailRequest;
|
|
import com.glxp.api.req.purchase.PurContractRequest;
|
|
import com.glxp.api.res.PageSimpleResponse;
|
|
import com.glxp.api.res.purchase.PurContractEntityResponse;
|
|
import com.glxp.api.service.auth.CustomerService;
|
|
import com.glxp.api.service.basic.SysApprovalFlowService;
|
|
import com.glxp.api.service.purchase.impl.PurContractDetailService;
|
|
import com.glxp.api.service.purchase.impl.PurContractService;
|
|
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;
|
|
|
|
@RestController
|
|
@Slf4j
|
|
@RequiredArgsConstructor
|
|
public class PurContractController {
|
|
|
|
@Resource
|
|
PurContractService purContractService;
|
|
@Resource
|
|
PurContractDetailService purContractDetailService;
|
|
@Resource
|
|
private GennerOrderUtils gennerOrderUtils;
|
|
@Resource
|
|
private SysApprovalFlowService sysApprovalFlowService;
|
|
@Resource
|
|
CustomerService customerService;
|
|
@Resource
|
|
SystemParamConfigService systemParamConfigService;
|
|
|
|
final String type = "cght";
|
|
|
|
/**
|
|
* 草稿保存
|
|
*/
|
|
@PostMapping("/purchase/contract/postOrder")
|
|
public BaseResponse postOrder(@RequestBody PostPurContractRequest postPurPlanRequest) {
|
|
|
|
Long userId = customerService.getUserId();
|
|
PurContractEntity purContractEntity = postPurPlanRequest.getPurContractEntity();
|
|
|
|
Date date = new Date();
|
|
purContractEntity.setUpdateTime(date);
|
|
purContractEntity.setUpdateUser(userId + "");
|
|
purContractEntity.setStatus(postPurPlanRequest.getEditStatus()); //状态
|
|
|
|
Integer editStatus = postPurPlanRequest.getEditStatus();
|
|
|
|
String code1 = purContractEntity.getCode();
|
|
if (StringUtil.isEmpty(code1)) {
|
|
String code = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("HT", "yyyyMMdd"));
|
|
purContractEntity.setCode(code);
|
|
}
|
|
if (editStatus == 2){//提交审核
|
|
String approvalFlowId = sysApprovalFlowService.getApprovalFlowId();
|
|
purContractEntity.setApprovalFlowId(approvalFlowId);
|
|
sysApprovalFlowService.generateFlow(approvalFlowId,purContractEntity.getCode(),type);
|
|
}
|
|
|
|
|
|
if (purContractEntity.getId() == null) {
|
|
purContractEntity.setCreateTime(date);
|
|
purContractEntity.setCreateUser(userId + "");
|
|
purContractService.save(purContractEntity);
|
|
} else {
|
|
purContractService.updateById(purContractEntity);
|
|
}
|
|
return ResultVOUtils.success("提交成功!");
|
|
}
|
|
|
|
|
|
/**
|
|
* 查询采购合同列表
|
|
*/
|
|
@GetMapping("/purchase/contract/list")
|
|
public BaseResponse list(PurContractRequest purContractRequest) {
|
|
|
|
Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow"));
|
|
purContractRequest.setSysApprovalFlow(sys_approval_flow);
|
|
|
|
IPage<PurContractEntityResponse> page = purContractService.queryPageList(purContractRequest);
|
|
PageSimpleResponse<PurContractEntityResponse> pageSimpleResponse = new PageSimpleResponse<>();
|
|
pageSimpleResponse.setTotal(page.getTotal());
|
|
pageSimpleResponse.setList(page.getRecords());
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
}
|
|
|
|
/**
|
|
* 查询采购合同详情列表
|
|
*
|
|
* @param purContractDetailRequest
|
|
* @return
|
|
*/
|
|
@GetMapping("/purchase/contract/list/detail")
|
|
public BaseResponse getDetailList(PurContractDetailRequest purContractDetailRequest) {
|
|
IPage<PurContractDetailEntity> page = purContractDetailService.queryPageList(purContractDetailRequest);
|
|
PageSimpleResponse<PurContractDetailEntity> pageSimpleResponse = new PageSimpleResponse<>();
|
|
pageSimpleResponse.setTotal(page.getTotal());
|
|
pageSimpleResponse.setList(page.getRecords());
|
|
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
}
|
|
|
|
/**
|
|
* 修改采购合同详情
|
|
*/
|
|
@PostMapping("/purchase/contract/updateDetail")
|
|
public BaseResponse detailEdit(@RequestBody PurContractDetailEntity purPlanDetailEntity) {
|
|
purContractDetailService.updateById(purPlanDetailEntity);
|
|
return ResultVOUtils.success("修改成功");
|
|
}
|
|
|
|
/**
|
|
* 添加产品到合同里面
|
|
*/
|
|
@PostMapping("/purchase/contract/addContractDetail")
|
|
public BaseResponse addContractDetail(@RequestBody AddPurPlanDetailRequest addPurPlanDetailRequest) {
|
|
|
|
int falg = purContractDetailService.insert(addPurPlanDetailRequest);
|
|
if (falg > 0) {
|
|
return ResultVOUtils.success("添加成功");
|
|
} else {
|
|
return ResultVOUtils.success("添加失败");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 新增合同
|
|
*/
|
|
@PostMapping("purchase/addContractDetail/add")
|
|
public BaseResponse add() {
|
|
Long userId = customerService.getUserId();
|
|
PurContractEntity purContractEntity = new PurContractEntity();
|
|
Date date = new Date();
|
|
purContractEntity.setCreateUser(userId + "");
|
|
purContractEntity.setCreateTime(date);
|
|
purContractEntity.setUpdateTime(date);
|
|
purContractEntity.setUpdateUser(userId + "");
|
|
purContractService.insert(purContractEntity);
|
|
Long id = purContractEntity.getId();
|
|
return ResultVOUtils.success(id);
|
|
}
|
|
|
|
/**
|
|
* 删除申购单和详情
|
|
*/
|
|
@PostMapping("/purchase/contract/delContractDetailAll")
|
|
public BaseResponse delApplyDetailAll(@RequestBody PurContractEntity purContractEntity) {
|
|
|
|
if (purContractEntity.getId() != null) {
|
|
purContractService.deleteById(purContractEntity.getId());
|
|
purContractDetailService.deleteByOrderId(purContractEntity.getId());
|
|
} else {
|
|
return ResultVOUtils.error(999, "参数有误!");
|
|
}
|
|
return ResultVOUtils.success();
|
|
}
|
|
|
|
|
|
/**
|
|
* 删除合同明细
|
|
*
|
|
* @param ids 主键串
|
|
*/
|
|
@DeleteMapping("/purchase/contract/detail/{ids}")
|
|
public BaseResponse detailRemove(@NotEmpty(message = "主键不能为空")
|
|
@PathVariable Long[] ids) {
|
|
|
|
purContractDetailService.deleteByIds(Arrays.asList(ids));
|
|
return ResultVOUtils.success("删除成功");
|
|
}
|
|
|
|
|
|
/**
|
|
* 导入计划
|
|
*/
|
|
@PostMapping("/purchase/contract/importPlan")
|
|
public BaseResponse importPlan(@RequestBody PurPlanEntity purPlanEntity) {
|
|
|
|
if (purPlanEntity.getId() != null) {
|
|
purContractService.importPlan(purPlanEntity.getId());
|
|
} else {
|
|
return ResultVOUtils.error(999, "参数有误!");
|
|
}
|
|
return ResultVOUtils.success();
|
|
}
|
|
|
|
}
|