Merge remote-tracking branch 'origin/master'

master
x_z 2 years ago
commit 4051854efa

@ -174,6 +174,7 @@ public class ConstantStatus {
public static final int FROM_PLAN = 12; //申购计划转单 public static final int FROM_PLAN = 12; //申购计划转单
public static final int FROM_RECEIVE = 13; //领用单据转单 public static final int FROM_RECEIVE = 13; //领用单据转单
public static final int FROM_THRORDER = 14; //第三方单据转单 public static final int FROM_THRORDER = 14; //第三方单据转单
public static final int FROM_Order = 15; //采购计划转单
//DI类型 //DI类型

@ -0,0 +1,363 @@
package com.glxp.api.controller.purchase;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.annotation.RepeatSubmit;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.constant.ConstantType;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.purchase.*;
import com.glxp.api.req.purchase.*;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.purchase.PurOrderDetailResponse;
import com.glxp.api.res.purchase.PurOrderResponse;
import com.glxp.api.res.purchase.PurPlanResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.inout.IoOrderDetailBizService;
import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.service.purchase.*;
import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.constraints.NotEmpty;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* pur
*
* @author anthony.ywj
* @date 2022-10-12
*/
@Validated
@RequiredArgsConstructor
@RestController
public class PurOrderController {
@Resource
PurOrderService purOrderService;
@Resource
PurPlanDetailService purPlanDetailService;
@Resource
PurOrderDetailService purOrderDetailService;
@Resource
CustomerService customerService;
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
IoOrderService ioOrderService;
@Resource
IoOrderDetailBizService ioOrderDetailBizService;
/**
*
*/
@RepeatSubmit()
@AuthRuleAnnotation("")
@PostMapping("/purchase/order/postOrder")
public BaseResponse postOrder(@RequestBody PostPurOrderRequest postPurOrderRequest) {
Long userId = customerService.getUserId();
PurOrderEntity purOrderEntity = postPurOrderRequest.getPurOrderEntity();
purOrderEntity.setCreateUser(userId + "");
purOrderEntity.setCreateTime(new Date());
purOrderEntity.setUpdateTime(new Date());
purOrderEntity.setUpdateUser(userId + "");
purOrderEntity.setStatus(postPurOrderRequest.getEditStatus()); //草稿状态
if(postPurOrderRequest.getType()!=null){
String billNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.SG_ORDER, "yyyyMMdd"));
purOrderEntity.setBillNo(billNo);
}
if (purOrderEntity.getId() == null) {
purOrderService.insert(purOrderEntity);
} else {
purOrderService.update(purOrderEntity);
}
return ResultVOUtils.success("提交成功!");
}
/**
*
*/
@GetMapping("/purchase/order/list")
public BaseResponse list(PurOrderRequest purOrderRequest) {
if (purOrderRequest.getStatus() == null) {
purOrderRequest.setStatus(11); //查询未审核和草稿状态
}
List<PurOrderResponse> purApplyEntities = purOrderService.queryPageList(purOrderRequest);
PageInfo<PurOrderResponse> pageInfo;
pageInfo = new PageInfo<>(purApplyEntities);
PageSimpleResponse<PurOrderResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(purApplyEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*/
@GetMapping("/purchase/order/auditList")
public BaseResponse auditList(PurOrderRequest purOrderRequest) {
if (purOrderRequest.getStatus() == null) {
purOrderRequest.setStatus(10); //查询未审核和已审核状态
}
List<PurOrderResponse> purApplyEntities = purOrderService.queryPageList(purOrderRequest);
PageInfo<PurOrderResponse> pageInfo;
pageInfo = new PageInfo<>(purApplyEntities);
PageSimpleResponse<PurOrderResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(purApplyEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*/
@RepeatSubmit()
@PostMapping("/purchase/order/auditOrder")
public BaseResponse auditOrder(@RequestBody PostPurOrderRequest postPurOrderRequest) {
Long userId = customerService.getUserId();
PurOrderEntity purOrderEntity = postPurOrderRequest.getPurOrderEntity();
purOrderEntity.setUpdateTime(new Date());
purOrderEntity.setAuditUser(userId + "");
purOrderEntity.setStatus(postPurOrderRequest.getEditStatus());
purOrderService.update(purOrderEntity);
String billNo="";
List<PurOrderDetailEntity> purOrderDetailEntities = purOrderDetailService.findByOrderId(purOrderEntity.getId() + "");
//对计划单里面的供应商进行分组
Map<String, List<PurOrderDetailEntity>> map = purOrderDetailEntities.stream().collect(Collectors.groupingBy(PurOrderDetailEntity::getSupId));
if (postPurOrderRequest.getEditStatus() == ConstantStatus.APPLY_AUDIT_ED) {
if (CollUtil.isNotEmpty(purOrderDetailEntities) && postPurOrderRequest.isAutoPurchase()==true
&& StrUtil.isNotEmpty(postPurOrderRequest.getTargetSubInv()) && StrUtil.isNotEmpty(postPurOrderRequest.getTargetBillAction()) ) {
for (Map.Entry<String, List<PurOrderDetailEntity>> m:map.entrySet()) {
//生产单据表信息
IoOrderEntity ioOrderEntity=new IoOrderEntity();
ioOrderEntity.setBillNo(gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER ,"yyyyMMdd")));
ioOrderEntity.setCorpOrderId(CustomUtil.getDate());
ioOrderEntity.setMainAction(ConstantType.TYPE_PUT);
ioOrderEntity.setAction(postPurOrderRequest.getTargetBillAction());
ioOrderEntity.setFromCorp(m.getKey());
ioOrderEntity.setFromType(ConstantStatus.FROM_Order);
ioOrderEntity.setStatus(1);
ioOrderEntity.setDealStatus(1);
ioOrderEntity.setOrderType(1);
ioOrderEntity.setCreateTime(new Date());
ioOrderEntity.setCreateUser(postPurOrderRequest.getPurOrderEntity().getAuditUser());
ioOrderEntity.setUpdateTime(new Date());
ioOrderEntity.setUpdateUser(postPurOrderRequest.getPurOrderEntity().getAuditUser());
ioOrderEntity.setCustomerId("110");
ioOrderEntity.setDeptCode(postPurOrderRequest.getTargetDeptCode());
ioOrderEntity.setInvCode(postPurOrderRequest.getTargetSubInv());
ioOrderService.insertOrder(ioOrderEntity);
billNo+=ioOrderEntity.getBillNo()+",";
//插入业务单表
for (PurOrderDetailEntity obj:m.getValue()) {
BasicProductsEntity basicProductsEntity = purOrderDetailService.selectIoOrderDetailBiz(obj.getId());
IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity();
ioOrderDetailBizEntity.setOrderIdFk(ioOrderEntity.getBillNo());
ioOrderDetailBizEntity.setBindRlFk(Long.valueOf(obj.getProductId()));
ioOrderDetailBizEntity.setCount(obj.getCount());
ioOrderDetailBizEntity.setUuidFk(basicProductsEntity.getUuid());
ioOrderDetailBizEntity.setNameCode(basicProductsEntity.getNameCode());
ioOrderDetailBizEntity.setCoName(basicProductsEntity.getCpmctymc());
ioOrderDetailBizEntity.setCertCode(basicProductsEntity.getZczbhhzbapzbh());
ioOrderDetailBizEntity.setYlqxzcrbarmc(basicProductsEntity.getYlqxzcrbarmc());
ioOrderDetailBizEntity.setManufacturer(basicProductsEntity.getManufactory());
ioOrderDetailBizEntity.setMeasname(basicProductsEntity.getMeasname());
ioOrderDetailBizEntity.setSpec(basicProductsEntity.getGgxh());
if (basicProductsEntity.getPrice() != null) {
ioOrderDetailBizEntity.setPrice(BigDecimal.valueOf(basicProductsEntity.getPrice()));
}
ioOrderDetailBizEntity.setSupId(obj.getSupId());
ioOrderDetailBizService.insert(ioOrderDetailBizEntity);
}
}
purOrderEntity.setStockOrderNo(billNo.substring(0,billNo.length()-1));
purOrderService.update(purOrderEntity);
}
}
return ResultVOUtils.success("更新成功!");
}
/**
*
*/
@GetMapping("/purchase/order/list/detail")
public BaseResponse detailList(PurOrderDetailRequest purApplyDetailRequest) {
List<PurOrderDetailResponse> purOrderDetailResponseList = purOrderDetailService.joinQueryList(purApplyDetailRequest);
PageInfo<PurOrderDetailResponse> pageInfo;
pageInfo = new PageInfo<>(purOrderDetailResponseList);
PageSimpleResponse<PurOrderDetailResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(purOrderDetailResponseList);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*/
@PostMapping("/purchase/order/addPlanDetailAndOrder")
public BaseResponse addPlanDetailAndOrder(@RequestBody PurOrderRequest purOrderRequest) {
if (purOrderRequest.getApplyId() == null || purOrderRequest.getId() == null) {
return ResultVOUtils.error(999,"参数错误!");
}
//查询申购单详情
PurPlanDetailRequest purPlanDetailRequest=new PurPlanDetailRequest();
purPlanDetailRequest.setOrderIdFk(purOrderRequest.getApplyId()+"");
List<PurPlanDetailEntity> purApplyDetailEntityList=purPlanDetailService.getPurPlanDetailEntityList(purPlanDetailRequest);
//使用stream拷贝list
List<PurOrderDetailEntity> purOrderDetailEntityList = purApplyDetailEntityList.stream()
.map(e-> {
PurOrderDetailEntity d = new PurOrderDetailEntity();
BeanUtils.copyProperties(e, d);
return d;
})
.collect(Collectors.toList());
for (PurOrderDetailEntity obj:purOrderDetailEntityList){
obj.setOrderIdFk(purOrderRequest.getId()+"");
}
//获取详情表信息
PurOrderDetailRequest PurOrderDetailRequest=new PurOrderDetailRequest();
PurOrderDetailRequest.setOrderIdFk(purOrderRequest.getId() + "");
List<PurOrderDetailEntity> purOrderDetailEntities=purOrderDetailService.getPurOrderDetailEntityList(PurOrderDetailRequest);
List<Long> ids=new ArrayList<>();
for (PurOrderDetailEntity obj:purOrderDetailEntities){
for (PurOrderDetailEntity obj1:purOrderDetailEntityList){
if(obj.getProductId().equals(obj1.getProductId())){
//获取存在在详情表和申购单里面一样的产品
ids.add(obj.getId().longValue());
break;
}
}
}
//删除存在的产品
if(ids.size()>0){
purOrderDetailService.deleteByIds(ids);
}
boolean falg= purOrderDetailService.insertPurOrderDetailEntity(purOrderDetailEntityList);
if(falg){
//查询申购单
return ResultVOUtils.success("添加成功");
}else{
return ResultVOUtils.success("添加失败");
}
}
/**
*
*/
@PostMapping("/purchase/order/addOrderDetail")
public BaseResponse addOrderDetail(@RequestBody PurOrderDetailEntity purOrderDetailEntity) {
boolean falg=purOrderDetailService.insert(purOrderDetailEntity);
if(falg){
return ResultVOUtils.success("添加成功");
}else {
return ResultVOUtils.success("添加失败");
}
}
/**
*
*/
@AuthRuleAnnotation("")
@PostMapping("/purchase/order/add")
public BaseResponse add() {
Long userId = customerService.getUserId();
PurOrderEntity purOrderEntity= new PurOrderEntity();
purOrderEntity.setCreateUser(userId + "");
purOrderEntity.setCreateTime(new Date());
purOrderEntity.setUpdateTime(new Date());
purOrderEntity.setUpdateUser(userId + "");
purOrderService.insert(purOrderEntity);
Long id=purOrderEntity.getId();
return ResultVOUtils.success(id);
}
/**
*
*/
@AuthRuleAnnotation("")
@PostMapping("/purchase/order/delOrderDetailAll")
public BaseResponse delApplyDetailAll(@RequestBody PurApplyEntity purApplyEntity) {
if(purApplyEntity.getId()!=null){
purOrderService.deleteById(purApplyEntity.getId());
purOrderDetailService.deleteByOrderId(purApplyEntity.getId() + "" );
}else {
return ResultVOUtils.error(999,"参数有误!");
}
return ResultVOUtils.success();
}
/**
*
*/
@RepeatSubmit()
@PostMapping("/purchase/order/updateDetail")
public BaseResponse detailEdit(@RequestBody PurOrderDetailEntity purOrderDetailEntity) {
purOrderDetailService.update(purOrderDetailEntity);
return ResultVOUtils.success("修改成功");
}
/**
*
*
* @param ids
*/
@DeleteMapping("/purchase/order/detail/{ids}")
public BaseResponse detailRemove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
purOrderDetailService.deleteByIds(Arrays.asList(ids));
return ResultVOUtils.success("删除成功");
}
}

@ -155,6 +155,25 @@ public class PurPlanController {
} }
/**
*
*/
@GetMapping("/purchase/plan/selectApprovedList")
public BaseResponse selectApprovedList(PurPlanRequest purApplyRequest) {
if (purApplyRequest.getStatus() == null) {
purApplyRequest.setStatus(12); //查询已审核状态
}
List<PurPlanResponse> purApplyEntities = purPlanService.queryPageList(purApplyRequest);
PageInfo<PurPlanResponse> pageInfo;
pageInfo = new PageInfo<>(purApplyEntities);
PageSimpleResponse<PurPlanResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(purApplyEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
/** /**
* *

@ -2,6 +2,14 @@ package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.purchase.PurOrderEntity; import com.glxp.api.entity.purchase.PurOrderEntity;
import com.glxp.api.req.purchase.PurOrderRequest;
import com.glxp.api.req.purchase.PurPlanRequest;
import com.glxp.api.res.purchase.PurOrderResponse;
import com.glxp.api.res.purchase.PurPlanResponse;
import java.util.List;
public interface PurOrderDao extends BaseMapper<PurOrderEntity> { public interface PurOrderDao extends BaseMapper<PurOrderEntity> {
List<PurOrderResponse> queryPageList(PurOrderRequest purPlanRequest);
} }

@ -1,7 +1,29 @@
package com.glxp.api.dao.purchase; package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.purchase.PurOrderDetailEntity; import com.glxp.api.entity.purchase.PurOrderDetailEntity;
import com.glxp.api.entity.purchase.PurPlanDetailEntity;
import com.glxp.api.req.purchase.PurOrderDetailRequest;
import com.glxp.api.req.purchase.PurPlanDetailRequest;
import com.glxp.api.res.purchase.PurOrderDetailResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface PurOrderDetailDao extends BaseMapper<PurOrderDetailEntity> { public interface PurOrderDetailDao extends BaseMapper<PurOrderDetailEntity> {
List<PurOrderDetailEntity> queryPageList(PurOrderDetailRequest purOrderDetailRequest);
List<PurOrderDetailResponse> joinQueryList(PurOrderDetailRequest purOrderDetailRequest);
Boolean update(PurOrderDetailEntity purOrderDetailEntity);
Boolean deleteByIds(@Param("ids") List<Long> ids);
Boolean deleteByOrderId(@Param("orderIdFk") String orderIdFk);
boolean insertPurOrderDetailEntity(@Param("datas") List<PurOrderDetailEntity> purOrderDetailEntityList);
BasicProductsEntity selectIoOrderDetailBiz(@Param("id") long id);
} }

@ -29,7 +29,7 @@ public class PurOrderEntity {
* 1.稿2.3. * 1.稿2.3.
*/ */
@TableField(value = "`status`") @TableField(value = "`status`")
private Byte status; private Integer status;
/** /**
* *

@ -0,0 +1,26 @@
package com.glxp.api.req.purchase;
import com.glxp.api.entity.purchase.PurOrderDetailEntity;
import com.glxp.api.entity.purchase.PurOrderEntity;
import com.glxp.api.entity.purchase.PurPlanDetailEntity;
import com.glxp.api.entity.purchase.PurPlanEntity;
import lombok.Data;
import java.util.List;
@Data
public class PostPurOrderRequest {
int editStatus;
PurOrderEntity purOrderEntity;
List<PurOrderDetailEntity> purOrderDetailEntityList;
// List<StockOrderDetailEntity> subErpOrders;
Integer type;
boolean autoPurchase;
String targetSubInv;
String targetBillAction;
String targetDeptCode;
}

@ -0,0 +1,50 @@
package com.glxp.api.req.purchase;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class PurOrderDetailRequest extends ListPageRequest {
/**
*
*/
@NotNull(message = "不能为空")
private Long id;
/**
*
*/
@NotBlank(message = "订单外键不能为空")
private String orderIdFk;
/**
* ID
*/
@NotNull(message = "产品ID不能为空")
private Long productId;
/**
*
*/
@NotBlank(message = "产品名称不能为空")
private String productName;
/**
*
*/
@NotNull(message = "数量不能为空")
private Long count;
/**
* ID
*/
@NotBlank(message = "供应商ID不能为空")
private String supId;
}

@ -0,0 +1,98 @@
package com.glxp.api.req.purchase;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* pur pur_plan
*
* @author anthony.ywj
* @date 2022-10-12
*/
@Data
public class PurOrderRequest extends ListPageRequest {
/**
*
*/
@NotNull(message = "不能为空")
private Long id;
/**
*
*/
@NotBlank(message = "单据号不能为空")
private String billNo;
/**
*
*/
@NotNull(message = "单据日期不能为空")
private Date billDate;
/**
* 1.稿2.3.
*/
@NotNull(message = "状态1.草稿2.未审核3.已审核)不能为空")
private Integer status;
/**
*
*/
@NotNull(message = "申购类型不能为空")
private Long billType;
/**
*
*/
@NotBlank(message = "申购说明不能为空")
private String remark;
/**
*
*/
@NotBlank(message = "当前仓库不能为空")
private String invCode;
/**
*
*/
@NotBlank(message = "所属部门不能为空")
private String deptCode;
/**
*
*/
@NotBlank(message = "审核人不能为空")
private String auditUser;
/**
*
*/
@NotNull(message = "审核时间不能为空")
private Date auditTime;
private String createUser;
/**
*
*/
private Date createTime;
private String startDate;
private String endDate;
private Long applyId;
}

@ -0,0 +1,74 @@
package com.glxp.api.res.purchase;
import lombok.Data;
import java.util.Date;
@Data
public class PurOrderResponse {
/**
*
*/
private Integer id;
/**
*
*/
private String billNo;
/**
*
*/
private Date billDate;
/**
* 1.稿2.3.
*/
private Integer status;
/**
*
*/
private String billType;
/**
*
*/
private String remark;
private String invCode;
/**
*
*/
private String deptCode;
/**
*
*/
private String auditBy;
/**
*
*/
private Date auditTime;
private String createBy;
/**
*
*/
private Date createTime;
private Date updateTime;
private String invName;
private String subInvName;
private String deptName;
private String auditRemark;
private String applyCreateBy; //申购人
private String applyAuditBy; //申购审核人
private String applyRemark; //申购说明
private String applyBillNo; //申购单据号,多单以逗号隔开
private String stockOrderNo;
private String createUser;
private String updateUser;
private String createUserName;
private String auditUserName;
}

@ -0,0 +1,37 @@
package com.glxp.api.service.purchase;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.purchase.PurOrderDetailEntity;
import com.glxp.api.entity.purchase.PurPlanDetailEntity;
import com.glxp.api.req.purchase.PurOrderDetailRequest;
import com.glxp.api.req.purchase.PurPlanDetailRequest;
import com.glxp.api.res.purchase.PurOrderDetailResponse;
import java.util.List;
public interface PurOrderDetailService {
List<PurOrderDetailResponse> joinQueryList(PurOrderDetailRequest purOrderDetailRequest);
List<PurOrderDetailEntity> findByOrderId(String orderId);
List<PurOrderDetailEntity> queryPageList(PurOrderDetailRequest purOrderDetailRequest);
List<PurOrderDetailEntity> getPurOrderDetailEntityList(PurOrderDetailRequest purOrderDetailRequest);
Boolean insert(PurOrderDetailEntity purOrderDetailEntity);
Boolean update(PurOrderDetailEntity purOrderDetailEntity);
Boolean deleteByIds(List<Long> ids);
Boolean deleteByOrderId(String orderIdfK);
boolean insertPurOrderDetailEntity(List<PurOrderDetailEntity> purOrderDetailEntityList);
BasicProductsEntity selectIoOrderDetailBiz(long id);
}

@ -0,0 +1,27 @@
package com.glxp.api.service.purchase;
import com.glxp.api.entity.purchase.PurOrderEntity;
import com.glxp.api.entity.purchase.PurPlanEntity;
import com.glxp.api.req.purchase.PurOrderRequest;
import com.glxp.api.req.purchase.PurPlanRequest;
import com.glxp.api.res.purchase.PurOrderResponse;
import com.glxp.api.res.purchase.PurPlanResponse;
import java.util.List;
public interface PurOrderService {
List<PurOrderResponse> queryPageList(PurOrderRequest purOrderRequest);
Boolean insert(PurOrderEntity purOrderEntity);
Boolean update(PurOrderEntity purOrderEntity);
Boolean deleteByIds(List<Integer> ids);
Boolean deleteById(long id);
}

@ -0,0 +1,95 @@
package com.glxp.api.service.purchase.impl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.purchase.PurOrderDetailDao;
import com.glxp.api.dao.purchase.PurPlanDetailDao;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.purchase.PurOrderDetailEntity;
import com.glxp.api.entity.purchase.PurPlanDetailEntity;
import com.glxp.api.req.purchase.PurOrderDetailRequest;
import com.glxp.api.req.purchase.PurPlanDetailRequest;
import com.glxp.api.res.purchase.PurOrderDetailResponse;
import com.glxp.api.service.purchase.PurOrderDetailService;
import com.glxp.api.service.purchase.PurPlanDetailService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
@Service
public class PurOrderDetailServiceImpl implements PurOrderDetailService {
@Resource
PurOrderDetailDao purOrderDetailDao;
@Override
public List<PurOrderDetailResponse> joinQueryList(PurOrderDetailRequest purOrderDetailRequest) {
if (purOrderDetailRequest == null) {
return Collections.emptyList();
}
if (purOrderDetailRequest.getPage() != null) {
int offset = (purOrderDetailRequest.getPage() - 1) * purOrderDetailRequest.getLimit();
PageHelper.offsetPage(offset, purOrderDetailRequest.getLimit());
}
List<PurOrderDetailResponse> data = purOrderDetailDao.joinQueryList(purOrderDetailRequest);
return data;
}
@Override
public List<PurOrderDetailEntity> findByOrderId(String orderId) {
PurOrderDetailRequest purOrderDetailRequest = new PurOrderDetailRequest();
purOrderDetailRequest.setOrderIdFk(orderId);
List<PurOrderDetailEntity> data = purOrderDetailDao.queryPageList(purOrderDetailRequest);
return data;
}
@Override
public List<PurOrderDetailEntity> queryPageList(PurOrderDetailRequest purOrderDetailRequest) {
if (purOrderDetailRequest == null) {
return Collections.emptyList();
}
if (purOrderDetailRequest.getPage() != null) {
int offset = (purOrderDetailRequest.getPage() - 1) * purOrderDetailRequest.getLimit();
PageHelper.offsetPage(offset, purOrderDetailRequest.getLimit());
}
List<PurOrderDetailEntity> data = purOrderDetailDao.queryPageList(purOrderDetailRequest);
return data;
}
@Override
public List<PurOrderDetailEntity> getPurOrderDetailEntityList(PurOrderDetailRequest purOrderDetailRequest) {
return purOrderDetailDao.queryPageList(purOrderDetailRequest);
}
@Override
public Boolean insert(PurOrderDetailEntity purOrderDetailEntity) {
return purOrderDetailDao.insert(purOrderDetailEntity)>0 ? true:false;
}
@Override
public Boolean update(PurOrderDetailEntity purOrderDetailEntity) {
return purOrderDetailDao.update(purOrderDetailEntity);
}
@Override
public Boolean deleteByIds(List<Long> ids) {
return purOrderDetailDao.deleteByIds(ids);
}
@Override
public Boolean deleteByOrderId(String orderIdfK) {
return purOrderDetailDao.deleteByOrderId(orderIdfK);
}
@Override
public boolean insertPurOrderDetailEntity(List<PurOrderDetailEntity> purOrderDetailEntityList) {
return purOrderDetailDao.insertPurOrderDetailEntity(purOrderDetailEntityList);
}
@Override
public BasicProductsEntity selectIoOrderDetailBiz(long id) {
return purOrderDetailDao.selectIoOrderDetailBiz(id);
}
}

@ -0,0 +1,61 @@
package com.glxp.api.service.purchase.impl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.purchase.PurOrderDao;
import com.glxp.api.dao.purchase.PurPlanDao;
import com.glxp.api.entity.purchase.PurOrderEntity;
import com.glxp.api.entity.purchase.PurPlanEntity;
import com.glxp.api.req.purchase.PurOrderRequest;
import com.glxp.api.req.purchase.PurPlanRequest;
import com.glxp.api.res.purchase.PurOrderResponse;
import com.glxp.api.res.purchase.PurPlanResponse;
import com.glxp.api.service.purchase.PurOrderService;
import com.glxp.api.service.purchase.PurPlanService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
@Service
public class PurOrderServiceImpl implements PurOrderService {
@Resource
PurPlanDao purPlanDao;
@Resource
PurOrderDao purOrderDao;
@Override
public List<PurOrderResponse> queryPageList(PurOrderRequest purOrderRequest) {
if (purOrderRequest == null) {
return Collections.emptyList();
}
if (purOrderRequest.getPage() != null) {
int offset = (purOrderRequest.getPage() - 1) * purOrderRequest.getLimit();
PageHelper.offsetPage(offset, purOrderRequest.getLimit());
}
List<PurOrderResponse> data = purOrderDao.queryPageList(purOrderRequest);
return data;
}
@Override
public Boolean insert(PurOrderEntity purOrderEntity) {
return purOrderDao.insert(purOrderEntity)>0 ? true:false;
}
@Override
public Boolean update(PurOrderEntity purOrderEntity) {
return purOrderDao.updateById(purOrderEntity)>0 ? true:false;
}
@Override
public Boolean deleteByIds(List<Integer> ids) {
return purOrderDao.deleteBatchIds(ids)>0 ? true:false;
}
@Override
public Boolean deleteById(long id) {
return purOrderDao.deleteById(id)>0 ? true:false;
}
}

@ -31,4 +31,58 @@
createTime, auditUser, auditTime, auditRemark, updateTime, updateUser, applyCreateUser, createTime, auditUser, auditTime, auditRemark, updateTime, updateUser, applyCreateUser,
applyAuditUser, applyRemark, applyBillNo, stockOrderNo applyAuditUser, applyRemark, applyBillNo, stockOrderNo
</sql> </sql>
<select id="queryPageList" parameterType="com.glxp.api.req.purchase.PurOrderRequest"
resultType="com.glxp.api.res.purchase.PurOrderResponse">
SELECT
pur_order.*,
cb.employeeName createUserName,
ab.employeeName auditUserName,
auth_warehouse.NAME invName,
auth_dept.`name` deptName
FROM
pur_order
LEFT JOIN auth_user cb ON pur_order.createUser = cb.id
LEFT JOIN auth_user ab ON pur_order.auditUser = ab.id
LEFT JOIN auth_warehouse ON pur_order.invCode = auth_warehouse.`code`
LEFT JOIN auth_dept ON auth_dept.CODE = pur_order.deptCode
<where>
<if test="billNo != '' and billNo != null">
AND billNo = #{billNo}
</if>
<if test="startDate != null and startDate !=''">
<![CDATA[ and DATE_FORMAT(billDate,'%Y-%m-%d')>= #{startDate}]]>
</if>
<if test="endDate != null and endDate !=''">
<![CDATA[ and DATE_FORMAT(billDate,'%Y-%m-%d') <= #{endDate}]]>
</if>
<if test="status!=null and status!=10 and status!=11">
and pur_order.status = #{status}
</if>
<if test="status ==10">
and ( pur_order.status = 3 or pur_order.status=2 or pur_order.status=4)
</if>
<if test="status ==11">
and ( pur_order.status = 1 or pur_order.status=2 or pur_order.status=4)
</if>
<if test="deptCode != '' and deptCode != null">
AND deptCode = #{deptCode}
</if>
<if test="invCode != '' and invCode != null">
AND invCode = #{invCode}
</if>
<if test="auditUser != '' and auditUser != null">
AND auditUser = #{auditUser}
</if>
<if test="createUser != '' and createUser != null">
AND createUser = #{createUser}
</if>
</where>
</select>
</mapper> </mapper>

@ -16,4 +16,118 @@
<!--@mbg.generated--> <!--@mbg.generated-->
id, orderIdFk, productId, productName, `count`, supId, zczbhhzbapzbh id, orderIdFk, productId, productName, `count`, supId, zczbhhzbapzbh
</sql> </sql>
<select id="queryPageList" parameterType="com.glxp.api.req.purchase.PurOrderDetailRequest"
resultType="com.glxp.api.entity.purchase.PurOrderDetailEntity">
select *
FROM pur_order_detail
<where>
<if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk}
</if>
<if test="productId != null">
AND productId = #{productId}
</if>
<if test="supId != '' and supId != null">
AND supId = #{supId}
</if>
</where>
</select>
<select id="joinQueryList" parameterType="com.glxp.api.req.purchase.PurOrderDetailRequest"
resultType="com.glxp.api.res.purchase.PurOrderDetailResponse">
SELECT
pur_order_detail.*,
basic_products.ggxh spec,
basic_products.measname,
basic_products.manufactory,
basic_products.ylqxzcrbarmc,
basic_corp.`name` supName
FROM
pur_order_detail
INNER JOIN basic_udirel ON pur_order_detail.productId = basic_udirel.id
INNER JOIN basic_products ON basic_udirel.uuid = basic_products.uuid
INNER JOIN basic_corp ON pur_order_detail.supId = basic_corp.erpId
<where>
<if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk}
AND basic_products.diType=1
</if>
<if test="productId != null">
AND productId = #{productId}
</if>
<if test="supId != '' and supId != null">
AND supId = #{supId}
</if>
</where>
</select>
<delete id="deleteByIds" parameterType="java.util.List">
DELETE FROM pur_order_detail WHERE id in
<foreach collection="ids" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<delete id="deleteByOrderId" parameterType="map">
DELETE
FROM pur_order_detail
WHERE orderIdFk = #{orderIdFk}
</delete>
<update id="update" parameterType="com.glxp.api.entity.purchase.PurOrderDetailEntity">
UPDATE pur_order_detail
<trim prefix="set" suffixOverrides=",">
<if test="orderIdFk != null">orderIdFk=#{orderIdFk},</if>
<if test="productId != null">productId=#{productId},</if>
<if test="productName != null">productName=#{productName},</if>
<if test="count != null">`count`=#{count},</if>
<if test="supId != null">supId=#{supId},</if>
<if test="zczbhhzbapzbh != null">zczbhhzbapzbh=#{zczbhhzbapzbh},</if>
</trim>
WHERE id = #{id}
</update>
<insert id="insertPurOrderDetailEntity" keyProperty="id" parameterType="com.glxp.api.entity.purchase.PurOrderDetailEntity">
REPLACE INTO pur_order_detail
( orderIdFk,productId,productName,count,supId,zczbhhzbapzbh) values
<foreach collection="datas" item="item" index="index" separator=",">
(
#{item.orderIdFk},
#{item.productId},
#{item.productName},
#{item.count},
#{item.supId},
#{item.zczbhhzbapzbh}
)
</foreach>
</insert>
<select id="selectIoOrderDetailBiz" parameterType="long"
resultType="com.glxp.api.entity.basic.BasicProductsEntity">
SELECT
b2.*
FROM
pur_order_detail p1
LEFT JOIN basic_udirel b1 on b1.id=p1.productId
LEFT JOIN basic_products b2 on b1.uuid = b2 .uuid
<where>
<if test="id != null and id!='' ">
AND p1.id = #{id}
</if>
</where>
GROUP BY uuid
</select>
</mapper> </mapper>

@ -37,7 +37,9 @@
<if test="status ==11"> <if test="status ==11">
and ( pur_plan.status = 1 or pur_plan.status=2 or pur_plan.status=4) and ( pur_plan.status = 1 or pur_plan.status=2 or pur_plan.status=4)
</if> </if>
<if test="status ==12">
and (pur_plan.status=3)
</if>
<if test="deptCode != '' and deptCode != null"> <if test="deptCode != '' and deptCode != null">
AND deptCode = #{deptCode} AND deptCode = #{deptCode}
</if> </if>

Loading…
Cancel
Save