@ -0,0 +1,23 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 发货单状态枚举
|
||||
* @author chenxi
|
||||
* @date 2024-01-26 12:38
|
||||
*/
|
||||
@Getter
|
||||
public enum DeliverOrderStatusEnum {
|
||||
|
||||
SAVE(1, "已保存"),
|
||||
DELIVER(2, "已发货");
|
||||
|
||||
private int code;
|
||||
private String description;
|
||||
|
||||
DeliverOrderStatusEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,138 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum;
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.service.OperateLogFrameworkService;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderSaveReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverordersub.DeliverOrderSubDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.deliverorder.DeliverOrderService;
|
||||
|
||||
@Tag(name = "管理后台 - 发货订单")
|
||||
@RestController
|
||||
@RequestMapping("/heli/deliver-order")
|
||||
@Validated
|
||||
public class DeliverOrderController {
|
||||
|
||||
@Resource
|
||||
private DeliverOrderService deliverOrderService;
|
||||
|
||||
@Resource
|
||||
private OperateLogFrameworkService operateLogFrameworkService;
|
||||
|
||||
@Resource
|
||||
private HttpServletRequest request;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建发货订单")
|
||||
@PreAuthorize("@ss.hasPermission('heli:deliver-order:create')")
|
||||
public CommonResult<Long> createDeliverOrder(@Valid @RequestBody DeliverOrderSaveReqVO createReqVO) {
|
||||
return success(deliverOrderService.createDeliverOrder(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新发货订单")
|
||||
@PreAuthorize("@ss.hasPermission('heli:deliver-order:update')")
|
||||
public CommonResult<Boolean> updateDeliverOrder(@Valid @RequestBody DeliverOrderSaveReqVO updateReqVO) {
|
||||
deliverOrderService.updateDeliverOrder(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@PostMapping("/operate")
|
||||
@Operation(summary = "操作项目订单")
|
||||
@PreAuthorize("@ss.hasPermission('heli:delivery-order:update')")
|
||||
@OperateLog(enable = false)
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public CommonResult<Long> operateProjectOrder(@Valid @RequestBody DeliverOrderSaveReqVO operateReqVO) {
|
||||
LocalDateTime startTime = LocalDateTime.now();
|
||||
deliverOrderService.operateProjectOrder(operateReqVO);
|
||||
|
||||
// 手动记录日志
|
||||
operateLogFrameworkService.createOperateLog(request,
|
||||
startTime,
|
||||
BusinesTypeEnum.DELIVER_ORDER.name(),
|
||||
operateReqVO.getId(),
|
||||
OperateTypeEnum.valueOf(operateReqVO.getActive()).getType(),
|
||||
operateReqVO.getActiveOpinion());
|
||||
|
||||
return success(operateReqVO.getId());
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除发货订单")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:deliver-order:delete')")
|
||||
public CommonResult<Boolean> deleteDeliverOrder(@RequestParam("id") Long id) {
|
||||
deliverOrderService.deleteDeliverOrder(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得发货订单")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:deliver-order:query')")
|
||||
public CommonResult<DeliverOrderRespVO> getDeliverOrder(@RequestParam("id") Long id) {
|
||||
DeliverOrderDO deliverOrder = deliverOrderService.getDeliverOrder(id);
|
||||
return success(BeanUtils.toBean(deliverOrder, DeliverOrderRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得发货订单分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:deliver-order:query')")
|
||||
public CommonResult<PageResult<DeliverOrderRespVO>> getDeliverOrderPage(@Valid DeliverOrderPageReqVO pageReqVO) {
|
||||
PageResult<DeliverOrderDO> pageResult = deliverOrderService.getDeliverOrderPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, DeliverOrderRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出发货订单 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:deliver-order:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportDeliverOrderExcel(@Valid DeliverOrderPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<DeliverOrderDO> list = deliverOrderService.getDeliverOrderPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "发货订单.xls", "数据", DeliverOrderRespVO.class,
|
||||
BeanUtils.toBean(list, DeliverOrderRespVO.class));
|
||||
}
|
||||
|
||||
// ==================== 子表(发货订单子项) ====================
|
||||
|
||||
@GetMapping("/deliver-order-sub/list-by-delivery-order-id")
|
||||
@Operation(summary = "获得发货订单子项列表")
|
||||
@Parameter(name = "deliveryOrderId", description = "订单id")
|
||||
@PreAuthorize("@ss.hasPermission('heli:deliver-order:query')")
|
||||
public CommonResult<List<DeliverOrderSubDO>> getDeliverOrderSubListByDeliveryOrderId(@RequestParam("deliveryOrderId") Long deliveryOrderId) {
|
||||
return success(deliverOrderService.getDeliverOrderSubListByDeliveryOrderId(deliveryOrderId));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,128 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storage.vo.StorageSaveReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.storagecheckmat.StorageCheckMatService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheck.StorageCheckDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.storagecheck.StorageCheckService;
|
||||
|
||||
@Tag(name = "管理后台 - 入/出库盘点")
|
||||
@RestController
|
||||
@RequestMapping("/heli/storage-check")
|
||||
@Validated
|
||||
public class StorageCheckController {
|
||||
|
||||
@Resource
|
||||
private StorageCheckService storageCheckService;
|
||||
|
||||
@Resource
|
||||
private StorageCheckMatService storageCheckMatService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建入/出库盘点")
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage-check:create')")
|
||||
public CommonResult<Long> createStorageCheck(@Valid @RequestBody StorageCheckSaveReqVO createReqVO) {
|
||||
return success(storageCheckService.createStorageCheck(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新入/出库盘点")
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage-check:update')")
|
||||
public CommonResult<Boolean> updateStorageCheck(@Valid @RequestBody StorageCheckSaveReqVO updateReqVO) {
|
||||
storageCheckService.updateStorageCheck(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@PutMapping("/update-status")
|
||||
@Operation(summary = "更新盘点状态")
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage:update')")
|
||||
public CommonResult<Boolean> updateStorageCheckStatus(@Valid @RequestBody StorageCheckSaveReqVO updateReqVO) {
|
||||
|
||||
// 提交或者删除时记录相关操作人
|
||||
LocalDateTime currTime = LocalDateTime.now();
|
||||
if(updateReqVO.getStatus().equals(2)){
|
||||
// 已提交时间更新
|
||||
updateReqVO.setKeeperTime(currTime);
|
||||
} else if(updateReqVO.getStatus().equals(3)){
|
||||
// 已删除时间更新
|
||||
updateReqVO.setCancelTime(currTime);
|
||||
}
|
||||
// 盘点信息保存
|
||||
storageCheckService.updateStorageCheck(updateReqVO);
|
||||
|
||||
// TODO保存物料列表信息
|
||||
|
||||
// TODO生成入库/出库单据
|
||||
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除入/出库盘点")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage-check:delete')")
|
||||
public CommonResult<Boolean> deleteStorageCheck(@RequestParam("id") Long id) {
|
||||
storageCheckService.deleteStorageCheck(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得入/出库盘点")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage-check:query')")
|
||||
public CommonResult<StorageCheckRespVO> getStorageCheck(@RequestParam("id") Long id) {
|
||||
StorageCheckDO storageCheck = storageCheckService.getStorageCheck(id);
|
||||
return success(BeanUtils.toBean(storageCheck, StorageCheckRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得入/出库盘点分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage-check:query')")
|
||||
public CommonResult<PageResult<StorageCheckRespVO>> getStorageCheckPage(@Valid StorageCheckPageReqVO pageReqVO) {
|
||||
PageResult<StorageCheckDO> pageResult = storageCheckService.getStorageCheckPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, StorageCheckRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出入/出库盘点 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage-check:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportStorageCheckExcel(@Valid StorageCheckPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<StorageCheckDO> list = storageCheckService.getStorageCheckPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "入/出库盘点.xls", "数据", StorageCheckRespVO.class,
|
||||
BeanUtils.toBean(list, StorageCheckRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheckmat.StorageCheckMatDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.storagecheckmat.StorageCheckMatService;
|
||||
|
||||
@Tag(name = "管理后台 - 盘点物料")
|
||||
@RestController
|
||||
@RequestMapping("/heli/storage-check-mat")
|
||||
@Validated
|
||||
public class StorageCheckMatController {
|
||||
|
||||
@Resource
|
||||
private StorageCheckMatService storageCheckMatService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建盘点物料")
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage-check-mat:create')")
|
||||
public CommonResult<Long> createStorageCheckMat(@Valid @RequestBody StorageCheckMatSaveReqVO createReqVO) {
|
||||
return success(storageCheckMatService.createStorageCheckMat(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新盘点物料")
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage-check-mat:update')")
|
||||
public CommonResult<Boolean> updateStorageCheckMat(@Valid @RequestBody StorageCheckMatSaveReqVO updateReqVO) {
|
||||
storageCheckMatService.updateStorageCheckMat(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除盘点物料")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage-check-mat:delete')")
|
||||
public CommonResult<Boolean> deleteStorageCheckMat(@RequestParam("id") Long id) {
|
||||
storageCheckMatService.deleteStorageCheckMat(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得盘点物料")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage-check-mat:query')")
|
||||
public CommonResult<StorageCheckMatRespVO> getStorageCheckMat(@RequestParam("id") Long id) {
|
||||
StorageCheckMatDO storageCheckMat = storageCheckMatService.getStorageCheckMat(id);
|
||||
return success(BeanUtils.toBean(storageCheckMat, StorageCheckMatRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得盘点物料分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage-check-mat:query')")
|
||||
public CommonResult<PageResult<StorageCheckMatRespVO>> getStorageCheckMatPage(@Valid StorageCheckMatPageReqVO pageReqVO) {
|
||||
PageResult<StorageCheckMatDO> pageResult = storageCheckMatService.getStorageCheckMatPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, StorageCheckMatRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出盘点物料 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage-check-mat:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportStorageCheckMatExcel(@Valid StorageCheckMatPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<StorageCheckMatDO> list = storageCheckMatService.getStorageCheckMatPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "盘点物料.xls", "数据", StorageCheckMatRespVO.class,
|
||||
BeanUtils.toBean(list, StorageCheckMatRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
package com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogAll;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 入/出库日志 DO
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
@TableName("v_storage_material_log")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class StorageLogAllDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 库存良品数量
|
||||
*/
|
||||
private BigDecimal storageOkQty;
|
||||
/**
|
||||
* 批次号
|
||||
*/
|
||||
private String lotNo;
|
||||
|
||||
private String stockNo;
|
||||
|
||||
private Integer stockType;
|
||||
|
||||
private String stockTypeName;
|
||||
|
||||
private String headerNo;
|
||||
|
||||
private String matName;
|
||||
|
||||
private String matCode;
|
||||
|
||||
private String matType;
|
||||
|
||||
private String whName;
|
||||
|
||||
private String rgName;
|
||||
|
||||
private String pnName;
|
||||
|
||||
private String shortName;
|
||||
|
||||
private String matSpec;
|
||||
private String matBrand;
|
||||
private String matUnit;
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
package com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 入/出库日志 DO
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
@TableName("v_storage_material_now")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class StorageLogNowDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 库存良品数量
|
||||
*/
|
||||
private BigDecimal storageOkQty;
|
||||
/**
|
||||
* 批次号
|
||||
*/
|
||||
private String lotNo;
|
||||
|
||||
private String matName;
|
||||
|
||||
private String matCode;
|
||||
|
||||
private String matType;
|
||||
|
||||
private Long whId;
|
||||
private String whName;
|
||||
|
||||
private Long rgId;
|
||||
private String rgName;
|
||||
|
||||
private Long pnId;
|
||||
private String pnName;
|
||||
|
||||
private String shortName;
|
||||
|
||||
private String matSpec;
|
||||
private String matBrand;
|
||||
private String matUnit;
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
package com.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.collection.ArrayUtils;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo.DeliverOrderPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
|
||||
import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO;
|
||||
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* 发货订单 Mapper
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
@Mapper
|
||||
public interface DeliverOrderMapper extends BaseMapperX<DeliverOrderDO> {
|
||||
|
||||
default PageResult<DeliverOrderDO> selectPage(DeliverOrderPageReqVO reqVO) {
|
||||
MPJLambdaWrapper<DeliverOrderDO> query = new MPJLambdaWrapper<>();
|
||||
query.selectAll(DeliverOrderDO.class)
|
||||
.select("u.nickname as deliverPersonName", "e.name as customerName")
|
||||
.select("GROUP_CONCAT(distinct p.code) as saleOrderCode", "GROUP_CONCAT(distinct p.mould_name) as mouldName"
|
||||
, "GROUP_CONCAT(distinct p.contract_no) as contractNo", "GROUP_CONCAT(distinct p.property) as property")
|
||||
.leftJoin("project_sale_order p on FIND_IN_SET(p.id, t.sale_order_ids)")
|
||||
.leftJoin(AdminUserDO.class, "u", AdminUserDO::getId, DeliverOrderDO::getDeliverPerson)
|
||||
.leftJoin(CustomerDO.class, "e", CustomerDO::getId, DeliverOrderDO::getCustomerId)
|
||||
.groupBy(DeliverOrderDO::getId)
|
||||
.orderByDesc(DeliverOrderDO::getId)
|
||||
.disableSubLogicDel();
|
||||
query.like(!StringUtils.isEmpty(reqVO.getCode()), DeliverOrderDO::getCode, reqVO.getCode())
|
||||
.like(!StringUtils.isEmpty(reqVO.getSaleOrderCode()), "p.code", reqVO.getSaleOrderCode())
|
||||
.like(!StringUtils.isEmpty(reqVO.getCustomerName()), "e.name", reqVO.getCustomerName())
|
||||
.like(!StringUtils.isEmpty(reqVO.getMouldName()), "p.mould_name", reqVO.getMouldName())
|
||||
.between(reqVO.getDeliverDate() != null && reqVO.getDeliverDate().length == 2,
|
||||
DeliverOrderDO::getDeliverDate, ArrayUtils.get(reqVO.getDeliverDate(), 0), ArrayUtils.get(reqVO.getDeliverDate(), 1))
|
||||
.eq(reqVO.getDeliverStatus() != null, DeliverOrderDO::getDeliverStatus, reqVO.getDeliverStatus());
|
||||
return selectPage(reqVO, query);
|
||||
}
|
||||
|
||||
default DeliverOrderDO selectById(Long id) {
|
||||
MPJLambdaWrapper<DeliverOrderDO> query = new MPJLambdaWrapper<>();
|
||||
query.selectAll(DeliverOrderDO.class)
|
||||
.select("u.nickname as deliverPersonName", "e.name as customerName")
|
||||
.select("GROUP_CONCAT(distinct p.code) as saleOrderCode", "GROUP_CONCAT(distinct p.mould_name) as mouldName"
|
||||
, "GROUP_CONCAT(distinct p.contract_no) as contractNo", "GROUP_CONCAT(distinct p.property) as property")
|
||||
.leftJoin("project_sale_order p on FIND_IN_SET(p.id, t.sale_order_ids)")
|
||||
.leftJoin(CustomerDO.class, "e", CustomerDO::getId, DeliverOrderDO::getCustomerId)
|
||||
.leftJoin(AdminUserDO.class, "u", AdminUserDO::getId, DeliverOrderDO::getDeliverPerson)
|
||||
.eq(DeliverOrderDO::getId, id)
|
||||
.groupBy(DeliverOrderDO::getId)
|
||||
.last("LIMIT 1")
|
||||
.disableSubLogicDel();
|
||||
return selectOne(query);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package com.chanko.yunxi.mes.module.heli.dal.mysql.deliverordersub;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverordersub.DeliverOrderSubDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 发货订单子项 Mapper
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
@Mapper
|
||||
public interface DeliverOrderSubMapper extends BaseMapperX<DeliverOrderSubDO> {
|
||||
|
||||
default List<DeliverOrderSubDO> selectListByDeliveryOrderId(Long deliveryOrderId) {
|
||||
return selectList(DeliverOrderSubDO::getDeliveryOrderId, deliveryOrderId);
|
||||
}
|
||||
|
||||
default int deleteByDeliveryOrderId(Long deliveryOrderId) {
|
||||
return delete(DeliverOrderSubDO::getDeliveryOrderId, deliveryOrderId);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package com.chanko.yunxi.mes.module.heli.dal.mysql.storagecheck;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheck.StorageCheckDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck.vo.*;
|
||||
|
||||
/**
|
||||
* 入/出库盘点 Mapper
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
@Mapper
|
||||
public interface StorageCheckMapper extends BaseMapperX<StorageCheckDO> {
|
||||
|
||||
default PageResult<StorageCheckDO> selectPage(StorageCheckPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<StorageCheckDO>()
|
||||
.eqIfPresent(StorageCheckDO::getId, reqVO.getId())
|
||||
.eqIfPresent(StorageCheckDO::getStockNo, reqVO.getStockNo())
|
||||
.eqIfPresent(StorageCheckDO::getCheckType, reqVO.getCheckType())
|
||||
.eqIfPresent(StorageCheckDO::getNoZero, reqVO.getNoZero())
|
||||
.eqIfPresent(StorageCheckDO::getDescription, reqVO.getDescription())
|
||||
.eqIfPresent(StorageCheckDO::getStatus, reqVO.getStatus())
|
||||
.eqIfPresent(StorageCheckDO::getWhId, reqVO.getWhId())
|
||||
.eqIfPresent(StorageCheckDO::getCreator, reqVO.getCreator())
|
||||
.betweenIfPresent(StorageCheckDO::getCreateTime, reqVO.getCreateTime())
|
||||
.eqIfPresent(StorageCheckDO::getUpdater, reqVO.getUpdater())
|
||||
.betweenIfPresent(StorageCheckDO::getUpdateTime, reqVO.getUpdateTime())
|
||||
.eqIfPresent(StorageCheckDO::getKeeper, reqVO.getKeeper())
|
||||
.betweenIfPresent(StorageCheckDO::getKeeperTime, reqVO.getKeeperTime())
|
||||
.eqIfPresent(StorageCheckDO::getOutbound, reqVO.getOutbound())
|
||||
.betweenIfPresent(StorageCheckDO::getOutboundTime, reqVO.getOutboundTime())
|
||||
.eqIfPresent(StorageCheckDO::getCancel, reqVO.getCancel())
|
||||
.betweenIfPresent(StorageCheckDO::getCancelTime, reqVO.getCancelTime())
|
||||
.orderByDesc(StorageCheckDO::getId));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package com.chanko.yunxi.mes.module.heli.dal.mysql.storagecheckmat;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheckmat.StorageCheckMatDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat.vo.*;
|
||||
|
||||
/**
|
||||
* 盘点物料 Mapper
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
@Mapper
|
||||
public interface StorageCheckMatMapper extends BaseMapperX<StorageCheckMatDO> {
|
||||
|
||||
default PageResult<StorageCheckMatDO> selectPage(StorageCheckMatPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<StorageCheckMatDO>()
|
||||
.eqIfPresent(StorageCheckMatDO::getId, reqVO.getId())
|
||||
.eqIfPresent(StorageCheckMatDO::getCheckId, reqVO.getCheckId())
|
||||
.eqIfPresent(StorageCheckMatDO::getMatId, reqVO.getMatId())
|
||||
.eqIfPresent(StorageCheckMatDO::getWhId, reqVO.getWhId())
|
||||
.eqIfPresent(StorageCheckMatDO::getRgId, reqVO.getRgId())
|
||||
.eqIfPresent(StorageCheckMatDO::getPnId, reqVO.getPnId())
|
||||
.eqIfPresent(StorageCheckMatDO::getStorageOkQty, reqVO.getStorageOkQty())
|
||||
.eqIfPresent(StorageCheckMatDO::getMatRest, reqVO.getMatRest())
|
||||
.eqIfPresent(StorageCheckMatDO::getLotNo, reqVO.getLotNo())
|
||||
.eqIfPresent(StorageCheckMatDO::getCreator, reqVO.getCreator())
|
||||
.betweenIfPresent(StorageCheckMatDO::getCreateTime, reqVO.getCreateTime())
|
||||
.eqIfPresent(StorageCheckMatDO::getUpdater, reqVO.getUpdater())
|
||||
.betweenIfPresent(StorageCheckMatDO::getUpdateTime, reqVO.getUpdateTime())
|
||||
.orderByDesc(StorageCheckMatDO::getId));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog;
|
||||
|
||||
import com.alibaba.druid.util.StringUtils;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageLogPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogAll.StorageLogAllDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 入/出库日志 Mapper
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
@Mapper
|
||||
public interface StorageLogAllMapper extends BaseMapperX<StorageLogAllDO> {
|
||||
|
||||
default PageResult<StorageLogAllDO> selectPage(StorageLogPageReqVO reqVO) {
|
||||
MPJLambdaWrapper<StorageLogAllDO> query = new MPJLambdaWrapper<>();
|
||||
|
||||
query.selectAll(StorageLogAllDO.class)
|
||||
.orderByDesc(StorageLogAllDO::getId);
|
||||
|
||||
query.like(!StringUtils.isEmpty(reqVO.getMatType()),StorageLogAllDO::getMatType, reqVO.getMatType())
|
||||
.eq(reqVO.getStockType()!= null,StorageLogAllDO::getStockType, reqVO.getStockType())
|
||||
.like(!StringUtils.isEmpty(reqVO.getMatName()), StorageLogAllDO::getMatName, reqVO.getMatName())
|
||||
.like(!StringUtils.isEmpty(reqVO.getMatCode()), StorageLogAllDO::getMatCode, reqVO.getMatCode())
|
||||
.like(!StringUtils.isEmpty(reqVO.getStockNo()), StorageLogAllDO::getStockNo, reqVO.getStockNo())
|
||||
.like(!StringUtils.isEmpty(reqVO.getHeaderNo()), StorageLogAllDO::getHeaderNo, reqVO.getHeaderNo())
|
||||
.like(!StringUtils.isEmpty(reqVO.getLotNo()),StorageLogAllDO::getLotNo, reqVO.getLotNo());
|
||||
|
||||
return selectPage(reqVO,query);
|
||||
}
|
||||
PageResult<StorageLogAllDO> selectAllPage(StorageLogPageReqVO reqVO);
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog;
|
||||
|
||||
import com.alibaba.druid.util.StringUtils;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageLogPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 入/出库日志 Mapper
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
@Mapper
|
||||
public interface StorageLogNowMapper extends BaseMapperX<StorageLogNowDO> {
|
||||
|
||||
default PageResult<StorageLogNowDO> selectPage(StorageLogPageReqVO reqVO) {
|
||||
MPJLambdaWrapper<StorageLogNowDO> query = new MPJLambdaWrapper<>();
|
||||
|
||||
query.selectAll(StorageLogNowDO.class)
|
||||
.orderByDesc(StorageLogNowDO::getId);
|
||||
|
||||
query.like(!StringUtils.isEmpty(reqVO.getMatType()),StorageLogNowDO::getMatType, reqVO.getMatType())
|
||||
.eq(reqVO.getWhId()!= null,StorageLogNowDO::getWhId, reqVO.getWhId())
|
||||
.eq(reqVO.getRgId()!= null,StorageLogNowDO::getRgId, reqVO.getRgId())
|
||||
.eq(reqVO.getPnId()!= null,StorageLogNowDO::getPnId, reqVO.getPnId())
|
||||
.like(!StringUtils.isEmpty(reqVO.getMatName()), StorageLogNowDO::getMatName, reqVO.getMatName())
|
||||
.like(!StringUtils.isEmpty(reqVO.getMatCode()), StorageLogNowDO::getMatCode, reqVO.getMatCode())
|
||||
.like(!StringUtils.isEmpty(reqVO.getLotNo()),StorageLogNowDO::getLotNo, reqVO.getLotNo());
|
||||
|
||||
return selectPage(reqVO,query);
|
||||
}
|
||||
PageResult<StorageLogNowDO> selectAllPage(StorageLogPageReqVO reqVO);
|
||||
}
|
@ -0,0 +1,67 @@
|
||||
package com.chanko.yunxi.mes.module.heli.service.deliverorder;
|
||||
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverordersub.DeliverOrderSubDO;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
|
||||
/**
|
||||
* 发货订单 Service 接口
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
public interface DeliverOrderService {
|
||||
|
||||
/**
|
||||
* 创建发货订单
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createDeliverOrder(@Valid DeliverOrderSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新发货订单
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateDeliverOrder(@Valid DeliverOrderSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除发货订单
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteDeliverOrder(Long id);
|
||||
|
||||
/**
|
||||
* 获得发货订单
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 发货订单
|
||||
*/
|
||||
DeliverOrderDO getDeliverOrder(Long id);
|
||||
|
||||
/**
|
||||
* 获得发货订单分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 发货订单分页
|
||||
*/
|
||||
PageResult<DeliverOrderDO> getDeliverOrderPage(DeliverOrderPageReqVO pageReqVO);
|
||||
|
||||
// ==================== 子表(发货订单子项) ====================
|
||||
|
||||
/**
|
||||
* 获得发货订单子项列表
|
||||
*
|
||||
* @param deliveryOrderId 订单id
|
||||
* @return 发货订单子项列表
|
||||
*/
|
||||
List<DeliverOrderSubDO> getDeliverOrderSubListByDeliveryOrderId(Long deliveryOrderId);
|
||||
|
||||
void operateProjectOrder(DeliverOrderSaveReqVO operateReqVO);
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
package com.chanko.yunxi.mes.module.heli.service.storagecheck;
|
||||
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheck.StorageCheckDO;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
|
||||
/**
|
||||
* 入/出库盘点 Service 接口
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
public interface StorageCheckService {
|
||||
|
||||
/**
|
||||
* 创建入/出库盘点
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createStorageCheck(@Valid StorageCheckSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新入/出库盘点
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateStorageCheck(@Valid StorageCheckSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除入/出库盘点
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteStorageCheck(Long id);
|
||||
|
||||
/**
|
||||
* 获得入/出库盘点
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 入/出库盘点
|
||||
*/
|
||||
StorageCheckDO getStorageCheck(Long id);
|
||||
|
||||
/**
|
||||
* 获得入/出库盘点分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 入/出库盘点分页
|
||||
*/
|
||||
PageResult<StorageCheckDO> getStorageCheckPage(StorageCheckPageReqVO pageReqVO);
|
||||
|
||||
}
|
@ -0,0 +1,81 @@
|
||||
package com.chanko.yunxi.mes.module.heli.service.storagecheck;
|
||||
|
||||
import cn.hutool.core.lang.UUID;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheck.StorageCheckDO;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.storagecheck.StorageCheckMapper;
|
||||
|
||||
import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.STOCK_CHECK;
|
||||
import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.STOCK_IN;
|
||||
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*;
|
||||
|
||||
/**
|
||||
* 入/出库盘点 Service 实现类
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class StorageCheckServiceImpl implements StorageCheckService {
|
||||
|
||||
@Resource
|
||||
private StorageCheckMapper storageCheckMapper;
|
||||
|
||||
@Override
|
||||
public Long createStorageCheck(StorageCheckSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
StorageCheckDO storageCheck = BeanUtils.toBean(createReqVO, StorageCheckDO.class);
|
||||
storageCheck.setStockNo(UUID.fastUUID().toString(true));
|
||||
storageCheckMapper.insert(storageCheck);
|
||||
|
||||
storageCheck.setStockNo(STOCK_CHECK.getCode(storageCheck.getId().toString()));
|
||||
storageCheckMapper.updateById(storageCheck);
|
||||
// 返回
|
||||
return storageCheck.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateStorageCheck(StorageCheckSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateStorageCheckExists(updateReqVO.getId());
|
||||
// 更新
|
||||
StorageCheckDO updateObj = BeanUtils.toBean(updateReqVO, StorageCheckDO.class);
|
||||
storageCheckMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteStorageCheck(Long id) {
|
||||
// 校验存在
|
||||
validateStorageCheckExists(id);
|
||||
// 删除
|
||||
storageCheckMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateStorageCheckExists(Long id) {
|
||||
if (storageCheckMapper.selectById(id) == null) {
|
||||
throw exception(STORAGE_CHECK_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public StorageCheckDO getStorageCheck(Long id) {
|
||||
return storageCheckMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<StorageCheckDO> getStorageCheckPage(StorageCheckPageReqVO pageReqVO) {
|
||||
return storageCheckMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
package com.chanko.yunxi.mes.module.heli.service.storagecheckmat;
|
||||
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheckmat.StorageCheckMatDO;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
|
||||
/**
|
||||
* 盘点物料 Service 接口
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
public interface StorageCheckMatService {
|
||||
|
||||
/**
|
||||
* 创建盘点物料
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createStorageCheckMat(@Valid StorageCheckMatSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新盘点物料
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateStorageCheckMat(@Valid StorageCheckMatSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除盘点物料
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteStorageCheckMat(Long id);
|
||||
|
||||
/**
|
||||
* 获得盘点物料
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 盘点物料
|
||||
*/
|
||||
StorageCheckMatDO getStorageCheckMat(Long id);
|
||||
|
||||
/**
|
||||
* 获得盘点物料分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 盘点物料分页
|
||||
*/
|
||||
PageResult<StorageCheckMatDO> getStorageCheckMatPage(StorageCheckMatPageReqVO pageReqVO);
|
||||
|
||||
}
|
@ -0,0 +1,74 @@
|
||||
package com.chanko.yunxi.mes.module.heli.service.storagecheckmat;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheckmat.StorageCheckMatDO;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.storagecheckmat.StorageCheckMatMapper;
|
||||
|
||||
import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*;
|
||||
|
||||
/**
|
||||
* 盘点物料 Service 实现类
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class StorageCheckMatServiceImpl implements StorageCheckMatService {
|
||||
|
||||
@Resource
|
||||
private StorageCheckMatMapper storageCheckMatMapper;
|
||||
|
||||
@Override
|
||||
public Long createStorageCheckMat(StorageCheckMatSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
StorageCheckMatDO storageCheckMat = BeanUtils.toBean(createReqVO, StorageCheckMatDO.class);
|
||||
storageCheckMatMapper.insert(storageCheckMat);
|
||||
// 返回
|
||||
return storageCheckMat.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateStorageCheckMat(StorageCheckMatSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateStorageCheckMatExists(updateReqVO.getId());
|
||||
// 更新
|
||||
StorageCheckMatDO updateObj = BeanUtils.toBean(updateReqVO, StorageCheckMatDO.class);
|
||||
storageCheckMatMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteStorageCheckMat(Long id) {
|
||||
// 校验存在
|
||||
validateStorageCheckMatExists(id);
|
||||
// 删除
|
||||
storageCheckMatMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateStorageCheckMatExists(Long id) {
|
||||
if (storageCheckMatMapper.selectById(id) == null) {
|
||||
throw exception(STORAGE_CHECK_MAT_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public StorageCheckMatDO getStorageCheckMat(Long id) {
|
||||
return storageCheckMatMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<StorageCheckMatDO> getStorageCheckMatPage(StorageCheckMatPageReqVO pageReqVO) {
|
||||
return storageCheckMatMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
import request from '@/config/axios'
|
||||
|
||||
export interface DeliverOrderVO {
|
||||
id: number
|
||||
code: string
|
||||
saleOrderIds: string
|
||||
customerId: number
|
||||
deliverDate: Date
|
||||
deliverStatus: number
|
||||
deliverPerson: number
|
||||
deliverPersonMobile: string
|
||||
deliverMode: string
|
||||
receivePersonMobile: string
|
||||
transportDriverName: string
|
||||
transportDriverMobile: string
|
||||
transportBusNumber: string
|
||||
transportWeight: string
|
||||
transportSize: string
|
||||
remark: string
|
||||
status: number
|
||||
receivePersonName: string
|
||||
receiveAddress: string
|
||||
active: string
|
||||
deliverOrderSubs: object
|
||||
}
|
||||
|
||||
// 查询发货订单分页
|
||||
export const getDeliverOrderPage = async (params) => {
|
||||
return await request.get({ url: `/heli/deliver-order/page`, params })
|
||||
}
|
||||
|
||||
// 查询发货订单详情
|
||||
export const getDeliverOrder = async (id: number) => {
|
||||
return await request.get({ url: `/heli/deliver-order/get?id=` + id })
|
||||
}
|
||||
|
||||
// 新增发货订单
|
||||
export const createDeliverOrder = async (data: DeliverOrderVO) => {
|
||||
return await request.post({ url: `/heli/deliver-order/create`, data })
|
||||
}
|
||||
|
||||
// 修改发货订单
|
||||
export const updateDeliverOrder = async (data: DeliverOrderVO) => {
|
||||
return await request.put({ url: `/heli/deliver-order/update`, data })
|
||||
}
|
||||
|
||||
// 删除发货订单
|
||||
export const deleteDeliverOrder = async (id: number) => {
|
||||
return await request.delete({ url: `/heli/deliver-order/delete?id=` + id })
|
||||
}
|
||||
|
||||
// 导出发货订单 Excel
|
||||
export const exportDeliverOrder = async (params) => {
|
||||
return await request.download({ url: `/heli/deliver-order/export-excel`, params })
|
||||
}
|
||||
|
||||
// ==================== 子表(发货订单子项) ====================
|
||||
|
||||
// 获得发货订单子项列表
|
||||
export const getDeliverOrderSubListByDeliveryOrderId = async (deliveryOrderId) => {
|
||||
return await request.get({ url: `/heli/deliver-order/deliver-order-sub/list-by-delivery-order-id?deliveryOrderId=` + deliveryOrderId })
|
||||
}
|
||||
|
||||
export async function operateDeliverOrder(data: DeliverOrderVO) {
|
||||
return await request.post({ url: `/heli/deliver-order/operate`, data })
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
import request from '@/config/axios'
|
||||
|
||||
export interface StorageCheckVO {
|
||||
id: number
|
||||
stockNo: string
|
||||
checkType: number
|
||||
checkTime: Date
|
||||
noZero: number
|
||||
description: string
|
||||
status: number
|
||||
whId: number
|
||||
keeper: number
|
||||
keeperTime: Date
|
||||
outbound: number
|
||||
outboundTime: Date
|
||||
cancel: number
|
||||
cancelTime: Date
|
||||
}
|
||||
|
||||
// 查询入/出库盘点分页
|
||||
export const getStorageCheckPage = async (params) => {
|
||||
return await request.get({ url: `/heli/storage-check/page`, params })
|
||||
}
|
||||
|
||||
// 查询入/出库盘点详情
|
||||
export const getStorageCheck = async (id: number) => {
|
||||
return await request.get({ url: `/heli/storage-check/get?id=` + id })
|
||||
}
|
||||
|
||||
// 新增入/出库盘点
|
||||
export const createStorageCheck = async (data: StorageCheckVO) => {
|
||||
return await request.post({ url: `/heli/storage-check/create`, data })
|
||||
}
|
||||
|
||||
// 修改入/出库盘点
|
||||
export const updateStorageCheck = async (data: StorageCheckVO) => {
|
||||
return await request.put({ url: `/heli/storage-check/update`, data })
|
||||
}
|
||||
|
||||
// 删除入/出库盘点
|
||||
export const deleteStorageCheck = async (id: number) => {
|
||||
return await request.delete({ url: `/heli/storage-check/delete?id=` + id })
|
||||
}
|
||||
|
||||
// 导出入/出库盘点 Excel
|
||||
export const exportStorageCheck = async (params) => {
|
||||
return await request.download({ url: `/heli/storage-check/export-excel`, params })
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
import request from '@/config/axios'
|
||||
|
||||
export interface StorageCheckMatVO {
|
||||
id: number
|
||||
checkId: number
|
||||
matId: number
|
||||
whId: number
|
||||
rgId: number
|
||||
pnId: number
|
||||
storageOkQty: number
|
||||
matRest: number
|
||||
lotNo: string
|
||||
}
|
||||
|
||||
// 查询盘点物料分页
|
||||
export const getStorageCheckMatPage = async (params) => {
|
||||
return await request.get({ url: `/heli/storage-check-mat/page`, params })
|
||||
}
|
||||
|
||||
// 查询盘点物料详情
|
||||
export const getStorageCheckMat = async (id: number) => {
|
||||
return await request.get({ url: `/heli/storage-check-mat/get?id=` + id })
|
||||
}
|
||||
|
||||
// 新增盘点物料
|
||||
export const createStorageCheckMat = async (data: StorageCheckMatVO) => {
|
||||
return await request.post({ url: `/heli/storage-check-mat/create`, data })
|
||||
}
|
||||
|
||||
// 修改盘点物料
|
||||
export const updateStorageCheckMat = async (data: StorageCheckMatVO) => {
|
||||
return await request.put({ url: `/heli/storage-check-mat/update`, data })
|
||||
}
|
||||
|
||||
// 删除盘点物料
|
||||
export const deleteStorageCheckMat = async (id: number) => {
|
||||
return await request.delete({ url: `/heli/storage-check-mat/delete?id=` + id })
|
||||
}
|
||||
|
||||
// 导出盘点物料 Excel
|
||||
export const exportStorageCheckMat = async (params) => {
|
||||
return await request.download({ url: `/heli/storage-check-mat/export-excel`, params })
|
||||
}
|
After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 16 KiB |