dev #2

Merged
Ghost merged 76 commits from dev into master 9 months ago

@ -68,6 +68,10 @@ public enum OperateTypeEnum {
* *
* */ * */
TERMINATE(13), TERMINATE(13),
/*
*
* */
DELIVER(14),
/** /**
* *
* *

@ -11,7 +11,9 @@ import lombok.Getter;
public enum BusinesTypeEnum { public enum BusinesTypeEnum {
PROJECT_ORDER("销售订单"), PROJECT_ORDER("销售订单"),
PROJECT_ORDER_SNAPSHOT("销售订单快照"); PROJECT_ORDER_SNAPSHOT("销售订单快照"),
DELIVER_ORDER("发货订单"),
;
private String description; private String description;

@ -11,7 +11,8 @@ import lombok.Getter;
public enum BusinessFileTypeEnum { public enum BusinessFileTypeEnum {
CONTRACT("合同"), CONTRACT("合同"),
TECHNOLOGY_PROTOCOL("技术协议"); TECHNOLOGY_PROTOCOL("技术协议"),
ID_CARD("身份证照片");
private String description; private String description;

@ -40,6 +40,7 @@ public enum CodeEnum {
WAREHOUSE("仓库", "Wa", 4), WAREHOUSE("仓库", "Wa", 4),
STOCK_IN("入库单", "WI", 4, "yyyyMMdd"), STOCK_IN("入库单", "WI", 4, "yyyyMMdd"),
STOCK_OUT("出库单", "WO", 4, "yyyyMMdd"), STOCK_OUT("出库单", "WO", 4, "yyyyMMdd"),
STOCK_CHECK("盘点单据", "WC", 4, "yyyyMMdd"),
PROJECT_ORDER("业务订单", 3, "yyyyMM"), PROJECT_ORDER("业务订单", 3, "yyyyMM"),
PROJECT_DELIVERY_ORDER("发货单", "HL", 3, "yyyyMM"), PROJECT_DELIVERY_ORDER("发货单", "HL", 3, "yyyyMM"),
; ;

@ -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;
}
}

@ -15,6 +15,7 @@ import com.chanko.yunxi.mes.framework.common.exception.ErrorCode;
* 002 * 002
* 003 * 003
* 004 * 004
* 005
* 3 * 3
*/ */
public interface ErrorCodeConstants { public interface ErrorCodeConstants {
@ -43,8 +44,13 @@ public interface ErrorCodeConstants {
ErrorCode STORAGE_NOT_EXISTS = new ErrorCode(1_003_004,"库存不存在"); ErrorCode STORAGE_NOT_EXISTS = new ErrorCode(1_003_004,"库存不存在");
ErrorCode STORAGE_MAT_NOT_EXISTS = new ErrorCode(1_003_005, "物料不存在"); ErrorCode STORAGE_MAT_NOT_EXISTS = new ErrorCode(1_003_005, "物料不存在");
ErrorCode STORAGE_LOG_NOT_EXISTS = new ErrorCode(1_003_006, "库存日志不存在"); ErrorCode STORAGE_LOG_NOT_EXISTS = new ErrorCode(1_003_006, "库存日志不存在");
ErrorCode STORAGE_CHECK_NOT_EXISTS = new ErrorCode(1_003_007, "库存盘点不存在");
ErrorCode STORAGE_CHECK_MAT_NOT_EXISTS = new ErrorCode(1_003_008, "盘点物料不存在");
/************订单管理***********/ /************订单管理***********/
ErrorCode PROJECT_ORDER_NOT_EXISTS = new ErrorCode(1_004_001, "项目订单不存在"); ErrorCode PROJECT_ORDER_NOT_EXISTS = new ErrorCode(1_004_001, "项目订单不存在");
/************发货管理***********/
ErrorCode DELIVER_ORDER_NOT_EXISTS = new ErrorCode(1_005_001, "发货订单不存在");
} }

@ -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,86 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 发货订单分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class DeliverOrderPageReqVO extends PageParam {
@Schema(description = "编号,唯一")
private String code;
@Schema(description = "销售订单id列表 多个用英文逗号分割")
private String saleOrderIds;
@Schema(description = "项目销售订单编号")
private String saleOrderCode;
@Schema(description = "客户id", example = "22885")
private Long customerId;
@Schema(description = "客户名称")
private String customerName;
@Schema(description = "发货日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] deliverDate;
@Schema(description = "发货单状态 已保存/已发货", example = "1")
private Integer deliverStatus;
@Schema(description = "发货人")
private Long deliverPerson;
@Schema(description = "发货人电话")
private String deliverPersonMobile;
@Schema(description = "发货方式")
private String deliverMode;
@Schema(description = "收货人电话")
private String receivePersonMobile;
@Schema(description = "司机姓名", example = "王五")
private String transportDriverName;
@Schema(description = "司机电话")
private String transportDriverMobile;
@Schema(description = "车牌号")
private String transportBusNumber;
@Schema(description = "重量(T)")
private String transportWeight;
@Schema(description = "位置(米)")
private String transportSize;
@Schema(description = "备注", example = "随便")
private String remark;
@Schema(description = "状态,1表示正常2表示禁用", example = "1")
private Integer status;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "收货人姓名", example = "张三")
private String receivePersonName;
@Schema(description = "收货详细地址")
private String receiveAddress;
@Schema(description = "模具名称")
private String mouldName;
}

@ -0,0 +1,121 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import com.chanko.yunxi.mes.framework.excel.core.annotations.DictFormat;
import com.chanko.yunxi.mes.framework.excel.core.convert.DictConvert;
@Schema(description = "管理后台 - 发货订单 Response VO")
@Data
@ExcelIgnoreUnannotated
public class DeliverOrderRespVO {
@Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "21429")
@ExcelProperty("自增字段,唯一")
private Long id;
@Schema(description = "编号,唯一", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("编号,唯一")
private String code;
@Schema(description = "销售订单id列表 多个用英文逗号分割", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("销售订单id列表 多个用英文逗号分割")
private String saleOrderIds;
@Schema(description = "客户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22885")
@ExcelProperty("客户id")
private Long customerId;
@Schema(description = "发货日期", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("发货日期")
private LocalDateTime deliverDate;
@Schema(description = "发货单状态 已保存/已发货", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@ExcelProperty(value = "发货单状态 已保存/已发货", converter = DictConvert.class)
@DictFormat("heli_deliver_order_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
private Integer deliverStatus;
@Schema(description = "发货人", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("发货人")
private Long deliverPerson;
@Schema(description = "发货人电话", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("发货人电话")
private String deliverPersonMobile;
@Schema(description = "发货方式", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty(value = "发货方式", converter = DictConvert.class)
@DictFormat("heli_deliver_mode") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
private String deliverMode;
@Schema(description = "收货人电话", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("收货人电话")
private String receivePersonMobile;
@Schema(description = "司机姓名", example = "王五")
@ExcelProperty("司机姓名")
private String transportDriverName;
@Schema(description = "司机电话")
@ExcelProperty("司机电话")
private String transportDriverMobile;
@Schema(description = "车牌号")
@ExcelProperty("车牌号")
private String transportBusNumber;
@Schema(description = "重量(T)")
@ExcelProperty("重量(T)")
private String transportWeight;
@Schema(description = "位置(米)")
@ExcelProperty("位置(米)")
private String transportSize;
@Schema(description = "备注", example = "随便")
@ExcelProperty("备注")
private String remark;
@Schema(description = "状态,1表示正常2表示禁用", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@ExcelProperty("状态,1表示正常2表示禁用")
private Integer status;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "收货人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@ExcelProperty("收货人姓名")
private String receivePersonName;
@Schema(description = "收货详细地址")
@ExcelProperty("收货详细地址")
private String receiveAddress;
@Schema(description = "项目销售单号")
@ExcelProperty("项目销售单号")
private String saleOrderCode;
@Schema(description = "合同号")
@ExcelProperty("合同号")
private String contractNo;
@Schema(description = "模具名称")
@ExcelProperty("模具名称")
private String mouldName;
@Schema(description = "性质")
@ExcelProperty("性质")
private String property;
@Schema(description = "客户名称")
@ExcelProperty("客户名称")
private String customerName;
}

@ -0,0 +1,91 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverordersub.DeliverOrderSubDO;
@Schema(description = "管理后台 - 发货订单新增/修改 Request VO")
@Data
public class DeliverOrderSaveReqVO {
@Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "21429")
private Long id;
@Schema(description = "编号,唯一", requiredMode = Schema.RequiredMode.REQUIRED)
private String code;
@Schema(description = "销售订单id列表 多个用英文逗号分割", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "销售订单id列表 多个用英文逗号分割不能为空")
private String saleOrderIds;
@Schema(description = "客户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22885")
@NotNull(message = "客户id不能为空")
private Long customerId;
@Schema(description = "发货日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "发货日期不能为空")
private LocalDateTime deliverDate;
@Schema(description = "发货单状态 已保存/已发货", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotNull(message = "发货单状态 已保存/已发货不能为空")
private Integer deliverStatus;
@Schema(description = "发货人", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "发货人不能为空")
private Long deliverPerson;
@Schema(description = "发货人电话", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "发货人电话不能为空")
private String deliverPersonMobile;
@Schema(description = "发货方式", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "发货方式不能为空")
private String deliverMode;
@Schema(description = "收货人电话", requiredMode = Schema.RequiredMode.REQUIRED)
private String receivePersonMobile;
@Schema(description = "司机姓名", example = "王五")
private String transportDriverName;
@Schema(description = "司机电话")
private String transportDriverMobile;
@Schema(description = "车牌号")
private String transportBusNumber;
@Schema(description = "重量(T)")
private String transportWeight;
@Schema(description = "位置(米)")
private String transportSize;
@Schema(description = "备注", example = "随便")
private String remark;
@Schema(description = "状态,1表示正常2表示禁用", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotNull(message = "状态,1表示正常2表示禁用不能为空")
private Integer status;
@Schema(description = "收货人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
private String receivePersonName;
@Schema(description = "收货详细地址", requiredMode = Schema.RequiredMode.REQUIRED)
private String receiveAddress;
@Schema(description = "操作类型")
@NotBlank(message = "操作类型不能为空")
private String active;
@Schema(description = "操作意见")
private String activeOpinion;
@Schema(description = "发货订单子项列表")
private List<DeliverOrderSubDO> deliverOrderSubs;
}

@ -1,95 +1,102 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.pn; package com.chanko.yunxi.mes.module.heli.controller.admin.pn;
import org.springframework.web.bind.annotation.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO;
import javax.annotation.Resource; import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated; import javax.annotation.Resource;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated;
import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.constraints.*;
import javax.validation.*; import javax.validation.constraints.*;
import javax.servlet.http.*; import javax.validation.*;
import java.util.*; import javax.servlet.http.*;
import java.io.IOException; 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.PageParam;
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; 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.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.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.pn.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; import com.chanko.yunxi.mes.module.heli.controller.admin.pn.vo.*;
import com.chanko.yunxi.mes.module.heli.service.pn.PnService; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO;
import com.chanko.yunxi.mes.module.heli.service.pn.PnService;
@Tag(name = "管理后台 - 库位")
@RestController @Tag(name = "管理后台 - 库位")
@RequestMapping("/heli/pn") @RestController
@Validated @RequestMapping("/heli/pn")
public class PnController { @Validated
public class PnController {
@Resource
private PnService pnService; @Resource
private PnService pnService;
@PostMapping("/create")
@Operation(summary = "创建库位") @PostMapping("/create")
@PreAuthorize("@ss.hasPermission('heli:pn:create')") @Operation(summary = "创建库位")
public CommonResult<Long> createPn(@Valid @RequestBody PnSaveReqVO createReqVO) { @PreAuthorize("@ss.hasPermission('heli:pn:create')")
return success(pnService.createPn(createReqVO)); public CommonResult<Long> createPn(@Valid @RequestBody PnSaveReqVO createReqVO) {
} return success(pnService.createPn(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新库位") @PutMapping("/update")
@PreAuthorize("@ss.hasPermission('heli:pn:update')") @Operation(summary = "更新库位")
public CommonResult<Boolean> updatePn(@Valid @RequestBody PnSaveReqVO updateReqVO) { @PreAuthorize("@ss.hasPermission('heli:pn:update')")
pnService.updatePn(updateReqVO); public CommonResult<Boolean> updatePn(@Valid @RequestBody PnSaveReqVO updateReqVO) {
return success(true); pnService.updatePn(updateReqVO);
} return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除库位") @DeleteMapping("/delete")
@Parameter(name = "id", description = "编号", required = true) @Operation(summary = "删除库位")
@PreAuthorize("@ss.hasPermission('heli:pn:delete')") @Parameter(name = "id", description = "编号", required = true)
public CommonResult<Boolean> deletePn(@RequestParam("id") Long id) { @PreAuthorize("@ss.hasPermission('heli:pn:delete')")
pnService.deletePn(id); public CommonResult<Boolean> deletePn(@RequestParam("id") Long id) {
return success(true); pnService.deletePn(id);
} return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得库位") @GetMapping("/get")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Operation(summary = "获得库位")
@PreAuthorize("@ss.hasPermission('heli:pn:query')") @Parameter(name = "id", description = "编号", required = true, example = "1024")
public CommonResult<PnRespVO> getPn(@RequestParam("id") Long id) { @PreAuthorize("@ss.hasPermission('heli:pn:query')")
PnDO pn = pnService.getPn(id); public CommonResult<PnRespVO> getPn(@RequestParam("id") Long id) {
return success(BeanUtils.toBean(pn, PnRespVO.class)); PnDO pn = pnService.getPn(id);
} return success(BeanUtils.toBean(pn, PnRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得库位分页") @GetMapping("/page")
@PreAuthorize("@ss.hasPermission('heli:pn:query')") @Operation(summary = "获得库位分页")
public CommonResult<PageResult<PnRespVO>> getPnPage(@Valid PnPageReqVO pageReqVO) { @PreAuthorize("@ss.hasPermission('heli:pn:query')")
PageResult<PnDO> pageResult = pnService.getPnPage(pageReqVO); public CommonResult<PageResult<PnRespVO>> getPnPage(@Valid PnPageReqVO pageReqVO) {
return success(BeanUtils.toBean(pageResult, PnRespVO.class)); PageResult<PnDO> pageResult = pnService.getPnPage(pageReqVO);
} return success(BeanUtils.toBean(pageResult, PnRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出库位 Excel") @GetMapping("/export-excel")
@PreAuthorize("@ss.hasPermission('heli:pn:export')") @Operation(summary = "导出库位 Excel")
@OperateLog(type = EXPORT) @PreAuthorize("@ss.hasPermission('heli:pn:export')")
public void exportPnExcel(@Valid PnPageReqVO pageReqVO, @OperateLog(type = EXPORT)
HttpServletResponse response) throws IOException { public void exportPnExcel(@Valid PnPageReqVO pageReqVO,
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); HttpServletResponse response) throws IOException {
List<PnDO> list = pnService.getPnPage(pageReqVO).getList(); pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
// 导出 Excel List<PnDO> list = pnService.getPnPage(pageReqVO).getList();
ExcelUtils.write(response, "库位.xls", "数据", PnRespVO.class, // 导出 Excel
BeanUtils.toBean(list, PnRespVO.class)); ExcelUtils.write(response, "库位.xls", "数据", PnRespVO.class,
} BeanUtils.toBean(list, PnRespVO.class));
}
} @GetMapping({"/all-simples"})
@Operation(summary = "TODO:获取仓库精简信息列表", description = "只包含被开启的仓库,主要用于前端的下拉选项")
public CommonResult<List<Map<String, Object>> > getSimpleList() {
List<Map<String, Object>> list = pnService.getSimpleList();
// 拼接数据
return success(list);
}
}

@ -12,7 +12,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.Project
import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderRespVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderSaveReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderSaveReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub.ProjectOrderSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum; import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum;
import com.chanko.yunxi.mes.module.heli.service.projectorder.ProjectOrderService; import com.chanko.yunxi.mes.module.heli.service.projectorder.ProjectOrderService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;

@ -28,6 +28,9 @@ public class ProjectOrderPageReqVO extends PageParam {
@Schema(description = "发货状态 未发货/部分发货/全部发货", example = "1") @Schema(description = "发货状态 未发货/部分发货/全部发货", example = "1")
private Integer deliveryStatus; private Integer deliveryStatus;
@Schema(description = "发货状态列表")
private List<Integer> deliveryStatusList;
@Schema(description = "提出部门id", example = "9959") @Schema(description = "提出部门id", example = "9959")
private Long businessDeptId; private Long businessDeptId;

@ -1,6 +1,6 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo; package com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub.ProjectOrderSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;

@ -1,95 +1,103 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.rg; package com.chanko.yunxi.mes.module.heli.controller.admin.rg;
import org.springframework.web.bind.annotation.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO;
import javax.annotation.Resource; import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated; import javax.annotation.Resource;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated;
import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.constraints.*;
import javax.validation.*; import javax.validation.constraints.*;
import javax.servlet.http.*; import javax.validation.*;
import java.util.*; import javax.servlet.http.*;
import java.io.IOException; 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.PageParam;
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; 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.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.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.rg.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; import com.chanko.yunxi.mes.module.heli.controller.admin.rg.vo.*;
import com.chanko.yunxi.mes.module.heli.service.rg.RgService; import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO;
import com.chanko.yunxi.mes.module.heli.service.rg.RgService;
@Tag(name = "管理后台 - 库区")
@RestController @Tag(name = "管理后台 - 库区")
@RequestMapping("/heli/rg") @RestController
@Validated @RequestMapping("/heli/rg")
public class RgController { @Validated
public class RgController {
@Resource
private RgService rgService; @Resource
private RgService rgService;
@PostMapping("/create")
@Operation(summary = "创建库区") @PostMapping("/create")
@PreAuthorize("@ss.hasPermission('heli:rg:create')") @Operation(summary = "创建库区")
public CommonResult<Long> createRg(@Valid @RequestBody RgSaveReqVO createReqVO) { @PreAuthorize("@ss.hasPermission('heli:rg:create')")
return success(rgService.createRg(createReqVO)); public CommonResult<Long> createRg(@Valid @RequestBody RgSaveReqVO createReqVO) {
} return success(rgService.createRg(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新库区") @PutMapping("/update")
@PreAuthorize("@ss.hasPermission('heli:rg:update')") @Operation(summary = "更新库区")
public CommonResult<Boolean> updateRg(@Valid @RequestBody RgSaveReqVO updateReqVO) { @PreAuthorize("@ss.hasPermission('heli:rg:update')")
rgService.updateRg(updateReqVO); public CommonResult<Boolean> updateRg(@Valid @RequestBody RgSaveReqVO updateReqVO) {
return success(true); rgService.updateRg(updateReqVO);
} return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除库区") @DeleteMapping("/delete")
@Parameter(name = "id", description = "编号", required = true) @Operation(summary = "删除库区")
@PreAuthorize("@ss.hasPermission('heli:rg:delete')") @Parameter(name = "id", description = "编号", required = true)
public CommonResult<Boolean> deleteRg(@RequestParam("id") Long id) { @PreAuthorize("@ss.hasPermission('heli:rg:delete')")
rgService.deleteRg(id); public CommonResult<Boolean> deleteRg(@RequestParam("id") Long id) {
return success(true); rgService.deleteRg(id);
} return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得库区") @GetMapping("/get")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Operation(summary = "获得库区")
@PreAuthorize("@ss.hasPermission('heli:rg:query')") @Parameter(name = "id", description = "编号", required = true, example = "1024")
public CommonResult<RgRespVO> getRg(@RequestParam("id") Long id) { @PreAuthorize("@ss.hasPermission('heli:rg:query')")
RgDO rg = rgService.getRg(id); public CommonResult<RgRespVO> getRg(@RequestParam("id") Long id) {
return success(BeanUtils.toBean(rg, RgRespVO.class)); RgDO rg = rgService.getRg(id);
} return success(BeanUtils.toBean(rg, RgRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得库区分页") @GetMapping("/page")
@PreAuthorize("@ss.hasPermission('heli:rg:query')") @Operation(summary = "获得库区分页")
public CommonResult<PageResult<RgRespVO>> getRgPage(@Valid RgPageReqVO pageReqVO) { @PreAuthorize("@ss.hasPermission('heli:rg:query')")
PageResult<RgDO> pageResult = rgService.getRgPage(pageReqVO); public CommonResult<PageResult<RgRespVO>> getRgPage(@Valid RgPageReqVO pageReqVO) {
return success(BeanUtils.toBean(pageResult, RgRespVO.class)); PageResult<RgDO> pageResult = rgService.getRgPage(pageReqVO);
} return success(BeanUtils.toBean(pageResult, RgRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出库区 Excel") @GetMapping("/export-excel")
@PreAuthorize("@ss.hasPermission('heli:rg:export')") @Operation(summary = "导出库区 Excel")
@OperateLog(type = EXPORT) @PreAuthorize("@ss.hasPermission('heli:rg:export')")
public void exportRgExcel(@Valid RgPageReqVO pageReqVO, @OperateLog(type = EXPORT)
HttpServletResponse response) throws IOException { public void exportRgExcel(@Valid RgPageReqVO pageReqVO,
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); HttpServletResponse response) throws IOException {
List<RgDO> list = rgService.getRgPage(pageReqVO).getList(); pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
// 导出 Excel List<RgDO> list = rgService.getRgPage(pageReqVO).getList();
ExcelUtils.write(response, "库区.xls", "数据", RgRespVO.class, // 导出 Excel
BeanUtils.toBean(list, RgRespVO.class)); ExcelUtils.write(response, "库区.xls", "数据", RgRespVO.class,
} BeanUtils.toBean(list, RgRespVO.class));
}
}
@GetMapping({"/all-simples"})
@Operation(summary = "TODO:获取仓库精简信息列表", description = "只包含被开启的仓库,主要用于前端的下拉选项")
public CommonResult<List<Map<String, Object>> > getSimpleList() {
List<Map<String, Object>> list = rgService.getSimpleList();
// 拼接数据
return success(list);
}
}

@ -1,5 +1,9 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.storage; package com.chanko.yunxi.mes.module.heli.controller.admin.storage;
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.storagelog.StorageLogService;
import com.chanko.yunxi.mes.module.heli.service.storagemat.StorageMatService;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -39,6 +43,12 @@ public class StorageController {
@Resource @Resource
private StorageService storageService; private StorageService storageService;
@Resource
private StorageMatService storageMatService;
@Resource
private StorageLogService storageLogService;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建入/出库") @Operation(summary = "创建入/出库")
@PreAuthorize("@ss.hasPermission('heli:storage:create')") @PreAuthorize("@ss.hasPermission('heli:storage:create')")
@ -57,9 +67,12 @@ public class StorageController {
@Operation(summary = "更新入/出库") @Operation(summary = "更新入/出库")
@PreAuthorize("@ss.hasPermission('heli:storage:update')") @PreAuthorize("@ss.hasPermission('heli:storage:update')")
public CommonResult<Boolean> updateStorageStatus(@Valid @RequestBody StorageSaveReqVO updateReqVO) { public CommonResult<Boolean> updateStorageStatus(@Valid @RequestBody StorageSaveReqVO updateReqVO) {
// 获取最新的出入库信息
StorageDO targetDo = storageService.getStorage(updateReqVO.getId()); StorageDO targetDo = storageService.getStorage(updateReqVO.getId());
targetDo.setStatus(updateReqVO.getStatus()); targetDo.setStatus(updateReqVO.getStatus());
// 提交或者作废时记录相关操作人
LocalDateTime currTime = LocalDateTime.now(); LocalDateTime currTime = LocalDateTime.now();
if(updateReqVO.getStatus().equals(2) && updateReqVO.getStockType().equals(1)){ if(updateReqVO.getStatus().equals(2) && updateReqVO.getStockType().equals(1)){
targetDo.setKeeper(updateReqVO.getKeeper()); targetDo.setKeeper(updateReqVO.getKeeper());
@ -74,6 +87,18 @@ public class StorageController {
updateReqVO = BeanUtils.toBean(targetDo, StorageSaveReqVO.class); updateReqVO = BeanUtils.toBean(targetDo, StorageSaveReqVO.class);
storageService.updateStorage(updateReqVO); storageService.updateStorage(updateReqVO);
// 获取当前库存下所有物料信息
List<StorageMatDO> matList = storageMatService.getStorageMatListByStockId(targetDo.getId());
// 将物料信息转化日志信息
List<StorageLogDO> logList = BeanUtils.toBean(matList,StorageLogDO.class);
// 同步库存单状态到日志,便于以后统计
for (StorageLogDO log : logList){
log.setStatus(targetDo.getStatus());
}
// 批量保存当前库存物料日志信息
storageLogService.createStorageLogBatch(logList);
return success(true); return success(true);
} }

@ -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,74 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 入/出库盘点分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class StorageCheckPageReqVO extends PageParam {
@Schema(description = "主键id")
private Long id;
@Schema(description = "盘点单号")
private String stockNo;
@Schema(description = "盘点类型1部分盘点2整体盘点")
private Integer checkType;
@Schema(description = "排除库存为0的物料1是2否")
private Integer noZero;
@Schema(description = "备注")
private String description;
@Schema(description = "状态1已保存2已提交3已删除")
private Integer status;
@Schema(description = "仓库Id对应 wms_wh 表中的Id")
private Long whId;
@Schema(description = "记录的创建人,对应员工表中的 Id")
private String creator;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "记录的修改人,对应员工表中的 Id")
private String updater;
@Schema(description = "更新时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] updateTime;
@Schema(description = "入库人")
private Long keeper;
@Schema(description = "入库时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] keeperTime;
@Schema(description = "出库人")
private Long outbound;
@Schema(description = "出库时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] outboundTime;
@Schema(description = "作废人")
private Long cancel;
@Schema(description = "作废时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] cancelTime;
}

@ -0,0 +1,94 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import com.chanko.yunxi.mes.framework.excel.core.annotations.DictFormat;
import com.chanko.yunxi.mes.framework.excel.core.convert.DictConvert;
@Schema(description = "管理后台 - 入/出库盘点 Response VO")
@Data
@ExcelIgnoreUnannotated
public class StorageCheckRespVO {
@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("主键id")
private Long id;
@Schema(description = "盘点单号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("盘点单号")
private String stockNo;
@Schema(description = "盘点类型1部分盘点2整体盘点")
@ExcelProperty(value = "盘点类型1部分盘点2整体盘点", converter = DictConvert.class)
@DictFormat("heli_storage_mat_check_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
private Integer checkType;
@Schema(description = "排除库存为0的物料1是2否")
@ExcelProperty(value = "排除库存为0的物料1是2否", converter = DictConvert.class)
@DictFormat("heli_common_is_or_not") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
private Integer noZero;
@Schema(description = "备注")
@ExcelProperty("备注")
private String description;
@Schema(description = "状态1已保存2已提交3已删除")
@ExcelProperty(value = "状态1已保存2已提交3已删除", converter = DictConvert.class)
@DictFormat("heli_storage_mat_check_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
private Integer status;
@Schema(description = "仓库Id对应 wms_wh 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("仓库Id对应 wms_wh 表中的Id")
private Long whId;
@Schema(description = "记录的创建人,对应员工表中的 Id", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("记录的创建人,对应员工表中的 Id")
private String creator;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "记录的修改人,对应员工表中的 Id")
@ExcelProperty("记录的修改人,对应员工表中的 Id")
private String updater;
@Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("更新时间")
private LocalDateTime updateTime;
@Schema(description = "入库人")
@ExcelProperty("入库人")
private Long keeper;
@Schema(description = "入库时间")
@ExcelProperty("入库时间")
private LocalDateTime keeperTime;
@Schema(description = "出库人")
@ExcelProperty("出库人")
private Long outbound;
@Schema(description = "出库时间")
@ExcelProperty("出库时间")
private LocalDateTime outboundTime;
@Schema(description = "作废人")
@ExcelProperty("作废人")
private Long cancel;
@Schema(description = "作废时间")
@ExcelProperty("作废时间")
private LocalDateTime cancelTime;
@Schema(description = "盘点单据时间")
@ExcelProperty("盘点单据时间")
private LocalDateTime checkTime;
}

@ -0,0 +1,58 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 入/出库盘点新增/修改 Request VO")
@Data
public class StorageCheckSaveReqVO {
@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED)
private Long id;
@Schema(description = "盘点单号", requiredMode = Schema.RequiredMode.REQUIRED)
private String stockNo;
@Schema(description = "盘点类型1部分盘点2整体盘点")
private Integer checkType;
@Schema(description = "盘点开始时间")
private LocalDateTime checkTime;
@Schema(description = "排除库存为0的物料1是2否")
private Integer noZero;
@Schema(description = "备注")
private String description;
@Schema(description = "状态1已保存2已提交3已删除")
private Integer status;
@Schema(description = "仓库Id对应 wms_wh 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "仓库Id对应 wms_wh 表中的Id不能为空")
private Long whId;
@Schema(description = "入库人")
private Long keeper;
@Schema(description = "入库时间")
private LocalDateTime keeperTime;
@Schema(description = "出库人")
private Long outbound;
@Schema(description = "出库时间")
private LocalDateTime outboundTime;
@Schema(description = "作废人")
private Long cancel;
@Schema(description = "作废时间")
private LocalDateTime cancelTime;
}

@ -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,60 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 盘点物料分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class StorageCheckMatPageReqVO extends PageParam {
@Schema(description = "主键id")
private Long id;
@Schema(description = "盘点Id")
private Long checkId;
@Schema(description = "物料 Id,对应 base_material表中的 Id 列")
private Long matId;
@Schema(description = "仓库 Id对应 wms_wh 表中的Id")
private Long whId;
@Schema(description = "库区 Id对应 wms_rg 表中的Id")
private Long rgId;
@Schema(description = "库区 Id对应 wms_rg 表中的Id")
private Long pnId;
@Schema(description = "盘点数量")
private BigDecimal storageOkQty;
@Schema(description = "物料当前库存数量")
private BigDecimal matRest;
@Schema(description = "批次号")
private String lotNo;
@Schema(description = "记录的创建人,对应员工表中的 Id")
private String creator;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "记录的修改人,对应员工表中的 Id")
private String updater;
@Schema(description = "更新时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] updateTime;
}

@ -0,0 +1,69 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 盘点物料 Response VO")
@Data
@ExcelIgnoreUnannotated
public class StorageCheckMatRespVO {
@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("主键id")
private Long id;
@Schema(description = "盘点Id", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("盘点Id")
private Long checkId;
@Schema(description = "物料 Id,对应 base_material表中的 Id 列", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("物料 Id,对应 base_material表中的 Id 列")
private Long matId;
@Schema(description = "仓库 Id对应 wms_wh 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("仓库 Id对应 wms_wh 表中的Id")
private Long whId;
@Schema(description = "库区 Id对应 wms_rg 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("库区 Id对应 wms_rg 表中的Id")
private Long rgId;
@Schema(description = "库区 Id对应 wms_rg 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("库区 Id对应 wms_rg 表中的Id")
private Long pnId;
@Schema(description = "盘点数量")
@ExcelProperty("盘点数量")
private BigDecimal storageOkQty;
@Schema(description = "物料当前库存数量")
@ExcelProperty("物料当前库存数量")
private BigDecimal matRest;
@Schema(description = "批次号")
@ExcelProperty("批次号")
private String lotNo;
@Schema(description = "记录的创建人,对应员工表中的 Id", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("记录的创建人,对应员工表中的 Id")
private String creator;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "记录的修改人,对应员工表中的 Id")
@ExcelProperty("记录的修改人,对应员工表中的 Id")
private String updater;
@Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("更新时间")
private LocalDateTime updateTime;
}

@ -0,0 +1,46 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.storagecheckmat.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.util.*;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 盘点物料新增/修改 Request VO")
@Data
public class StorageCheckMatSaveReqVO {
@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED)
private Long id;
@Schema(description = "盘点Id", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "盘点Id不能为空")
private Long checkId;
@Schema(description = "物料 Id,对应 base_material表中的 Id 列", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "物料 Id,对应 base_material表中的 Id 列不能为空")
private Long matId;
@Schema(description = "仓库 Id对应 wms_wh 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "仓库 Id对应 wms_wh 表中的Id不能为空")
private Long whId;
@Schema(description = "库区 Id对应 wms_rg 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "库区 Id对应 wms_rg 表中的Id不能为空")
private Long rgId;
@Schema(description = "库区 Id对应 wms_rg 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "库区 Id对应 wms_rg 表中的Id不能为空")
private Long pnId;
@Schema(description = "盘点数量")
private BigDecimal storageOkQty;
@Schema(description = "物料当前库存数量")
private BigDecimal matRest;
@Schema(description = "批次号")
private String lotNo;
}

@ -1,95 +1,105 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.storagelog; package com.chanko.yunxi.mes.module.heli.controller.admin.storagelog;
import org.springframework.web.bind.annotation.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogAll.StorageLogAllDO;
import javax.annotation.Resource; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO;
import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*;
import org.springframework.security.access.prepost.PreAuthorize; import javax.annotation.Resource;
import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.validation.annotation.Validated;
import io.swagger.v3.oas.annotations.Parameter; import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import javax.validation.constraints.*; import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*;
import javax.servlet.http.*; import javax.validation.constraints.*;
import java.util.*; import javax.validation.*;
import java.io.IOException; import javax.servlet.http.*;
import java.util.*;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam; import java.io.IOException;
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.pojo.PageParam;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*; import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO;
import com.chanko.yunxi.mes.module.heli.service.storagelog.StorageLogService; import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO;
@Tag(name = "管理后台 - 入/出库日志") import com.chanko.yunxi.mes.module.heli.service.storagelog.StorageLogService;
@RestController
@RequestMapping("/heli/storage-log") @Tag(name = "管理后台 - 入/出库日志")
@Validated @RestController
public class StorageLogController { @RequestMapping("/heli/storage-log")
@Validated
@Resource public class StorageLogController {
private StorageLogService storageLogService;
@Resource
@PostMapping("/create") private StorageLogService storageLogService;
@Operation(summary = "创建入/出库日志")
@PreAuthorize("@ss.hasPermission('heli:storage-log:create')") @PostMapping("/create")
public CommonResult<Long> createStorageLog(@Valid @RequestBody StorageLogSaveReqVO createReqVO) { @Operation(summary = "创建入/出库日志")
return success(storageLogService.createStorageLog(createReqVO)); @PreAuthorize("@ss.hasPermission('heli:storage-log:create')")
} public CommonResult<Long> createStorageLog(@Valid @RequestBody StorageLogSaveReqVO createReqVO) {
return success(storageLogService.createStorageLog(createReqVO));
@PutMapping("/update") }
@Operation(summary = "更新入/出库日志")
@PreAuthorize("@ss.hasPermission('heli:storage-log:update')") @PutMapping("/update")
public CommonResult<Boolean> updateStorageLog(@Valid @RequestBody StorageLogSaveReqVO updateReqVO) { @Operation(summary = "更新入/出库日志")
storageLogService.updateStorageLog(updateReqVO); @PreAuthorize("@ss.hasPermission('heli:storage-log:update')")
return success(true); public CommonResult<Boolean> updateStorageLog(@Valid @RequestBody StorageLogSaveReqVO updateReqVO) {
} storageLogService.updateStorageLog(updateReqVO);
return success(true);
@DeleteMapping("/delete") }
@Operation(summary = "删除入/出库日志")
@Parameter(name = "id", description = "编号", required = true) @DeleteMapping("/delete")
@PreAuthorize("@ss.hasPermission('heli:storage-log:delete')") @Operation(summary = "删除入/出库日志")
public CommonResult<Boolean> deleteStorageLog(@RequestParam("id") Long id) { @Parameter(name = "id", description = "编号", required = true)
storageLogService.deleteStorageLog(id); @PreAuthorize("@ss.hasPermission('heli:storage-log:delete')")
return success(true); public CommonResult<Boolean> deleteStorageLog(@RequestParam("id") Long id) {
} storageLogService.deleteStorageLog(id);
return success(true);
@GetMapping("/get") }
@Operation(summary = "获得入/出库日志")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @GetMapping("/get")
@PreAuthorize("@ss.hasPermission('heli:storage-log:query')") @Operation(summary = "获得入/出库日志")
public CommonResult<StorageLogRespVO> getStorageLog(@RequestParam("id") Long id) { @Parameter(name = "id", description = "编号", required = true, example = "1024")
StorageLogDO storageLog = storageLogService.getStorageLog(id); @PreAuthorize("@ss.hasPermission('heli:storage-log:query')")
return success(BeanUtils.toBean(storageLog, StorageLogRespVO.class)); public CommonResult<StorageLogRespVO> getStorageLog(@RequestParam("id") Long id) {
} StorageLogDO storageLog = storageLogService.getStorageLog(id);
return success(BeanUtils.toBean(storageLog, StorageLogRespVO.class));
@GetMapping("/page") }
@Operation(summary = "获得入/出库日志分页")
@PreAuthorize("@ss.hasPermission('heli:storage-log:query')") @GetMapping("/page")
public CommonResult<PageResult<StorageLogRespVO>> getStorageLogPage(@Valid StorageLogPageReqVO pageReqVO) { @Operation(summary = "获得入/出库日志分页")
PageResult<StorageLogDO> pageResult = storageLogService.getStorageLogPage(pageReqVO); @PreAuthorize("@ss.hasPermission('heli:storage-log:query')")
return success(BeanUtils.toBean(pageResult, StorageLogRespVO.class)); public CommonResult<PageResult<StorageLogAllDO>> getStorageLogPage(@Valid StorageLogPageReqVO pageReqVO) {
} PageResult<StorageLogAllDO> pageResult = storageLogService.getStorageLogPage(pageReqVO);
return success(pageResult);
@GetMapping("/export-excel") }
@Operation(summary = "导出入/出库日志 Excel")
@PreAuthorize("@ss.hasPermission('heli:storage-log:export')") @GetMapping("/now")
@OperateLog(type = EXPORT) @Operation(summary = "获得入/出库实时分页")
public void exportStorageLogExcel(@Valid StorageLogPageReqVO pageReqVO, @PreAuthorize("@ss.hasPermission('heli:storage-log:query')")
HttpServletResponse response) throws IOException { public CommonResult<PageResult<StorageLogNowDO>> getStorageNowPage(@Valid StorageLogPageReqVO pageReqVO) {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); PageResult<StorageLogNowDO> pageResult = storageLogService.getStorageNowPage(pageReqVO);
List<StorageLogDO> list = storageLogService.getStorageLogPage(pageReqVO).getList(); return success(pageResult);
// 导出 Excel }
ExcelUtils.write(response, "入/出库日志.xls", "数据", StorageLogRespVO.class,
BeanUtils.toBean(list, StorageLogRespVO.class)); @GetMapping("/export-excel")
} @Operation(summary = "导出入/出库日志 Excel")
@PreAuthorize("@ss.hasPermission('heli:storage-log:export')")
} @OperateLog(type = EXPORT)
public void exportStorageLogExcel(@Valid StorageLogPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<StorageLogAllDO> list = storageLogService.getStorageLogPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "入/出库日志.xls", "数据", StorageLogRespVO.class,
BeanUtils.toBean(list, StorageLogRespVO.class));
}
}

@ -16,45 +16,36 @@ import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_Y
@ToString(callSuper = true) @ToString(callSuper = true)
public class StorageLogPageReqVO extends PageParam { public class StorageLogPageReqVO extends PageParam {
@Schema(description = "入/出库Id", example = "3528") @Schema(description = "物料编码")
private Long stockId; private String matCode;
@Schema(description = "物料 Id,对应 base_material表中的 Id 列", example = "21832") @Schema(description = "物料名称")
private Long matId; private String matName;
@Schema(description = "仓库 Id对应 wms_wh 表中的Id", example = "3") @Schema(description = "物料类型")
private Long whId; private String matType;
@Schema(description = "库区 Id对应 wms_rg 表中的Id", example = "15108")
private Long rgId;
@Schema(description = "库区 Id对应 wms_rg 表中的Id", example = "3954")
private Long pnId;
@Schema(description = "库存良品数量")
private BigDecimal storageOkQty;
@Schema(description = "批次号") @Schema(description = "批次号")
private String lotNo; private String lotNo;
@Schema(description = "状态") @Schema(description = "业务单据编号")
private String status; private String stockNo;
@Schema(description = "备注", example = "你说的对") @Schema(description = "上游单据编号")
private String description; private String headerNo;
@Schema(description = "记录的创建人,对应员工表中的 Id") @Schema(description = "出入库类型")
private String creator; private Integer stockType;
@Schema(description = "创建时间") @Schema(description = "仓库")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private Long whId;
private LocalDateTime[] createTime;
@Schema(description = "库区")
private Long rgId;
@Schema(description = "库位")
private Long pnId;
@Schema(description = "记录的修改人,对应员工表中的 Id")
private String updater;
@Schema(description = "更新时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] updateTime;
} }

@ -54,4 +54,39 @@ public class StorageLogRespVO {
@ExcelProperty("创建时间") @ExcelProperty("创建时间")
private LocalDateTime createTime; private LocalDateTime createTime;
@Schema(description = "业务编号")
@ExcelProperty("业务编号")
private String stockNo;
@Schema(description = "业务类型")
@ExcelProperty("业务类型")
private Integer stockType;
@Schema(description = "上游业务编号")
@ExcelProperty("上游业务编号")
private String headerNo;
@Schema(description = "物料名称")
@ExcelProperty("物料名称")
private String matName;
@Schema(description = "物料编码")
@ExcelProperty("物料编码")
private String matCode;
@Schema(description = "物料类型")
@ExcelProperty("物料类型")
private String matType;
@Schema(description = "仓库名称")
@ExcelProperty("物料类型")
private String whName;
@Schema(description = "库区名称")
@ExcelProperty("物料类型")
private String rgName;
@Schema(description = "库位名称")
@ExcelProperty("物料类型")
private String pnName;
} }

@ -106,4 +106,12 @@ public class WarehouseController {
// 拼接数据 // 拼接数据
return success(BeanUtils.toBean(list, WarehouseDO.class)); return success(BeanUtils.toBean(list, WarehouseDO.class));
} }
@GetMapping({"/all-simples"})
@Operation(summary = "TODO:获取仓库精简信息列表", description = "只包含被开启的仓库,主要用于前端的下拉选项")
public CommonResult<List<Map<String, Object>> > getSimpleList() {
List<Map<String, Object>> list = warehouseService.getSimpleList();
// 拼接数据
return success(list);
}
} }

@ -0,0 +1,143 @@
package com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder;
import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum;
import com.chanko.yunxi.mes.module.heli.enums.DeliverOrderStatusEnum;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO;
/**
* DO
*
* @author
*/
@TableName("project_deliver_order")
@KeySequence("project_deliver_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DeliverOrderDO extends BaseDO {
/**
*
*/
@TableId
private Long id;
/**
*
*/
private String code;
/**
* id
*/
private String saleOrderIds;
/**
* id
*/
private Long customerId;
/**
*
*/
private LocalDateTime deliverDate;
/**
* /
*
* {@link TODO heli_deliver_order_status }
*/
private Integer deliverStatus;
/**
*
*/
private Long deliverPerson;
/**
*
*/
private String deliverPersonMobile;
/**
*
*
* {@link TODO heli_deliver_mode }
*/
private String deliverMode;
/**
*
*/
private String receivePersonMobile;
/**
*
*/
private String transportDriverName;
/**
*
*/
private String transportDriverMobile;
/**
*
*/
private String transportBusNumber;
/**
* (T)
*/
private String transportWeight;
/**
* ()
*/
private String transportSize;
/**
*
*/
private String remark;
/**
* ,12
*/
private Integer status;
/**
*
*/
private String receivePersonName;
/**
*
*/
private String receiveAddress;
@TableField(exist = false)
private String saleOrderCode;
@TableField(exist = false)
private String contractNo;
@TableField(exist = false)
private String mouldName;
@TableField(exist = false)
private String property;
@TableField(exist = false)
private String customerName;
public boolean canDeliver() {
return DeliverOrderStatusEnum.SAVE.getCode() == this.deliverStatus.intValue();
}
public boolean canOperate(OperateTypeEnum operateTypeEnum) {
switch (operateTypeEnum){
case SAVE:
return canSave();
case DELIVER:
return canDeliver();
default:
return false;
}
}
private boolean canSave() {
return DeliverOrderStatusEnum.SAVE.getCode() == this.deliverStatus.intValue();
}
}

@ -0,0 +1,93 @@
package com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverordersub;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO;
/**
* DO
*
* @author
*/
@TableName("project_deliver_order_sub")
@KeySequence("project_deliver_order_sub_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DeliverOrderSubDO extends BaseDO {
/**
*
*/
@TableId
private Long id;
/**
* id
*/
private Long deliveryOrderId;
/**
* | DELIVER_LIST|OTHER_LIST
*
* {@link TODO heli_deliver_list_type }
*/
private String category;
/**
*
*/
private String name;
/**
*
*/
private String blueprintNo;
/**
*
*/
private Integer amount;
/**
*
*
* {@link TODO heli_material_unit }
*/
private String unit;
/**
* (T)
*/
private String weight;
/**
* ()
*/
private String size;
/**
*
*
* {@link TODO heli_deliver_material_type }
*/
private String subType;
/**
*
*/
private String remark;
/**
* ,12
*/
private Integer status;
/**
*
*/
private Boolean deleted;
/**
* id
*/
private Long saleOrderSubId;
/**
*
*/
private String saleOrderCode;
}

@ -19,8 +19,8 @@ import java.util.Set;
* *
* @author * @author
*/ */
@TableName("project_order") @TableName("project_sale_order")
@KeySequence("project_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @KeySequence("project_sale_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)

@ -1,4 +1,4 @@
package com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub; package com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder;
import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
@ -14,8 +14,8 @@ import java.util.Set;
* *
* @author * @author
*/ */
@TableName("project_order_sub") @TableName("project_sale_order_sub")
@KeySequence("project_order_sub_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @KeySequence("project_sale_order_sub_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
@ -77,4 +77,7 @@ public class ProjectOrderSubDO extends BaseDO {
*/ */
@TableField(exist = false) @TableField(exist = false)
private String compositionName; private String compositionName;
@TableField(exist = false)
private String projectOrderCode;
} }

@ -0,0 +1,90 @@
package com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheck;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO;
/**
* / DO
*
* @author
*/
@TableName("wms_storage_check")
@KeySequence("wms_storage_check_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class StorageCheckDO extends BaseDO {
/**
* id
*/
@TableId
private Long id;
/**
*
*/
private String stockNo;
/**
* 12
*
* {@link TODO heli_storage_mat_check_type }
*/
private Integer checkType;
/**
* 012
*
* {@link TODO heli_common_is_or_not }
*/
private Integer noZero;
/**
*
*/
private String description;
/**
* 123
*
* {@link TODO heli_storage_mat_check_status }
*/
private Integer status;
/**
* Id wms_wh Id
*/
private Long whId;
/**
*
*/
private Long keeper;
/**
*
*/
private LocalDateTime keeperTime;
/**
*
*/
private Long outbound;
/**
*
*/
private LocalDateTime outboundTime;
/**
*
*/
private Long cancel;
/**
*
*/
private LocalDateTime cancelTime;
private LocalDateTime checkTime;
}

@ -0,0 +1,65 @@
package com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheckmat;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO;
/**
* DO
*
* @author
*/
@TableName("wms_storage_check_mat")
@KeySequence("wms_storage_check_mat_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class StorageCheckMatDO extends BaseDO {
/**
* id
*/
@TableId
private Long id;
/**
* Id
*/
private Long checkId;
/**
* Id, base_material Id
*/
private Long matId;
/**
* Id wms_wh Id
*/
private Long whId;
/**
* Id wms_rg Id
*/
private Long rgId;
/**
* Id wms_rg Id
*/
private Long pnId;
/**
*
*/
private BigDecimal storageOkQty;
/**
*
*/
private BigDecimal matRest;
/**
*
*/
private String lotNo;
}

@ -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);
}
}

@ -2,10 +2,14 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.pn;
import java.util.*; import java.util.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; 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.query.LambdaQueryWrapperX;
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
import com.chanko.yunxi.mes.framework.mybatis.core.query.QueryWrapperX;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; 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.warehouse.WarehouseDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import com.chanko.yunxi.mes.module.heli.controller.admin.pn.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.pn.vo.*;
@ -31,5 +35,9 @@ public interface PnMapper extends BaseMapperX<PnDO> {
.eqIfPresent(PnDO::getWhId, reqVO.getWhId()) .eqIfPresent(PnDO::getWhId, reqVO.getWhId())
.orderByDesc(PnDO::getId)); .orderByDesc(PnDO::getId));
} }
default List<Map<String, Object>> selectSimpleList() {
return selectMaps(new QueryWrapper<PnDO>().select("id", "pn_name","rg_id").lambda());
}
} }

@ -33,11 +33,14 @@ public interface ProjectOrderMapper extends BaseMapperX<ProjectOrderDO> {
.like(!StringUtils.isEmpty(reqVO.getCustomerName()), "e.name", reqVO.getCustomerName()) .like(!StringUtils.isEmpty(reqVO.getCustomerName()), "e.name", reqVO.getCustomerName())
.like(!StringUtils.isEmpty(reqVO.getBusinessManName()), "u.nickname", reqVO.getBusinessManName()) .like(!StringUtils.isEmpty(reqVO.getBusinessManName()), "u.nickname", reqVO.getBusinessManName())
.like(!StringUtils.isEmpty(reqVO.getMouldName()), ProjectOrderDO::getMouldName, reqVO.getMouldName()) .like(!StringUtils.isEmpty(reqVO.getMouldName()), ProjectOrderDO::getMouldName, reqVO.getMouldName())
.like(!StringUtils.isEmpty(reqVO.getContractNo()), ProjectOrderDO::getContractNo, reqVO.getContractNo())
.eq(reqVO.getHasPrice() != null, ProjectOrderDO::getHasPrice, reqVO.getHasPrice()) .eq(reqVO.getHasPrice() != null, ProjectOrderDO::getHasPrice, reqVO.getHasPrice())
.eq(reqVO.getOrderStatus() != null, ProjectOrderDO::getOrderStatus, reqVO.getOrderStatus()) .eq(reqVO.getOrderStatus() != null, ProjectOrderDO::getOrderStatus, reqVO.getOrderStatus())
.eq(reqVO.getDeliveryStatus() != null, ProjectOrderDO::getDeliveryStatus, reqVO.getDeliveryStatus()) .eq(reqVO.getDeliveryStatus() != null, ProjectOrderDO::getDeliveryStatus, reqVO.getDeliveryStatus())
.in(reqVO.getOrderStatusList() != null && !reqVO.getOrderStatusList().isEmpty(), ProjectOrderDO::getOrderStatus, reqVO.getOrderStatusList()) .in(reqVO.getOrderStatusList() != null && !reqVO.getOrderStatusList().isEmpty(), ProjectOrderDO::getOrderStatus, reqVO.getOrderStatusList())
.in(reqVO.getDeliveryStatusList() != null && !reqVO.getDeliveryStatusList().isEmpty(), ProjectOrderDO::getDeliveryStatus, reqVO.getDeliveryStatusList())
.eq(reqVO.getIsSnapshot() != null, ProjectOrderDO::getIsSnapshot, reqVO.getIsSnapshot()) .eq(reqVO.getIsSnapshot() != null, ProjectOrderDO::getIsSnapshot, reqVO.getIsSnapshot())
.eq(reqVO.getHasAlter() != null, ProjectOrderDO::getHasAlter, reqVO.getHasAlter())
.like(!StringUtils.isEmpty(reqVO.getSnapshotCode()), ProjectOrderDO::getSnapshotCode, reqVO.getSnapshotCode()); .like(!StringUtils.isEmpty(reqVO.getSnapshotCode()), ProjectOrderDO::getSnapshotCode, reqVO.getSnapshotCode());
; ;
return selectPage(reqVO, query); return selectPage(reqVO, query);

@ -1,16 +1,14 @@
package com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder; package com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder;
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.framework.mybatis.core.mapper.BaseMapperX;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub.ProjectOrderSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* Mapper * Mapper
* *
@ -22,7 +20,8 @@ public interface ProjectOrderSubMapper extends BaseMapperX<ProjectOrderSubDO> {
default List<ProjectOrderSubDO> selectListByProjectOrderId(Long projectOrderId) { default List<ProjectOrderSubDO> selectListByProjectOrderId(Long projectOrderId) {
MPJLambdaWrapper<ProjectOrderSubDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<ProjectOrderSubDO> query = new MPJLambdaWrapper<>();
query.selectAll(ProjectOrderSubDO.class) query.selectAll(ProjectOrderSubDO.class)
.select("b.name as compositionName") .select("b.name as compositionName", "p.code as projectOrderCode")
.leftJoin(ProjectOrderDO.class, "p", ProjectOrderDO::getId, ProjectOrderSubDO::getProjectOrderId)
.leftJoin(CompositionDO.class, "b", CompositionDO::getId, ProjectOrderSubDO::getCompositionId) .leftJoin(CompositionDO.class, "b", CompositionDO::getId, ProjectOrderSubDO::getCompositionId)
.disableSubLogicDel() .disableSubLogicDel()
.eq(ProjectOrderSubDO::getProjectOrderId, projectOrderId); .eq(ProjectOrderSubDO::getProjectOrderId, projectOrderId);

@ -2,10 +2,13 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.rg;
import java.util.*; import java.util.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; 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.query.LambdaQueryWrapperX;
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
import com.chanko.yunxi.mes.framework.mybatis.core.query.QueryWrapperX;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import com.chanko.yunxi.mes.module.heli.controller.admin.rg.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.rg.vo.*;
@ -30,4 +33,10 @@ public interface RgMapper extends BaseMapperX<RgDO> {
.orderByDesc(RgDO::getId)); .orderByDesc(RgDO::getId));
} }
default List<Map<String, Object>> selectSimpleList() {
return selectMaps(new QueryWrapper<RgDO>().select("id", "rg_name","wh_id").lambda());
}
} }

@ -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);
}

@ -3,11 +3,18 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog;
import java.util.*; import java.util.*;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; 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.framework.mybatis.core.mapper.BaseMapperX;
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.storagelog.StorageLogDO; 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; import org.apache.ibatis.annotations.Mapper;
import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO;
import org.springframework.util.StringUtils;
/** /**
* / Mapper * / Mapper
@ -17,21 +24,28 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*;
@Mapper @Mapper
public interface StorageLogMapper extends BaseMapperX<StorageLogDO> { public interface StorageLogMapper extends BaseMapperX<StorageLogDO> {
default PageResult<StorageLogDO> selectPage(StorageLogPageReqVO reqVO) { // default PageResult<StorageLogDO> selectPage(StorageLogPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<StorageLogDO>() // MPJLambdaWrapper<StorageLogDO> query = new MPJLambdaWrapper<>();
.eqIfPresent(StorageLogDO::getStockId, reqVO.getStockId()) //
.eqIfPresent(StorageLogDO::getMatId, reqVO.getMatId()) // query.selectAll(StorageLogDO.class)
.eqIfPresent(StorageLogDO::getWhId, reqVO.getWhId()) // .select("st.stock_no as stockNo", "st.stock_type as stockType","st.header_no as headerNo", "mat.name as matName","mat.code as matCode","mat.material_type as matType","wh.wh_name as whName","rg.rg_name as rgName","pn.pn_name as pnName")
.eqIfPresent(StorageLogDO::getRgId, reqVO.getRgId()) // .leftJoin(StorageDO.class, "st", StorageDO::getId, StorageLogDO::getStockId)
.eqIfPresent(StorageLogDO::getPnId, reqVO.getPnId()) // .leftJoin(MaterialDO.class,"mat", MaterialDO::getId,StorageLogDO::getMatId)
.eqIfPresent(StorageLogDO::getStorageOkQty, reqVO.getStorageOkQty()) // .leftJoin(WarehouseDO.class,"wh", WarehouseDO::getId,StorageLogDO::getWhId)
.eqIfPresent(StorageLogDO::getLotNo, reqVO.getLotNo()) // .leftJoin(RgDO.class,"rg", RgDO::getId,StorageLogDO::getRgId)
.eqIfPresent(StorageLogDO::getDescription, reqVO.getDescription()) // .leftJoin(PnDO.class,"pn", PnDO::getId,StorageLogDO::getPnId)
.eqIfPresent(StorageLogDO::getCreator, reqVO.getCreator()) // .disableSubLogicDel()
.betweenIfPresent(StorageLogDO::getCreateTime, reqVO.getCreateTime()) // .orderByDesc(StorageLogDO::getId);
.eqIfPresent(StorageLogDO::getUpdater, reqVO.getUpdater()) //
.betweenIfPresent(StorageLogDO::getUpdateTime, reqVO.getUpdateTime()) // query.eq(reqVO.getMatType() != null,"mat.material_type", reqVO.getMatType())
.orderByDesc(StorageLogDO::getId)); // .eq(reqVO.getStockType() != null,"st.stock_type", reqVO.getStockType())
} // .like(!StringUtils.isEmpty(reqVO.getMatName()), "mat.name", reqVO.getMatName())
// .like(!StringUtils.isEmpty(reqVO.getMatCode()), "mat.code", reqVO.getMatCode())
// .like(!StringUtils.isEmpty(reqVO.getStockNo()), "st.stock_no", reqVO.getStockNo())
// .like(!StringUtils.isEmpty(reqVO.getHeaderNo()), "st.header_no", reqVO.getHeaderNo())
// .like(!StringUtils.isEmpty(reqVO.getLotNo()),StorageLogDO::getLotNo, reqVO.getLotNo());
//
// return selectPage(reqVO);
// }
//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);
}

@ -2,10 +2,15 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.storagemat;
import java.util.*; import java.util.*;
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; 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.query.LambdaQueryWrapperX;
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO;
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.apache.ibatis.annotations.Mapper;
import com.chanko.yunxi.mes.module.heli.controller.admin.storagemat.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.storagemat.vo.*;
@ -33,5 +38,13 @@ public interface StorageMatMapper extends BaseMapperX<StorageMatDO> {
.betweenIfPresent(StorageMatDO::getUpdateTime, reqVO.getUpdateTime()) .betweenIfPresent(StorageMatDO::getUpdateTime, reqVO.getUpdateTime())
.orderByDesc(StorageMatDO::getId)); .orderByDesc(StorageMatDO::getId));
} }
default List<StorageMatDO> selectMatByStorckID(Long stockId) {
MPJLambdaWrapper<StorageMatDO> query = new MPJLambdaWrapper<>();
query.selectAll(StorageMatDO.class)
.eq(StorageMatDO::getStockId, stockId);
return selectList(query);
}
List<StorageMatValidRespVO> selectStorageMatValid(); List<StorageMatValidRespVO> selectStorageMatValid();
} }

@ -2,9 +2,12 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.warehouse;
import java.util.*; import java.util.*;
import cn.hutool.core.lang.Dict;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; 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.query.LambdaQueryWrapperX;
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
import com.chanko.yunxi.mes.framework.mybatis.core.query.QueryWrapperX;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO;
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -36,4 +39,10 @@ public interface WarehouseMapper extends BaseMapperX<WarehouseDO> {
default List<WarehouseDO> selectListByStatus(Integer wStatus) { default List<WarehouseDO> selectListByStatus(Integer wStatus) {
return selectList(WarehouseDO::getWhStatus, wStatus); return selectList(WarehouseDO::getWhStatus, wStatus);
} }
default List<Map<String, Object>> selectSimpleList() {
return selectMaps(new QueryWrapper<WarehouseDO>().select("id", "wh_name").lambda());
}
} }

@ -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,153 @@
package com.chanko.yunxi.mes.module.heli.service.deliverorder;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum;
import com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo.DeliverOrderPageReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo.DeliverOrderSaveReqVO;
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.dal.dataobject.serialnumber.SerialNumberDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder.DeliverOrderMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverordersub.DeliverOrderSubMapper;
import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum;
import com.chanko.yunxi.mes.module.heli.enums.DeliverOrderStatusEnum;
import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.PROJECT_DELIVERY_ORDER;
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.DELIVER_ORDER_NOT_EXISTS;
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.INVALID_OPERATE;
/**
* Service
*
* @author
*/
@Service
@Validated
public class DeliverOrderServiceImpl implements DeliverOrderService {
@Resource
private DeliverOrderMapper deliverOrderMapper;
@Resource
private DeliverOrderSubMapper deliverOrderSubMapper;
@Resource
private SerialNumberService serialNumberService;
@Override
@Transactional(rollbackFor = Exception.class)
public Long createDeliverOrder(DeliverOrderSaveReqVO createReqVO) {
// 插入
DeliverOrderDO deliverOrder = BeanUtils.toBean(createReqVO, DeliverOrderDO.class);
// 月度流水号
SerialNumberDO serialNumberDO = serialNumberService.getSerialNumber(BusinesTypeEnum.DELIVER_ORDER.name(), new SimpleDateFormat("yyyyMM").format(new Date()));
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
deliverOrder.setCode(PROJECT_DELIVERY_ORDER.getCode(serialNumberDO.getSerialNumber().toString()));
deliverOrder.setDeliverStatus(DeliverOrderStatusEnum.valueOf(createReqVO.getActive()).getCode());
deliverOrderMapper.insert(deliverOrder);
// 插入子表
if(createReqVO.getDeliverOrderSubs() != null && !createReqVO.getDeliverOrderSubs().isEmpty()){
createDeliverOrderSubList(deliverOrder.getId(), createReqVO.getDeliverOrderSubs());
}
createReqVO.setId(deliverOrder.getId()).setCode(deliverOrder.getCode());
// 回写序列记录
serialNumberService.updateSerialNumber(serialNumberDO);
// 返回
return deliverOrder.getId();
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateDeliverOrder(DeliverOrderSaveReqVO updateReqVO) {
// 校验存在
DeliverOrderDO oldDO = validateDeliverOrderExists(updateReqVO.getId());
if(!oldDO.canOperate(OperateTypeEnum.valueOf(updateReqVO.getActive()))){
throw exception(INVALID_OPERATE);
}
// 更新
DeliverOrderDO updateObj = BeanUtils.toBean(updateReqVO, DeliverOrderDO.class);
updateObj.setDeliverStatus(DeliverOrderStatusEnum.valueOf(updateReqVO.getActive()).getCode());
deliverOrderMapper.updateById(updateObj);
updateReqVO.setDeliverStatus(updateObj.getDeliverStatus());
// 更新子表
updateDeliverOrderSubList(updateReqVO.getId(), updateReqVO.getDeliverOrderSubs());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteDeliverOrder(Long id) {
// 校验存在
validateDeliverOrderExists(id);
// 删除
deliverOrderMapper.deleteById(id);
// 删除子表
deleteDeliverOrderSubByDeliveryOrderId(id);
}
private DeliverOrderDO validateDeliverOrderExists(Long id) {
DeliverOrderDO deliverOrderDO = deliverOrderMapper.selectOne(new LambdaQueryWrapper<DeliverOrderDO>() {{
eq(DeliverOrderDO::getId, id);
last("LIMIT 1 FOR UPDATE");
}});
if (deliverOrderDO == null) {
throw exception(DELIVER_ORDER_NOT_EXISTS);
}
return deliverOrderDO;
}
@Override
public DeliverOrderDO getDeliverOrder(Long id) {
return deliverOrderMapper.selectById(id);
}
@Override
public PageResult<DeliverOrderDO> getDeliverOrderPage(DeliverOrderPageReqVO pageReqVO) {
return deliverOrderMapper.selectPage(pageReqVO);
}
// ==================== 子表(发货订单子项) ====================
@Override
public List<DeliverOrderSubDO> getDeliverOrderSubListByDeliveryOrderId(Long deliveryOrderId) {
return deliverOrderSubMapper.selectListByDeliveryOrderId(deliveryOrderId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void operateProjectOrder(DeliverOrderSaveReqVO operateReqVO) {
if(operateReqVO.getId() == null){
createDeliverOrder(operateReqVO);
}else{
updateDeliverOrder(operateReqVO);
}
}
private void createDeliverOrderSubList(Long deliveryOrderId, List<DeliverOrderSubDO> list) {
list.forEach(o -> o.setDeliveryOrderId(deliveryOrderId));
deliverOrderSubMapper.insertBatch(list);
}
private void updateDeliverOrderSubList(Long deliveryOrderId, List<DeliverOrderSubDO> list) {
deleteDeliverOrderSubByDeliveryOrderId(deliveryOrderId);
list.forEach(o -> o.setId(null).setUpdater(null).setUpdateTime(null)); // 解决更新情况下1id 冲突2updateTime 不更新
createDeliverOrderSubList(deliveryOrderId, list);
}
private void deleteDeliverOrderSubByDeliveryOrderId(Long deliveryOrderId) {
deliverOrderSubMapper.deleteByDeliveryOrderId(deliveryOrderId);
}
}

@ -42,7 +42,7 @@ public class MaterialServiceImpl implements MaterialService {
private void validateMaterialRepeat(String code, Long id) { private void validateMaterialRepeat(String code, Long id) {
Long repeat = materialMapper.selectCount(new LambdaQueryWrapper<MaterialDO>() {{ Long repeat = materialMapper.selectCount(new LambdaQueryWrapper<MaterialDO>() {{
eq(MaterialDO::getCode, code); eq(MaterialDO::getCode, code);
eq(id != null, MaterialDO::getId, id); ne(id != null, MaterialDO::getId, id);
last("LIMIT 1"); last("LIMIT 1");
}}); }});
if(repeat != null && repeat.longValue() > 0){ if(repeat != null && repeat.longValue() > 0){

@ -1,55 +1,58 @@
package com.chanko.yunxi.mes.module.heli.service.pn; package com.chanko.yunxi.mes.module.heli.service.pn;
import java.util.*; import java.util.*;
import javax.validation.*; import javax.validation.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.pn.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.pn.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; 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.pojo.PageParam;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO;
/**
* Service /**
* * Service
* @author *
*/ * @author
public interface PnService { */
public interface PnService {
/**
* /**
* *
* @param createReqVO *
* @return * @param createReqVO
*/ * @return
Long createPn(@Valid PnSaveReqVO createReqVO); */
Long createPn(@Valid PnSaveReqVO createReqVO);
/**
* /**
* *
* @param updateReqVO *
*/ * @param updateReqVO
void updatePn(@Valid PnSaveReqVO updateReqVO); */
void updatePn(@Valid PnSaveReqVO updateReqVO);
/**
* /**
* *
* @param id *
*/ * @param id
void deletePn(Long id); */
void deletePn(Long id);
/**
* /**
* *
* @param id *
* @return * @param id
*/ * @return
PnDO getPn(Long id); */
PnDO getPn(Long id);
/**
* /**
* *
* @param pageReqVO *
* @return * @param pageReqVO
*/ * @return
PageResult<PnDO> getPnPage(PnPageReqVO pageReqVO); */
PageResult<PnDO> getPnPage(PnPageReqVO pageReqVO);
}
List<Map<String, Object>> getSimpleList();
}

@ -1,74 +1,79 @@
package com.chanko.yunxi.mes.module.heli.service.pn; package com.chanko.yunxi.mes.module.heli.service.pn;
import org.springframework.stereotype.Service; import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO;
import javax.annotation.Resource; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import javax.annotation.Resource;
import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.pn.vo.*; import java.util.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; import com.chanko.yunxi.mes.module.heli.controller.admin.pn.vo.*;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO;
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.util.object.BeanUtils; 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.pn.PnMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.pn.PnMapper;
import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*;
/**
* Service /**
* * Service
* @author *
*/ * @author
@Service */
@Validated @Service
public class PnServiceImpl implements PnService { @Validated
public class PnServiceImpl implements PnService {
@Resource
private PnMapper pnMapper; @Resource
private PnMapper pnMapper;
@Override
public Long createPn(PnSaveReqVO createReqVO) { @Override
// 插入 public Long createPn(PnSaveReqVO createReqVO) {
PnDO pn = BeanUtils.toBean(createReqVO, PnDO.class); // 插入
pnMapper.insert(pn); PnDO pn = BeanUtils.toBean(createReqVO, PnDO.class);
// 返回 pnMapper.insert(pn);
return pn.getId(); // 返回
} return pn.getId();
}
@Override
public void updatePn(PnSaveReqVO updateReqVO) { @Override
// 校验存在 public void updatePn(PnSaveReqVO updateReqVO) {
validatePnExists(updateReqVO.getId()); // 校验存在
// 更新 validatePnExists(updateReqVO.getId());
PnDO updateObj = BeanUtils.toBean(updateReqVO, PnDO.class); // 更新
pnMapper.updateById(updateObj); PnDO updateObj = BeanUtils.toBean(updateReqVO, PnDO.class);
} pnMapper.updateById(updateObj);
}
@Override
public void deletePn(Long id) { @Override
// 校验存在 public void deletePn(Long id) {
validatePnExists(id); // 校验存在
// 删除 validatePnExists(id);
pnMapper.deleteById(id); // 删除
} pnMapper.deleteById(id);
}
private void validatePnExists(Long id) {
if (pnMapper.selectById(id) == null) { private void validatePnExists(Long id) {
throw exception(PN_NOT_EXISTS); if (pnMapper.selectById(id) == null) {
} throw exception(PN_NOT_EXISTS);
} }
}
@Override
public PnDO getPn(Long id) { @Override
return pnMapper.selectById(id); public PnDO getPn(Long id) {
} return pnMapper.selectById(id);
}
@Override
public PageResult<PnDO> getPnPage(PnPageReqVO pageReqVO) { @Override
return pnMapper.selectPage(pageReqVO); public PageResult<PnDO> getPnPage(PnPageReqVO pageReqVO) {
} return pnMapper.selectPage(pageReqVO);
}
}
@Override
public List<Map<String, Object>> getSimpleList() {
return pnMapper.selectSimpleList();
}
}

@ -1,12 +1,13 @@
package com.chanko.yunxi.mes.module.heli.service.projectorder; package com.chanko.yunxi.mes.module.heli.service.projectorder;
import java.util.*;
import javax.validation.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub.ProjectOrderSubDO;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam; import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderPageReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderSaveReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
import javax.validation.Valid;
import java.util.List;
/** /**
* Service * Service

@ -8,7 +8,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.Project
import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderSaveReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderSaveReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub.ProjectOrderSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderSubMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderSubMapper;
@ -76,6 +76,7 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
// 客户编号 // 客户编号
CustomerDO customer = customerService.getCustomer(projectOrder.getCustomerId()); CustomerDO customer = customerService.getCustomer(projectOrder.getCustomerId());
projectOrder.setCode(PROJECT_ORDER.getCode(customer.getCode(), serialNumberDO.getSerialNumber().toString())); projectOrder.setCode(PROJECT_ORDER.getCode(customer.getCode(), serialNumberDO.getSerialNumber().toString()));
projectOrder.setOrderStatus(ProjectOrderStatusEnum.valueOf(createReqVO.getActive()).getCode());
projectOrderMapper.insert(projectOrder); projectOrderMapper.insert(projectOrder);
// 插入子表 // 插入子表

@ -1,55 +1,57 @@
package com.chanko.yunxi.mes.module.heli.service.rg; package com.chanko.yunxi.mes.module.heli.service.rg;
import java.util.*; import java.util.*;
import javax.validation.*; import javax.validation.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.rg.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.rg.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; 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.pojo.PageParam;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO;
/**
* Service /**
* * Service
* @author *
*/ * @author
public interface RgService { */
public interface RgService {
/**
* /**
* *
* @param createReqVO *
* @return * @param createReqVO
*/ * @return
Long createRg(@Valid RgSaveReqVO createReqVO); */
Long createRg(@Valid RgSaveReqVO createReqVO);
/**
* /**
* *
* @param updateReqVO *
*/ * @param updateReqVO
void updateRg(@Valid RgSaveReqVO updateReqVO); */
void updateRg(@Valid RgSaveReqVO updateReqVO);
/**
* /**
* *
* @param id *
*/ * @param id
void deleteRg(Long id); */
void deleteRg(Long id);
/**
* /**
* *
* @param id *
* @return * @param id
*/ * @return
RgDO getRg(Long id); */
RgDO getRg(Long id);
/**
* /**
* *
* @param pageReqVO *
* @return * @param pageReqVO
*/ * @return
PageResult<RgDO> getRgPage(RgPageReqVO pageReqVO); */
PageResult<RgDO> getRgPage(RgPageReqVO pageReqVO);
}
List<Map<String, Object>> getSimpleList();
}

@ -1,74 +1,79 @@
package com.chanko.yunxi.mes.module.heli.service.rg; package com.chanko.yunxi.mes.module.heli.service.rg;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.rg.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.rg.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; 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.pojo.PageParam;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
import com.chanko.yunxi.mes.module.heli.dal.mysql.rg.RgMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.rg.RgMapper;
import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*;
/** /**
* Service * Service
* *
* @author * @author
*/ */
@Service @Service
@Validated @Validated
public class RgServiceImpl implements RgService { public class RgServiceImpl implements RgService {
@Resource @Resource
private RgMapper rgMapper; private RgMapper rgMapper;
@Override @Override
public Long createRg(RgSaveReqVO createReqVO) { public Long createRg(RgSaveReqVO createReqVO) {
// 插入 // 插入
RgDO rg = BeanUtils.toBean(createReqVO, RgDO.class); RgDO rg = BeanUtils.toBean(createReqVO, RgDO.class);
rgMapper.insert(rg); rgMapper.insert(rg);
// 返回 // 返回
return rg.getId(); return rg.getId();
} }
@Override @Override
public void updateRg(RgSaveReqVO updateReqVO) { public void updateRg(RgSaveReqVO updateReqVO) {
// 校验存在 // 校验存在
validateRgExists(updateReqVO.getId()); validateRgExists(updateReqVO.getId());
// 更新 // 更新
RgDO updateObj = BeanUtils.toBean(updateReqVO, RgDO.class); RgDO updateObj = BeanUtils.toBean(updateReqVO, RgDO.class);
rgMapper.updateById(updateObj); rgMapper.updateById(updateObj);
} }
@Override @Override
public void deleteRg(Long id) { public void deleteRg(Long id) {
// 校验存在 // 校验存在
validateRgExists(id); validateRgExists(id);
// 删除 // 删除
rgMapper.deleteById(id); rgMapper.deleteById(id);
} }
private void validateRgExists(Long id) { private void validateRgExists(Long id) {
if (rgMapper.selectById(id) == null) { if (rgMapper.selectById(id) == null) {
throw exception(RG_NOT_EXISTS); throw exception(RG_NOT_EXISTS);
} }
} }
@Override @Override
public RgDO getRg(Long id) { public RgDO getRg(Long id) {
return rgMapper.selectById(id); return rgMapper.selectById(id);
} }
@Override @Override
public PageResult<RgDO> getRgPage(RgPageReqVO pageReqVO) { public PageResult<RgDO> getRgPage(RgPageReqVO pageReqVO) {
return rgMapper.selectPage(pageReqVO); return rgMapper.selectPage(pageReqVO);
} }
} @Override
public List<Map<String, Object>> getSimpleList() {
return rgMapper.selectSimpleList();
}
}

@ -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);
}
}

@ -1,55 +1,62 @@
package com.chanko.yunxi.mes.module.heli.service.storagelog; package com.chanko.yunxi.mes.module.heli.service.storagelog;
import java.util.*; import java.util.*;
import javax.validation.*; import javax.validation.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogAll.StorageLogAllDO;
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.PageParam;
/** import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO;
* / Service import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO;
*
* @author /**
*/ * / Service
public interface StorageLogService { *
* @author
/** */
* / public interface StorageLogService {
*
* @param createReqVO /**
* @return * /
*/ *
Long createStorageLog(@Valid StorageLogSaveReqVO createReqVO); * @param createReqVO
* @return
/** */
* / Long createStorageLog(@Valid StorageLogSaveReqVO createReqVO);
*
* @param updateReqVO /**
*/ * /
void updateStorageLog(@Valid StorageLogSaveReqVO updateReqVO); *
* @param updateReqVO
/** */
* / void updateStorageLog(@Valid StorageLogSaveReqVO updateReqVO);
*
* @param id /**
*/ * /
void deleteStorageLog(Long id); *
* @param id
/** */
* / void deleteStorageLog(Long id);
*
* @param id /**
* @return / * /
*/ *
StorageLogDO getStorageLog(Long id); * @param id
* @return /
/** */
* / StorageLogDO getStorageLog(Long id);
*
* @param pageReqVO /**
* @return / * /
*/ *
PageResult<StorageLogDO> getStorageLogPage(StorageLogPageReqVO pageReqVO); * @param pageReqVO
* @return /
} */
PageResult<StorageLogAllDO> getStorageLogPage(StorageLogPageReqVO pageReqVO);
PageResult<StorageLogNowDO> getStorageNowPage(StorageLogPageReqVO pageReqVO);
void createStorageLogBatch(List<StorageLogDO> storageLogDOs);
}

@ -1,74 +1,96 @@
package com.chanko.yunxi.mes.module.heli.service.storagelog; package com.chanko.yunxi.mes.module.heli.service.storagelog;
import org.springframework.stereotype.Service; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogAll.StorageLogAllDO;
import javax.annotation.Resource; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO;
import org.springframework.validation.annotation.Validated; import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogAllMapper;
import org.springframework.transaction.annotation.Transactional; import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogNowMapper;
import org.springframework.stereotype.Service;
import java.util.*; import javax.annotation.Resource;
import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*; import org.springframework.validation.annotation.Validated;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; import org.springframework.transaction.annotation.Transactional;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam; import java.util.*;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogMapper; import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*;
import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogMapper;
/**
* / Service import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception;
* import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*;
* @author
*/ /**
@Service * / Service
@Validated *
public class StorageLogServiceImpl implements StorageLogService { * @author
*/
@Resource @Service
private StorageLogMapper storageLogMapper; @Validated
public class StorageLogServiceImpl implements StorageLogService {
@Override
public Long createStorageLog(StorageLogSaveReqVO createReqVO) { @Resource
// 插入 private StorageLogMapper storageLogMapper;
StorageLogDO storageLog = BeanUtils.toBean(createReqVO, StorageLogDO.class);
storageLogMapper.insert(storageLog); @Resource
// 返回 private StorageLogAllMapper storageLogAllMapper;
return storageLog.getId();
} @Resource
private StorageLogNowMapper storageLogNowMapper;
@Override
public void updateStorageLog(StorageLogSaveReqVO updateReqVO) { @Override
// 校验存在 public Long createStorageLog(StorageLogSaveReqVO createReqVO) {
validateStorageLogExists(updateReqVO.getId()); // 插入
// 更新 StorageLogDO storageLog = BeanUtils.toBean(createReqVO, StorageLogDO.class);
StorageLogDO updateObj = BeanUtils.toBean(updateReqVO, StorageLogDO.class); storageLogMapper.insert(storageLog);
storageLogMapper.updateById(updateObj); // 返回
} return storageLog.getId();
}
@Override
public void deleteStorageLog(Long id) { @Override
// 校验存在 public void updateStorageLog(StorageLogSaveReqVO updateReqVO) {
validateStorageLogExists(id); // 校验存在
// 删除 validateStorageLogExists(updateReqVO.getId());
storageLogMapper.deleteById(id); // 更新
} StorageLogDO updateObj = BeanUtils.toBean(updateReqVO, StorageLogDO.class);
storageLogMapper.updateById(updateObj);
private void validateStorageLogExists(Long id) { }
if (storageLogMapper.selectById(id) == null) {
throw exception(STORAGE_LOG_NOT_EXISTS); @Override
} public void deleteStorageLog(Long id) {
} // 校验存在
validateStorageLogExists(id);
@Override // 删除
public StorageLogDO getStorageLog(Long id) { storageLogMapper.deleteById(id);
return storageLogMapper.selectById(id); }
}
private void validateStorageLogExists(Long id) {
@Override if (storageLogMapper.selectById(id) == null) {
public PageResult<StorageLogDO> getStorageLogPage(StorageLogPageReqVO pageReqVO) { throw exception(STORAGE_LOG_NOT_EXISTS);
return storageLogMapper.selectPage(pageReqVO); }
} }
} @Override
public StorageLogDO getStorageLog(Long id) {
return storageLogMapper.selectById(id);
}
@Override
public PageResult<StorageLogAllDO> getStorageLogPage(StorageLogPageReqVO pageReqVO) {
return storageLogAllMapper.selectPage(pageReqVO);
}
@Override
public PageResult<StorageLogNowDO> getStorageNowPage(StorageLogPageReqVO pageReqVO) {
return storageLogNowMapper.selectPage(pageReqVO);
}
@Override
public void createStorageLogBatch(List<StorageLogDO> storageLogDOs) {
for (StorageLogDO storageLogDo : storageLogDOs){
storageLogMapper.insert(storageLogDo);
}
}
}

@ -59,6 +59,8 @@ public interface StorageMatService {
*/ */
List<StorageMatValidRespVO> getStorageMatList(); List<StorageMatValidRespVO> getStorageMatList();
int deleteStorageMatList(Long stockid); int deleteStorageMatList(Long stockId);
List<StorageMatDO> getStorageMatListByStockId(Long stockId);
} }

@ -83,12 +83,17 @@ public class StorageMatServiceImpl implements StorageMatService {
} }
@Override @Override
public int deleteStorageMatList(Long stockid) { public int deleteStorageMatList(Long stockId) {
//删除条件 //删除条件
Map<String, Object> columnMap = Maps.newHashMap(); Map<String, Object> columnMap = Maps.newHashMap();
columnMap.put("stock_id", stockid); columnMap.put("stock_id", stockId);
return storageMatMapper.deleteByMap(columnMap); return storageMatMapper.deleteByMap(columnMap);
} }
@Override
public List<StorageMatDO> getStorageMatListByStockId(Long stockId) {
return storageMatMapper.selectMatByStorckID(stockId);
}
} }

@ -61,4 +61,6 @@ public interface WarehouseService {
*/ */
List<WarehouseDO> getWarehouseListByStatus(Integer whStatus); List<WarehouseDO> getWarehouseListByStatus(Integer whStatus);
List<Map<String, Object>> getSimpleList();
} }

@ -83,4 +83,8 @@ public class WarehouseServiceImpl implements WarehouseService {
return warehouseMapper.selectListByStatus(whStatus); return warehouseMapper.selectListByStatus(whStatus);
} }
@Override
public List<Map<String, Object>> getSimpleList() {
return warehouseMapper.selectSimpleList();
}
} }

@ -0,0 +1,12 @@
<?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.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder.DeliverOrderMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

@ -0,0 +1,12 @@
<?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.chanko.yunxi.mes.module.heli.dal.mysql.storagecheck.StorageCheckMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

@ -0,0 +1,12 @@
<?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.chanko.yunxi.mes.module.heli.dal.mysql.storagecheckmat.StorageCheckMatMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

@ -0,0 +1,58 @@
<?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.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogAllMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
<resultMap id="StorageLogAllDO" type="com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogAll.StorageLogAllDO">
<result property="id" column="id"/>
<result property="stockId" column="stock_id"/>
<result property="matId" column="mat_id"/>
<result property="whId" column="wh_id"/>
<result property="rgId" column="rg_id"/>
<result property="pnId" column="pn_id"/>
<result property="storageOkQty" column="storage_ok_qty"/>
<result property="lotNo" column="lotNo"/>
<result property="stockNo" column="stock_no"/>
<result property="stockType" column="stock_type"/>
<result property="headerNo" column="header_no"/>
<result property="matName" column="mat_name"/>
<result property="matCode" column="mat_code"/>
<result property="matType" column="mat_type"/>
<result property="whName" column="wh_name"/>
<result property="rgName" column="rg_name"/>
<result property="pnName" column="pn_name"/>
</resultMap>
<select id="selectAllPage"
parameterType="com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageLogPageReqVO"
resultMap="StorageLogAllDO">
select * from v_storage_material_log
<where>
<if test="matCode != null and matCode != ''">
AND matCode like concat('%', #{matCode}, '%')
</if>
<if test="matName != null and matName != ''">
AND matName like concat('%', #{matName}, '%')
</if>
<if test="lotNo != null and lotNo != ''">
AND lotNo like concat('%', #{lotNo}, '%')
</if>
<if test="stockNo != null and stockNo != ''">
AND stockNo like concat('%', #{stockNo}, '%')
</if>
<if test="headerNo != null and headerNo != ''">
AND headerNo like concat('%', #{headerNo}, '%')
</if>
<if test="stockType != null and stockType != ''">
AND stockType =#{headerNo}
</if>
<if test="matType != null and matType != ''">
AND matType #{matType}
</if>
</where>
</select>
</mapper>

@ -8,7 +8,5 @@
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/ 文档可见https://www.iocoder.cn/MyBatis/x-plugins/
--> -->
<select id="selectStorageMatLogList" resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO">
select * from v_storage_material_log
</select>
</mapper> </mapper>

@ -23,6 +23,6 @@
<result property="storageOkQty" column="storage_ok_qty"/> <result property="storageOkQty" column="storage_ok_qty"/>
</resultMap> </resultMap>
<select id="selectStorageMatValid" resultType="com.chanko.yunxi.mes.module.heli.controller.admin.storagemat.vo.StorageMatValidRespVO"> <select id="selectStorageMatValid" resultType="com.chanko.yunxi.mes.module.heli.controller.admin.storagemat.vo.StorageMatValidRespVO">
select mat_id,mat_name,mat_code,mat_rest,material_type,wh_id,rg_id,pn_id,spec as mat_spec,unit as mat_unit,lot_no,storage_ok_qty from v_storage_material_amount where mat_rest > 0 select mat_id,mat_name,mat_code,mat_rest,material_type,wh_id,rg_id,pn_id,spec as mat_spec,unit as mat_unit,'' as lot_no,storage_ok_qty from v_storage_material_amount where mat_rest > 0
</select> </select>
</mapper> </mapper>

@ -21,10 +21,10 @@ import javax.validation.constraints.Pattern;
@Builder @Builder
public class AuthLoginReqVO { public class AuthLoginReqVO {
@Schema(description = "号", requiredMode = Schema.RequiredMode.REQUIRED, example = "mesyuanma") @Schema(description = "号", requiredMode = Schema.RequiredMode.REQUIRED, example = "mesyuanma")
@NotEmpty(message = "登录账号不能为空") @NotEmpty(message = "号不能为空")
@Length(min = 4, max = 16, message = "账号长度为 4-16 位") @Length(min = 1, max = 16, message = "工号长度不能超过 16 个字符")
@Pattern(regexp = "^[A-Za-z0-9]+$", message = "账号格式为数字以及字母") /*@Pattern(regexp = "^[A-Za-z0-9]+$", message = "账号格式为数字以及字母")*/
private String username; private String username;
@Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "buzhidao") @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "buzhidao")
@ -66,4 +66,4 @@ public class AuthLoginReqVO {
return socialType == null || StrUtil.isNotEmpty(socialState); return socialType == null || StrUtil.isNotEmpty(socialState);
} }
} }

@ -25,6 +25,9 @@ public class UserPageReqVO extends PageParam {
@Schema(description = "昵称,模糊匹配", example = "mes") @Schema(description = "昵称,模糊匹配", example = "mes")
private String nickname; private String nickname;
@Schema(description = "用户账号或昵称", example = "mes")
private String userNickName;
@Schema(description = "手机号码,模糊匹配", example = "mes") @Schema(description = "手机号码,模糊匹配", example = "mes")
private String mobile; private String mobile;

@ -21,8 +21,7 @@ public class UserSaveReqVO {
@Schema(description = "工号", requiredMode = Schema.RequiredMode.REQUIRED, example = "mes") @Schema(description = "工号", requiredMode = Schema.RequiredMode.REQUIRED, example = "mes")
@NotBlank(message = "工号不能为空") @NotBlank(message = "工号不能为空")
@Pattern(regexp = "^[a-zA-Z0-9]{1,30}$", message = "工号由 数字、字母 组成") @Size(max = 16, message = "工号长度不能超过 16 个字符")
@Size(max = 30, message = "工号长度不能超过 30 个字符")
private String username; private String username;
@Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")

@ -6,6 +6,7 @@ import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.chanko.yunxi.mes.module.system.controller.admin.user.vo.user.UserPageReqVO; import com.chanko.yunxi.mes.module.system.controller.admin.user.vo.user.UserPageReqVO;
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.springframework.util.StringUtils;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@ -26,14 +27,18 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
} }
default PageResult<AdminUserDO> selectPage(UserPageReqVO reqVO, Collection<Long> deptIds) { default PageResult<AdminUserDO> selectPage(UserPageReqVO reqVO, Collection<Long> deptIds) {
return selectPage(reqVO, new LambdaQueryWrapperX<AdminUserDO>() LambdaQueryWrapperX<AdminUserDO> query = new LambdaQueryWrapperX<AdminUserDO>()
.likeIfPresent(AdminUserDO::getUsername, reqVO.getUsername()) .likeIfPresent(AdminUserDO::getUsername, reqVO.getUsername())
.likeIfPresent(AdminUserDO::getNickname, reqVO.getNickname()) .likeIfPresent(AdminUserDO::getNickname, reqVO.getNickname())
.likeIfPresent(AdminUserDO::getMobile, reqVO.getMobile()) .likeIfPresent(AdminUserDO::getMobile, reqVO.getMobile())
.eqIfPresent(AdminUserDO::getStatus, reqVO.getStatus()) .eqIfPresent(AdminUserDO::getStatus, reqVO.getStatus())
.betweenIfPresent(AdminUserDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(AdminUserDO::getCreateTime, reqVO.getCreateTime())
.inIfPresent(AdminUserDO::getDeptId, deptIds) .inIfPresent(AdminUserDO::getDeptId, deptIds)
.orderByDesc(AdminUserDO::getId)); .orderByDesc(AdminUserDO::getId);
if(!StringUtils.isEmpty(reqVO.getUserNickName())){
query.like(AdminUserDO::getUsername, reqVO.getUserNickName()).or().like(AdminUserDO::getNickname, reqVO.getUserNickName());
}
return selectPage(reqVO, query);
} }
default List<AdminUserDO> selectListByNickname(String nickname) { default List<AdminUserDO> selectListByNickname(String nickname) {

@ -0,0 +1,12 @@
<?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.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder.DeliverOrderMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

@ -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 })
}

@ -1,41 +1,46 @@
import request from '@/config/axios' import request from '@/config/axios'
export interface PnVO { export interface PnVO {
id: number id: number
pnNo: string pnNo: string
pnName: string pnName: string
rgId: number rgId: number
descr: string descr: string
pnStatus: number pnStatus: number
whId: number whId: number
} }
// 查询库位分页 // 查询库区分页
export const getPnPage = async (params) => { export const getSimpList = async () => {
return await request.get({ url: `/heli/pn/page`, params }) return await request.get({ url: `/heli/pn/all-simples` })
} }
// 查询库位详情 // 查询库位分页
export const getPn = async (id: number) => { export const getPnPage = async (params) => {
return await request.get({ url: `/heli/pn/get?id=` + id }) return await request.get({ url: `/heli/pn/page`, params })
} }
// 新增库位 // 查询库位详情
export const createPn = async (data: PnVO) => { export const getPn = async (id: number) => {
return await request.post({ url: `/heli/pn/create`, data }) return await request.get({ url: `/heli/pn/get?id=` + id })
} }
// 修改库位 // 新增库位
export const updatePn = async (data: PnVO) => { export const createPn = async (data: PnVO) => {
return await request.put({ url: `/heli/pn/update`, data }) return await request.post({ url: `/heli/pn/create`, data })
} }
// 删除库位 // 修改库位
export const deletePn = async (id: number) => { export const updatePn = async (data: PnVO) => {
return await request.delete({ url: `/heli/pn/delete?id=` + id }) return await request.put({ url: `/heli/pn/update`, data })
} }
// 导出库位 Excel // 删除库位
export const exportPn = async (params) => { export const deletePn = async (id: number) => {
return await request.download({ url: `/heli/pn/export-excel`, params }) return await request.delete({ url: `/heli/pn/delete?id=` + id })
} }
// 导出库位 Excel
export const exportPn = async (params) => {
return await request.download({ url: `/heli/pn/export-excel`, params })
}

@ -1,40 +1,45 @@
import request from '@/config/axios' import request from '@/config/axios'
export interface RgVO { export interface RgVO {
id: number id: number
rgNo: string rgNo: string
rgName: string rgName: string
whId: number whId: number
descr: string descr: string
rgStatus: number rgStatus: number
} }
// 查询库区分页 // 查询库区分页
export const getRgPage = async (params) => { export const getSimpList = async () => {
return await request.get({ url: `/heli/rg/page`, params }) return await request.get({ url: `/heli/rg/all-simples` })
} }
// 查询库区详情 // 查询库区分页
export const getRg = async (id: number) => { export const getRgPage = async (params) => {
return await request.get({ url: `/heli/rg/get?id=` + id }) return await request.get({ url: `/heli/rg/page`, params })
} }
// 新增库区 // 查询库区详情
export const createRg = async (data: RgVO) => { export const getRg = async (id: number) => {
return await request.post({ url: `/heli/rg/create`, data }) return await request.get({ url: `/heli/rg/get?id=` + id })
} }
// 修改库区 // 新增库区
export const updateRg = async (data: RgVO) => { export const createRg = async (data: RgVO) => {
return await request.put({ url: `/heli/rg/update`, data }) return await request.post({ url: `/heli/rg/create`, data })
} }
// 删除库区 // 修改库区
export const deleteRg = async (id: number) => { export const updateRg = async (data: RgVO) => {
return await request.delete({ url: `/heli/rg/delete?id=` + id }) return await request.put({ url: `/heli/rg/update`, data })
} }
// 导出库区 Excel // 删除库区
export const exportRg = async (params) => { export const deleteRg = async (id: number) => {
return await request.download({ url: `/heli/rg/export-excel`, params }) return await request.delete({ url: `/heli/rg/delete?id=` + id })
} }
// 导出库区 Excel
export const exportRg = async (params) => {
return await request.download({ url: `/heli/rg/export-excel`, params })
}

@ -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 })
}

@ -1,43 +1,48 @@
import request from '@/config/axios' import request from '@/config/axios'
export interface StorageLogVO { export interface StorageLogVO {
id: number id: number
stockId: number stockId: number
matId: number matId: number
whId: number whId: number
rgId: number rgId: number
pnId: number pnId: number
storageOkQty: number storageOkQty: number
lotNo: string lotNo: string
description: string description: string
} }
// 查询入/出库日志分页 // 查询入/出库实时分页
export const getStorageLogPage = async (params) => { export const getStorageNowPage = async (params) => {
return await request.get({ url: `/heli/storage-log/page`, params }) return await request.get({ url: `/heli/storage-log/now`, params })
} }
// 查询入/出库日志详情 // 查询入/出库日志分页
export const getStorageLog = async (id: number) => { export const getStorageLogPage = async (params) => {
return await request.get({ url: `/heli/storage-log/get?id=` + id }) return await request.get({ url: `/heli/storage-log/page`, params })
} }
// 新增入/出库日志 // 查询入/出库日志详情
export const createStorageLog = async (data: StorageLogVO) => { export const getStorageLog = async (id: number) => {
return await request.post({ url: `/heli/storage-log/create`, data }) return await request.get({ url: `/heli/storage-log/get?id=` + id })
} }
// 修改入/出库日志 // 新增入/出库日志
export const updateStorageLog = async (data: StorageLogVO) => { export const createStorageLog = async (data: StorageLogVO) => {
return await request.put({ url: `/heli/storage-log/update`, data }) return await request.post({ url: `/heli/storage-log/create`, data })
} }
// 删除入/出库日志 // 修改入/出库日志
export const deleteStorageLog = async (id: number) => { export const updateStorageLog = async (data: StorageLogVO) => {
return await request.delete({ url: `/heli/storage-log/delete?id=` + id }) return await request.put({ url: `/heli/storage-log/update`, data })
} }
// 导出入/出库日志 Excel // 删除入/出库日志
export const exportStorageLog = async (params) => { export const deleteStorageLog = async (id: number) => {
return await request.download({ url: `/heli/storage-log/export-excel`, params }) return await request.delete({ url: `/heli/storage-log/delete?id=` + id })
} }
// 导出入/出库日志 Excel
export const exportStorageLog = async (params) => {
return await request.download({ url: `/heli/storage-log/export-excel`, params })
}

@ -8,6 +8,10 @@ export interface WarehouseVO {
telephone: string telephone: string
whStatus: number whStatus: number
} }
// 查询仓库分页
export const getSimpList = async () => {
return await request.get({ url: `/heli/warehouse/all-simples` })
}
// 查询仓库分页 // 查询仓库分页
export const getWarehouseSimpList = async () => { export const getWarehouseSimpList = async () => {

@ -3,6 +3,7 @@ import request from '@/config/axios'
export interface FilePageReqVO extends PageParam { export interface FilePageReqVO extends PageParam {
path?: string path?: string
type?: string type?: string
url: string
createTime?: Date[] createTime?: Date[]
businessType: string businessType: string
businessId: number businessId: number

@ -4,6 +4,7 @@ export interface UserVO {
id: number id: number
username: string username: string
nickname: string nickname: string
userNickName:string
deptId: number deptId: number
postIds: string[] postIds: string[]
email: string email: string

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

@ -41,13 +41,8 @@ export default defineComponent({
// //
return ( return (
<ElTag <ElTag
style={dictData.value?.cssClass ? 'color: #fff' : ''} class={dictData.value?.cssClass ? dictData.value?.cssClass : ''}
type={dictData.value?.colorType} type={dictData.value?.colorType}
color={
dictData.value?.cssClass && isHexColor(dictData.value?.cssClass)
? dictData.value?.cssClass
: ''
}
disableTransitions={true} disableTransitions={true}
> >
{dictData.value?.label} {dictData.value?.label}

@ -302,6 +302,7 @@ export default {
terminate: 'Terminate', terminate: 'Terminate',
detailArchive: 'Detail', detailArchive: 'Detail',
alter: 'Alter', alter: 'Alter',
deliver: 'Deliver',
typeCreate: 'Dict Type Create', typeCreate: 'Dict Type Create',
typeUpdate: 'Dict Type Eidt', typeUpdate: 'Dict Type Eidt',
dataCreate: 'Dict Data Create', dataCreate: 'Dict Data Create',

@ -303,6 +303,7 @@ export default {
terminate: '终止', terminate: '终止',
detailArchive: '详情', detailArchive: '详情',
alter: '变更', alter: '变更',
deliver: '发货',
typeCreate: '字典类型新增', typeCreate: '字典类型新增',
typeUpdate: '字典类型编辑', typeUpdate: '字典类型编辑',
dataCreate: '字典数据新增', dataCreate: '字典数据新增',

@ -48,7 +48,7 @@
.hl-table thead { .hl-table thead {
color: #1d2129; color: #1d2129;
} }
.hl-table_header{ .hl-table_header {
color: red; color: red;
} }
.hl-table thead th.el-table__cell { .hl-table thead th.el-table__cell {
@ -105,15 +105,16 @@
} }
.el-card__body { .el-card__body {
padding: 15px 0px; padding: 10px 0px;
.el-row { .el-row {
margin: 10px; margin: 5px 0;
} }
} }
} }
.hl-incard { .hl-incard {
margin-bottom: 20px; box-shadow: none !important;
margin: 20px 0;
padding: 0 20px; padding: 0 20px;
} }
@ -145,7 +146,6 @@
} }
} }
/* ---el-table滚动条公共样式--- */ /* ---el-table滚动条公共样式--- */
.el-scrollbar { .el-scrollbar {
// //
@ -168,4 +168,82 @@
// background-color: rgba(136, 219, 255, 1); // background-color: rgba(136, 219, 255, 1);
box-shadow: 0 0 6px rgba(0, 0, 0, 0.15); box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
} }
} }
//
.iapproval {
background-color:#EDFFED;
color: #038A24;
}
//
.iconserve {
background-color:#F2FBFF;
color: #1B9AEE;
}
//
.iaudit {
background-color: #19A998;
color:#FFFFFF;
}
//
.istart {
background-color: #1B9AEE;
color: #FFFFFF;
}
//
.iBack {
background-color: #FFEDED;
color: #E62412;
}
//
.ialteration {
background-color:#FFF7E6;
color:#D46B08;
}
//
.isubmit {
background-color: #19A998;
color:#FFFFFF;
}
//
.icancellation {
background-color: #F0F1F4;
color: #666879;
}
//
.ibreakup {
background-color: #F0F1F4;
color: #666879;
}
//
.allshipments {
color: #1B9AEE;
background-color: transparent;
border: none;
}
//
.noshipments {
color: #E62412;
background-color: transparent;
border: none;
}
//
.partshipments {
color: #F39800;
background-color: transparent;
border: none;
}
.sizestylenone {
background-color: transparent;
border: none;
color: var(--el-table-text-color);
}
.fou {
background-color: #f7fbfd;
border: 1px solid #d4d6e3;
color: #77838C;
}

@ -206,6 +206,7 @@ export enum DICT_TYPE {
CRM_PRODUCT_STATUS = 'crm_product_status', CRM_PRODUCT_STATUS = 'crm_product_status',
CRM_PERMISSION_LEVEL = 'crm_permission_level', // CRM 数据权限的级别 CRM_PERMISSION_LEVEL = 'crm_permission_level', // CRM 数据权限的级别
// ========== HELI 模块 ==========
HELI_COMMON_STATUS = 'heli_common_status',// 业务实体启用禁用状态 HELI_COMMON_STATUS = 'heli_common_status',// 业务实体启用禁用状态
HELI_CUSTOMER_LEVEL = 'heli_customer_level', //合立客户级别 HELI_CUSTOMER_LEVEL = 'heli_customer_level', //合立客户级别
HELI_SYSTEM_COMMON_STATUS = 'heli_system_common_status', // 系统适配业务状态展示 HELI_SYSTEM_COMMON_STATUS = 'heli_system_common_status', // 系统适配业务状态展示
@ -222,6 +223,9 @@ export enum DICT_TYPE {
HELI_STORAGE_IN_TYPE = 'heli_storage_in_type', // 入库类型 HELI_STORAGE_IN_TYPE = 'heli_storage_in_type', // 入库类型
HELI_STORAGE_OUT_TYPE = 'heli_storage_out_type',//出库类型 HELI_STORAGE_OUT_TYPE = 'heli_storage_out_type',//出库类型
HELI_STORAGE_STATUS = 'heli_storage_status',//入库出库状态 HELI_STORAGE_STATUS = 'heli_storage_status',//入库出库状态
HELI_STORAGE_TYPE = 'heli_storage_type', // 入库类型
HELI_STORAGE_MAT_CHECK_TYPE = 'heli_storage_mat_check_type',//盘点类型
HELI_STORAGE_MAT_CHECK_STATUS = 'heli_storage_mat_check_status',//盘点状态
HELI_PROJECT_ORDER_STATUS = 'heli_project_order_status', //项目订单状态 HELI_PROJECT_ORDER_STATUS = 'heli_project_order_status', //项目订单状态
HELI_DELIVERY_STATUS = 'heli_delivery_status', // 发货状态 HELI_DELIVERY_STATUS = 'heli_delivery_status', // 发货状态
@ -233,4 +237,7 @@ export enum DICT_TYPE {
HELI_PROJECT_ORDER_AUDIT_STATUS = 'heli_project_order_audit_status', // 项目单据审核页状态 HELI_PROJECT_ORDER_AUDIT_STATUS = 'heli_project_order_audit_status', // 项目单据审核页状态
HELI_PROJECT_ORDER_APPROVE_STATUS = 'heli_project_order_approve_status', // 项目单据批准页状态 HELI_PROJECT_ORDER_APPROVE_STATUS = 'heli_project_order_approve_status', // 项目单据批准页状态
HELI_PROJECT_ORDER_ALTER_STATUS = 'heli_project_order_alter_status', // 项目单据变更页状态 HELI_PROJECT_ORDER_ALTER_STATUS = 'heli_project_order_alter_status', // 项目单据变更页状态
HELI_DELIVER_ORDER_STATUS = 'heli_deliver_order_status', // 发货单状态
HELI_DELIVER_MODE = 'heli_deliver_mode', // 发货方式
HELI_DELIVER_MATERIAL_TYPE = 'heli_deliver_material_type', // 发货物料类型
} }

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save