feat(oa): 新增送货单及工艺卡模块
- 新增送货单主表、明细表及相关业务逻辑 - 新增工艺卡主表、明细表及相关业务逻辑 - 实现完整的CRUD功能和数据校验 - 配置MyBatis映射文件和Excel导出支持 - 提供Controller接口用于前后端交互
This commit is contained in:
@@ -0,0 +1,101 @@
|
|||||||
|
package com.ruoyi.oa.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||||
|
import com.ruoyi.common.annotation.Log;
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
import com.ruoyi.common.core.domain.R;
|
||||||
|
import com.ruoyi.common.core.validate.AddGroup;
|
||||||
|
import com.ruoyi.common.core.validate.EditGroup;
|
||||||
|
import com.ruoyi.common.core.validate.QueryGroup;
|
||||||
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaDeliveryOrderVo;
|
||||||
|
import com.ruoyi.oa.domain.bo.OaDeliveryOrderBo;
|
||||||
|
import com.ruoyi.oa.service.IOaDeliveryOrderService;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单主
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/oa/deliveryOrder")
|
||||||
|
public class OaDeliveryOrderController extends BaseController {
|
||||||
|
|
||||||
|
private final IOaDeliveryOrderService iOaDeliveryOrderService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询送货单主列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<OaDeliveryOrderVo> list(OaDeliveryOrderBo bo, PageQuery pageQuery) {
|
||||||
|
return iOaDeliveryOrderService.queryPageList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出送货单主列表
|
||||||
|
*/
|
||||||
|
@Log(title = "送货单主", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(OaDeliveryOrderBo bo, HttpServletResponse response) {
|
||||||
|
List<OaDeliveryOrderVo> list = iOaDeliveryOrderService.queryList(bo);
|
||||||
|
ExcelUtil.exportExcel(list, "送货单主", OaDeliveryOrderVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取送货单主详细信息
|
||||||
|
*
|
||||||
|
* @param orderId 主键
|
||||||
|
*/
|
||||||
|
@GetMapping("/{orderId}")
|
||||||
|
public R<OaDeliveryOrderVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long orderId) {
|
||||||
|
return R.ok(iOaDeliveryOrderService.queryById(orderId));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增送货单主
|
||||||
|
*/
|
||||||
|
@Log(title = "送货单主", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody OaDeliveryOrderBo bo) {
|
||||||
|
return toAjax(iOaDeliveryOrderService.insertByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改送货单主
|
||||||
|
*/
|
||||||
|
@Log(title = "送货单主", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody OaDeliveryOrderBo bo) {
|
||||||
|
return toAjax(iOaDeliveryOrderService.updateByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除送货单主
|
||||||
|
*
|
||||||
|
* @param orderIds 主键串
|
||||||
|
*/
|
||||||
|
@Log(title = "送货单主", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{orderIds}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] orderIds) {
|
||||||
|
return toAjax(iOaDeliveryOrderService.deleteWithValidByIds(Arrays.asList(orderIds), true));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
package com.ruoyi.oa.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||||
|
import com.ruoyi.common.annotation.Log;
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
import com.ruoyi.common.core.domain.R;
|
||||||
|
import com.ruoyi.common.core.validate.AddGroup;
|
||||||
|
import com.ruoyi.common.core.validate.EditGroup;
|
||||||
|
import com.ruoyi.common.core.validate.QueryGroup;
|
||||||
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaDeliveryOrderDetailVo;
|
||||||
|
import com.ruoyi.oa.domain.bo.OaDeliveryOrderDetailBo;
|
||||||
|
import com.ruoyi.oa.service.IOaDeliveryOrderDetailService;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单明细
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/oa/deliveryOrderDetail")
|
||||||
|
public class OaDeliveryOrderDetailController extends BaseController {
|
||||||
|
|
||||||
|
private final IOaDeliveryOrderDetailService iOaDeliveryOrderDetailService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询送货单明细列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<OaDeliveryOrderDetailVo> list(OaDeliveryOrderDetailBo bo, PageQuery pageQuery) {
|
||||||
|
return iOaDeliveryOrderDetailService.queryPageList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出送货单明细列表
|
||||||
|
*/
|
||||||
|
@Log(title = "送货单明细", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(OaDeliveryOrderDetailBo bo, HttpServletResponse response) {
|
||||||
|
List<OaDeliveryOrderDetailVo> list = iOaDeliveryOrderDetailService.queryList(bo);
|
||||||
|
ExcelUtil.exportExcel(list, "送货单明细", OaDeliveryOrderDetailVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取送货单明细详细信息
|
||||||
|
*
|
||||||
|
* @param detailId 主键
|
||||||
|
*/
|
||||||
|
@GetMapping("/{detailId}")
|
||||||
|
public R<OaDeliveryOrderDetailVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long detailId) {
|
||||||
|
return R.ok(iOaDeliveryOrderDetailService.queryById(detailId));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增送货单明细
|
||||||
|
*/
|
||||||
|
@Log(title = "送货单明细", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody OaDeliveryOrderDetailBo bo) {
|
||||||
|
return toAjax(iOaDeliveryOrderDetailService.insertByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改送货单明细
|
||||||
|
*/
|
||||||
|
@Log(title = "送货单明细", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody OaDeliveryOrderDetailBo bo) {
|
||||||
|
return toAjax(iOaDeliveryOrderDetailService.updateByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除送货单明细
|
||||||
|
*
|
||||||
|
* @param detailIds 主键串
|
||||||
|
*/
|
||||||
|
@Log(title = "送货单明细", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{detailIds}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] detailIds) {
|
||||||
|
return toAjax(iOaDeliveryOrderDetailService.deleteWithValidByIds(Arrays.asList(detailIds), true));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
package com.ruoyi.oa.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||||
|
import com.ruoyi.common.annotation.Log;
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
import com.ruoyi.common.core.domain.R;
|
||||||
|
import com.ruoyi.common.core.validate.AddGroup;
|
||||||
|
import com.ruoyi.common.core.validate.EditGroup;
|
||||||
|
import com.ruoyi.common.core.validate.QueryGroup;
|
||||||
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaProcessCardVo;
|
||||||
|
import com.ruoyi.oa.domain.bo.OaProcessCardBo;
|
||||||
|
import com.ruoyi.oa.service.IOaProcessCardService;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡主
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/oa/processCard")
|
||||||
|
public class OaProcessCardController extends BaseController {
|
||||||
|
|
||||||
|
private final IOaProcessCardService iOaProcessCardService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询工艺卡主列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<OaProcessCardVo> list(OaProcessCardBo bo, PageQuery pageQuery) {
|
||||||
|
return iOaProcessCardService.queryPageList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出工艺卡主列表
|
||||||
|
*/
|
||||||
|
@Log(title = "工艺卡主", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(OaProcessCardBo bo, HttpServletResponse response) {
|
||||||
|
List<OaProcessCardVo> list = iOaProcessCardService.queryList(bo);
|
||||||
|
ExcelUtil.exportExcel(list, "工艺卡主", OaProcessCardVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取工艺卡主详细信息
|
||||||
|
*
|
||||||
|
* @param cardId 主键
|
||||||
|
*/
|
||||||
|
@GetMapping("/{cardId}")
|
||||||
|
public R<OaProcessCardVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long cardId) {
|
||||||
|
return R.ok(iOaProcessCardService.queryById(cardId));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增工艺卡主
|
||||||
|
*/
|
||||||
|
@Log(title = "工艺卡主", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody OaProcessCardBo bo) {
|
||||||
|
return toAjax(iOaProcessCardService.insertByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改工艺卡主
|
||||||
|
*/
|
||||||
|
@Log(title = "工艺卡主", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody OaProcessCardBo bo) {
|
||||||
|
return toAjax(iOaProcessCardService.updateByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除工艺卡主
|
||||||
|
*
|
||||||
|
* @param cardIds 主键串
|
||||||
|
*/
|
||||||
|
@Log(title = "工艺卡主", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{cardIds}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] cardIds) {
|
||||||
|
return toAjax(iOaProcessCardService.deleteWithValidByIds(Arrays.asList(cardIds), true));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
package com.ruoyi.oa.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||||
|
import com.ruoyi.common.annotation.Log;
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
import com.ruoyi.common.core.domain.R;
|
||||||
|
import com.ruoyi.common.core.validate.AddGroup;
|
||||||
|
import com.ruoyi.common.core.validate.EditGroup;
|
||||||
|
import com.ruoyi.common.core.validate.QueryGroup;
|
||||||
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaProcessCardDetailVo;
|
||||||
|
import com.ruoyi.oa.domain.bo.OaProcessCardDetailBo;
|
||||||
|
import com.ruoyi.oa.service.IOaProcessCardDetailService;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡明细
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/oa/processCardDetail")
|
||||||
|
public class OaProcessCardDetailController extends BaseController {
|
||||||
|
|
||||||
|
private final IOaProcessCardDetailService iOaProcessCardDetailService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询工艺卡明细列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<OaProcessCardDetailVo> list(OaProcessCardDetailBo bo, PageQuery pageQuery) {
|
||||||
|
return iOaProcessCardDetailService.queryPageList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出工艺卡明细列表
|
||||||
|
*/
|
||||||
|
@Log(title = "工艺卡明细", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(OaProcessCardDetailBo bo, HttpServletResponse response) {
|
||||||
|
List<OaProcessCardDetailVo> list = iOaProcessCardDetailService.queryList(bo);
|
||||||
|
ExcelUtil.exportExcel(list, "工艺卡明细", OaProcessCardDetailVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取工艺卡明细详细信息
|
||||||
|
*
|
||||||
|
* @param detailId 主键
|
||||||
|
*/
|
||||||
|
@GetMapping("/{detailId}")
|
||||||
|
public R<OaProcessCardDetailVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long detailId) {
|
||||||
|
return R.ok(iOaProcessCardDetailService.queryById(detailId));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增工艺卡明细
|
||||||
|
*/
|
||||||
|
@Log(title = "工艺卡明细", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody OaProcessCardDetailBo bo) {
|
||||||
|
return toAjax(iOaProcessCardDetailService.insertByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改工艺卡明细
|
||||||
|
*/
|
||||||
|
@Log(title = "工艺卡明细", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody OaProcessCardDetailBo bo) {
|
||||||
|
return toAjax(iOaProcessCardDetailService.updateByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除工艺卡明细
|
||||||
|
*
|
||||||
|
* @param detailIds 主键串
|
||||||
|
*/
|
||||||
|
@Log(title = "工艺卡明细", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{detailIds}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] detailIds) {
|
||||||
|
return toAjax(iOaProcessCardDetailService.deleteWithValidByIds(Arrays.asList(detailIds), true));
|
||||||
|
}
|
||||||
|
}
|
||||||
104
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaDeliveryOrder.java
Normal file
104
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaDeliveryOrder.java
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
package com.ruoyi.oa.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单主对象 oa_delivery_order
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TableName("oa_delivery_order")
|
||||||
|
public class OaDeliveryOrder extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID=1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@TableId(value = "order_id")
|
||||||
|
private Long orderId;
|
||||||
|
/**
|
||||||
|
* 送货单号(Excel:工作表名,如:G031)
|
||||||
|
*/
|
||||||
|
private String deliveryOrderNo;
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
/**
|
||||||
|
* 合同号
|
||||||
|
*/
|
||||||
|
private String contractNo;
|
||||||
|
/**
|
||||||
|
* 用户合同号
|
||||||
|
*/
|
||||||
|
private String userContractNo;
|
||||||
|
/**
|
||||||
|
* 采购合同号
|
||||||
|
*/
|
||||||
|
private String procurementNo;
|
||||||
|
/**
|
||||||
|
* 送达目的地
|
||||||
|
*/
|
||||||
|
private String deliveryDestination;
|
||||||
|
/**
|
||||||
|
* 送货地址
|
||||||
|
*/
|
||||||
|
private String deliveryAddress;
|
||||||
|
/**
|
||||||
|
* 收货人
|
||||||
|
*/
|
||||||
|
private String receiver;
|
||||||
|
/**
|
||||||
|
* 收货人联系电话
|
||||||
|
*/
|
||||||
|
private String receiverPhone;
|
||||||
|
/**
|
||||||
|
* 供应商全称
|
||||||
|
*/
|
||||||
|
private String supplierFullname;
|
||||||
|
/**
|
||||||
|
* 供应商联系人
|
||||||
|
*/
|
||||||
|
private String supplierContact;
|
||||||
|
/**
|
||||||
|
* 供应商联系电话
|
||||||
|
*/
|
||||||
|
private String supplierPhone;
|
||||||
|
/**
|
||||||
|
* 收货单位
|
||||||
|
*/
|
||||||
|
private String receivingCompany;
|
||||||
|
/**
|
||||||
|
* 实际收货人
|
||||||
|
*/
|
||||||
|
private String actualReceiver;
|
||||||
|
/**
|
||||||
|
* 施工单位
|
||||||
|
*/
|
||||||
|
private String constructionCompany;
|
||||||
|
/**
|
||||||
|
* 送货备注
|
||||||
|
*/
|
||||||
|
private String deliveryRemark;
|
||||||
|
/**
|
||||||
|
* 删除标志(0:未删除,1:已删除)
|
||||||
|
*/
|
||||||
|
@TableLogic
|
||||||
|
private Integer delFlag;
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
package com.ruoyi.oa.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单明细对象 oa_delivery_order_detail
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TableName("oa_delivery_order_detail")
|
||||||
|
public class OaDeliveryOrderDetail extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID=1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@TableId(value = "detail_id")
|
||||||
|
private Long detailId;
|
||||||
|
/**
|
||||||
|
* 送货单主表ID
|
||||||
|
*/
|
||||||
|
private Long orderId;
|
||||||
|
/**
|
||||||
|
* 序号(Excel:序号,如:1、2、3)
|
||||||
|
*/
|
||||||
|
private Long sequence;
|
||||||
|
/**
|
||||||
|
* 分箱编号/总箱件数(Excel:分箱编号/总箱件数)
|
||||||
|
*/
|
||||||
|
private String boxNoTotal;
|
||||||
|
/**
|
||||||
|
* 设备工位号(Excel:设备工位号)
|
||||||
|
*/
|
||||||
|
private String equipmentStationNo;
|
||||||
|
/**
|
||||||
|
* 设备名称(Excel:设备名称,如:炉台风机柜、进线柜)
|
||||||
|
*/
|
||||||
|
private String equipmentName;
|
||||||
|
/**
|
||||||
|
* 型号规格(Excel:型号规格,如:BAF+ES、BAF+EA)
|
||||||
|
*/
|
||||||
|
private String modelSpec;
|
||||||
|
/**
|
||||||
|
* 数量(Excel:数量,如:2、1、4)
|
||||||
|
*/
|
||||||
|
private Long quantity;
|
||||||
|
/**
|
||||||
|
* 单位(Excel:单位,如:台、个、包、箱)
|
||||||
|
*/
|
||||||
|
private String unit;
|
||||||
|
/**
|
||||||
|
* 包装形式(Excel:包装形式,如:简易包装)
|
||||||
|
*/
|
||||||
|
private String packagingType;
|
||||||
|
/**
|
||||||
|
* 净重(Excel:净重/kg,单位:kg)
|
||||||
|
*/
|
||||||
|
private BigDecimal netWeight;
|
||||||
|
/**
|
||||||
|
* 毛重(Excel:毛重/kg,单位:kg)
|
||||||
|
*/
|
||||||
|
private BigDecimal grossWeight;
|
||||||
|
/**
|
||||||
|
* 体积(Excel:体积/m³,单位:m³)
|
||||||
|
*/
|
||||||
|
private BigDecimal volume;
|
||||||
|
/**
|
||||||
|
* 箱件尺寸(Excel:箱件尺寸/mm长×宽×高,如:2000*1200*600)
|
||||||
|
*/
|
||||||
|
private String boxSize;
|
||||||
|
/**
|
||||||
|
* 明细备注(Excel:备注,如:内含并柜板螺丝、在炉台风柜内)
|
||||||
|
*/
|
||||||
|
private String detailRemark;
|
||||||
|
/**
|
||||||
|
* 删除标志(0:未删除,1:已删除)
|
||||||
|
*/
|
||||||
|
@TableLogic
|
||||||
|
private Integer delFlag;
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
package com.ruoyi.oa.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡主对象 oa_process_card
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TableName("oa_process_card")
|
||||||
|
public class OaProcessCard extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID=1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@TableId(value = "card_id")
|
||||||
|
private Long cardId;
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
/**
|
||||||
|
* 设备名称(Excel:设备名称,如:调功柜)
|
||||||
|
*/
|
||||||
|
private String equipmentName;
|
||||||
|
/**
|
||||||
|
* 设备数量(Excel:数量,如:3)
|
||||||
|
*/
|
||||||
|
private Long equipmentQuantity;
|
||||||
|
/**
|
||||||
|
* 制造负责人
|
||||||
|
*/
|
||||||
|
private String manufacturingLeader;
|
||||||
|
/**
|
||||||
|
* 作业负责人
|
||||||
|
*/
|
||||||
|
private String operationLeader;
|
||||||
|
/**
|
||||||
|
* 计划交货日期
|
||||||
|
*/
|
||||||
|
private Date plannedDeliveryDate;
|
||||||
|
/**
|
||||||
|
* 删除标志(0:未删除,1:已删除)
|
||||||
|
*/
|
||||||
|
@TableLogic
|
||||||
|
private Integer delFlag;
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
package com.ruoyi.oa.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡明细对象 oa_process_card_detail
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TableName("oa_process_card_detail")
|
||||||
|
public class OaProcessCardDetail extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID=1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@TableId(value = "detail_id")
|
||||||
|
private Long detailId;
|
||||||
|
/**
|
||||||
|
* 工艺卡主表ID(关联process_card_main.id)
|
||||||
|
*/
|
||||||
|
private Long cardId;
|
||||||
|
/**
|
||||||
|
* 序号(Excel:序号,如:1、2、3)
|
||||||
|
*/
|
||||||
|
private Long sequence;
|
||||||
|
/**
|
||||||
|
* 工序名称(Excel:工序,如:图纸设计、钣金安装)
|
||||||
|
*/
|
||||||
|
private String processName;
|
||||||
|
/**
|
||||||
|
* 工序详情(描述工序具体内容、操作要求、技术标准等)
|
||||||
|
*/
|
||||||
|
private String processDetail;
|
||||||
|
/**
|
||||||
|
* 作业责任人(该道工序的具体负责人,区别于主表的整体负责人)
|
||||||
|
*/
|
||||||
|
private String workResponsiblePerson;
|
||||||
|
/**
|
||||||
|
* 工序开始时间(该道工序的实际启动时间,每个明细独立记录)
|
||||||
|
*/
|
||||||
|
private Date processStartTime;
|
||||||
|
/**
|
||||||
|
* 工序结束时间(该道工序的实际完成时间,每个明细独立记录)
|
||||||
|
*/
|
||||||
|
private Date processEndTime;
|
||||||
|
/**
|
||||||
|
* 质检员(Excel:质检员)
|
||||||
|
*/
|
||||||
|
private String inspector;
|
||||||
|
/**
|
||||||
|
* 不合格内容(Excel:不合格内容)
|
||||||
|
*/
|
||||||
|
private String unqualifiedContent;
|
||||||
|
/**
|
||||||
|
* 删除标志(0:未删除,1:已删除)
|
||||||
|
*/
|
||||||
|
@TableLogic
|
||||||
|
private Integer delFlag;
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
package com.ruoyi.oa.domain.bo;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.validate.AddGroup;
|
||||||
|
import com.ruoyi.common.core.validate.EditGroup;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单主业务对象 oa_delivery_order
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class OaDeliveryOrderBo extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
private Long orderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单号(Excel:工作表名,如:G031)
|
||||||
|
*/
|
||||||
|
private String deliveryOrderNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合同号
|
||||||
|
*/
|
||||||
|
private String contractNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户合同号
|
||||||
|
*/
|
||||||
|
private String userContractNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购合同号
|
||||||
|
*/
|
||||||
|
private String procurementNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送达目的地
|
||||||
|
*/
|
||||||
|
private String deliveryDestination;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货地址
|
||||||
|
*/
|
||||||
|
private String deliveryAddress;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货人
|
||||||
|
*/
|
||||||
|
private String receiver;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货人联系电话
|
||||||
|
*/
|
||||||
|
private String receiverPhone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 供应商全称
|
||||||
|
*/
|
||||||
|
private String supplierFullname;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 供应商联系人
|
||||||
|
*/
|
||||||
|
private String supplierContact;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 供应商联系电话
|
||||||
|
*/
|
||||||
|
private String supplierPhone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货单位
|
||||||
|
*/
|
||||||
|
private String receivingCompany;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实际收货人
|
||||||
|
*/
|
||||||
|
private String actualReceiver;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 施工单位
|
||||||
|
*/
|
||||||
|
private String constructionCompany;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货备注
|
||||||
|
*/
|
||||||
|
private String deliveryRemark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
package com.ruoyi.oa.domain.bo;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.validate.AddGroup;
|
||||||
|
import com.ruoyi.common.core.validate.EditGroup;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单明细业务对象 oa_delivery_order_detail
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class OaDeliveryOrderDetailBo extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
private Long detailId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单主表ID
|
||||||
|
*/
|
||||||
|
private Long orderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 序号(Excel:序号,如:1、2、3)
|
||||||
|
*/
|
||||||
|
private Long sequence;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分箱编号/总箱件数(Excel:分箱编号/总箱件数)
|
||||||
|
*/
|
||||||
|
private String boxNoTotal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备工位号(Excel:设备工位号)
|
||||||
|
*/
|
||||||
|
private String equipmentStationNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备名称(Excel:设备名称,如:炉台风机柜、进线柜)
|
||||||
|
*/
|
||||||
|
private String equipmentName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 型号规格(Excel:型号规格,如:BAF+ES、BAF+EA)
|
||||||
|
*/
|
||||||
|
private String modelSpec;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数量(Excel:数量,如:2、1、4)
|
||||||
|
*/
|
||||||
|
private Long quantity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单位(Excel:单位,如:台、个、包、箱)
|
||||||
|
*/
|
||||||
|
private String unit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 包装形式(Excel:包装形式,如:简易包装)
|
||||||
|
*/
|
||||||
|
private String packagingType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 净重(Excel:净重/kg,单位:kg)
|
||||||
|
*/
|
||||||
|
private BigDecimal netWeight;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 毛重(Excel:毛重/kg,单位:kg)
|
||||||
|
*/
|
||||||
|
private BigDecimal grossWeight;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 体积(Excel:体积/m³,单位:m³)
|
||||||
|
*/
|
||||||
|
private BigDecimal volume;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 箱件尺寸(Excel:箱件尺寸/mm长×宽×高,如:2000*1200*600)
|
||||||
|
*/
|
||||||
|
private String boxSize;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 明细备注(Excel:备注,如:内含并柜板螺丝、在炉台风柜内)
|
||||||
|
*/
|
||||||
|
private String detailRemark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
package com.ruoyi.oa.domain.bo;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.validate.AddGroup;
|
||||||
|
import com.ruoyi.common.core.validate.EditGroup;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡主业务对象 oa_process_card
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class OaProcessCardBo extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
private Long cardId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备名称(Excel:设备名称,如:调功柜)
|
||||||
|
*/
|
||||||
|
private String equipmentName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备数量(Excel:数量,如:3)
|
||||||
|
*/
|
||||||
|
private Long equipmentQuantity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 制造负责人
|
||||||
|
*/
|
||||||
|
private String manufacturingLeader;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 作业负责人
|
||||||
|
*/
|
||||||
|
private String operationLeader;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划交货日期
|
||||||
|
*/
|
||||||
|
private Date plannedDeliveryDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
package com.ruoyi.oa.domain.bo;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.validate.AddGroup;
|
||||||
|
import com.ruoyi.common.core.validate.EditGroup;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡明细业务对象 oa_process_card_detail
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class OaProcessCardDetailBo extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
private Long detailId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡主表ID(关联process_card_main.id)
|
||||||
|
*/
|
||||||
|
private Long cardId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 序号(Excel:序号,如:1、2、3)
|
||||||
|
*/
|
||||||
|
private Long sequence;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工序名称(Excel:工序,如:图纸设计、钣金安装)
|
||||||
|
*/
|
||||||
|
private String processName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工序详情(描述工序具体内容、操作要求、技术标准等)
|
||||||
|
*/
|
||||||
|
private String processDetail;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 作业责任人(该道工序的具体负责人,区别于主表的整体负责人)
|
||||||
|
*/
|
||||||
|
private String workResponsiblePerson;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工序开始时间(该道工序的实际启动时间,每个明细独立记录)
|
||||||
|
*/
|
||||||
|
private Date processStartTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工序结束时间(该道工序的实际完成时间,每个明细独立记录)
|
||||||
|
*/
|
||||||
|
private Date processEndTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 质检员(Excel:质检员)
|
||||||
|
*/
|
||||||
|
private String inspector;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 不合格内容(Excel:不合格内容)
|
||||||
|
*/
|
||||||
|
private String unqualifiedContent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,135 @@
|
|||||||
|
package com.ruoyi.oa.domain.vo;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||||
|
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||||
|
import lombok.Data;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单明细视图对象 oa_delivery_order_detail
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class OaDeliveryOrderDetailVo {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "主键ID")
|
||||||
|
private Long detailId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单主表ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "送货单主表ID")
|
||||||
|
private Long orderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 序号(Excel:序号,如:1、2、3)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "序号", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:序号,如:1、2、3")
|
||||||
|
private Long sequence;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分箱编号/总箱件数(Excel:分箱编号/总箱件数)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "分箱编号/总箱件数", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:分箱编号/总箱件数")
|
||||||
|
private String boxNoTotal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备工位号(Excel:设备工位号)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "设备工位号", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:设备工位号")
|
||||||
|
private String equipmentStationNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备名称(Excel:设备名称,如:炉台风机柜、进线柜)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "设备名称", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:设备名称,如:炉台风机柜、进线柜")
|
||||||
|
private String equipmentName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 型号规格(Excel:型号规格,如:BAF+ES、BAF+EA)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "型号规格", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:型号规格,如:BAF+ES、BAF+EA")
|
||||||
|
private String modelSpec;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数量(Excel:数量,如:2、1、4)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "数量", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:数量,如:2、1、4")
|
||||||
|
private Long quantity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单位(Excel:单位,如:台、个、包、箱)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "单位", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:单位,如:台、个、包、箱")
|
||||||
|
private String unit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 包装形式(Excel:包装形式,如:简易包装)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "包装形式", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:包装形式,如:简易包装")
|
||||||
|
private String packagingType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 净重(Excel:净重/kg,单位:kg)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "净重", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:净重/kg,单位:kg")
|
||||||
|
private BigDecimal netWeight;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 毛重(Excel:毛重/kg,单位:kg)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "毛重", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:毛重/kg,单位:kg")
|
||||||
|
private BigDecimal grossWeight;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 体积(Excel:体积/m³,单位:m³)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "体积", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:体积/m³,单位:m³")
|
||||||
|
private BigDecimal volume;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 箱件尺寸(Excel:箱件尺寸/mm长×宽×高,如:2000*1200*600)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "箱件尺寸", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:箱件尺寸/mm长×宽×高,如:2000*1200*600")
|
||||||
|
private String boxSize;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 明细备注(Excel:备注,如:内含并柜板螺丝、在炉台风柜内)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "明细备注", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:备注,如:内含并柜板螺丝、在炉台风柜内")
|
||||||
|
private String detailRemark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,134 @@
|
|||||||
|
package com.ruoyi.oa.domain.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||||
|
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||||
|
import lombok.Data;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单主视图对象 oa_delivery_order
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class OaDeliveryOrderVo {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "主键ID")
|
||||||
|
private Long orderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单号(Excel:工作表名,如:G031)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "送货单号", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:工作表名,如:G031")
|
||||||
|
private String deliveryOrderNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "项目ID")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合同号
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "合同号")
|
||||||
|
private String contractNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户合同号
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "用户合同号")
|
||||||
|
private String userContractNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购合同号
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "采购合同号")
|
||||||
|
private String procurementNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送达目的地
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "送达目的地")
|
||||||
|
private String deliveryDestination;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货地址
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "送货地址")
|
||||||
|
private String deliveryAddress;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货人
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "收货人")
|
||||||
|
private String receiver;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货人联系电话
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "收货人联系电话")
|
||||||
|
private String receiverPhone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 供应商全称
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "供应商全称")
|
||||||
|
private String supplierFullname;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 供应商联系人
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "供应商联系人")
|
||||||
|
private String supplierContact;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 供应商联系电话
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "供应商联系电话")
|
||||||
|
private String supplierPhone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货单位
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "收货单位")
|
||||||
|
private String receivingCompany;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实际收货人
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "实际收货人")
|
||||||
|
private String actualReceiver;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 施工单位
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "施工单位")
|
||||||
|
private String constructionCompany;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货备注
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "送货备注")
|
||||||
|
private String deliveryRemark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
package com.ruoyi.oa.domain.vo;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||||
|
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||||
|
import lombok.Data;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡明细视图对象 oa_process_card_detail
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class OaProcessCardDetailVo {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "主键ID")
|
||||||
|
private Long detailId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡主表ID(关联process_card_main.id)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "工艺卡主表ID", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "关=联process_card_main.id")
|
||||||
|
private Long cardId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 序号(Excel:序号,如:1、2、3)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "序号", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:序号,如:1、2、3")
|
||||||
|
private Long sequence;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工序名称(Excel:工序,如:图纸设计、钣金安装)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "工序名称", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:工序,如:图纸设计、钣金安装")
|
||||||
|
private String processName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工序详情(描述工序具体内容、操作要求、技术标准等)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "工序详情", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "描=述工序具体内容、操作要求、技术标准等")
|
||||||
|
private String processDetail;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 作业责任人(该道工序的具体负责人,区别于主表的整体负责人)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "作业责任人", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "该=道工序的具体负责人,区别于主表的整体负责人")
|
||||||
|
private String workResponsiblePerson;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工序开始时间(该道工序的实际启动时间,每个明细独立记录)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "工序开始时间", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "该=道工序的实际启动时间,每个明细独立记录")
|
||||||
|
private Date processStartTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工序结束时间(该道工序的实际完成时间,每个明细独立记录)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "工序结束时间", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "该=道工序的实际完成时间,每个明细独立记录")
|
||||||
|
private Date processEndTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 质检员(Excel:质检员)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "质检员", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:质检员")
|
||||||
|
private String inspector;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 不合格内容(Excel:不合格内容)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "不合格内容", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:不合格内容")
|
||||||
|
private String unqualifiedContent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
package com.ruoyi.oa.domain.vo;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||||
|
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||||
|
import lombok.Data;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡主视图对象 oa_process_card
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class OaProcessCardVo {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "主键ID")
|
||||||
|
private Long cardId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "项目ID")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备名称(Excel:设备名称,如:调功柜)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "设备名称", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:设备名称,如:调功柜")
|
||||||
|
private String equipmentName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备数量(Excel:数量,如:3)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "设备数量", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "E=xcel:数量,如:3")
|
||||||
|
private Long equipmentQuantity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 制造负责人
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "制造负责人")
|
||||||
|
private String manufacturingLeader;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 作业负责人
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "作业负责人")
|
||||||
|
private String operationLeader;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划交货日期
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "计划交货日期")
|
||||||
|
private Date plannedDeliveryDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.ruoyi.oa.mapper;
|
||||||
|
|
||||||
|
import com.ruoyi.oa.domain.OaDeliveryOrderDetail;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaDeliveryOrderDetailVo;
|
||||||
|
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单明细Mapper接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
public interface OaDeliveryOrderDetailMapper extends BaseMapperPlus<OaDeliveryOrderDetailMapper, OaDeliveryOrderDetail, OaDeliveryOrderDetailVo> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.ruoyi.oa.mapper;
|
||||||
|
|
||||||
|
import com.ruoyi.oa.domain.OaDeliveryOrder;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaDeliveryOrderVo;
|
||||||
|
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单主Mapper接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
public interface OaDeliveryOrderMapper extends BaseMapperPlus<OaDeliveryOrderMapper, OaDeliveryOrder, OaDeliveryOrderVo> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.ruoyi.oa.mapper;
|
||||||
|
|
||||||
|
import com.ruoyi.oa.domain.OaProcessCardDetail;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaProcessCardDetailVo;
|
||||||
|
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡明细Mapper接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
public interface OaProcessCardDetailMapper extends BaseMapperPlus<OaProcessCardDetailMapper, OaProcessCardDetail, OaProcessCardDetailVo> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.ruoyi.oa.mapper;
|
||||||
|
|
||||||
|
import com.ruoyi.oa.domain.OaProcessCard;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaProcessCardVo;
|
||||||
|
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡主Mapper接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
public interface OaProcessCardMapper extends BaseMapperPlus<OaProcessCardMapper, OaProcessCard, OaProcessCardVo> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
package com.ruoyi.oa.service;
|
||||||
|
|
||||||
|
import com.ruoyi.oa.domain.OaDeliveryOrderDetail;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaDeliveryOrderDetailVo;
|
||||||
|
import com.ruoyi.oa.domain.bo.OaDeliveryOrderDetailBo;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单明细Service接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
public interface IOaDeliveryOrderDetailService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询送货单明细
|
||||||
|
*/
|
||||||
|
OaDeliveryOrderDetailVo queryById(Long detailId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询送货单明细列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<OaDeliveryOrderDetailVo> queryPageList(OaDeliveryOrderDetailBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询送货单明细列表
|
||||||
|
*/
|
||||||
|
List<OaDeliveryOrderDetailVo> queryList(OaDeliveryOrderDetailBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增送货单明细
|
||||||
|
*/
|
||||||
|
Boolean insertByBo(OaDeliveryOrderDetailBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改送货单明细
|
||||||
|
*/
|
||||||
|
Boolean updateByBo(OaDeliveryOrderDetailBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除送货单明细信息
|
||||||
|
*/
|
||||||
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
package com.ruoyi.oa.service;
|
||||||
|
|
||||||
|
import com.ruoyi.oa.domain.OaDeliveryOrder;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaDeliveryOrderVo;
|
||||||
|
import com.ruoyi.oa.domain.bo.OaDeliveryOrderBo;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单主Service接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
public interface IOaDeliveryOrderService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询送货单主
|
||||||
|
*/
|
||||||
|
OaDeliveryOrderVo queryById(Long orderId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询送货单主列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<OaDeliveryOrderVo> queryPageList(OaDeliveryOrderBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询送货单主列表
|
||||||
|
*/
|
||||||
|
List<OaDeliveryOrderVo> queryList(OaDeliveryOrderBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增送货单主
|
||||||
|
*/
|
||||||
|
Boolean insertByBo(OaDeliveryOrderBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改送货单主
|
||||||
|
*/
|
||||||
|
Boolean updateByBo(OaDeliveryOrderBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除送货单主信息
|
||||||
|
*/
|
||||||
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
package com.ruoyi.oa.service;
|
||||||
|
|
||||||
|
import com.ruoyi.oa.domain.OaProcessCardDetail;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaProcessCardDetailVo;
|
||||||
|
import com.ruoyi.oa.domain.bo.OaProcessCardDetailBo;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡明细Service接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
public interface IOaProcessCardDetailService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询工艺卡明细
|
||||||
|
*/
|
||||||
|
OaProcessCardDetailVo queryById(Long detailId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询工艺卡明细列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<OaProcessCardDetailVo> queryPageList(OaProcessCardDetailBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询工艺卡明细列表
|
||||||
|
*/
|
||||||
|
List<OaProcessCardDetailVo> queryList(OaProcessCardDetailBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增工艺卡明细
|
||||||
|
*/
|
||||||
|
Boolean insertByBo(OaProcessCardDetailBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改工艺卡明细
|
||||||
|
*/
|
||||||
|
Boolean updateByBo(OaProcessCardDetailBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除工艺卡明细信息
|
||||||
|
*/
|
||||||
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
package com.ruoyi.oa.service;
|
||||||
|
|
||||||
|
import com.ruoyi.oa.domain.OaProcessCard;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaProcessCardVo;
|
||||||
|
import com.ruoyi.oa.domain.bo.OaProcessCardBo;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡主Service接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
public interface IOaProcessCardService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询工艺卡主
|
||||||
|
*/
|
||||||
|
OaProcessCardVo queryById(Long cardId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询工艺卡主列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<OaProcessCardVo> queryPageList(OaProcessCardBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询工艺卡主列表
|
||||||
|
*/
|
||||||
|
List<OaProcessCardVo> queryList(OaProcessCardBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增工艺卡主
|
||||||
|
*/
|
||||||
|
Boolean insertByBo(OaProcessCardBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改工艺卡主
|
||||||
|
*/
|
||||||
|
Boolean updateByBo(OaProcessCardBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除工艺卡主信息
|
||||||
|
*/
|
||||||
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
}
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
package com.ruoyi.oa.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.ruoyi.oa.domain.bo.OaDeliveryOrderDetailBo;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaDeliveryOrderDetailVo;
|
||||||
|
import com.ruoyi.oa.domain.OaDeliveryOrderDetail;
|
||||||
|
import com.ruoyi.oa.mapper.OaDeliveryOrderDetailMapper;
|
||||||
|
import com.ruoyi.oa.service.IOaDeliveryOrderDetailService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单明细Service业务层处理
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class OaDeliveryOrderDetailServiceImpl implements IOaDeliveryOrderDetailService {
|
||||||
|
|
||||||
|
private final OaDeliveryOrderDetailMapper baseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询送货单明细
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public OaDeliveryOrderDetailVo queryById(Long detailId){
|
||||||
|
return baseMapper.selectVoById(detailId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询送货单明细列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<OaDeliveryOrderDetailVo> queryPageList(OaDeliveryOrderDetailBo bo, PageQuery pageQuery) {
|
||||||
|
LambdaQueryWrapper<OaDeliveryOrderDetail> lqw = buildQueryWrapper(bo);
|
||||||
|
Page<OaDeliveryOrderDetailVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
return TableDataInfo.build(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询送货单明细列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<OaDeliveryOrderDetailVo> queryList(OaDeliveryOrderDetailBo bo) {
|
||||||
|
LambdaQueryWrapper<OaDeliveryOrderDetail> lqw = buildQueryWrapper(bo);
|
||||||
|
return baseMapper.selectVoList(lqw);
|
||||||
|
}
|
||||||
|
|
||||||
|
private LambdaQueryWrapper<OaDeliveryOrderDetail> buildQueryWrapper(OaDeliveryOrderDetailBo bo) {
|
||||||
|
Map<String, Object> params = bo.getParams();
|
||||||
|
LambdaQueryWrapper<OaDeliveryOrderDetail> lqw = Wrappers.lambdaQuery();
|
||||||
|
lqw.eq(bo.getOrderId() != null, OaDeliveryOrderDetail::getOrderId, bo.getOrderId());
|
||||||
|
lqw.eq(bo.getSequence() != null, OaDeliveryOrderDetail::getSequence, bo.getSequence());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getBoxNoTotal()), OaDeliveryOrderDetail::getBoxNoTotal, bo.getBoxNoTotal());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getEquipmentStationNo()), OaDeliveryOrderDetail::getEquipmentStationNo, bo.getEquipmentStationNo());
|
||||||
|
lqw.like(StringUtils.isNotBlank(bo.getEquipmentName()), OaDeliveryOrderDetail::getEquipmentName, bo.getEquipmentName());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getModelSpec()), OaDeliveryOrderDetail::getModelSpec, bo.getModelSpec());
|
||||||
|
lqw.eq(bo.getQuantity() != null, OaDeliveryOrderDetail::getQuantity, bo.getQuantity());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getUnit()), OaDeliveryOrderDetail::getUnit, bo.getUnit());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getPackagingType()), OaDeliveryOrderDetail::getPackagingType, bo.getPackagingType());
|
||||||
|
lqw.eq(bo.getNetWeight() != null, OaDeliveryOrderDetail::getNetWeight, bo.getNetWeight());
|
||||||
|
lqw.eq(bo.getGrossWeight() != null, OaDeliveryOrderDetail::getGrossWeight, bo.getGrossWeight());
|
||||||
|
lqw.eq(bo.getVolume() != null, OaDeliveryOrderDetail::getVolume, bo.getVolume());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getBoxSize()), OaDeliveryOrderDetail::getBoxSize, bo.getBoxSize());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getDetailRemark()), OaDeliveryOrderDetail::getDetailRemark, bo.getDetailRemark());
|
||||||
|
lqw.orderByDesc(OaDeliveryOrderDetail::getCreateTime);
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增送货单明细
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean insertByBo(OaDeliveryOrderDetailBo bo) {
|
||||||
|
OaDeliveryOrderDetail add = BeanUtil.toBean(bo, OaDeliveryOrderDetail.class);
|
||||||
|
validEntityBeforeSave(add);
|
||||||
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
|
if (flag) {
|
||||||
|
bo.setDetailId(add.getDetailId());
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改送货单明细
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateByBo(OaDeliveryOrderDetailBo bo) {
|
||||||
|
OaDeliveryOrderDetail update = BeanUtil.toBean(bo, OaDeliveryOrderDetail.class);
|
||||||
|
validEntityBeforeSave(update);
|
||||||
|
return baseMapper.updateById(update) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存前的数据校验
|
||||||
|
*/
|
||||||
|
private void validEntityBeforeSave(OaDeliveryOrderDetail entity){
|
||||||
|
//TODO 做一些数据校验,如唯一约束
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除送货单明细
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
if(isValid){
|
||||||
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
|
}
|
||||||
|
return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,125 @@
|
|||||||
|
package com.ruoyi.oa.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.ruoyi.oa.domain.bo.OaDeliveryOrderBo;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaDeliveryOrderVo;
|
||||||
|
import com.ruoyi.oa.domain.OaDeliveryOrder;
|
||||||
|
import com.ruoyi.oa.mapper.OaDeliveryOrderMapper;
|
||||||
|
import com.ruoyi.oa.service.IOaDeliveryOrderService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 送货单主Service业务层处理
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class OaDeliveryOrderServiceImpl implements IOaDeliveryOrderService {
|
||||||
|
|
||||||
|
private final OaDeliveryOrderMapper baseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询送货单主
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public OaDeliveryOrderVo queryById(Long orderId){
|
||||||
|
return baseMapper.selectVoById(orderId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询送货单主列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<OaDeliveryOrderVo> queryPageList(OaDeliveryOrderBo bo, PageQuery pageQuery) {
|
||||||
|
LambdaQueryWrapper<OaDeliveryOrder> lqw = buildQueryWrapper(bo);
|
||||||
|
Page<OaDeliveryOrderVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
return TableDataInfo.build(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询送货单主列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<OaDeliveryOrderVo> queryList(OaDeliveryOrderBo bo) {
|
||||||
|
LambdaQueryWrapper<OaDeliveryOrder> lqw = buildQueryWrapper(bo);
|
||||||
|
return baseMapper.selectVoList(lqw);
|
||||||
|
}
|
||||||
|
|
||||||
|
private LambdaQueryWrapper<OaDeliveryOrder> buildQueryWrapper(OaDeliveryOrderBo bo) {
|
||||||
|
Map<String, Object> params = bo.getParams();
|
||||||
|
LambdaQueryWrapper<OaDeliveryOrder> lqw = Wrappers.lambdaQuery();
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getDeliveryOrderNo()), OaDeliveryOrder::getDeliveryOrderNo, bo.getDeliveryOrderNo());
|
||||||
|
lqw.eq(bo.getProjectId() != null, OaDeliveryOrder::getProjectId, bo.getProjectId());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getContractNo()), OaDeliveryOrder::getContractNo, bo.getContractNo());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getUserContractNo()), OaDeliveryOrder::getUserContractNo, bo.getUserContractNo());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getProcurementNo()), OaDeliveryOrder::getProcurementNo, bo.getProcurementNo());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getDeliveryDestination()), OaDeliveryOrder::getDeliveryDestination, bo.getDeliveryDestination());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getDeliveryAddress()), OaDeliveryOrder::getDeliveryAddress, bo.getDeliveryAddress());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getReceiver()), OaDeliveryOrder::getReceiver, bo.getReceiver());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getReceiverPhone()), OaDeliveryOrder::getReceiverPhone, bo.getReceiverPhone());
|
||||||
|
lqw.like(StringUtils.isNotBlank(bo.getSupplierFullname()), OaDeliveryOrder::getSupplierFullname, bo.getSupplierFullname());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getSupplierContact()), OaDeliveryOrder::getSupplierContact, bo.getSupplierContact());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getSupplierPhone()), OaDeliveryOrder::getSupplierPhone, bo.getSupplierPhone());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getReceivingCompany()), OaDeliveryOrder::getReceivingCompany, bo.getReceivingCompany());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getActualReceiver()), OaDeliveryOrder::getActualReceiver, bo.getActualReceiver());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getConstructionCompany()), OaDeliveryOrder::getConstructionCompany, bo.getConstructionCompany());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getDeliveryRemark()), OaDeliveryOrder::getDeliveryRemark, bo.getDeliveryRemark());
|
||||||
|
lqw.orderByDesc(OaDeliveryOrder::getCreateTime);
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增送货单主
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean insertByBo(OaDeliveryOrderBo bo) {
|
||||||
|
OaDeliveryOrder add = BeanUtil.toBean(bo, OaDeliveryOrder.class);
|
||||||
|
validEntityBeforeSave(add);
|
||||||
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
|
if (flag) {
|
||||||
|
bo.setOrderId(add.getOrderId());
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改送货单主
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateByBo(OaDeliveryOrderBo bo) {
|
||||||
|
OaDeliveryOrder update = BeanUtil.toBean(bo, OaDeliveryOrder.class);
|
||||||
|
validEntityBeforeSave(update);
|
||||||
|
return baseMapper.updateById(update) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存前的数据校验
|
||||||
|
*/
|
||||||
|
private void validEntityBeforeSave(OaDeliveryOrder entity){
|
||||||
|
//TODO 做一些数据校验,如唯一约束
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除送货单主
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
if(isValid){
|
||||||
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
|
}
|
||||||
|
return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
package com.ruoyi.oa.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.ruoyi.oa.domain.bo.OaProcessCardDetailBo;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaProcessCardDetailVo;
|
||||||
|
import com.ruoyi.oa.domain.OaProcessCardDetail;
|
||||||
|
import com.ruoyi.oa.mapper.OaProcessCardDetailMapper;
|
||||||
|
import com.ruoyi.oa.service.IOaProcessCardDetailService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡明细Service业务层处理
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class OaProcessCardDetailServiceImpl implements IOaProcessCardDetailService {
|
||||||
|
|
||||||
|
private final OaProcessCardDetailMapper baseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询工艺卡明细
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public OaProcessCardDetailVo queryById(Long detailId){
|
||||||
|
return baseMapper.selectVoById(detailId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询工艺卡明细列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<OaProcessCardDetailVo> queryPageList(OaProcessCardDetailBo bo, PageQuery pageQuery) {
|
||||||
|
LambdaQueryWrapper<OaProcessCardDetail> lqw = buildQueryWrapper(bo);
|
||||||
|
Page<OaProcessCardDetailVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
return TableDataInfo.build(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询工艺卡明细列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<OaProcessCardDetailVo> queryList(OaProcessCardDetailBo bo) {
|
||||||
|
LambdaQueryWrapper<OaProcessCardDetail> lqw = buildQueryWrapper(bo);
|
||||||
|
return baseMapper.selectVoList(lqw);
|
||||||
|
}
|
||||||
|
|
||||||
|
private LambdaQueryWrapper<OaProcessCardDetail> buildQueryWrapper(OaProcessCardDetailBo bo) {
|
||||||
|
Map<String, Object> params = bo.getParams();
|
||||||
|
LambdaQueryWrapper<OaProcessCardDetail> lqw = Wrappers.lambdaQuery();
|
||||||
|
lqw.eq(bo.getCardId() != null, OaProcessCardDetail::getCardId, bo.getCardId());
|
||||||
|
lqw.eq(bo.getSequence() != null, OaProcessCardDetail::getSequence, bo.getSequence());
|
||||||
|
lqw.like(StringUtils.isNotBlank(bo.getProcessName()), OaProcessCardDetail::getProcessName, bo.getProcessName());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getProcessDetail()), OaProcessCardDetail::getProcessDetail, bo.getProcessDetail());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getWorkResponsiblePerson()), OaProcessCardDetail::getWorkResponsiblePerson, bo.getWorkResponsiblePerson());
|
||||||
|
lqw.eq(bo.getProcessStartTime() != null, OaProcessCardDetail::getProcessStartTime, bo.getProcessStartTime());
|
||||||
|
lqw.eq(bo.getProcessEndTime() != null, OaProcessCardDetail::getProcessEndTime, bo.getProcessEndTime());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getInspector()), OaProcessCardDetail::getInspector, bo.getInspector());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getUnqualifiedContent()), OaProcessCardDetail::getUnqualifiedContent, bo.getUnqualifiedContent());
|
||||||
|
lqw.orderByDesc(OaProcessCardDetail::getCreateTime);
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增工艺卡明细
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean insertByBo(OaProcessCardDetailBo bo) {
|
||||||
|
OaProcessCardDetail add = BeanUtil.toBean(bo, OaProcessCardDetail.class);
|
||||||
|
validEntityBeforeSave(add);
|
||||||
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
|
if (flag) {
|
||||||
|
bo.setDetailId(add.getDetailId());
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改工艺卡明细
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateByBo(OaProcessCardDetailBo bo) {
|
||||||
|
OaProcessCardDetail update = BeanUtil.toBean(bo, OaProcessCardDetail.class);
|
||||||
|
validEntityBeforeSave(update);
|
||||||
|
return baseMapper.updateById(update) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存前的数据校验
|
||||||
|
*/
|
||||||
|
private void validEntityBeforeSave(OaProcessCardDetail entity){
|
||||||
|
//TODO 做一些数据校验,如唯一约束
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除工艺卡明细
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
if(isValid){
|
||||||
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
|
}
|
||||||
|
return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
package com.ruoyi.oa.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.ruoyi.oa.domain.bo.OaProcessCardBo;
|
||||||
|
import com.ruoyi.oa.domain.vo.OaProcessCardVo;
|
||||||
|
import com.ruoyi.oa.domain.OaProcessCard;
|
||||||
|
import com.ruoyi.oa.mapper.OaProcessCardMapper;
|
||||||
|
import com.ruoyi.oa.service.IOaProcessCardService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工艺卡主Service业务层处理
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-12-08
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class OaProcessCardServiceImpl implements IOaProcessCardService {
|
||||||
|
|
||||||
|
private final OaProcessCardMapper baseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询工艺卡主
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public OaProcessCardVo queryById(Long cardId){
|
||||||
|
return baseMapper.selectVoById(cardId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询工艺卡主列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<OaProcessCardVo> queryPageList(OaProcessCardBo bo, PageQuery pageQuery) {
|
||||||
|
LambdaQueryWrapper<OaProcessCard> lqw = buildQueryWrapper(bo);
|
||||||
|
Page<OaProcessCardVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
return TableDataInfo.build(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询工艺卡主列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<OaProcessCardVo> queryList(OaProcessCardBo bo) {
|
||||||
|
LambdaQueryWrapper<OaProcessCard> lqw = buildQueryWrapper(bo);
|
||||||
|
return baseMapper.selectVoList(lqw);
|
||||||
|
}
|
||||||
|
|
||||||
|
private LambdaQueryWrapper<OaProcessCard> buildQueryWrapper(OaProcessCardBo bo) {
|
||||||
|
Map<String, Object> params = bo.getParams();
|
||||||
|
LambdaQueryWrapper<OaProcessCard> lqw = Wrappers.lambdaQuery();
|
||||||
|
lqw.eq(bo.getProjectId() != null, OaProcessCard::getProjectId, bo.getProjectId());
|
||||||
|
lqw.like(StringUtils.isNotBlank(bo.getEquipmentName()), OaProcessCard::getEquipmentName, bo.getEquipmentName());
|
||||||
|
lqw.eq(bo.getEquipmentQuantity() != null, OaProcessCard::getEquipmentQuantity, bo.getEquipmentQuantity());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getManufacturingLeader()), OaProcessCard::getManufacturingLeader, bo.getManufacturingLeader());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getOperationLeader()), OaProcessCard::getOperationLeader, bo.getOperationLeader());
|
||||||
|
lqw.eq(bo.getPlannedDeliveryDate() != null, OaProcessCard::getPlannedDeliveryDate, bo.getPlannedDeliveryDate());
|
||||||
|
lqw.orderByDesc(OaProcessCard::getCreateTime);
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增工艺卡主
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean insertByBo(OaProcessCardBo bo) {
|
||||||
|
OaProcessCard add = BeanUtil.toBean(bo, OaProcessCard.class);
|
||||||
|
validEntityBeforeSave(add);
|
||||||
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
|
if (flag) {
|
||||||
|
bo.setCardId(add.getCardId());
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改工艺卡主
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateByBo(OaProcessCardBo bo) {
|
||||||
|
OaProcessCard update = BeanUtil.toBean(bo, OaProcessCard.class);
|
||||||
|
validEntityBeforeSave(update);
|
||||||
|
return baseMapper.updateById(update) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存前的数据校验
|
||||||
|
*/
|
||||||
|
private void validEntityBeforeSave(OaProcessCard entity){
|
||||||
|
//TODO 做一些数据校验,如唯一约束
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除工艺卡主
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
if(isValid){
|
||||||
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
|
}
|
||||||
|
return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.ruoyi.oa.mapper.OaDeliveryOrderDetailMapper">
|
||||||
|
|
||||||
|
<resultMap type="com.ruoyi.oa.domain.OaDeliveryOrderDetail" id="OaDeliveryOrderDetailResult">
|
||||||
|
<result property="detailId" column="detail_id"/>
|
||||||
|
<result property="orderId" column="order_id"/>
|
||||||
|
<result property="sequence" column="sequence"/>
|
||||||
|
<result property="boxNoTotal" column="box_no_total"/>
|
||||||
|
<result property="equipmentStationNo" column="equipment_station_no"/>
|
||||||
|
<result property="equipmentName" column="equipment_name"/>
|
||||||
|
<result property="modelSpec" column="model_spec"/>
|
||||||
|
<result property="quantity" column="quantity"/>
|
||||||
|
<result property="unit" column="unit"/>
|
||||||
|
<result property="packagingType" column="packaging_type"/>
|
||||||
|
<result property="netWeight" column="net_weight"/>
|
||||||
|
<result property="grossWeight" column="gross_weight"/>
|
||||||
|
<result property="volume" column="volume"/>
|
||||||
|
<result property="boxSize" column="box_size"/>
|
||||||
|
<result property="detailRemark" column="detail_remark"/>
|
||||||
|
<result property="delFlag" column="del_flag"/>
|
||||||
|
<result property="remark" column="remark"/>
|
||||||
|
<result property="createBy" column="create_by"/>
|
||||||
|
<result property="createTime" column="create_time"/>
|
||||||
|
<result property="updateBy" column="update_by"/>
|
||||||
|
<result property="updateTime" column="update_time"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.ruoyi.oa.mapper.OaDeliveryOrderMapper">
|
||||||
|
|
||||||
|
<resultMap type="com.ruoyi.oa.domain.OaDeliveryOrder" id="OaDeliveryOrderResult">
|
||||||
|
<result property="orderId" column="order_id"/>
|
||||||
|
<result property="deliveryOrderNo" column="delivery_order_no"/>
|
||||||
|
<result property="projectId" column="project_id"/>
|
||||||
|
<result property="contractNo" column="contract_no"/>
|
||||||
|
<result property="userContractNo" column="user_contract_no"/>
|
||||||
|
<result property="procurementNo" column="procurement_no"/>
|
||||||
|
<result property="deliveryDestination" column="delivery_destination"/>
|
||||||
|
<result property="deliveryAddress" column="delivery_address"/>
|
||||||
|
<result property="receiver" column="receiver"/>
|
||||||
|
<result property="receiverPhone" column="receiver_phone"/>
|
||||||
|
<result property="supplierFullname" column="supplier_fullname"/>
|
||||||
|
<result property="supplierContact" column="supplier_contact"/>
|
||||||
|
<result property="supplierPhone" column="supplier_phone"/>
|
||||||
|
<result property="receivingCompany" column="receiving_company"/>
|
||||||
|
<result property="actualReceiver" column="actual_receiver"/>
|
||||||
|
<result property="constructionCompany" column="construction_company"/>
|
||||||
|
<result property="deliveryRemark" column="delivery_remark"/>
|
||||||
|
<result property="delFlag" column="del_flag"/>
|
||||||
|
<result property="remark" column="remark"/>
|
||||||
|
<result property="createBy" column="create_by"/>
|
||||||
|
<result property="createTime" column="create_time"/>
|
||||||
|
<result property="updateBy" column="update_by"/>
|
||||||
|
<result property="updateTime" column="update_time"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.ruoyi.oa.mapper.OaProcessCardDetailMapper">
|
||||||
|
|
||||||
|
<resultMap type="com.ruoyi.oa.domain.OaProcessCardDetail" id="OaProcessCardDetailResult">
|
||||||
|
<result property="detailId" column="detail_id"/>
|
||||||
|
<result property="cardId" column="card_id"/>
|
||||||
|
<result property="sequence" column="sequence"/>
|
||||||
|
<result property="processName" column="process_name"/>
|
||||||
|
<result property="processDetail" column="process_detail"/>
|
||||||
|
<result property="workResponsiblePerson" column="work_responsible_person"/>
|
||||||
|
<result property="processStartTime" column="process_start_time"/>
|
||||||
|
<result property="processEndTime" column="process_end_time"/>
|
||||||
|
<result property="inspector" column="inspector"/>
|
||||||
|
<result property="unqualifiedContent" column="unqualified_content"/>
|
||||||
|
<result property="delFlag" column="del_flag"/>
|
||||||
|
<result property="remark" column="remark"/>
|
||||||
|
<result property="createBy" column="create_by"/>
|
||||||
|
<result property="createTime" column="create_time"/>
|
||||||
|
<result property="updateBy" column="update_by"/>
|
||||||
|
<result property="updateTime" column="update_time"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.ruoyi.oa.mapper.OaProcessCardMapper">
|
||||||
|
|
||||||
|
<resultMap type="com.ruoyi.oa.domain.OaProcessCard" id="OaProcessCardResult">
|
||||||
|
<result property="cardId" column="card_id"/>
|
||||||
|
<result property="projectId" column="project_id"/>
|
||||||
|
<result property="equipmentName" column="equipment_name"/>
|
||||||
|
<result property="equipmentQuantity" column="equipment_quantity"/>
|
||||||
|
<result property="manufacturingLeader" column="manufacturing_leader"/>
|
||||||
|
<result property="operationLeader" column="operation_leader"/>
|
||||||
|
<result property="plannedDeliveryDate" column="planned_delivery_date"/>
|
||||||
|
<result property="delFlag" column="del_flag"/>
|
||||||
|
<result property="remark" column="remark"/>
|
||||||
|
<result property="createBy" column="create_by"/>
|
||||||
|
<result property="createTime" column="create_time"/>
|
||||||
|
<result property="updateBy" column="update_by"/>
|
||||||
|
<result property="updateTime" column="update_time"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user