Merge branch 'refs/heads/dev' into test
This commit is contained in:
@@ -29,5 +29,5 @@ public interface CompanyRelativityMapper extends BaseMapperX<CompanyRelativityDO
|
|||||||
|
|
||||||
List<CompanyRelaDeptDO> getPageByReq(CompanyRelativityPageReqVO pageReqVO);
|
List<CompanyRelaDeptDO> getPageByReq(CompanyRelativityPageReqVO pageReqVO);
|
||||||
|
|
||||||
void removeByIds(@Param("ids")List<Long> ids);
|
void removeByIds(@Param("ids") List<Long> ids);
|
||||||
}
|
}
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
<delete id="removeByIds">
|
<delete id="removeByIds">
|
||||||
delete from SPLY_CPN_REL where ID in
|
delete from SPLY_CPN_REL where ID in
|
||||||
<foreach item="ids" collection="list" separator="," open="(" close=")">
|
<foreach collection="ids" item="item" open="(" separator="," close=")">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|||||||
@@ -14,5 +14,5 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode PURCHASE_ORDER_NOT_EXISTS = new ErrorCode(1_008_000_001, "采购订单不存在");
|
ErrorCode PURCHASE_ORDER_NOT_EXISTS = new ErrorCode(1_008_000_001, "采购订单不存在");
|
||||||
ErrorCode ORDER_ID_NOT_EXISTS = new ErrorCode(1_008_000_010, "订单id不能为空");
|
ErrorCode ORDER_ID_NOT_EXISTS = new ErrorCode(1_008_000_010, "订单id不能为空");
|
||||||
ErrorCode PRCH_ORD_DTL_NOT_EXISTS = new ErrorCode(1_008_001_001, "采购订单明细不存在");
|
ErrorCode PRCH_ORD_DTL_NOT_EXISTS = new ErrorCode(1_008_001_001, "采购订单明细不存在");
|
||||||
ErrorCode PURCHASE_ORDER_STATUS_ERROR = new ErrorCode(1_008_001_020, "订单状态不存在");
|
ErrorCode PURCHASE_ORDER_STATUS_ERROR = new ErrorCode(1_008_001_020, "非法的订单状态");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,11 +98,11 @@ public class ContractController implements BusinessControllerMarker {
|
|||||||
return success(contractService.delete(ids));
|
return success(contractService.delete(ids));
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO
|
|
||||||
@PostMapping("/download")
|
@PostMapping("/download")
|
||||||
@Operation(summary = "下载文件 TODO")
|
@Operation(summary = "下载文件")
|
||||||
@PreAuthorize("@ss.hasPermission('base:contract:download')")
|
@PreAuthorize("@ss.hasPermission('base:contract:download')")
|
||||||
public void download() {
|
public void download(@RequestBody List<Long> ids) {
|
||||||
|
contractService.download(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public class ContractSaveReqVO {
|
|||||||
|
|
||||||
// 基础信息
|
// 基础信息
|
||||||
@Schema(description = "附件对象存储")
|
@Schema(description = "附件对象存储")
|
||||||
private String fileObject;
|
private JSONArray fileObject;
|
||||||
|
|
||||||
@Schema(description = "其它附件对象存储")
|
@Schema(description = "其它附件对象存储")
|
||||||
private JSONArray fileObjectOther;
|
private JSONArray fileObjectOther;
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.zt.plat.module.contractorder.api.dto.PurchaseOrderWithDetailsDTO;
|
|||||||
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.*;
|
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.*;
|
||||||
import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO;
|
import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO;
|
||||||
import com.zt.plat.module.contractorder.service.purchaseorder.PurchaseOrderService;
|
import com.zt.plat.module.contractorder.service.purchaseorder.PurchaseOrderService;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
@@ -127,7 +128,7 @@ public class PurchaseOrderController implements BusinessControllerMarker {
|
|||||||
@PostMapping("/submit-erp061")
|
@PostMapping("/submit-erp061")
|
||||||
@Operation(summary = "推送ERP订单", description = "061')")
|
@Operation(summary = "推送ERP订单", description = "061')")
|
||||||
@PreAuthorize("@ss.hasPermission('bse:purchase-order:update')")
|
@PreAuthorize("@ss.hasPermission('bse:purchase-order:update')")
|
||||||
public CommonResult<?> submitErp061(@RequestBody @Validated @NotNull(message = "采购订单id不能为空") List<Long> ids) {
|
public CommonResult<?> submitErp061(@RequestBody @Validated @NotEmpty(message = "采购订单id不能为空") List<Long> ids) {
|
||||||
return success( purchaseOrderService.submitErp061(ids));
|
return success( purchaseOrderService.submitErp061(ids));
|
||||||
}
|
}
|
||||||
@PostMapping("/submit-erp062")
|
@PostMapping("/submit-erp062")
|
||||||
@@ -145,9 +146,21 @@ public class PurchaseOrderController implements BusinessControllerMarker {
|
|||||||
}
|
}
|
||||||
//根据订单id修改订单状态
|
//根据订单id修改订单状态
|
||||||
@PutMapping("/update-order-status")
|
@PutMapping("/update-order-status")
|
||||||
@Operation(summary = "根据订单id修改订单状态", description = "sts取值于字典名称'采购订单状态',字典类型'PRCH_ORD_STS'`")
|
@Operation(summary = "批量修改订单状态", description = "sts取值于字典名称'采购订单状态',字典类型'PRCH_ORD_STS' 可以根据订单号和订单id修改")
|
||||||
public CommonResult<Boolean> updateOrderStatus(@RequestParam("orderId") Long orderId, @RequestParam("sts") String sts){
|
public CommonResult<Boolean> updateOrderStatus(@RequestBody @Validated PurchaseOrderStsReqVO req){
|
||||||
return success(purchaseOrderService.updateOrderStatus(orderId,sts));
|
purchaseOrderService.updateOrderStatusByIdOrOrderNo(req);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
//查询物料接口
|
||||||
|
@GetMapping("/material")
|
||||||
|
@Operation(summary = "查询物料接口")
|
||||||
|
public CommonResult<MaterialRespVO> getMaterialList(@RequestParam
|
||||||
|
@Schema(description = "采购订单号")
|
||||||
|
@Validated
|
||||||
|
@NotEmpty(message = "采购订单号不能为空")
|
||||||
|
String orderNo){
|
||||||
|
return purchaseOrderService.getMaterial(orderNo);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Schema(description = "管理后台 - 物料响应 VO")
|
||||||
|
public class MaterialRespVO {
|
||||||
|
@Schema(description = "订单号")
|
||||||
|
private String orderNo;
|
||||||
|
@Schema(description = "订单id")
|
||||||
|
private String id;
|
||||||
|
@Schema(description = "物料类型")
|
||||||
|
private String materialType;
|
||||||
|
@Schema(description = "物料单位")
|
||||||
|
private String materialUnit;
|
||||||
|
@Schema(description = "物料明细")
|
||||||
|
private List<MaterialDetails> materialDetails;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class MaterialDetails {
|
||||||
|
@Schema(description = "物料名称")
|
||||||
|
private String materialName;
|
||||||
|
@Schema(description = "物料编码")
|
||||||
|
private String materialCode;
|
||||||
|
@Schema(description = "物料类型")
|
||||||
|
private String materialType;
|
||||||
|
@Schema(description = "物料单位")
|
||||||
|
private String materialUnit;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -42,7 +42,7 @@ public class PrchOrdDtlPageReqVO extends PageParam {
|
|||||||
private String qty;
|
private String qty;
|
||||||
|
|
||||||
@Schema(description = "计量单位;推送ERP(必须)")
|
@Schema(description = "计量单位;推送ERP(必须)")
|
||||||
private BigDecimal unt;
|
private String unt;
|
||||||
|
|
||||||
@Schema(description = "含税单价;推送ERP(必须)")
|
@Schema(description = "含税单价;推送ERP(必须)")
|
||||||
private BigDecimal inTaxUprc;
|
private BigDecimal inTaxUprc;
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public class PrchOrdDtlRespVO {
|
|||||||
|
|
||||||
@Schema(description = "计量单位;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "计量单位;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@ExcelProperty("计量单位;推送ERP(必须)")
|
@ExcelProperty("计量单位;推送ERP(必须)")
|
||||||
private BigDecimal unt;
|
private String unt;
|
||||||
|
|
||||||
@Schema(description = "含税单价;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "含税单价;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@ExcelProperty("含税单价;推送ERP(必须)")
|
@ExcelProperty("含税单价;推送ERP(必须)")
|
||||||
|
|||||||
@@ -51,8 +51,8 @@ public class PrchOrdDtlSaveReqVO {
|
|||||||
private String qty;
|
private String qty;
|
||||||
|
|
||||||
@Schema(description = "计量单位;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "计量单位;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "计量单位;推送ERP(必须)不能为空")
|
@NotEmpty(message = "计量单位;推送ERP(必须)不能为空")
|
||||||
private BigDecimal unt;
|
private String unt;
|
||||||
|
|
||||||
@Schema(description = "含税单价;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "含税单价;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "含税单价;推送ERP(必须)不能为空")
|
@NotNull(message = "含税单价;推送ERP(必须)不能为空")
|
||||||
|
|||||||
@@ -54,6 +54,9 @@ public class PurchaseOrderPageReqVO extends PageParam {
|
|||||||
@Schema(description = "采购组编码(字典:PRCH_GRP_TP);推送ERP(必须)")
|
@Schema(description = "采购组编码(字典:PRCH_GRP_TP);推送ERP(必须)")
|
||||||
private String purchaseGroup;
|
private String purchaseGroup;
|
||||||
|
|
||||||
|
@Schema(description = "计量单位")
|
||||||
|
private String unt;
|
||||||
|
|
||||||
@Schema(description = "货币码(字典:CUR);推送ERP(必须)")
|
@Schema(description = "货币码(字典:CUR);推送ERP(必须)")
|
||||||
private String currencyNumber;
|
private String currencyNumber;
|
||||||
|
|
||||||
|
|||||||
@@ -65,6 +65,9 @@ public class PurchaseOrderRespVO {
|
|||||||
@ExcelProperty("收货库位编码;推送ERP")
|
@ExcelProperty("收货库位编码;推送ERP")
|
||||||
private String receiveWarehouseNumber;
|
private String receiveWarehouseNumber;
|
||||||
|
|
||||||
|
@Schema(description = "计量单位")
|
||||||
|
private String unt;
|
||||||
|
|
||||||
@Schema(description = "采购组编码(字典:PRCH_GRP_TP);推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "采购组编码(字典:PRCH_GRP_TP);推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@ExcelProperty("采购组编码(字典:PRCH_GRP_TP);推送ERP(必须)")
|
@ExcelProperty("采购组编码(字典:PRCH_GRP_TP);推送ERP(必须)")
|
||||||
private String purchaseGroup;
|
private String purchaseGroup;
|
||||||
|
|||||||
@@ -99,6 +99,11 @@ public class PurchaseOrderSaveReqVO {
|
|||||||
// @NotEmpty(message = "订单编码不能为空")
|
// @NotEmpty(message = "订单编码不能为空")
|
||||||
// private String orderNumber;
|
// private String orderNumber;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "计量单位")
|
||||||
|
@NotEmpty(message = "计量单位(unt)不能为空")
|
||||||
|
private String unt;
|
||||||
|
|
||||||
@Schema(description = "系统合同编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "系统合同编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotEmpty(message = "系统合同编号不能为空")
|
@NotEmpty(message = "系统合同编号不能为空")
|
||||||
private String contractNumber;
|
private String contractNumber;
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "管理后台 - 采购订单状态 Request VO")
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class PurchaseOrderStsReqVO {
|
||||||
|
@Schema(description = "采购订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "26419")
|
||||||
|
private List<Long> ids;
|
||||||
|
@Schema(description = "采购订单状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||||
|
@NotEmpty(message = "采购订单状态不能为空")
|
||||||
|
private String sts;
|
||||||
|
@Schema(description = "采购订单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||||
|
private List<String> orderNos;
|
||||||
|
}
|
||||||
@@ -89,7 +89,7 @@ public class PrchOrdDtlDO extends BusinessBaseDO {
|
|||||||
* 计量单位;推送ERP(必须)
|
* 计量单位;推送ERP(必须)
|
||||||
*/
|
*/
|
||||||
@TableField("UNT")
|
@TableField("UNT")
|
||||||
private BigDecimal unt;
|
private String unt;
|
||||||
/**
|
/**
|
||||||
* 含税单价;推送ERP(必须)
|
* 含税单价;推送ERP(必须)
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -238,6 +238,11 @@ public class PurchaseOrderDO extends BusinessBaseDO {
|
|||||||
@TableField("IS_PUSH")
|
@TableField("IS_PUSH")
|
||||||
private int isPush;
|
private int isPush;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计量单位
|
||||||
|
*/
|
||||||
|
@TableField("UNT")
|
||||||
|
private String unt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 物料字典
|
* 物料字典
|
||||||
|
|||||||
@@ -159,4 +159,11 @@ public interface ContractService {
|
|||||||
* @return 关联结果
|
* @return 关联结果
|
||||||
*/
|
*/
|
||||||
Boolean relation(RelationReqVo reqVo);
|
Boolean relation(RelationReqVo reqVo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下载文件
|
||||||
|
*
|
||||||
|
* @param ids 合同ID集合
|
||||||
|
*/
|
||||||
|
void download(List<Long> ids);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
package com.zt.plat.module.contractorder.service.contract;
|
package com.zt.plat.module.contractorder.service.contract;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONArray;
|
||||||
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||||
import com.zt.plat.framework.common.pojo.PageResult;
|
import com.zt.plat.framework.common.pojo.PageResult;
|
||||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||||
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
@@ -29,6 +31,8 @@ import com.zt.plat.module.erp.controller.admin.erp.vo.ErpContractSaveReqVO;
|
|||||||
import com.zt.plat.module.erp.dal.dataobject.erp.ErpContractDO;
|
import com.zt.plat.module.erp.dal.dataobject.erp.ErpContractDO;
|
||||||
import com.zt.plat.module.erp.service.erp.ErpCompanyService;
|
import com.zt.plat.module.erp.service.erp.ErpCompanyService;
|
||||||
import com.zt.plat.module.erp.service.erp.ErpContractService;
|
import com.zt.plat.module.erp.service.erp.ErpContractService;
|
||||||
|
import com.zt.plat.module.infra.api.file.FileApi;
|
||||||
|
import com.zt.plat.module.infra.api.file.dto.FileRespDTO;
|
||||||
import com.zt.plat.module.system.api.user.AdminUserApi;
|
import com.zt.plat.module.system.api.user.AdminUserApi;
|
||||||
import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO;
|
import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
@@ -96,6 +100,8 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
private ErpContractService erpContractService;
|
private ErpContractService erpContractService;
|
||||||
@Resource
|
@Resource
|
||||||
private SystemRelativityMapper systemRelativityMapper;
|
private SystemRelativityMapper systemRelativityMapper;
|
||||||
|
@Resource
|
||||||
|
private FileApi fileApi;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<ContractMainDO> getContractPage(ContractPageReqVO pageReqVO) {
|
public PageResult<ContractMainDO> getContractPage(ContractPageReqVO pageReqVO) {
|
||||||
@@ -1352,6 +1358,24 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
return insert > 0;
|
return insert > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void download(List<Long> ids) {
|
||||||
|
try {
|
||||||
|
// 遍历合同ID集合
|
||||||
|
ids.forEach(id -> {
|
||||||
|
|
||||||
|
// 查询合同信息
|
||||||
|
ContractMainDO contractMainDO = contractMainMapper.selectById(id);
|
||||||
|
JSONArray fileObjectOther = new JSONArray(contractMainDO.getFileObjectOther());
|
||||||
|
System.out.println(fileObjectOther);
|
||||||
|
CommonResult<FileRespDTO> fileRespDTOResult = fileApi
|
||||||
|
.getFile(fileObjectOther.getJSONObject(0).getLong("id"));
|
||||||
|
});
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 校验合同内容
|
* 校验合同内容
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -75,4 +75,6 @@ public interface PrchOrdDtlService {
|
|||||||
* @param ordIds 编号
|
* @param ordIds 编号
|
||||||
*/
|
*/
|
||||||
void deletePrchOrdDtlListByOrdIds(List<Long> ordIds);
|
void deletePrchOrdDtlListByOrdIds(List<Long> ordIds);
|
||||||
|
|
||||||
|
List<PrchOrdDtlDO> getDetailsByOrderId(Long ordId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,4 +113,10 @@ public class PrchOrdDtlServiceImpl implements PrchOrdDtlService {
|
|||||||
deletePrchOrdDtlListByIds(convertList(prchOrdDtlDOS, PrchOrdDtlDO::getId));
|
deletePrchOrdDtlListByIds(convertList(prchOrdDtlDOS, PrchOrdDtlDO::getId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PrchOrdDtlDO> getDetailsByOrderId(Long ordId) {
|
||||||
|
|
||||||
|
return prchOrdDtlMapper.selectList(new LambdaQueryWrapper<>(PrchOrdDtlDO.class).eq(PrchOrdDtlDO::getOrdId, ordId));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.zt.plat.module.contractorder.service.purchaseorder;
|
|||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||||
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.*;
|
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.*;
|
||||||
import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO;
|
import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO;
|
||||||
import jakarta.validation.*;
|
import jakarta.validation.*;
|
||||||
@@ -83,4 +84,7 @@ public interface PurchaseOrderService {
|
|||||||
List<PurchaseOrderDetailsRespVO> getOrderByOrderNo(List<String> orderNo);
|
List<PurchaseOrderDetailsRespVO> getOrderByOrderNo(List<String> orderNo);
|
||||||
|
|
||||||
void setOrderDetails(PurchaseOrderRespVO purchaseOrderRespVO);
|
void setOrderDetails(PurchaseOrderRespVO purchaseOrderRespVO);
|
||||||
|
void updateOrderStatusByIdOrOrderNo(PurchaseOrderStsReqVO reqVO);
|
||||||
|
|
||||||
|
CommonResult<MaterialRespVO> getMaterial(String orderNo);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollUtil;
|
|||||||
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||||
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
|
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
import com.zt.plat.module.bpm.api.task.BpmProcessInstanceApi;
|
import com.zt.plat.module.bpm.api.task.BpmProcessInstanceApi;
|
||||||
import com.zt.plat.module.bpm.api.task.BpmTaskApi;
|
import com.zt.plat.module.bpm.api.task.BpmTaskApi;
|
||||||
@@ -125,6 +127,12 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|||||||
prchOrdDtlService.deletePrchOrdDtlListByOrdIds(ids);
|
prchOrdDtlService.deletePrchOrdDtlListByOrdIds(ids);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
private void validatePurchaseOrderNosExists(List<String> orderNos){
|
||||||
|
List<PurchaseOrderDO> list = purchaseOrderMapper.selectList(new LambdaQueryWrapper<PurchaseOrderDO>().in(PurchaseOrderDO::getSystemOrderNumber, orderNos));
|
||||||
|
if (CollUtil.isEmpty(list) || list.size() != orderNos.size()) {
|
||||||
|
throw exception(PURCHASE_ORDER_NOT_EXISTS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void validatePurchaseOrderExists(List<Long> ids) {
|
private void validatePurchaseOrderExists(List<Long> ids) {
|
||||||
List<PurchaseOrderDO> list = purchaseOrderMapper.selectByIds(ids);
|
List<PurchaseOrderDO> list = purchaseOrderMapper.selectByIds(ids);
|
||||||
@@ -317,6 +325,62 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|||||||
purchaseOrderRespVO.setPrchOrdDtlRespVOS(BeanUtils.toBean(prchOrdDtlDOS, PrchOrdDtlRespVO.class));
|
purchaseOrderRespVO.setPrchOrdDtlRespVOS(BeanUtils.toBean(prchOrdDtlDOS, PrchOrdDtlRespVO.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateOrderStatusByIdOrOrderNo(PurchaseOrderStsReqVO reqVO) {
|
||||||
|
// 校验存在
|
||||||
|
if (reqVO.getIds()!=null){
|
||||||
|
validatePurchaseOrderExists(reqVO.getIds());
|
||||||
|
}
|
||||||
|
if (reqVO.getOrderNos()!=null){
|
||||||
|
validatePurchaseOrderNosExists(reqVO.getOrderNos());
|
||||||
|
}
|
||||||
|
PurchaseOrderStatusEnum byCode = PurchaseOrderStatusEnum.getByCode(reqVO.getSts());
|
||||||
|
if (byCode == null) {
|
||||||
|
throw exception(PURCHASE_ORDER_STATUS_ERROR);
|
||||||
|
}
|
||||||
|
purchaseOrderMapper.update(new LambdaUpdateWrapper<PurchaseOrderDO>().in(reqVO.getOrderNos()!=null,PurchaseOrderDO::getSystemOrderNumber, reqVO.getOrderNos()).in(reqVO.getIds()!=null,PurchaseOrderDO::getId, reqVO.getIds()).set(PurchaseOrderDO::getStatus, reqVO.getSts()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CommonResult<MaterialRespVO> getMaterial(String orderNo) {
|
||||||
|
PurchaseOrderDO purchaseOrderDO = purchaseOrderMapper.selectOne(new LambdaQueryWrapper<PurchaseOrderDO>().eq(PurchaseOrderDO::getSystemOrderNumber, orderNo));
|
||||||
|
if (purchaseOrderDO == null){
|
||||||
|
throw exception(PURCHASE_ORDER_NOT_EXISTS);
|
||||||
|
}
|
||||||
|
String mtrlTp = purchaseOrderDO.getMtrlTp();
|
||||||
|
if ("RAW".equals(mtrlTp)){
|
||||||
|
//原料
|
||||||
|
MaterialRespVO materialRespVO = new MaterialRespVO();
|
||||||
|
materialRespVO.setMaterialType(mtrlTp);
|
||||||
|
materialRespVO.setMaterialUnit(purchaseOrderDO.getUnt());
|
||||||
|
materialRespVO.setOrderNo(purchaseOrderDO.getSystemOrderNumber());
|
||||||
|
MaterialRespVO.MaterialDetails materialDetails = new MaterialRespVO.MaterialDetails();
|
||||||
|
materialDetails.setMaterialCode(purchaseOrderDO.getMaterialNumber());
|
||||||
|
materialDetails.setMaterialName(purchaseOrderDO.getMaterialName());
|
||||||
|
materialDetails.setMaterialUnit(purchaseOrderDO.getUnt());
|
||||||
|
materialDetails.setMaterialType(purchaseOrderDO.getMtrlTp());
|
||||||
|
materialRespVO.setMaterialDetails(List.of(materialDetails));
|
||||||
|
return CommonResult.success(materialRespVO);
|
||||||
|
}else {
|
||||||
|
List<PrchOrdDtlDO> detailsByOrderIds = prchOrdDtlService.getDetailsByOrderId(purchaseOrderDO.getId());
|
||||||
|
MaterialRespVO materialRespVO = new MaterialRespVO();
|
||||||
|
materialRespVO.setMaterialType(mtrlTp);
|
||||||
|
materialRespVO.setMaterialUnit(purchaseOrderDO.getUnt());
|
||||||
|
materialRespVO.setId(String.valueOf(purchaseOrderDO.getId()));
|
||||||
|
materialRespVO.setOrderNo(purchaseOrderDO.getSystemOrderNumber());
|
||||||
|
materialRespVO.setMaterialDetails(detailsByOrderIds.stream().map(prchOrdDtlDO -> {
|
||||||
|
MaterialRespVO.MaterialDetails materialDetails = new MaterialRespVO.MaterialDetails();
|
||||||
|
materialDetails.setMaterialCode(prchOrdDtlDO.getMtrlNum());
|
||||||
|
materialDetails.setMaterialName(prchOrdDtlDO.getMtrlName());
|
||||||
|
materialDetails.setMaterialUnit(prchOrdDtlDO.getUnt());
|
||||||
|
materialDetails.setMaterialType(purchaseOrderDO.getMtrlTp());
|
||||||
|
return materialDetails;
|
||||||
|
}).toList());
|
||||||
|
return CommonResult.success(materialRespVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private void setValue(ErpOrderUpdateReqVO erpOrderUpdateReqVO, PurchaseOrderWithDetailsVO purchaseOrderWithDetailsVO) {
|
private void setValue(ErpOrderUpdateReqVO erpOrderUpdateReqVO, PurchaseOrderWithDetailsVO purchaseOrderWithDetailsVO) {
|
||||||
//head
|
//head
|
||||||
PurchaseOrderDO purchaseOrderDO = purchaseOrderMapper.selectById(purchaseOrderWithDetailsVO.getPurchaseOrder().getId());
|
PurchaseOrderDO purchaseOrderDO = purchaseOrderMapper.selectById(purchaseOrderWithDetailsVO.getPurchaseOrder().getId());
|
||||||
@@ -328,13 +392,9 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|||||||
//itex
|
//itex
|
||||||
setItex(erpOrderUpdateReqVO, purchaseOrderWithDetailsVO);
|
setItex(erpOrderUpdateReqVO, purchaseOrderWithDetailsVO);
|
||||||
//acct
|
//acct
|
||||||
// 使用FastJSON2直接将List转换为JSONArray
|
|
||||||
// acct部分:转换List为JSONArray
|
|
||||||
List<JSONObject> actsCtgrDtlList = purchaseOrderWithDetailsVO.getOrderDetails().stream()
|
List<JSONObject> actsCtgrDtlList = purchaseOrderWithDetailsVO.getOrderDetails().stream()
|
||||||
.map(PrchOrdDtlDO::getActsCtgrDtl).map(JSONObject::parseObject)
|
.map(PrchOrdDtlDO::getActsCtgrDtl).map(JSONObject::parseObject)
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
// 直接使用FastJSON2将List转换为JSONArray(关键优化点)
|
|
||||||
JSONArray jsonArray = JSONArray.from(actsCtgrDtlList);
|
JSONArray jsonArray = JSONArray.from(actsCtgrDtlList);
|
||||||
|
|
||||||
// 设置到对象中
|
// 设置到对象中
|
||||||
@@ -374,7 +434,6 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|||||||
});
|
});
|
||||||
erpOrderUpdateReqVO.setItexs(itexs);
|
erpOrderUpdateReqVO.setItexs(itexs);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String generateOrderNumber(String materialType) {
|
private String generateOrderNumber(String materialType) {
|
||||||
return sequenceApi.getNextSequence("PURCHASE_ORDER_NUMBER", null, null).getData();
|
return sequenceApi.getNextSequence("PURCHASE_ORDER_NUMBER", null, null).getData();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
po.UPDATE_TIME,
|
po.UPDATE_TIME,
|
||||||
po.CREATOR,
|
po.CREATOR,
|
||||||
po.UPDATER,
|
po.UPDATER,
|
||||||
|
po.UNT,
|
||||||
po.DELETED,
|
po.DELETED,
|
||||||
pod.ID as pod_id,
|
pod.ID as pod_id,
|
||||||
pod.ORD_ID,
|
pod.ORD_ID,
|
||||||
@@ -137,6 +138,7 @@
|
|||||||
po.PPR_CTRT_NUM,
|
po.PPR_CTRT_NUM,
|
||||||
po.AGR_NUM,
|
po.AGR_NUM,
|
||||||
po.RMK,
|
po.RMK,
|
||||||
|
po.UNT,
|
||||||
po.AGT_NUM,
|
po.AGT_NUM,
|
||||||
po.AGT_NAME,
|
po.AGT_NAME,
|
||||||
po.CTRT_NUM,
|
po.CTRT_NUM,
|
||||||
@@ -221,7 +223,7 @@
|
|||||||
|
|
||||||
<select id="selectByOrderId"
|
<select id="selectByOrderId"
|
||||||
resultType="com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO">
|
resultType="com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO">
|
||||||
select * from bse_prch_ord;
|
select * from bse_prch_ord where sys_ord_num =#{orderId};
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ public class ErpOrderSaveReqVO {
|
|||||||
|
|
||||||
@Schema(description = "计量单位")
|
@Schema(description = "计量单位")
|
||||||
@NotNull(message = "计量单位不能为空")
|
@NotNull(message = "计量单位不能为空")
|
||||||
private BigDecimal poUnit; // MEINS UNIT3
|
private String poUnit; // MEINS UNIT3
|
||||||
|
|
||||||
@Schema(description = "含税单价")
|
@Schema(description = "含税单价")
|
||||||
@NotNull(message = "含税单价不能为空")
|
@NotNull(message = "含税单价不能为空")
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ public class ErpOrderUpdateReqVO {
|
|||||||
@Schema(description = "计量单位(MEINS),必须与该物料基本计量单位一致", requiredMode = Schema.RequiredMode.REQUIRED, example = "PC")
|
@Schema(description = "计量单位(MEINS),必须与该物料基本计量单位一致", requiredMode = Schema.RequiredMode.REQUIRED, example = "PC")
|
||||||
@NotEmpty(message = "计量单位不能为空")
|
@NotEmpty(message = "计量单位不能为空")
|
||||||
@ExcelProperty("计量单位")
|
@ExcelProperty("计量单位")
|
||||||
private BigDecimal po_unit;
|
private String po_unit;
|
||||||
|
|
||||||
@Schema(description = "含税单价(NETPR),保留2位小数", requiredMode = Schema.RequiredMode.REQUIRED, example = "199.99")
|
@Schema(description = "含税单价(NETPR),保留2位小数", requiredMode = Schema.RequiredMode.REQUIRED, example = "199.99")
|
||||||
@NotNull(message = "含税单价不能为空")
|
@NotNull(message = "含税单价不能为空")
|
||||||
|
|||||||
Reference in New Issue
Block a user