物资供应总计划
This commit is contained in:
@ -255,7 +255,9 @@ springdoc:
|
|||||||
packages-to-scan: org.dromara.generator
|
packages-to-scan: org.dromara.generator
|
||||||
- group: 16.app模块
|
- group: 16.app模块
|
||||||
packages-to-scan: org.dromara.app
|
packages-to-scan: org.dromara.app
|
||||||
- group: 17.产值模块
|
- group: 17.材料设备模块
|
||||||
|
packages-to-scan: org.dromara.cailiaoshebei
|
||||||
|
- group: 18.产值模块
|
||||||
packages-to-scan: org.dromara.out
|
packages-to-scan: org.dromara.out
|
||||||
# knife4j的增强配置,不需要增强可以不配
|
# knife4j的增强配置,不需要增强可以不配
|
||||||
knife4j:
|
knife4j:
|
||||||
|
@ -210,6 +210,12 @@
|
|||||||
<version>5.15.0</version>
|
<version>5.15.0</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.xmlbeans</groupId>
|
||||||
|
<artifactId>xmlbeans</artifactId>
|
||||||
|
<version>5.3.0</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
@ -1,10 +1,17 @@
|
|||||||
package org.dromara.cailiaoshebei.controller;
|
package org.dromara.cailiaoshebei.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import jakarta.validation.constraints.*;
|
import jakarta.validation.constraints.*;
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusCailiaoshebeiPici;
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusSuppliesprice;
|
||||||
import org.dromara.cailiaoshebei.domain.bo.*;
|
import org.dromara.cailiaoshebei.domain.bo.*;
|
||||||
import org.dromara.cailiaoshebei.domain.vo.BusCailiaoshebeiListPlanRes;
|
import org.dromara.cailiaoshebei.domain.vo.*;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusCailiaoshebeiPiciService;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusSuppliespriceService;
|
||||||
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
|
import org.dromara.common.utils.BatchNumberGenerator;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||||
@ -15,10 +22,11 @@ import org.dromara.common.core.domain.R;
|
|||||||
import org.dromara.common.core.validate.AddGroup;
|
import org.dromara.common.core.validate.AddGroup;
|
||||||
import org.dromara.common.core.validate.EditGroup;
|
import org.dromara.common.core.validate.EditGroup;
|
||||||
import org.dromara.common.log.enums.BusinessType;
|
import org.dromara.common.log.enums.BusinessType;
|
||||||
import org.dromara.cailiaoshebei.domain.vo.BusCailiaoshebeiVo;
|
|
||||||
import org.dromara.cailiaoshebei.service.IBusCailiaoshebeiService;
|
import org.dromara.cailiaoshebei.service.IBusCailiaoshebeiService;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 物资-材料设备
|
* 物资-材料设备
|
||||||
*
|
*
|
||||||
@ -32,20 +40,59 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|||||||
public class BusCailiaoshebeiController extends BaseController {
|
public class BusCailiaoshebeiController extends BaseController {
|
||||||
|
|
||||||
private final IBusCailiaoshebeiService busCailiaoshebeiService;
|
private final IBusCailiaoshebeiService busCailiaoshebeiService;
|
||||||
|
private final IBusSuppliespriceService busSuppliespriceService;
|
||||||
|
private final IBusCailiaoshebeiPiciService busCailiaoshebeiPiciService;
|
||||||
|
|
||||||
|
|
||||||
//===============================设计===============================
|
//===============================设计===============================
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询物资-材料设备列表
|
* 设计-新增批次号
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("cailiaoshebei:cailiaoshebei:list")
|
@SaCheckPermission("cailiaoshebei:cailiaoshebei:pcAdd")
|
||||||
@GetMapping("/list")
|
@Log(title = "物资-批次号", businessType = BusinessType.INSERT)
|
||||||
public TableDataInfo<BusCailiaoshebeiVo> list(BusCailiaoshebeiBo bo, PageQuery pageQuery) {
|
@RepeatSubmit()
|
||||||
return busCailiaoshebeiService.queryPageList(bo, pageQuery);
|
@PostMapping("/pcAdd")
|
||||||
|
public R<Void> pcAdd(@Validated(AddGroup.class) @RequestBody BusCailiaoshebeiPiciAddReq bo) {
|
||||||
|
BusCailiaoshebeiPici busCailiaoshebeiPici = new BusCailiaoshebeiPici().
|
||||||
|
setProjectId(bo.getProjectId()).
|
||||||
|
setBatchNumber(BatchNumberGenerator.generateBatchNumber("PC-"));
|
||||||
|
return toAjax( busCailiaoshebeiPiciService.save(busCailiaoshebeiPici));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取物资-材料设备详细信息
|
* 设计-批次号列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:cailiaoshebei:pcList")
|
||||||
|
@GetMapping("/pcList")
|
||||||
|
public TableDataInfo<BusCailiaoshebeiPiciVo> pcList(BusCailiaoshebeiPiciPcListReq bo, PageQuery pageQuery) {
|
||||||
|
BusCailiaoshebeiPiciBo busCailiaoshebeiPiciBo = BeanUtil.copyProperties(bo, BusCailiaoshebeiPiciBo.class);
|
||||||
|
return busCailiaoshebeiPiciService.queryPageList(busCailiaoshebeiPiciBo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设计-新增材料设备
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:cailiaoshebei:add")
|
||||||
|
@Log(title = "物资-材料设备", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody BusCailiaoshebeiAddReq req) {
|
||||||
|
return toAjax(busCailiaoshebeiService.insertByBo(req));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设计-材料设备列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:cailiaoshebei:list")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<BusCailiaoshebeiVo> list(BusCailiaoshebeiListReq bo, PageQuery pageQuery) {
|
||||||
|
BusCailiaoshebeiBo busCailiaoshebeiBo = BeanUtil.copyProperties(bo, BusCailiaoshebeiBo.class);
|
||||||
|
return busCailiaoshebeiService.queryPageList(busCailiaoshebeiBo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设计-材料设备详细信息
|
||||||
*
|
*
|
||||||
* @param id 主键
|
* @param id 主键
|
||||||
*/
|
*/
|
||||||
@ -57,18 +104,7 @@ public class BusCailiaoshebeiController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增物资-材料设备
|
* 设计-修改物资-材料设备
|
||||||
*/
|
|
||||||
@SaCheckPermission("cailiaoshebei:cailiaoshebei:add")
|
|
||||||
@Log(title = "物资-材料设备", businessType = BusinessType.INSERT)
|
|
||||||
@RepeatSubmit()
|
|
||||||
@PostMapping()
|
|
||||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody BusCailiaoshebeiAddReq req) {
|
|
||||||
return toAjax(busCailiaoshebeiService.insertByBo(req));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改物资-材料设备-设计部
|
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("cailiaoshebei:cailiaoshebei:edit")
|
@SaCheckPermission("cailiaoshebei:cailiaoshebei:edit")
|
||||||
@Log(title = "物资-材料设备-设计部", businessType = BusinessType.UPDATE)
|
@Log(title = "物资-材料设备-设计部", businessType = BusinessType.UPDATE)
|
||||||
@ -78,7 +114,20 @@ public class BusCailiaoshebeiController extends BaseController {
|
|||||||
return toAjax(busCailiaoshebeiService.updateByBo(bo));
|
return toAjax(busCailiaoshebeiService.updateByBo(bo));
|
||||||
}
|
}
|
||||||
|
|
||||||
// /**
|
/**
|
||||||
|
* 设计-删除物资-材料设备
|
||||||
|
*
|
||||||
|
* @param ids 主键串
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:cailiaoshebei:remove")
|
||||||
|
@Log(title = "物资-材料设备", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{ids}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] ids) {
|
||||||
|
return toAjax(busCailiaoshebeiService.deleteWithValidByIds(List.of(ids), true));
|
||||||
|
}
|
||||||
|
|
||||||
|
// /**
|
||||||
// * 导出物资-材料设备列表
|
// * 导出物资-材料设备列表
|
||||||
// */
|
// */
|
||||||
// @SaCheckPermission("cailiaoshebei:cailiaoshebei:export")
|
// @SaCheckPermission("cailiaoshebei:cailiaoshebei:export")
|
||||||
@ -89,24 +138,20 @@ public class BusCailiaoshebeiController extends BaseController {
|
|||||||
// ExcelUtil.exportExcel(list, "物资-材料设备", BusCailiaoshebeiVo.class, response);
|
// ExcelUtil.exportExcel(list, "物资-材料设备", BusCailiaoshebeiVo.class, response);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * 删除物资-材料设备
|
|
||||||
// *
|
|
||||||
// * @param ids 主键串
|
|
||||||
// */
|
|
||||||
// @SaCheckPermission("cailiaoshebei:cailiaoshebei:remove")
|
|
||||||
// @Log(title = "物资-材料设备", businessType = BusinessType.DELETE)
|
|
||||||
// @DeleteMapping("/{ids}")
|
|
||||||
// public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
|
||||||
// @PathVariable Long[] ids) {
|
|
||||||
// return toAjax(busCailiaoshebeiService.deleteWithValidByIds(List.of(ids), true));
|
|
||||||
// }
|
|
||||||
|
|
||||||
//===============================计划===============================
|
//===============================计划===============================
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询物资-材料设备列表
|
* 计划-批次号列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:cailiaoshebei:pcPlanList")
|
||||||
|
@GetMapping("/pcPlanList")
|
||||||
|
public TableDataInfo<BusCailiaoshebeiPiciVo> pcPlanList(BusCailiaoshebeiPiciPcListReq bo, PageQuery pageQuery) {
|
||||||
|
BusCailiaoshebeiPiciBo busCailiaoshebeiPiciBo = BeanUtil.copyProperties(bo, BusCailiaoshebeiPiciBo.class);
|
||||||
|
return busCailiaoshebeiPiciService.queryPageList(busCailiaoshebeiPiciBo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划-材料设备清单列表
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("cailiaoshebei:cailiaoshebei:listPlan")
|
@SaCheckPermission("cailiaoshebei:cailiaoshebei:listPlan")
|
||||||
@GetMapping("/listPlan")
|
@GetMapping("/listPlan")
|
||||||
@ -114,17 +159,49 @@ public class BusCailiaoshebeiController extends BaseController {
|
|||||||
return busCailiaoshebeiService.queryPageListPlan(bo, pageQuery);
|
return busCailiaoshebeiService.queryPageListPlan(bo, pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * 计划-材料设备清单子列表
|
||||||
|
// */
|
||||||
|
// @SaCheckPermission("cailiaoshebei:cailiaoshebei:listPlanSon")
|
||||||
|
// @GetMapping("/listPlanSon")
|
||||||
|
// public TableDataInfo<BusSuppliespriceVo> listPlanSon(BusSuppliespriceBo bo, PageQuery pageQuery) {
|
||||||
|
// return busSuppliespriceService.queryPageList(bo, pageQuery);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * 计划-新增材料设备清单子数据
|
||||||
|
// */
|
||||||
|
// @SaCheckPermission("cailiaoshebei:cailiaoshebei:addPlanSon")
|
||||||
|
// @Log(title = "物资-物资清单", businessType = BusinessType.INSERT)
|
||||||
|
// @RepeatSubmit()
|
||||||
|
// @PostMapping("/addPlanSon")
|
||||||
|
// public R<Void> addPlanSon(@Validated(AddGroup.class) @RequestBody BusSuppliespriceBo bo) {
|
||||||
|
// return toAjax(busSuppliespriceService.insertByBo(bo));
|
||||||
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改物资-材料设备-计划部`
|
* 计划-获取物资清单详细信息
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:cailiaoshebei:getInfoPlanSon")
|
||||||
|
@GetMapping("getInfoPlanSon/{id}")
|
||||||
|
public R<BusSuppliespriceAddPlanSonRes> getInfoPlanSon(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long id) {
|
||||||
|
return R.ok(busCailiaoshebeiService.getInfoPlanSon(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划-修改物资清单详细信息`
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("cailiaoshebei:cailiaoshebei:editPlan")
|
@SaCheckPermission("cailiaoshebei:cailiaoshebei:editPlan")
|
||||||
@Log(title = "物资-材料设备-计划部", businessType = BusinessType.UPDATE)
|
@Log(title = "物资-材料设备-计划部", businessType = BusinessType.UPDATE)
|
||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PutMapping("/editPlan")
|
@PutMapping("/editPlanSon")
|
||||||
public R<Void> editPlan(@Validated(EditGroup.class) @RequestBody BusCailiaoshebeiEditPlanReq bo) {
|
public R<Void> editPlan(@Validated(EditGroup.class) @RequestBody BusCailiaoshebeiEditPlanReq bo) {
|
||||||
return toAjax(busCailiaoshebeiService.updateByPlanBo(bo));
|
return toAjax(busCailiaoshebeiService.updateByPlanBo(bo));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ public class BusCailiaoshebei extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 供货商ID
|
* 供货商ID
|
||||||
*/
|
*/
|
||||||
private Long supplierId;
|
private String supplierId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目ID
|
* 项目ID
|
||||||
|
@ -6,6 +6,7 @@ import lombok.Data;
|
|||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 物资-物资清单对象 bus_suppliesprice
|
* 物资-物资清单对象 bus_suppliesprice
|
||||||
@ -35,7 +36,12 @@ public class BusSuppliesprice extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 单价
|
* 单价
|
||||||
*/
|
*/
|
||||||
private Long unitPrice;
|
private BigDecimal unitPrice;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数量
|
||||||
|
*/
|
||||||
|
private int number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 合同号
|
* 合同号
|
||||||
|
@ -13,6 +13,7 @@ import org.dromara.common.core.validate.EditGroup;
|
|||||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author 铁憨憨
|
* @Author 铁憨憨
|
||||||
@ -21,7 +22,7 @@ import java.util.Date;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@AutoMapper(target = BusCailiaoshebei.class, reverseConvertGenerate = false)
|
//@AutoMapper(target = BusCailiaoshebei.class, reverseConvertGenerate = false)
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
public class BusCailiaoshebeiAddReq extends BaseEntity {
|
public class BusCailiaoshebeiAddReq extends BaseEntity {
|
||||||
/**
|
/**
|
||||||
@ -44,13 +45,13 @@ public class BusCailiaoshebeiAddReq extends BaseEntity {
|
|||||||
private String batchId;
|
private String batchId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 供货商ID (必填)
|
* 供货商ID (必填,多个逗号分隔)
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "供货商ID不能为空", groups = { AddGroup.class })
|
@NotNull(message = "供货商ID不能为空", groups = { AddGroup.class })
|
||||||
private Long supplierId;
|
private String supplierId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 供货商 (必填)
|
* 供货商 (必填,多个逗号分隔)
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "供货商不能为空", groups = { AddGroup.class })
|
@NotBlank(message = "供货商不能为空", groups = { AddGroup.class })
|
||||||
@Size(max = 64, message = "供货商名称长度不能超过64个字符", groups = {AddGroup.class, EditGroup.class})
|
@Size(max = 64, message = "供货商名称长度不能超过64个字符", groups = {AddGroup.class, EditGroup.class})
|
||||||
|
@ -28,6 +28,12 @@ public class BusCailiaoshebeiBo extends BaseEntity {
|
|||||||
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
|
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批次ID
|
* 批次ID
|
||||||
*/
|
*/
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain.bo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 铁憨憨
|
||||||
|
* @Date 2025/8/1 20:27
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class BusCailiaoshebeiListReq implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目ID(必填)
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批次ID
|
||||||
|
*/
|
||||||
|
private String batchId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 供货商ID
|
||||||
|
*/
|
||||||
|
private Long supplierId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 供货来源(字典)
|
||||||
|
*/
|
||||||
|
private String supply;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物料编码
|
||||||
|
*/
|
||||||
|
private String materialCode;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain.bo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 铁憨憨
|
||||||
|
* @Date 2025/8/1 19:50
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class BusCailiaoshebeiPiciAddReq implements Serializable {
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain.bo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 铁憨憨
|
||||||
|
* @Date 2025/8/1 19:59
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class BusCailiaoshebeiPiciPcListReq implements Serializable {
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批次号(模糊查询)
|
||||||
|
*/
|
||||||
|
private String batchNumber;
|
||||||
|
}
|
@ -0,0 +1,59 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain.dto;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 铁憨憨
|
||||||
|
* @Date 2025/8/1 17:30
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class BusSuppliespriceDto implements Serializable {
|
||||||
|
/**
|
||||||
|
* ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 材料设备ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "材料设备ID")
|
||||||
|
private Long cailiaoshebeiId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单价
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "单价")
|
||||||
|
private Long unitPrice;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合同号
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "合同号")
|
||||||
|
private String contractNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预估供应周期
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "预估供应周期")
|
||||||
|
private Long estimatedCycle;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 供货公司
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "供货公司")
|
||||||
|
private String supplierCompany;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "备注")
|
||||||
|
private String remark;
|
||||||
|
}
|
@ -3,12 +3,14 @@ package org.dromara.cailiaoshebei.domain.vo;
|
|||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
import org.dromara.cailiaoshebei.domain.dto.BusSuppliespriceDto;
|
||||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author 铁憨憨
|
* @Author 铁憨憨
|
||||||
@ -112,4 +114,10 @@ public class BusCailiaoshebeiListPlanRes implements Serializable {
|
|||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "备注")
|
@ExcelProperty(value = "备注")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 子列表数据
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "子列表数据")
|
||||||
|
private List<BusSuppliespriceDto> sonList;
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,7 @@ public class BusCailiaoshebeiVo implements Serializable {
|
|||||||
* 供货商ID
|
* 供货商ID
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "供货商ID")
|
@ExcelProperty(value = "供货商ID")
|
||||||
private Long supplierId;
|
private String supplierId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 供货商
|
* 供货商
|
||||||
|
@ -0,0 +1,119 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusSuppliesprice;
|
||||||
|
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||||
|
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 铁憨憨
|
||||||
|
* @Date 2025/8/1 18:53
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class BusSuppliespriceAddPlanSonRes implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "主键ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批次ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "批次ID")
|
||||||
|
private String batchId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 供货商ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "供货商ID")
|
||||||
|
private String supplierId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 供货商
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "供货商")
|
||||||
|
private String supplier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备材料名称
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "设备材料名称")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 供货来源(字典)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "供货来源(字典)", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(dictType = "supply")
|
||||||
|
private String supply;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格型号
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "规格型号")
|
||||||
|
private String specification;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 特征描述
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "特征描述")
|
||||||
|
private String signalment;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物料编码
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "物料编码")
|
||||||
|
private String materialCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划到场时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "计划到场时间")
|
||||||
|
private Date arrivalTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划完成时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "计划完成时间")
|
||||||
|
private Date finishTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计量单位
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "计量单位")
|
||||||
|
private String unit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划数量
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "计划数量")
|
||||||
|
private Long plan;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实际数量
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "实际数量")
|
||||||
|
private int realQuantity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 材料设备ID
|
||||||
|
*/
|
||||||
|
private List<BusSuppliesprice> addPlanSonList;
|
||||||
|
}
|
@ -4,6 +4,7 @@ import org.dromara.cailiaoshebei.domain.bo.*;
|
|||||||
import org.dromara.cailiaoshebei.domain.vo.BusCailiaoshebeiListPlanRes;
|
import org.dromara.cailiaoshebei.domain.vo.BusCailiaoshebeiListPlanRes;
|
||||||
import org.dromara.cailiaoshebei.domain.vo.BusCailiaoshebeiVo;
|
import org.dromara.cailiaoshebei.domain.vo.BusCailiaoshebeiVo;
|
||||||
import org.dromara.cailiaoshebei.domain.BusCailiaoshebei;
|
import org.dromara.cailiaoshebei.domain.BusCailiaoshebei;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusSuppliespriceAddPlanSonRes;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
|
||||||
@ -85,4 +86,12 @@ public interface IBusCailiaoshebeiService extends IService<BusCailiaoshebei>{
|
|||||||
* @return 是否修改成功
|
* @return 是否修改成功
|
||||||
*/
|
*/
|
||||||
Boolean updateByPlanBo(BusCailiaoshebeiEditPlanReq bo);
|
Boolean updateByPlanBo(BusCailiaoshebeiEditPlanReq bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资-材料设备 获取到主体数据,并且还需要得到物资清单列表
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 物资-材料设备
|
||||||
|
*/
|
||||||
|
BusSuppliespriceAddPlanSonRes getInfoPlanSon(Long id);
|
||||||
}
|
}
|
||||||
|
@ -52,6 +52,7 @@ public class BusCailiaoshebeiPiciServiceImpl extends ServiceImpl<BusCailiaoshebe
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo<BusCailiaoshebeiPiciVo> queryPageList(BusCailiaoshebeiPiciBo bo, PageQuery pageQuery) {
|
public TableDataInfo<BusCailiaoshebeiPiciVo> queryPageList(BusCailiaoshebeiPiciBo bo, PageQuery pageQuery) {
|
||||||
|
System.out.println("?????? "+bo);
|
||||||
LambdaQueryWrapper<BusCailiaoshebeiPici> lqw = buildQueryWrapper(bo);
|
LambdaQueryWrapper<BusCailiaoshebeiPici> lqw = buildQueryWrapper(bo);
|
||||||
Page<BusCailiaoshebeiPiciVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
Page<BusCailiaoshebeiPiciVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
return TableDataInfo.build(result);
|
return TableDataInfo.build(result);
|
||||||
@ -73,10 +74,11 @@ public class BusCailiaoshebeiPiciServiceImpl extends ServiceImpl<BusCailiaoshebe
|
|||||||
Map<String, Object> params = bo.getParams();
|
Map<String, Object> params = bo.getParams();
|
||||||
LambdaQueryWrapper<BusCailiaoshebeiPici> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<BusCailiaoshebeiPici> lqw = Wrappers.lambdaQuery();
|
||||||
lqw.orderByAsc(BusCailiaoshebeiPici::getId);
|
lqw.orderByAsc(BusCailiaoshebeiPici::getId);
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getBatchNumber()), BusCailiaoshebeiPici::getBatchNumber, bo.getBatchNumber());
|
lqw.eq(bo.getProjectId() != null, BusCailiaoshebeiPici::getProjectId, bo.getProjectId());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getApprovalDesign()), BusCailiaoshebeiPici::getApprovalDesign, bo.getApprovalDesign());
|
lqw.eq(StringUtils.isNotBlank(bo.getApprovalDesign()), BusCailiaoshebeiPici::getApprovalDesign, bo.getApprovalDesign());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getApprovalPlan()), BusCailiaoshebeiPici::getApprovalPlan, bo.getApprovalPlan());
|
lqw.eq(StringUtils.isNotBlank(bo.getApprovalPlan()), BusCailiaoshebeiPici::getApprovalPlan, bo.getApprovalPlan());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getApprovalProject()), BusCailiaoshebeiPici::getApprovalProject, bo.getApprovalProject());
|
lqw.eq(StringUtils.isNotBlank(bo.getApprovalProject()), BusCailiaoshebeiPici::getApprovalProject, bo.getApprovalProject());
|
||||||
|
lqw.like(StringUtils.isNotBlank(bo.getBatchNumber()), BusCailiaoshebeiPici::getBatchNumber, bo.getBatchNumber());
|
||||||
return lqw;
|
return lqw;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,12 +2,11 @@ package org.dromara.cailiaoshebei.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.dromara.cailiaoshebei.domain.BusCailiaoshebeiPici;
|
|
||||||
import org.dromara.cailiaoshebei.domain.BusSuppliesprice;
|
import org.dromara.cailiaoshebei.domain.BusSuppliesprice;
|
||||||
import org.dromara.cailiaoshebei.domain.bo.*;
|
import org.dromara.cailiaoshebei.domain.bo.*;
|
||||||
import org.dromara.cailiaoshebei.domain.dto.BusCailiaoshebeiEditPlanDto;
|
import org.dromara.cailiaoshebei.domain.dto.BusCailiaoshebeiEditPlanDto;
|
||||||
import org.dromara.cailiaoshebei.domain.vo.BusCailiaoshebeiListPlanRes;
|
import org.dromara.cailiaoshebei.domain.vo.BusCailiaoshebeiListPlanRes;
|
||||||
import org.dromara.cailiaoshebei.service.IBusCailiaoshebeiPiciService;
|
import org.dromara.cailiaoshebei.domain.vo.BusSuppliespriceAddPlanSonRes;
|
||||||
import org.dromara.cailiaoshebei.service.IBusSuppliespriceService;
|
import org.dromara.cailiaoshebei.service.IBusSuppliespriceService;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
@ -25,12 +24,7 @@ import org.dromara.cailiaoshebei.mapper.BusCailiaoshebeiMapper;
|
|||||||
import org.dromara.cailiaoshebei.service.IBusCailiaoshebeiService;
|
import org.dromara.cailiaoshebei.service.IBusCailiaoshebeiService;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.util.*;
|
||||||
import java.time.format.DateTimeFormatter;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -44,7 +38,6 @@ import java.util.concurrent.atomic.AtomicInteger;
|
|||||||
public class BusCailiaoshebeiServiceImpl extends ServiceImpl<BusCailiaoshebeiMapper, BusCailiaoshebei> implements IBusCailiaoshebeiService {
|
public class BusCailiaoshebeiServiceImpl extends ServiceImpl<BusCailiaoshebeiMapper, BusCailiaoshebei> implements IBusCailiaoshebeiService {
|
||||||
|
|
||||||
private final BusCailiaoshebeiMapper baseMapper;
|
private final BusCailiaoshebeiMapper baseMapper;
|
||||||
private final IBusCailiaoshebeiPiciService busCailiaoshebeiPiciService;
|
|
||||||
private final IBusSuppliespriceService busSuppliespriceService;
|
private final IBusSuppliespriceService busSuppliespriceService;
|
||||||
|
|
||||||
|
|
||||||
@ -70,6 +63,10 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl<BusCailiaoshebeiMap
|
|||||||
public TableDataInfo<BusCailiaoshebeiVo> queryPageList(BusCailiaoshebeiBo bo, PageQuery pageQuery) {
|
public TableDataInfo<BusCailiaoshebeiVo> queryPageList(BusCailiaoshebeiBo bo, PageQuery pageQuery) {
|
||||||
LambdaQueryWrapper<BusCailiaoshebei> lqw = buildQueryWrapper(bo);
|
LambdaQueryWrapper<BusCailiaoshebei> lqw = buildQueryWrapper(bo);
|
||||||
Page<BusCailiaoshebeiVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
Page<BusCailiaoshebeiVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
// //获取到供货商,随后返回对应的供货商名
|
||||||
|
// List<SubContractor> list = contractorService.list(new LambdaQueryWrapper<SubContractor>().eq(SubContractor::getProjectId, bo.getProjectId()));
|
||||||
|
//
|
||||||
|
|
||||||
return TableDataInfo.build(result);
|
return TableDataInfo.build(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,6 +88,7 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl<BusCailiaoshebeiMap
|
|||||||
lqw.orderByAsc(BusCailiaoshebei::getId);
|
lqw.orderByAsc(BusCailiaoshebei::getId);
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getBatchId()), BusCailiaoshebei::getBatchId, bo.getBatchId());
|
lqw.eq(StringUtils.isNotBlank(bo.getBatchId()), BusCailiaoshebei::getBatchId, bo.getBatchId());
|
||||||
lqw.eq(bo.getSupplierId() != null, BusCailiaoshebei::getSupplierId, bo.getSupplierId());
|
lqw.eq(bo.getSupplierId() != null, BusCailiaoshebei::getSupplierId, bo.getSupplierId());
|
||||||
|
lqw.eq(bo.getProjectId() != null, BusCailiaoshebei::getProjectId, bo.getProjectId());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getSupplier()), BusCailiaoshebei::getSupplier, bo.getSupplier());
|
lqw.eq(StringUtils.isNotBlank(bo.getSupplier()), BusCailiaoshebei::getSupplier, bo.getSupplier());
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getName()), BusCailiaoshebei::getName, bo.getName());
|
lqw.like(StringUtils.isNotBlank(bo.getName()), BusCailiaoshebei::getName, bo.getName());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getSupply()), BusCailiaoshebei::getSupply, bo.getSupply());
|
lqw.eq(StringUtils.isNotBlank(bo.getSupply()), BusCailiaoshebei::getSupply, bo.getSupply());
|
||||||
@ -114,19 +112,10 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl<BusCailiaoshebeiMap
|
|||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public Boolean insertByBo(BusCailiaoshebeiAddReq bo) {
|
public Boolean insertByBo(BusCailiaoshebeiAddReq bo) {
|
||||||
//1、创建批次号
|
|
||||||
BusCailiaoshebeiPici busCailiaoshebeiPici = new BusCailiaoshebeiPici().
|
|
||||||
setProjectId(bo.getProjectId()).
|
|
||||||
setBatchNumber(BatchNumberGenerator.generateBatchNumber("PC-"));
|
|
||||||
boolean save = busCailiaoshebeiPiciService.save(busCailiaoshebeiPici);
|
|
||||||
if (!save) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
//2、新增初始化数据信息
|
//2、新增初始化数据信息
|
||||||
BusCailiaoshebei add = MapstructUtils.convert(bo, BusCailiaoshebei.class);
|
BusCailiaoshebei add = MapstructUtils.convert(bo, BusCailiaoshebei.class);
|
||||||
assert add != null;
|
assert add != null;
|
||||||
add.setBatchId(busCailiaoshebeiPici.getId()); //批次ID
|
add.setMaterialCode(BatchNumberGenerator.generateBatchNumber("WL-")); //物料编码);
|
||||||
add.setMaterialCode(BatchNumberGenerator.generateBatchNumber("WL-")); //物料编码
|
|
||||||
validEntityBeforeSave(add);
|
validEntityBeforeSave(add);
|
||||||
Boolean flag = baseMapper.insert(add) > 0;
|
Boolean flag = baseMapper.insert(add) > 0;
|
||||||
if (flag) {
|
if (flag) {
|
||||||
@ -157,16 +146,47 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl<BusCailiaoshebeiMap
|
|||||||
if (baseMapper.updateById(entity)==0){
|
if (baseMapper.updateById(entity)==0){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
//2、为每个供应商确认单价等信息
|
//2、每次修改之前都需要删除之前的数据
|
||||||
|
assert entity != null;
|
||||||
|
busSuppliespriceService.remove(
|
||||||
|
new LambdaQueryWrapper<BusSuppliesprice>()
|
||||||
|
.eq(BusSuppliesprice::getCailiaoshebeiId, entity.getId())
|
||||||
|
);
|
||||||
|
//3、为每个供应商确认单价等信息
|
||||||
List<BusCailiaoshebeiEditPlanDto> listOfMaterialInventory = bo.getListOfMaterialInventory();
|
List<BusCailiaoshebeiEditPlanDto> listOfMaterialInventory = bo.getListOfMaterialInventory();
|
||||||
List<BusSuppliesprice> busSuppliesprices = BeanUtil.copyToList(listOfMaterialInventory, BusSuppliesprice.class);
|
List<BusSuppliesprice> busSuppliesprices = BeanUtil.copyToList(listOfMaterialInventory, BusSuppliesprice.class);
|
||||||
busSuppliesprices.forEach(busSuppliesprice -> {
|
busSuppliesprices.forEach(busSuppliesprice -> {
|
||||||
assert entity != null;
|
|
||||||
busSuppliesprice.setCailiaoshebeiId(entity.getId());
|
busSuppliesprice.setCailiaoshebeiId(entity.getId());
|
||||||
});
|
});
|
||||||
return busSuppliespriceService.saveBatch(busSuppliesprices);
|
return busSuppliespriceService.saveBatch(busSuppliesprices);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BusSuppliespriceAddPlanSonRes getInfoPlanSon(Long id) {
|
||||||
|
//1、获取基础数据
|
||||||
|
BusCailiaoshebeiVo busCailiaoshebeiVo = baseMapper.selectVoById(id);
|
||||||
|
if (busCailiaoshebeiVo == null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
BusSuppliespriceAddPlanSonRes res = BeanUtil.copyProperties(busCailiaoshebeiVo, BusSuppliespriceAddPlanSonRes.class);
|
||||||
|
//2、获取到当前下所有单价数据
|
||||||
|
List<BusSuppliesprice> list = busSuppliespriceService.list(
|
||||||
|
new LambdaQueryWrapper<BusSuppliesprice>()
|
||||||
|
.eq(BusSuppliesprice::getCailiaoshebeiId, id)
|
||||||
|
);
|
||||||
|
res.setAddPlanSonList(list);
|
||||||
|
//3、获取到实际数量
|
||||||
|
AtomicInteger num = new AtomicInteger();
|
||||||
|
list.forEach(
|
||||||
|
busSuppliesprice -> {
|
||||||
|
num.addAndGet(busSuppliesprice.getNumber());
|
||||||
|
}
|
||||||
|
);
|
||||||
|
res.setRealQuantity(num.get());
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存前的数据校验
|
* 保存前的数据校验
|
||||||
*/
|
*/
|
||||||
@ -212,4 +232,8 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl<BusCailiaoshebeiMap
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ public class BatchNumberGenerator {
|
|||||||
if (str == null || str.isEmpty()) {
|
if (str == null || str.isEmpty()) {
|
||||||
return currentTimestamp + String.format("%04d", counterValue);
|
return currentTimestamp + String.format("%04d", counterValue);
|
||||||
}
|
}
|
||||||
return currentTimestamp + str + String.format("%04d", counterValue);
|
return str + currentTimestamp + String.format("%04d", counterValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
|||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
@ -17,6 +18,7 @@ import java.io.Serial;
|
|||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@TableName("sub_contractor")
|
@TableName("sub_contractor")
|
||||||
|
@Accessors(chain = true)
|
||||||
public class SubContractor extends BaseEntity {
|
public class SubContractor extends BaseEntity {
|
||||||
|
|
||||||
@Serial
|
@Serial
|
||||||
|
Reference in New Issue
Block a user