Merge branch 'dev' of http://git.znkjfw.com/ak/zn-cloud into frx
This commit is contained in:
commit
d51ca296ba
@ -15,7 +15,6 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.naming.spi.ObjectFactory;
|
||||
import javax.validation.Valid;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
@ -11,7 +11,6 @@ import cn.iocoder.yudao.module.bpm.service.oa.BpmOASupplierProcurementPlanServic
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@ -34,23 +33,27 @@ public class BpmOASupplierProcurementPlanController {
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建供应商采购计划")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier-procurement-plan:create')")
|
||||
public CommonResult<Long> createOaSupplierProcurementPlan(@Valid @RequestBody BpmOASupplierProcurementPlanSaveReqVO createReqVO) {
|
||||
return success(oaSupplierProcurementPlanService.createOaSupplierProcurementPlan(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新供应商采购计划")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier-procurement-plan:update')")
|
||||
public CommonResult<Boolean> updateOaSupplierProcurementPlan(@Valid @RequestBody BpmOASupplierProcurementPlanSaveReqVO updateReqVO) {
|
||||
oaSupplierProcurementPlanService.updateOaSupplierProcurementPlan(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@PutMapping("/uploadDeliveryReceipt")
|
||||
@Operation(summary = "上传到货凭证")
|
||||
public CommonResult<Boolean> uploadDeliveryReceipt(@Valid @RequestBody TheArrivalFileItemsVO vo) {
|
||||
oaSupplierProcurementPlanService.uploadDeliveryReceipt(vo);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除供应商采购计划")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier-procurement-plan:delete')")
|
||||
public CommonResult<Boolean> deleteOaSupplierProcurementPlan(@RequestParam("id") Long id) {
|
||||
oaSupplierProcurementPlanService.deleteOaSupplierProcurementPlan(id);
|
||||
return success(true);
|
||||
@ -59,7 +62,6 @@ public class BpmOASupplierProcurementPlanController {
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得供应商采购计划")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier-procurement-plan:query')")
|
||||
public CommonResult<BpmOASupplierProcurementPlanRespVO> getOaSupplierProcurementPlan(@RequestParam("id") Long id) {
|
||||
BpmOASupplierProcurementPlanDO oaSupplierProcurementPlan = oaSupplierProcurementPlanService.getOaSupplierProcurementPlan(id);
|
||||
BpmOASupplierProcurementPlanRespVO vo = BeanUtils.toBean(oaSupplierProcurementPlan, BpmOASupplierProcurementPlanRespVO.class);
|
||||
@ -71,7 +73,6 @@ public class BpmOASupplierProcurementPlanController {
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得供应商采购计划分页")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier-procurement-plan:query')")
|
||||
public CommonResult<PageResult<BpmOASupplierProcurementPlanRespVO>> getOaSupplierProcurementPlanPage(@Valid BpmOASupplierProcurementPlanPageReqVO pageReqVO) {
|
||||
PageResult<BpmOASupplierProcurementPlanDO> pageResult = oaSupplierProcurementPlanService.getOaSupplierProcurementPlanPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, BpmOASupplierProcurementPlanRespVO.class));
|
||||
@ -80,7 +81,6 @@ public class BpmOASupplierProcurementPlanController {
|
||||
|
||||
@GetMapping("/getListBySupplierId")
|
||||
@Operation(summary = "根据供应商id获取采购计划列表")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier-procurement-plan:query')")
|
||||
public CommonResult<List<BpmOASupplierProcurementPlanDO>> getListBySupplierId(@ModelAttribute BpmOASupplierProcurementPlanReqVO vo) {
|
||||
List<BpmOASupplierProcurementPlanDO> vos = oaSupplierProcurementPlanService.getListBySupplierId(vo);
|
||||
return success(vos);
|
||||
|
@ -31,14 +31,12 @@ public class BpmOASupplierPurchasePaymentController {
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建供应商采购付款")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:OA-supplier-purchase-payment:create')")
|
||||
public CommonResult<Long> createOASupplierPurchasePayment(@Valid @RequestBody BpmOASupplierPurchasePaymentSaveReqVO createReqVO) {
|
||||
return success(oASupplierPurchasePaymentServiceBpm.createOASupplierPurchasePayment(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新供应商采购付款")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:OA-supplier-purchase-payment:update')")
|
||||
public CommonResult<Boolean> updateOASupplierPurchasePayment(@Valid @RequestBody BpmOASupplierPurchasePaymentSaveReqVO updateReqVO) {
|
||||
oASupplierPurchasePaymentServiceBpm.updateOASupplierPurchasePayment(updateReqVO);
|
||||
return success(true);
|
||||
@ -47,7 +45,6 @@ public class BpmOASupplierPurchasePaymentController {
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除供应商采购付款")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('bpm:OA-supplier-purchase-payment:delete')")
|
||||
public CommonResult<Boolean> deleteOASupplierPurchasePayment(@RequestParam("id") Long id) {
|
||||
oASupplierPurchasePaymentServiceBpm.deleteOASupplierPurchasePayment(id);
|
||||
return success(true);
|
||||
@ -56,7 +53,6 @@ public class BpmOASupplierPurchasePaymentController {
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得供应商采购付款")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:OA-supplier-purchase-payment:query')")
|
||||
public CommonResult<BpmOASupplierPurchasePaymentRespVO> getOASupplierPurchasePayment(@RequestParam("id") Long id) {
|
||||
BpmOASupplierPurchasePaymentDO oASupplierPurchasePayment = oASupplierPurchasePaymentServiceBpm.getOASupplierPurchasePayment(id);
|
||||
return success(BeanUtils.toBean(oASupplierPurchasePayment, BpmOASupplierPurchasePaymentRespVO.class));
|
||||
@ -64,7 +60,6 @@ public class BpmOASupplierPurchasePaymentController {
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得供应商采购付款分页")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:OA-supplier-purchase-payment:query')")
|
||||
public CommonResult<PageResult<BpmOASupplierPurchasePaymentRespVO>> getOASupplierPurchasePaymentPage(@Valid BpmOASupplierPurchasePaymentPageReqVO pageReqVO) {
|
||||
PageResult<BpmOASupplierPurchasePaymentDO> pageResult = oASupplierPurchasePaymentServiceBpm.getOASupplierPurchasePaymentPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, BpmOASupplierPurchasePaymentRespVO.class));
|
||||
|
@ -39,14 +39,12 @@ public class BpmOaSupplierController {
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建OA供应商审核")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier:create')")
|
||||
public CommonResult<Long> createOaSupplier(@Valid @RequestBody BpmOASupplierSaveReqVO createReqVO) {
|
||||
return success(oaSupplierService.createOaSupplier(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新OA供应商审核")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier:update')")
|
||||
public CommonResult<Boolean> updateOaSupplier(@Valid @RequestBody BpmOASupplierSaveReqVO updateReqVO) {
|
||||
oaSupplierService.updateOaSupplier(updateReqVO);
|
||||
return success(true);
|
||||
@ -55,7 +53,6 @@ public class BpmOaSupplierController {
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除OA供应商审核")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier:delete')")
|
||||
public CommonResult<Boolean> deleteOaSupplier(@RequestParam("id") Long id) {
|
||||
oaSupplierService.deleteOaSupplier(id);
|
||||
return success(true);
|
||||
@ -64,7 +61,6 @@ public class BpmOaSupplierController {
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得OA供应商审核")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier:query')")
|
||||
public CommonResult<BpmOASupplierRespVO> getOaSupplier(@RequestParam("id") Long id) {
|
||||
BpmOASupplierDO oaSupplier = oaSupplierService.getOaSupplier(id);
|
||||
BpmOASupplierRespVO vo = BeanUtils.toBean(oaSupplier, BpmOASupplierRespVO.class);
|
||||
@ -76,7 +72,6 @@ public class BpmOaSupplierController {
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得OA供应商审核分页")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier:query')")
|
||||
public CommonResult<PageResult<BpmOASupplierRespVO>> getOaSupplierPage(@Valid BpmOASupplierPageReqVO pageReqVO) {
|
||||
PageResult<BpmOASupplierDO> pageResult = oaSupplierService.getOaSupplierPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, BpmOASupplierRespVO.class));
|
||||
|
@ -31,14 +31,12 @@ public class BpmOaSupplierProductController {
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建OA供应商商品")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier-product:create')")
|
||||
public CommonResult<Long> createOaSupplierProduct(@Valid @RequestBody BpmOASupplierProductSaveReqVO createReqVO) {
|
||||
return success(oaSupplierProductService.createOaSupplierProduct(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新OA供应商商品")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier-product:update')")
|
||||
public CommonResult<Boolean> updateOaSupplierProduct(@Valid @RequestBody BpmOASupplierProductSaveReqVO updateReqVO) {
|
||||
oaSupplierProductService.updateOaSupplierProduct(updateReqVO);
|
||||
return success(true);
|
||||
@ -47,7 +45,6 @@ public class BpmOaSupplierProductController {
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除OA供应商商品")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier-product:delete')")
|
||||
public CommonResult<Boolean> deleteOaSupplierProduct(@RequestParam("id") Long id) {
|
||||
oaSupplierProductService.deleteOaSupplierProduct(id);
|
||||
return success(true);
|
||||
@ -56,7 +53,6 @@ public class BpmOaSupplierProductController {
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得OA供应商商品")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier-product:query')")
|
||||
public CommonResult<BpmOASupplierProductRespVO> getOaSupplierProduct(@RequestParam("id") Long id) {
|
||||
BpmOASupplierProductDO oaSupplierProduct = oaSupplierProductService.getOaSupplierProduct(id);
|
||||
return success(BeanUtils.toBean(oaSupplierProduct, BpmOASupplierProductRespVO.class));
|
||||
@ -64,7 +60,6 @@ public class BpmOaSupplierProductController {
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得OA供应商商品分页")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier-product:query')")
|
||||
public CommonResult<PageResult<BpmOASupplierProductRespVO>> getOaSupplierProductPage(@Valid BpmOASupplierProductPageReqVO pageReqVO) {
|
||||
PageResult<BpmOASupplierProductDO> pageResult = oaSupplierProductService.getOaSupplierProductPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, BpmOASupplierProductRespVO.class));
|
||||
|
@ -6,15 +6,10 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
|
||||
|
||||
/**
|
||||
* @author 符溶馨
|
||||
*/
|
||||
|
@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@ -46,4 +47,7 @@ public class BpmOASupplierProductRespVO {
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "资产类型名称")
|
||||
private String assetsTypeName;
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@ -49,4 +50,11 @@ public class BpmOASupplierProcurementPlanItemRespVO {
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
|
||||
@Schema(description = "工厂名称")
|
||||
private String factoryName;
|
||||
@Schema(description = "资产类型名称")
|
||||
private String typeName;
|
||||
|
||||
}
|
||||
|
@ -45,6 +45,9 @@ public class BpmOASupplierProcurementPlanPageReqVO extends PageParam {
|
||||
@Schema(description = "流程实例的编号", example = "5984")
|
||||
private String processInstanceId;
|
||||
|
||||
@Schema(description = "是否上传凭证 0否 1是")
|
||||
private Integer certificateFlag;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
@ -15,7 +15,7 @@ public class BpmOASupplierProcurementPlanSaveReqVO {
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31616")
|
||||
@NotNull(message = "申请人的用户编号不能为空")
|
||||
// @NotNull(message = "申请人的用户编号不能为空")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "供应商id", example = "123")
|
||||
|
@ -0,0 +1,16 @@
|
||||
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class TheArrivalFileItemsVO {
|
||||
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "29981")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "到货凭证", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private List<UploadUserFile> theArrivalFileItems;
|
||||
}
|
@ -1,20 +1,22 @@
|
||||
package cn.iocoder.yudao.module.bpm.dal.dataobject.oa;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
/**
|
||||
* 供应商采购计划子 DO
|
||||
*
|
||||
* @author 艾楷
|
||||
*/
|
||||
@TableName("bpm_oa_supplier_procurement_plan_item")
|
||||
@KeySequence("bpm_oa_supplier_procurement_plan_item_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@KeySequence("bpm_oa_supplier_procurement_plan_item_seq")
|
||||
// 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@ -41,7 +43,7 @@ public class BpmOASupplierProcurementPlanItemDO extends BaseDO {
|
||||
*/
|
||||
private Long factoryId;
|
||||
/**
|
||||
* 供应商商品id
|
||||
* 供应商商品id (-1 = 其他)
|
||||
*/
|
||||
private Long supplierProductId;
|
||||
/**
|
||||
@ -72,5 +74,14 @@ public class BpmOASupplierProcurementPlanItemDO extends BaseDO {
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 工厂名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String factoryName;
|
||||
/**
|
||||
* 资产类型名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String typeName;
|
||||
}
|
||||
|
@ -1,12 +1,14 @@
|
||||
package cn.iocoder.yudao.module.bpm.dal.dataobject.oa;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
/**
|
||||
* OA供应商商品 DO
|
||||
*
|
||||
@ -68,4 +70,11 @@ public class BpmOASupplierProductDO extends BaseDO {
|
||||
*/
|
||||
private String remarks;
|
||||
|
||||
|
||||
/**
|
||||
* 资产类型名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String assetsTypeName;
|
||||
|
||||
}
|
||||
|
@ -6,6 +6,9 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanItemPageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanItemDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 供应商采购计划子 Mapper
|
||||
@ -30,4 +33,11 @@ public interface BpmOASupplierProcurementPlanItemMapper extends BaseMapperX<BpmO
|
||||
.orderByDesc(BpmOASupplierProcurementPlanItemDO::getId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过采购计划id获取采购计划子表
|
||||
*
|
||||
* @param procurementPlanId
|
||||
* @return
|
||||
*/
|
||||
List<BpmOASupplierProcurementPlanItemDO> getByProcurementPlanId(@Param("procurementPlanId") Long procurementPlanId);
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanPageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 供应商采购计划 Mapper
|
||||
@ -16,7 +17,7 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
public interface BpmOASupplierProcurementPlanMapper extends BaseMapperX<BpmOASupplierProcurementPlanDO> {
|
||||
|
||||
default PageResult<BpmOASupplierProcurementPlanDO> selectPage(BpmOASupplierProcurementPlanPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<BpmOASupplierProcurementPlanDO>()
|
||||
LambdaQueryWrapperX<BpmOASupplierProcurementPlanDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<BpmOASupplierProcurementPlanDO>()
|
||||
.eqIfPresent(BpmOASupplierProcurementPlanDO::getUserId, reqVO.getUserId())
|
||||
.likeIfPresent(BpmOASupplierProcurementPlanDO::getSupplierName, reqVO.getSupplierName())
|
||||
.eqIfPresent(BpmOASupplierProcurementPlanDO::getSettlementMethod, reqVO.getSettlementMethod())
|
||||
@ -27,7 +28,12 @@ public interface BpmOASupplierProcurementPlanMapper extends BaseMapperX<BpmOASup
|
||||
.eqIfPresent(BpmOASupplierProcurementPlanDO::getResult, reqVO.getResult())
|
||||
.eqIfPresent(BpmOASupplierProcurementPlanDO::getProcessInstanceId, reqVO.getProcessInstanceId())
|
||||
.betweenIfPresent(BpmOASupplierProcurementPlanDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(BpmOASupplierProcurementPlanDO::getId));
|
||||
.orderByDesc(BpmOASupplierProcurementPlanDO::getId);
|
||||
if (reqVO.getCertificateFlag() != null) {
|
||||
lambdaQueryWrapperX.isNull(reqVO.getCertificateFlag() == 0, BpmOASupplierProcurementPlanDO::getTheArrivalFileItems);
|
||||
lambdaQueryWrapperX.isNotNull(reqVO.getCertificateFlag() == 1, BpmOASupplierProcurementPlanDO::getTheArrivalFileItems);
|
||||
}
|
||||
return selectPage(reqVO, lambdaQueryWrapperX);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -6,6 +6,9 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier.BpmOASupplierProductPageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProductDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* OA供应商商品 Mapper
|
||||
@ -30,4 +33,11 @@ public interface BpmOASupplierProductMapper extends BaseMapperX<BpmOASupplierPro
|
||||
.orderByDesc(BpmOASupplierProductDO::getId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过供应商id获取商品列表
|
||||
*
|
||||
* @param oaSupplierId
|
||||
* @return
|
||||
*/
|
||||
List<BpmOASupplierProductDO> getByOaSupplierId(@Param("oaSupplierId") Long oaSupplierId);
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.framework.rpc.config;
|
||||
|
||||
import cn.iocoder.yudao.module.infra.api.config.ConfigApi;
|
||||
import cn.iocoder.yudao.module.infra.api.file.FileApi;
|
||||
import cn.iocoder.yudao.module.system.api.assets.AssetsApi;
|
||||
import cn.iocoder.yudao.module.system.api.attendance.AttendanceApi;
|
||||
import cn.iocoder.yudao.module.system.api.bank.BankApi;
|
||||
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
||||
@ -21,7 +22,7 @@ import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@EnableFeignClients(clients = {FileApi.class, RoleApi.class, DeptApi.class, PostApi.class, AdminUserApi.class, SmsSendApi.class, DictDataApi.class, NotifyMessageSendApi.class,
|
||||
SubscribeMessageSendApi.class, SocialClientApi.class, UsersExtApi.class, AttendanceApi.class, BankApi.class, ConfigApi.class, PositionApi.class, SupplierApi.class
|
||||
SubscribeMessageSendApi.class, SocialClientApi.class, UsersExtApi.class, AttendanceApi.class, BankApi.class, ConfigApi.class, PositionApi.class, SupplierApi.class, AssetsApi.class
|
||||
})
|
||||
public class RpcConfiguration {
|
||||
}
|
||||
|
@ -59,8 +59,7 @@ public class BpmOASupplierProcurementPlanItemServiceImpl implements BpmOASupplie
|
||||
|
||||
@Override
|
||||
public List<BpmOASupplierProcurementPlanItemDO> getByProcurementPlanId(Long procurementPlanId) {
|
||||
return oaSupplierProcurementPlanItemMapper.selectList(new LambdaQueryWrapper<BpmOASupplierProcurementPlanItemDO>()
|
||||
.eq(BpmOASupplierProcurementPlanItemDO::getProcurementPlanId, procurementPlanId));
|
||||
return oaSupplierProcurementPlanItemMapper.getByProcurementPlanId(procurementPlanId);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -3,8 +3,8 @@ package cn.iocoder.yudao.module.bpm.service.oa;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanPageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanRespVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanSaveReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.TheArrivalFileItemsVO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
@ -79,4 +79,11 @@ public interface BpmOASupplierProcurementPlanService {
|
||||
* @return
|
||||
*/
|
||||
List<BpmOASupplierProcurementPlanDO> getListBySupplierId(BpmOASupplierProcurementPlanReqVO vo);
|
||||
|
||||
/**
|
||||
* 上传到货凭证
|
||||
*
|
||||
* @param vo
|
||||
*/
|
||||
void uploadDeliveryReceipt(TheArrivalFileItemsVO vo);
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package cn.iocoder.yudao.module.bpm.service.oa;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
@ -10,17 +11,22 @@ import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanPageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanSaveReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.TheArrivalFileItemsVO;
|
||||
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOASupplierProcurementPlanItemConvert;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanDO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanItemDO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOASupplierProcurementPlanItemMapper;
|
||||
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOASupplierProcurementPlanMapper;
|
||||
import cn.iocoder.yudao.module.bpm.service.task.BpmHistoryProcessInstanceService;
|
||||
import cn.iocoder.yudao.module.system.api.assets.AssetsApi;
|
||||
import cn.iocoder.yudao.module.system.api.assets.dto.SupplierAssetAllocationDTO;
|
||||
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -46,6 +52,11 @@ public class BpmOASupplierProcurementPlanServiceImpl extends BpmOABaseService im
|
||||
private BpmProcessInstanceApi processInstanceApi;
|
||||
@Resource
|
||||
private BpmHistoryProcessInstanceService historyProcessInstanceService;
|
||||
@Resource
|
||||
private AssetsApi assetsApi;
|
||||
@Resource
|
||||
private DeptApi deptApi;
|
||||
|
||||
// @Resource
|
||||
// private BpmProcessInstanceService processInstanceService;
|
||||
|
||||
@ -57,11 +68,10 @@ public class BpmOASupplierProcurementPlanServiceImpl extends BpmOABaseService im
|
||||
@Override
|
||||
public Long createOaSupplierProcurementPlan(BpmOASupplierProcurementPlanSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
BpmOASupplierProcurementPlanDO oaSupplierProcurementPlan = BeanUtils.toBean(createReqVO, BpmOASupplierProcurementPlanDO.class);
|
||||
oaSupplierProcurementPlanMapper.insert(oaSupplierProcurementPlan);
|
||||
// 返回
|
||||
Long userId = WebFrameworkUtils.getLoginUserId();
|
||||
createReqVO.setUserId(userId);
|
||||
BpmOASupplierProcurementPlanDO oaSupplierProcurementPlan = BeanUtils.toBean(createReqVO, BpmOASupplierProcurementPlanDO.class);
|
||||
oaSupplierProcurementPlanMapper.insert(oaSupplierProcurementPlan);
|
||||
|
||||
// 子列表转换
|
||||
List<BpmOASupplierProcurementPlanItemDO> items = BpmOASupplierProcurementPlanItemConvert.INSTANCE.convert(createReqVO.getItems());
|
||||
@ -151,4 +161,35 @@ public class BpmOASupplierProcurementPlanServiceImpl extends BpmOABaseService im
|
||||
return planDOS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void uploadDeliveryReceipt(TheArrivalFileItemsVO vo) {
|
||||
BpmOASupplierProcurementPlanDO supplierProcurementPlanDO = oaSupplierProcurementPlanMapper.selectById(vo.getId());
|
||||
//判断是否需要更新到资产
|
||||
Boolean updateAssetFlag = false;
|
||||
if (CollectionUtil.isEmpty(supplierProcurementPlanDO.getTheArrivalFileItems())) {
|
||||
updateAssetFlag = true;
|
||||
}
|
||||
supplierProcurementPlanDO.setTheArrivalFileItems(vo.getTheArrivalFileItems());
|
||||
oaSupplierProcurementPlanMapper.updateById(supplierProcurementPlanDO);
|
||||
// ----- 如果需要更新到资产 -
|
||||
if (updateAssetFlag) {
|
||||
List<BpmOASupplierProcurementPlanItemDO> itemDOS = supplierProcurementPlanItemService.getByProcurementPlanId(vo.getId());
|
||||
// 新增资产 + 分配资产
|
||||
List<SupplierAssetAllocationDTO> dtos = new ArrayList<>();
|
||||
// -- 根据工厂ids 获取部门ids
|
||||
CommonResult<Map<Long, Long>> mapCommonResult = deptApi.getDeptListByFactoryIds(itemDOS.stream().map(BpmOASupplierProcurementPlanItemDO::getFactoryId).collect(Collectors.toList()));
|
||||
Map<Long, Long> map = mapCommonResult.getCheckedData();
|
||||
for (BpmOASupplierProcurementPlanItemDO itemDO : itemDOS) {
|
||||
SupplierAssetAllocationDTO dto = new SupplierAssetAllocationDTO();
|
||||
dto.setName(itemDO.getSupplierProductName())
|
||||
.setAmount(itemDO.getActualPrice())
|
||||
.setTypeId(itemDO.getTypeId())
|
||||
.setNum(itemDO.getNum())
|
||||
.setInDeptId(map.get(itemDO.getFactoryId()));
|
||||
dtos.add(dto);
|
||||
}
|
||||
assetsApi.supplierAssetAllocation(dtos);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -59,8 +59,7 @@ public class BpmOaSupplierProductServiceImpl implements BpmOaSupplierProductServ
|
||||
|
||||
@Override
|
||||
public List<BpmOASupplierProductDO> getByOaSupplierId(Long oaSupplierId) {
|
||||
return oaSupplierProductMapper.selectList(new LambdaQueryWrapper<BpmOASupplierProductDO>()
|
||||
.eq(BpmOASupplierProductDO::getOaSupplierId, oaSupplierId));
|
||||
return oaSupplierProductMapper.getByOaSupplierId(oaSupplierId);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -9,4 +9,17 @@
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
<select id="getByProcurementPlanId"
|
||||
resultType="cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanItemDO">
|
||||
select a.*,
|
||||
b.name as factoryName,
|
||||
c.name as typeName
|
||||
from bpm_oa_supplier_procurement_plan_item as a
|
||||
left join sf_factory_info as b on a.factory_id = b.id
|
||||
left join zc_assets_type as c on a.type_id = c.id
|
||||
<where>
|
||||
a.deleted = 0
|
||||
and a.procurement_plan_id = #{procurementPlanId}
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -9,4 +9,15 @@
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
<select id="getByOaSupplierId"
|
||||
resultType="cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProductDO">
|
||||
select a.*,
|
||||
b.name as assetsTypeName
|
||||
from bpm_oa_supplier_product as a
|
||||
left join zc_assets_type as b on a.assets_type_id = b.id
|
||||
<where>
|
||||
a.deleted = 0
|
||||
and a.oa_supplier_id = #{oaSupplierId}
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -0,0 +1,25 @@
|
||||
|
||||
package cn.iocoder.yudao.module.system.api.assets;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.system.api.assets.dto.SupplierAssetAllocationDTO;
|
||||
import cn.iocoder.yudao.module.system.enums.ApiConstants;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory =
|
||||
@Tag(name = "RPC 服务 - 资产类型")
|
||||
public interface AssetsApi {
|
||||
|
||||
String PREFIX = ApiConstants.PREFIX + "/assets";
|
||||
|
||||
@PostMapping(PREFIX + "/supplierAssetAllocation")
|
||||
@Operation(summary = "供应商资产分配")
|
||||
CommonResult supplierAssetAllocation(@RequestBody List<SupplierAssetAllocationDTO> dtos);
|
||||
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package cn.iocoder.yudao.module.system.api.assets.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class SupplierAssetAllocationDTO {
|
||||
/**
|
||||
* 资产名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 资产价格
|
||||
*/
|
||||
private BigDecimal amount;
|
||||
/**
|
||||
* 资产类型id
|
||||
*/
|
||||
private Long typeId;
|
||||
/**
|
||||
* 资产数量
|
||||
*/
|
||||
private Integer num;
|
||||
/**
|
||||
* 入库部门id
|
||||
*/
|
||||
private Long inDeptId;
|
||||
|
||||
}
|
@ -82,8 +82,13 @@ public interface DeptApi {
|
||||
return CollectionUtils.convertMap(list, DeptRespDTO::getId);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping(PREFIX + "/getChildDeptList")
|
||||
@Operation(summary = "获得指定部门的所有子部门id")
|
||||
@Parameter(name = "deptId", description = "用户id", example = "146", required = true)
|
||||
CommonResult<List<Long>> getChildDeptList(@RequestParam("deptId") Long deptId);
|
||||
|
||||
@PostMapping(PREFIX + "/getDeptListByFactoryIds")
|
||||
@Operation(summary = "根据工厂ids获取部门ids")
|
||||
CommonResult<Map<Long, Long>> getDeptListByFactoryIds(@RequestBody List<Long> factoryIds);
|
||||
}
|
||||
|
@ -0,0 +1,27 @@
|
||||
package cn.iocoder.yudao.module.system.api.assets;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
|
||||
import cn.iocoder.yudao.module.system.api.assets.dto.SupplierAssetAllocationDTO;
|
||||
import cn.iocoder.yudao.module.system.service.assets.AssetsService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@RestController // 提供 RESTful API 接口,给 Feign 调用
|
||||
@Validated
|
||||
@DataPermission(enable = false)
|
||||
public class AssetsApiImpl implements AssetsApi {
|
||||
|
||||
@Resource
|
||||
private AssetsService assetsService;
|
||||
|
||||
|
||||
@Override
|
||||
public CommonResult supplierAssetAllocation(List<SupplierAssetAllocationDTO> dtos) {
|
||||
assetsService.supplierAssetAllocation(dtos);
|
||||
return CommonResult.success("ok");
|
||||
}
|
||||
}
|
@ -17,6 +17,7 @@ import javax.annotation.Resource;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
@ -114,4 +115,14 @@ public class DeptApiImpl implements DeptApi {
|
||||
List<Long> ids = deptDOS.stream().map(DeptDO::getId).collect(Collectors.toList());
|
||||
return success(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResult<Map<Long, Long>> getDeptListByFactoryIds(List<Long> factoryIds) {
|
||||
List<DeptDO> deptDOS = deptService.getDeptListByFactoryIds(factoryIds);
|
||||
if (CollectionUtil.isEmpty(deptDOS)){
|
||||
return success(Collections.emptyMap());
|
||||
}
|
||||
Map<Long, Long> map = deptDOS.stream().collect(Collectors.toMap(DeptDO::getFactoryId, DeptDO::getId));
|
||||
return success(map);
|
||||
}
|
||||
}
|
||||
|
@ -44,7 +44,6 @@ public class SupplierController {
|
||||
|
||||
@PutMapping("/edit")
|
||||
@Operation(summary = "更新供应商列表(OA已审核通过后插入)")
|
||||
@PreAuthorize("@ss.hasPermission('system:supplier:update')")
|
||||
public CommonResult<Boolean> edit(@Valid @RequestBody SupplierRpcDTO supplierRpcDTO) {
|
||||
supplierService.saveOrEdit(supplierRpcDTO);
|
||||
return success(true);
|
||||
@ -53,7 +52,6 @@ public class SupplierController {
|
||||
|
||||
@PutMapping("/editStatus")
|
||||
@Operation(summary = "更新供应商状态")
|
||||
@PreAuthorize("@ss.hasPermission('system:supplier:update')")
|
||||
public CommonResult<Boolean> editStatus(@Valid @RequestBody SupplierSaveReqVO vo) {
|
||||
supplierService.editStatus(vo);
|
||||
return success(true);
|
||||
@ -62,7 +60,6 @@ public class SupplierController {
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除供应商列表(OA已审核通过后插入)")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('system:supplier:delete')")
|
||||
public CommonResult<Boolean> deleteSupplier(@RequestParam("id") Long id) {
|
||||
supplierService.deleteSupplier(id);
|
||||
return success(true);
|
||||
@ -71,7 +68,6 @@ public class SupplierController {
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得供应商列表(OA已审核通过后插入)")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('system:supplier:query')")
|
||||
public CommonResult<SupplierRespVO> getSupplier(@RequestParam("id") Long id) {
|
||||
SupplierDO supplier = supplierService.getSupplier(id);
|
||||
SupplierRespVO vo = BeanUtils.toBean(supplier, SupplierRespVO.class);
|
||||
@ -98,7 +94,6 @@ public class SupplierController {
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得供应商列表(OA已审核通过后插入)分页")
|
||||
@PreAuthorize("@ss.hasPermission('system:supplier:query')")
|
||||
public CommonResult<PageResult<SupplierRespVO>> getSupplierPage(@Valid SupplierPageReqVO pageReqVO) {
|
||||
PageResult<SupplierDO> pageResult = supplierService.getSupplierPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, SupplierRespVO.class));
|
||||
@ -106,7 +101,6 @@ public class SupplierController {
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出供应商列表(OA已审核通过后插入) Excel")
|
||||
@PreAuthorize("@ss.hasPermission('system:supplier:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportSupplierExcel(@Valid SupplierPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
|
@ -1,11 +1,13 @@
|
||||
package cn.iocoder.yudao.module.system.service.assets;
|
||||
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.module.system.api.assets.dto.SupplierAssetAllocationDTO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.AssetsPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.AssetsSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 资产 Service 接口
|
||||
@ -52,4 +54,10 @@ public interface AssetsService {
|
||||
*/
|
||||
PageResult<AssetsDO> getAssetsPage(AssetsPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 供应商资产分配
|
||||
*
|
||||
* @param dtos
|
||||
*/
|
||||
void supplierAssetAllocation(List<SupplierAssetAllocationDTO> dtos);
|
||||
}
|
@ -3,8 +3,10 @@ package cn.iocoder.yudao.module.system.service.assets;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
|
||||
import cn.iocoder.yudao.module.system.api.assets.dto.SupplierAssetAllocationDTO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.AssetsPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.AssetsSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.DeptAssetsInOutStockSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsTypeDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.assets.AssetsMapper;
|
||||
@ -16,6 +18,9 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 资产 Service 实现类
|
||||
@ -74,4 +79,32 @@ public class AssetsServiceImpl implements AssetsService {
|
||||
return new PageResult<>(assetsDOIPage.getRecords(), assetsDOIPage.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void supplierAssetAllocation(List<SupplierAssetAllocationDTO> dtos) {
|
||||
// 新增资产
|
||||
List<AssetsDO> assetsDOS = new ArrayList<>();
|
||||
List<DeptAssetsInOutStockSaveReqVO> vos = new ArrayList<>();
|
||||
for (SupplierAssetAllocationDTO dto : dtos) {
|
||||
AssetsDO assets = new AssetsDO();
|
||||
assets.setId(IdWorker.getId());
|
||||
assets.setName(dto.getName());
|
||||
assets.setStatus(0);
|
||||
assets.setAmount(dto.getAmount());
|
||||
assets.setStock(dto.getNum());
|
||||
assets.setTypeId(dto.getTypeId());
|
||||
assets.setAssetsNo(IdWorker.get32UUID());
|
||||
assetsDOS.add(assets);
|
||||
|
||||
DeptAssetsInOutStockSaveReqVO vo = new DeptAssetsInOutStockSaveReqVO();
|
||||
vo.setInDeptId(dto.getInDeptId());
|
||||
vo.setAssetsId(assets.getId());
|
||||
vo.setNum(dto.getNum());
|
||||
vos.add(vo);
|
||||
}
|
||||
// -- 批量新增
|
||||
assetsMapper.insertBatch(assetsDOS);
|
||||
// -- 批量分配
|
||||
deptAssetsInOutStockService.createDeptAssetsInOutStock(-1L, vos);
|
||||
}
|
||||
|
||||
}
|
@ -133,6 +133,7 @@ public interface DeptService {
|
||||
|
||||
/**
|
||||
* 获取部门类型为公司的部门信息
|
||||
*
|
||||
* @return 部门信息列表
|
||||
*/
|
||||
List<DeptDO> getCompanyDept();
|
||||
@ -150,4 +151,12 @@ public interface DeptService {
|
||||
* @return
|
||||
*/
|
||||
List<DeptDO> getFactoryDeptList(Long factoryId);
|
||||
|
||||
/**
|
||||
* 根据工厂ids获取部门列表
|
||||
*
|
||||
* @param factoryIds
|
||||
* @return
|
||||
*/
|
||||
List<DeptDO> getDeptListByFactoryIds(List<Long> factoryIds);
|
||||
}
|
||||
|
@ -6,7 +6,6 @@ import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptListReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
||||
@ -337,4 +336,10 @@ public class DeptServiceImpl implements DeptService {
|
||||
.isNotNull(DeptDO::getFactoryId)
|
||||
.eq(DeptDO::getStatus, CommonStatusEnum.ENABLE.getStatus()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DeptDO> getDeptListByFactoryIds(List<Long> factoryIds) {
|
||||
return deptMapper.selectList(new LambdaQueryWrapper<DeptDO>()
|
||||
.in(DeptDO::getFactoryId, factoryIds));
|
||||
}
|
||||
}
|
||||
|
@ -18,6 +18,8 @@ import cn.iocoder.yudao.framework.common.util.string.StrUtils;
|
||||
import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
|
||||
import cn.iocoder.yudao.framework.datapermission.core.util.DataPermissionUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
|
||||
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
|
||||
import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.infra.api.file.FileApi;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.dto.UserPageDTO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.factoryUser.FactoryUserPageReqVO;
|
||||
|
@ -292,11 +292,21 @@ public class ScreenDataServiceImpl implements ScreenDataService {
|
||||
// ---------------------------------- 用户 ----------------------------------
|
||||
// -- 通过工厂id获取部门列表 -> 再通过部门列表获取用户列表
|
||||
List<AdminUserRpcVO> users = adminUserApi.getFactoryUsers(factoryId).getData();
|
||||
vo.setTotal(users.size());
|
||||
int femaleTotal = (int) users.stream().filter(a -> a.getSex() == 2).count();
|
||||
int total = 0;
|
||||
int femaleTotal = 0;
|
||||
int maleTotal = 0;
|
||||
if (CollectionUtil.isNotEmpty(users)) {
|
||||
total = users.size();
|
||||
femaleTotal = (int) users.stream().filter(a -> a.getSex() == 2).count();
|
||||
maleTotal = users.size() - femaleTotal;
|
||||
} else {
|
||||
users = Collections.emptyList();
|
||||
}
|
||||
vo.setTotal(total);
|
||||
vo.setFemaleTotal(femaleTotal);
|
||||
vo.setMaleTotal(users.size() - femaleTotal);
|
||||
vo.setMaleTotal(maleTotal);
|
||||
vo.setUsers(users);
|
||||
|
||||
// ---------------------------------- 窑炉 ----------------------------------
|
||||
List<FactoryKilnDO> factoryKilnDOS = factoryKilnService.getFactoryKilnByFactoryId(factoryId);
|
||||
vo.setYlNum(factoryKilnDOS.size());
|
||||
|
Loading…
Reference in New Issue
Block a user