生产工序-查询-分堆-打包代码2.0

This commit is contained in:
liuzhaotian
2024-04-08 14:25:48 +08:00
parent 443312552f
commit 2112536aeb
38 changed files with 681 additions and 247 deletions
@@ -40,7 +40,7 @@ public class GroupingController {
@Operation(summary = "查询订单") @Operation(summary = "查询订单")
@PreAuthorize("@ss.hasPermission('manage:grouping:query')") @PreAuthorize("@ss.hasPermission('manage:grouping:query')")
public CommonResult<PageResult<ProcessRespVO>> getGroupingList(@Valid OrderPageReqVO pageReqVO) { public CommonResult<PageResult<ProcessRespVO>> getGroupingList(@Valid OrderPageReqVO pageReqVO) {
//
PageResult<OrderDO> groupingList = groupingService.getGroupingList(pageReqVO); PageResult<OrderDO> groupingList = groupingService.getGroupingList(pageReqVO);
return success(BeanUtils.toBean(groupingList, ProcessRespVO.class)); return success(BeanUtils.toBean(groupingList, ProcessRespVO.class));
@@ -56,7 +56,7 @@ public class GroupingController {
@Operation(summary = "查看订单的板材信息(未加入包裹的板材信息)") @Operation(summary = "查看订单的板材信息(未加入包裹的板材信息)")
@PreAuthorize("@ss.hasPermission('manage:grouping:query')") @PreAuthorize("@ss.hasPermission('manage:grouping:query')")
public CommonResult<PageResult<OrderPlateListRespVO>> notJoinedGroupingPlateList(@Valid OrderModuleReqVO reqVO) { public CommonResult<PageResult<OrderPlateListRespVO>> notJoinedGroupingPlateList(@Valid OrderModuleReqVO reqVO) {
//
return success(groupingService.notJoinedGroupingPlateList(reqVO)); return success(groupingService.notJoinedGroupingPlateList(reqVO));
} }
@@ -127,7 +127,7 @@ public class GroupingController {
@GetMapping("/export") /* @GetMapping("/export")
@Operation(summary = "查看订单的板材信息(已将加入包裹的板材信息)") @Operation(summary = "查看订单的板材信息(已将加入包裹的板材信息)")
@PreAuthorize("@ss.hasPermission('manage:grouping:export')") @PreAuthorize("@ss.hasPermission('manage:grouping:export')")
public void exportData(@Valid ExportJsonReqVO reqVO) { public void exportData(@Valid ExportJsonReqVO reqVO) {
@@ -136,7 +136,7 @@ public class GroupingController {
} }*/
@@ -19,8 +19,6 @@ import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH
@ToString(callSuper = true) @ToString(callSuper = true)
public class OrderPageReqVO extends PageParam { public class OrderPageReqVO extends PageParam {
@Schema(description = "工序 id")
private Long id;
@Schema(description = "生产单号") @Schema(description = "生产单号")
private Long orderNo; private Long orderNo;
@@ -34,6 +32,10 @@ public class OrderPageReqVO extends PageParam {
@Schema(description = "地址") @Schema(description = "地址")
private String address; private String address;
@Schema(description = "经销商")
private String dealer;
@Schema(description = "开始时间",requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "开始时间",requiredMode = Schema.RequiredMode.REQUIRED)
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
private LocalDateTime[] startTime; private LocalDateTime[] startTime;
@@ -42,6 +44,6 @@ public class OrderPageReqVO extends PageParam {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
private LocalDateTime[] endTime; private LocalDateTime[] endTime;
@Schema(description = "订单状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "false") @Schema(description = "订单状态-默认全都显示",requiredMode = Schema.RequiredMode.REQUIRED)
private List<Long> statusList; private List<Long> statusList;
} }
@@ -4,7 +4,7 @@ package com.cf.imes.module.manage.controller.admin.grouping.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
@Schema(description = "管理后台 - 生产单件表 Response VO") @Schema(description = "管理后台 - 生产单件表 Response VO")
@Data @Data
public class OrderPlateListRespVO { public class OrderPlateListRespVO {
@@ -3,18 +3,14 @@ package com.cf.imes.module.manage.controller.admin.process;
import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.common.pojo.CommonResult;
import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.module.manage.controller.admin.process.vo.*;
import com.cf.imes.module.manage.controller.admin.process.vo.OrderPorcessStepItemVO;
import com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessReqVO;
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO;
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderPlateRespVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderPlateRespVO;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.PlatePageVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.PlatePageVO;
import com.cf.imes.module.manage.dal.dataobject.process.OrderDO;
import com.cf.imes.module.manage.service.process.ProductionProcessService; import com.cf.imes.module.manage.service.process.ProductionProcessService;
import com.cf.imes.module.manage.service.query.ProductionStatusService; import com.cf.imes.module.manage.service.query.ProductionStatusService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@@ -42,7 +38,7 @@ public class ProductionProcessController {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得生产工序分页") @Operation(summary = "查看生产工序分页")
@PreAuthorize("@ss.hasPermission('manage:process:query')") @PreAuthorize("@ss.hasPermission('manage:process:query')")
public CommonResult<PageResult<ProcessRespVO>> getUserPage(@Valid ProcessPageReqVO pageReqVO) { public CommonResult<PageResult<ProcessRespVO>> getUserPage(@Valid ProcessPageReqVO pageReqVO) {
@@ -54,20 +50,22 @@ public class ProductionProcessController {
@GetMapping("/select") @GetMapping("/select")
@Operation(summary = "根据工序号获得生产工序下的加工项") @Operation(summary = "根据工序号查看生产工序下的加工项")
@PreAuthorize("@ss.hasPermission('manage:process:query')") @PreAuthorize("@ss.hasPermission('manage:process:query')")
public CommonResult<List<OrderPorcessStepItemVO>> selectProcess(@Valid OrderProcessReqVO reqVO){ public CommonResult<List<OrderProcessStepItemVO>> selectProcess(@Valid OrderProcessReqVO reqVO){
List<OrderPorcessStepItemVO> orderProcessById = productionProcessService.getOrderProcessById(reqVO); List<OrderProcessStepItemVO> orderProcessById = productionProcessService.getOrderProcessById(reqVO);
return CommonResult.success(orderProcessById); return CommonResult.success(orderProcessById);
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "根据工序步骤 id 修改生产工序步骤表的状态") @Operation(summary = "根据工序明细 ID 修改生产工序明细表的状态")
@Parameter(name = "id", description = "工序明细ID", required = true, example = "1")
@PreAuthorize("@ss.hasPermission('manage:process:update')") @PreAuthorize("@ss.hasPermission('manage:process:update')")
public CommonResult<Boolean> updateProcessStatus(@Valid Long id){ public CommonResult<Boolean> updateProcessStatus(@Valid @RequestParam("id") Long id){
productionProcessService.updateProcessStatus(id); productionProcessService.updateProcessStatus(id);
return success(true); return success(true);
@@ -76,10 +74,10 @@ public class ProductionProcessController {
@PutMapping("/updateAll") @PutMapping("/updateAll")
@Operation(summary = "根据工序 id 修改生产单工序表的状态") @Operation(summary = "修改生产步骤表的工序状态")
@PreAuthorize("@ss.hasPermission('manage:process:update')") @PreAuthorize("@ss.hasPermission('manage:process:update')")
public CommonResult<Boolean> updateAllProcessStatus(@Valid Long id){ public CommonResult<Boolean> updateAllProcessStatus(@Valid @RequestBody OrderProStepReqVO reqVO){
productionProcessService.updateAllProcessStatus(id); productionProcessService.updateAllProcessStatus(reqVO);
return success(true); return success(true);
} }
@@ -89,8 +87,9 @@ public class ProductionProcessController {
@GetMapping("/selectPlateName") @GetMapping("/selectPlateName")
@Operation(summary = "查看板材信息的组合名称") @Operation(summary = "查看板材信息的组合名称")
@Parameter(name = "processStepId", description = "工序步骤ID", required = true, example = "1")
@PreAuthorize("@ss.hasPermission('manage:process:query')") @PreAuthorize("@ss.hasPermission('manage:process:query')")
public CommonResult<List<OrderModuleVO>> selectPlateName(@Valid Long processStepId){ public CommonResult<List<OrderModuleVO>> selectPlateName(@Valid @RequestParam("processStepId") Long processStepId){
return success(productionProcessService.selectPlateName(processStepId)); return success(productionProcessService.selectPlateName(processStepId));
@@ -107,5 +106,4 @@ public class ProductionProcessController {
} }
} }
@@ -0,0 +1,24 @@
package com.cf.imes.module.manage.controller.admin.process.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
@Schema(description = "管理后台 - 修改生产步骤表 ")
@Data
@ToString(callSuper = true)
public class OrderProStepReqVO {
@Schema(description = "工序步骤id", requiredMode = Schema.RequiredMode.REQUIRED)
private Long processStepId;
@Schema(description = "生产单工序ID", requiredMode = Schema.RequiredMode.REQUIRED)
private Long orderProcessId;
@Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED)
private Long orderId;
}
@@ -5,20 +5,20 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
@Schema(description = "管理后台 - 生产单工序表 order_process_{N} Request VO") @Schema(description = "管理后台 - 生产单工序明细表 Request VO")
@Data @Data
@ToString(callSuper = true) @ToString(callSuper = true)
public class OrderProcessReqVO { public class OrderProcessReqVO {
@Schema(description = "工序 id", requiredMode = Schema.RequiredMode.REQUIRED,example = "12") @Schema(description = "工序步骤ID", requiredMode = Schema.RequiredMode.REQUIRED,example = "12")
private Long id; private Long processStepId;
@Schema(description = "订单状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "false") @Schema(description = "工序状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
private Boolean status; private Boolean status;
@Schema(description = "生产单",requiredMode = Schema.RequiredMode.REQUIRED, example = "1234") @Schema(description = "生产单工序ID",requiredMode = Schema.RequiredMode.REQUIRED, example = "1234")
private Long orderNo; private Long orderProcessId;
} }
@@ -10,10 +10,10 @@ import lombok.NoArgsConstructor;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class OrderPorcessStepItemVO { public class OrderProcessStepItemVO {
@Schema(description = "主键") @Schema(description = "主键-工序明细ID")
private Long id; private Long id;
@Schema(description = "加工项名称") @Schema(description = "加工项名称")
@@ -7,7 +7,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.ToString; import lombok.ToString;
@Schema(description = "管理后台 - 生产单工序表 order_process_{N} 分页 Request VO ") @Schema(description = "管理后台 - 生产单 分页 Request VO ")
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
@@ -17,8 +17,8 @@ public class ProcessPageReqVO extends PageParam {
@Schema(description = "工序 id", requiredMode = Schema.RequiredMode.REQUIRED,example = "12") @Schema(description = "工序 id", requiredMode = Schema.RequiredMode.REQUIRED,example = "12")
private Long id; private Long id;
@Schema(description = "订单状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "0") @Schema(description = "订单状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
private Long status; private Boolean status;
@Schema(description = "生产单号") @Schema(description = "生产单号")
private Long orderNo; private Long orderNo;
@@ -14,6 +14,8 @@ public class ProcessRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788") @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788")
private Long id; private Long id;
@Schema(description = "生产单工序步骤ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788")
private Long processStepId;
@Schema(description = "自定义单号", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") @Schema(description = "自定义单号", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD")
private String customOrderNo; private String customOrderNo;
@@ -150,12 +150,11 @@ public class ProductionStatusController {
@GetMapping("/queryPackageDetails") @GetMapping("/queryPackageDetails")
@Operation(summary = "查看包裹详情分页") @Operation(summary = "查看包裹详情分页")
@Parameter(name = "packId", description = "包裹Id", required = true)
@PreAuthorize("@ss.hasPermission('manage:query:query')") @PreAuthorize("@ss.hasPermission('manage:query:query')")
public CommonResult<PageResult<PackageDetailsRespVO>> queryPackageDetails(@Valid OrderPackagePageReqVO pageReqVO){ public CommonResult<List<PackageDetailsRespVO>> queryPackageDetails(@Valid @RequestParam("packId") Long packId){
PageResult<PackageDetailsRespVO> packageDetailsRespVOPageResult = productionStatusService.queryPackageDetails(pageReqVO); return CommonResult.success(productionStatusService.queryPackageDetails(packId));
return CommonResult.success(packageDetailsRespVOPageResult);
} }
@@ -13,7 +13,7 @@ import lombok.ToString;
@ToString(callSuper = true) @ToString(callSuper = true)
public class OrderPackagePageReqVO extends PageParam { public class OrderPackagePageReqVO extends PageParam {
@Schema(description = "包裹编号") @Schema(description = "包裹Id")
private Long packageNo; private Long packageNo;
/* @Schema(description = "包裹类型") /* @Schema(description = "包裹类型")
@@ -12,7 +12,7 @@ public class OrderPackageVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "主键-包裹ID", requiredMode = Schema.RequiredMode.REQUIRED)
private Long id; private Long id;
@Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED)
@@ -15,10 +15,10 @@ public class PackageDetailsRespVO {
private String cabinetName; private String cabinetName;
@Schema(description = "板编号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "板编号", requiredMode = Schema.RequiredMode.REQUIRED)
private String palteNo; private String plateNo;
@Schema(description = "板名称", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "板名称", requiredMode = Schema.RequiredMode.REQUIRED)
private String palteName; private String plateName;
@Schema(description = "材料", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "材料", requiredMode = Schema.RequiredMode.REQUIRED)
private String material; private String material;
@@ -18,7 +18,7 @@ public class OrderPlatePageReqVO extends PageParam {
@Schema(description = "生产状态(2:生产中,3:生产完成)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2,3") @Schema(description = "生产状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2,3")
private List<Long> statusList; private List<Long> statusList;
@@ -1,14 +1,17 @@
package com.cf.imes.module.manage.controller.admin.query.vo.salary; package com.cf.imes.module.manage.controller.admin.query.vo.salary;
import cn.hutool.core.date.DateTime;
import com.cf.imes.framework.common.pojo.PageParam; import com.cf.imes.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.ToString; import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date;
import static com.cf.imes.framework.common.util.date.DateUtils.*;
@Schema(description = "管理后台 - 计件工资查询分页 Request VO") @Schema(description = "管理后台 - 计件工资查询分页 Request VO")
@Data @Data
@@ -16,29 +19,26 @@ import java.time.LocalDateTime;
@ToString(callSuper = true) @ToString(callSuper = true)
public class PriceRatePageReqVO extends PageParam { public class PriceRatePageReqVO extends PageParam {
@Schema(description = "工序id")
private Long orderProcessId;
@Schema(description = "生产单工序步骤状态(已加工状态)", requiredMode = Schema.RequiredMode.REQUIRED)
private Boolean status;
@Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime startTime; private String startTime;
@Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime endTime; private String endTime;
@Schema(description = "加工人") @Schema(description = "加工人")
private String creator; private String creator;
@Schema(description = "工序名称") @Schema(description = "工序名称")
private String name; private String name;
@Schema(description = "显示零单价(默认不显示)", requiredMode = Schema.RequiredMode.REQUIRED)
@Schema(description = "显示零单价(默认不显示-false)", requiredMode = Schema.RequiredMode.REQUIRED)
private Boolean noShowZero; private Boolean noShowZero;
} }
@@ -0,0 +1,127 @@
package com.cf.imes.module.manage.dal.dataobject.plate;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
@TableName("order_plate")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderPlateDO extends BaseDO {
// 板件 ID
@TableId
private Long id;
// 生产单号
private Long orderId;
// 组织 ID
private Long organId;
// 板名称
private String name;
// 自定义板编号
private String plateNo;
// 板类型,0 层板 1 立板 2 背板
private Integer type;
// 商品 ID
private String goodsId;
// 宽度
private Double width;
// 高度
private Double height;
// 厚度
private Double thickness;
// 拆单宽度
private Double splitWidth;
// 拆单高度
private Double splitHeight;
// 拆单厚度
private Double splitThickness;
// 左封边厚度
private Double sealLeft;
// 右封边厚度
private Double sealRight;
// 上封边厚度
private Double sealUp;
// 下封边厚度
private Double sealDown;
// 面积
private Double area;
// 纹路类型,0 正纹 1 可翻转 2 反纹
private Integer texture;
// 孔面类型,0 正面 1 反面 2 侧面
private Integer holeFace;
// 排孔类型,0 正纹 1 反面 2 随意面
private Integer holeArrange;
// 异型孔数量
private Integer unregularPointCount;
// 正面孔数量
private Integer frontHoleCount;
// 背面孔数量
private Integer backHoleCount;
// 侧面孔数量
private Integer sideHoleCount;
// 正面造型量
private Integer frontModelCount;
// 背面造型量
private Integer backModelCount;
// 是否门板
private Boolean isDoor;
// 开门类型,0 无 1 左 2 右 3 上 4 下
private Integer openDoorType;
// 异型偏移 x
private Float offsetX;
// 异型偏移 y
private Float offsetY;
// 是否孤形对角
private Boolean isArcAcross;
// 模块类型 ID
private Long moduleTypeId;
// 排单过滤类型,1 有挖穿造型 2 有挖穿孔 4 有二维刀路 8 可叠
private Integer filterType;
// 备注
private String remark;
}
@@ -12,7 +12,7 @@ import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
* *
* @author 晨丰科技 * @author 晨丰科技
*/ */
@TableName("plate_n") @TableName("plate")
@KeySequence("plate_n_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @KeySequence("plate_n_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
import lombok.*; import lombok.*;
@TableName(value = "order_process_n") // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users @TableName(value = "order_process") // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
@@ -20,7 +20,7 @@ public class OrderProcessNDO extends BaseDO {
private Long id; private Long id;
// 生产单号 // 生产单号
private Long orderNo; private Long orderId;
// 工序名 // 工序名
private String name; private String name;
@@ -31,5 +31,12 @@ public class OrderProcessNDO extends BaseDO {
// 工序组 id // 工序组 id
private Long groupId; private Long groupId;
// 板材大小
private Float size;
// 下一工序Id
private Long nextStepId;
} }
@@ -8,14 +8,13 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
import lombok.*; import lombok.*;
@TableName(value = "order_process_step_item_n", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users @TableName(value = "order_process_step_item", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users
@Data @Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class OrderProcessStepItemNDO extends BaseDO{ public class OrderProcessStepItemNDO {
@TableId @TableId
@@ -13,7 +13,7 @@ import lombok.NoArgsConstructor;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
@TableName(value = "order_process_step_n") // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users @TableName(value = "order_process_step") // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users
@Data @Data
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@@ -24,7 +24,7 @@ public class OrderProcessStepNDO extends BaseDO {
private Long id; private Long id;
// 生产单号 // 生产单号
private Long orderNo; private Long orderId;
//组织ID //组织ID
private Long organId; private Long organId;
@@ -28,9 +28,9 @@ public interface OrderPackageMapper extends BaseMapperX<OrderPackageDO> {
default OrderPackageDO selectByPackNo(Long orderNo) { default OrderPackageDO selectByPackNo(Long packId) {
return selectOne(new LambdaQueryWrapperX<OrderPackageDO>() return selectOne(new LambdaQueryWrapperX<OrderPackageDO>()
.eqIfPresent(OrderPackageDO::getPackageNo, orderNo)); .eqIfPresent(OrderPackageDO::getId, packId));
} }
@@ -0,0 +1,23 @@
package com.cf.imes.module.manage.dal.mysql.plate;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO;
import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlatePageReqVO;
import com.cf.imes.module.manage.dal.dataobject.plate.OrderPlateDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface OrderPlateMapper extends BaseMapperX<OrderPlateDO> {
List<PlateDetailsRespVO> selectPlateDetail(PatchingPlatePageReqVO pageReqVO);
PlateDetailsRespVO selectPlate(@Param("plateId") Long plateId);
}
@@ -22,7 +22,7 @@ public interface OrderProcessMapper extends BaseMapperX<OrderProcessNDO> {
default OrderProcessNDO queryProcess( Long processId , Long orderNo) { default OrderProcessNDO queryProcess( Long processId , Long orderNo) {
return selectOne(new LambdaQueryWrapperX<OrderProcessNDO>() return selectOne(new LambdaQueryWrapperX<OrderProcessNDO>()
.eqIfPresent(OrderProcessNDO::getId, processId) .eqIfPresent(OrderProcessNDO::getId, processId)
.eqIfPresent(OrderProcessNDO::getOrderNo,orderNo)); .eqIfPresent(OrderProcessNDO::getOrderId,orderNo));
} }
@@ -45,7 +45,7 @@ public interface OrderProcessMapper extends BaseMapperX<OrderProcessNDO> {
} }
@Update("UPDATE order_process_n SET status = #{status} WHERE id = #{id}") @Update("UPDATE order_process SET status = #{status} WHERE id = #{id}")
void updateStatusById(@Param("id") Long id, @Param("status") Boolean status); void updateStatusById(@Param("id") Long id, @Param("status") Boolean status);
@@ -2,8 +2,7 @@ package com.cf.imes.module.manage.dal.mysql.process;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO; import com.cf.imes.module.manage.controller.admin.process.vo.*;
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO;
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO; import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@@ -20,9 +19,16 @@ import java.util.List;
public interface ProcessStepItemMapper extends BaseMapperX<OrderProcessStepItemNDO> { public interface ProcessStepItemMapper extends BaseMapperX<OrderProcessStepItemNDO> {
List<ProcessRespVO> selectOrder(ProcessPageReqVO pageReqVO);
List<OrderModuleVO> selectPlateName(Long processStepId); List<OrderModuleVO> selectPlateName(Long processStepId);
List<ProcessRespVO> selectOrder(ProcessPageReqVO pageReqVO); List<OrderProcessStepItemVO> selectItemProcess(OrderProcessReqVO reqVO);
void updateStatus(OrderProStepReqVO reqVO);
} }
@@ -1,12 +1,12 @@
package com.cf.imes.module.manage.dal.mysql.process; package com.cf.imes.module.manage.dal.mysql.process;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.manage.controller.admin.process.vo.OrderProStepReqVO;
import com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessStepItemVO;
import com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRatePageReqVO; import com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRatePageReqVO;
import com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRateReqVO; import com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRateReqVO;
import com.cf.imes.module.manage.dal.dataobject.plate.PlateDO;
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO; import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@@ -22,14 +22,6 @@ import java.util.List;
@Mapper @Mapper
public interface ProcessStepMapper extends BaseMapperX<OrderProcessStepNDO> { public interface ProcessStepMapper extends BaseMapperX<OrderProcessStepNDO> {
default List<OrderProcessStepNDO> getStepItemList(Long orderNo, Boolean status) {
return selectList(new LambdaQueryWrapperX<OrderProcessStepNDO>()
.eqIfPresent(OrderProcessStepNDO::getOrderNo, orderNo)
.eqIfPresent(OrderProcessStepNDO::getStatus, status));
}
default OrderProcessStepNDO selectStatusById(Long id) { default OrderProcessStepNDO selectStatusById(Long id) {
return selectOne(new LambdaQueryWrapperX<OrderProcessStepNDO>() return selectOne(new LambdaQueryWrapperX<OrderProcessStepNDO>()
@@ -38,32 +30,23 @@ public interface ProcessStepMapper extends BaseMapperX<OrderProcessStepNDO> {
} }
@Update("UPDATE order_process_step_n SET status = #{status} WHERE id = #{id}")
void updateStatusById(@Param("id") Long id, @Param("status") Boolean status); void updateStatusById(@Param("id") Long id, @Param("status") Boolean status);
default List<OrderProcessStepNDO> selectProducitonList(Long orderNo) { default List<OrderProcessStepNDO> selectProducitonList(Long orderNo) {
return selectList(new LambdaQueryWrapperX<OrderProcessStepNDO>() return selectList(new LambdaQueryWrapperX<OrderProcessStepNDO>()
.eqIfPresent(OrderProcessStepNDO::getOrderNo, orderNo)); .eqIfPresent(OrderProcessStepNDO::getOrderId, orderNo));
} }
List<PriceRateReqVO> selectListByStatus(@Param("collect") List<Long> collect); default List<OrderProcessStepNDO> selectStepList(OrderProStepReqVO reqVO, Boolean status) {
default List<OrderProcessStepNDO> selectListBy(PriceRatePageReqVO pageReqVO) {
return selectList(new LambdaQueryWrapperX<OrderProcessStepNDO>() return selectList(new LambdaQueryWrapperX<OrderProcessStepNDO>()
.eqIfPresent(OrderProcessStepNDO::getStatus, pageReqVO.getStatus()) .eqIfPresent(OrderProcessStepNDO::getId,reqVO.getProcessStepId())
.eqIfPresent(OrderProcessStepNDO::getCreator,pageReqVO.getCreator()) .eqIfPresent(OrderProcessStepNDO::getStatus, status)
.eqIfPresent(OrderProcessStepNDO::getName,pageReqVO.getName()) .eqIfPresent(OrderProcessStepNDO::getOrderId, reqVO.getOrderId()));
.betweenIfPresent(OrderProcessStepNDO::getCreateTime,pageReqVO.getStartTime(),pageReqVO.getEndTime()));
} }
List<PriceRateReqVO> selectSalaryList(PriceRatePageReqVO pageReqVO);
} }
@@ -5,10 +5,15 @@ import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.manage.controller.admin.grouping.vo.OrderPageReqVO; import com.cf.imes.module.manage.controller.admin.grouping.vo.OrderPageReqVO;
import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO;
import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlatePageReqVO;
import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlateRespVO;
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO; import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO;
import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; import com.cf.imes.module.manage.dal.dataobject.process.OrderDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 生产单表 order_{N} Mapper * 生产单表 order_{N} Mapper
* *
@@ -37,6 +42,7 @@ public interface ProductionProcessMapper extends BaseMapperX<OrderDO> {
.eqIfPresent(OrderDO::getCustomOrderNo,pageReqVO.getCustomOrderNo()) .eqIfPresent(OrderDO::getCustomOrderNo,pageReqVO.getCustomOrderNo())
.likeIfPresent(OrderDO::getCustomer,pageReqVO.getCustomer()) .likeIfPresent(OrderDO::getCustomer,pageReqVO.getCustomer())
.likeIfPresent(OrderDO::getAddress,pageReqVO.getAddress()) .likeIfPresent(OrderDO::getAddress,pageReqVO.getAddress())
.likeIfPresent(OrderDO::getDealer,pageReqVO.getDealer())
.and(wrapper -> { .and(wrapper -> {
for (Long status : pageReqVO.getStatusList()) { for (Long status : pageReqVO.getStatusList()) {
wrapper.or().eq(OrderDO::getStatus, status); wrapper.or().eq(OrderDO::getStatus, status);
@@ -47,4 +53,7 @@ public interface ProductionProcessMapper extends BaseMapperX<OrderDO> {
List<PatchingPlateRespVO> selectPatchingPlate(PatchingPlatePageReqVO pageReqVO);
} }
@@ -68,6 +68,7 @@ public class GroupingServiceImpl implements GroupingService{
@Override @Override
public PageResult<OrderPlateListRespVO> notJoinedGroupingPlateList(OrderModuleReqVO reqVO) { public PageResult<OrderPlateListRespVO> notJoinedGroupingPlateList(OrderModuleReqVO reqVO) {
//
PageHelper.startPage(reqVO.getPageNo(),reqVO.getPageSize()); PageHelper.startPage(reqVO.getPageNo(),reqVO.getPageSize());
List<OrderPlateListRespVO> orderPlateListRespVOS = orderItemMapper.selectGroupingPlateList(reqVO.getOrderNo()); List<OrderPlateListRespVO> orderPlateListRespVOS = orderItemMapper.selectGroupingPlateList(reqVO.getOrderNo());
PageInfo<OrderPlateListRespVO> pageInfo = new PageInfo<>(orderPlateListRespVOS); PageInfo<OrderPlateListRespVO> pageInfo = new PageInfo<>(orderPlateListRespVOS);
@@ -2,12 +2,8 @@ package com.cf.imes.module.manage.service.process;
import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.module.manage.controller.admin.process.vo.OrderPorcessStepItemVO; import com.cf.imes.module.manage.controller.admin.process.vo.*;
import com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessReqVO;
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO;
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO;
import com.cf.imes.module.manage.dal.dataobject.process.OrderDO;
import java.util.List; import java.util.List;
@@ -20,18 +16,18 @@ public interface ProductionProcessService {
// 查询工序订单下的加工项的详情 // 查询工序订单下的加工项的详情
List<OrderPorcessStepItemVO> getOrderProcessById(OrderProcessReqVO reqVO); List<OrderProcessStepItemVO> getOrderProcessById(OrderProcessReqVO reqVO);
// 修改生产单的工序状态 // 修改工序明细表的工序状态
void updateProcessStatus(Long id); void updateProcessStatus(Long id);
// 修改生产单工序的全部状态 // 修改生产步骤表的工序状态
void updateAllProcessStatus(Long id); void updateAllProcessStatus(OrderProStepReqVO reqVO);
// 查看板材信息的组合名称 // 查看板材信息的组合名称
@@ -4,15 +4,9 @@ package com.cf.imes.module.manage.service.process;
import com.cf.imes.framework.common.enums.ProcessingStatusEnum; import com.cf.imes.framework.common.enums.ProcessingStatusEnum;
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.module.manage.controller.admin.process.vo.*;
import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO;
import com.cf.imes.module.manage.controller.admin.process.vo.OrderPorcessStepItemVO;
import com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessReqVO;
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO;
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO;
import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO;
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessNDO;
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO; import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO;
import com.cf.imes.module.manage.dal.mysql.process.OrderProcessMapper; import com.cf.imes.module.manage.dal.mysql.process.OrderProcessMapper;
import com.cf.imes.module.manage.dal.mysql.process.ProcessStepItemMapper; import com.cf.imes.module.manage.dal.mysql.process.ProcessStepItemMapper;
@@ -27,6 +21,7 @@ import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import static com.baomidou.mybatisplus.core.toolkit.Wrappers.update; import static com.baomidou.mybatisplus.core.toolkit.Wrappers.update;
@@ -40,9 +35,6 @@ import static com.baomidou.mybatisplus.core.toolkit.Wrappers.update;
@Validated @Validated
public class ProductionProcessServiceImpl implements ProductionProcessService { public class ProductionProcessServiceImpl implements ProductionProcessService {
@Resource
private ProductionProcessMapper productionProcessMapper;
@Resource @Resource
private ProcessStepMapper processStepMapper; private ProcessStepMapper processStepMapper;
@@ -63,55 +55,56 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize());
List<ProcessRespVO> processRespVOS = processStepItemMapper.selectOrder(pageReqVO); List<ProcessRespVO> processRespVOS = processStepItemMapper.selectOrder(pageReqVO);
// 判断生产步骤表在传入的状态查询后是否为空
if(processRespVOS.isEmpty()){
return null;
}
PageInfo<ProcessRespVO> pageInfo = new PageInfo<>(processRespVOS); PageInfo<ProcessRespVO> pageInfo = new PageInfo<>(processRespVOS);
// 转换成 PageResult 分页类型 // 转换成 PageResult 分页类型
return PageHelperUtil.convertToPageResult(pageInfo); return PageHelperUtil.convertToPageResult(pageInfo);
/* // 根据工序单id查询工序单信息
OrderProcessNDO orderProcessNDOS = orderProcessMapper.selectByProcessId(pageReqVO.getId());
pageReqVO.setOrderNo(orderProcessNDOS.getOrderNo());
pageReqVO.setStatus(orderProcessNDOS.getStatus());
// 查询生产单单分页信息
return productionProcessMapper.selectPage(pageReqVO);*/
} }
// 查询工序订单下的加工项的详情 // 查询工序订单下的加工项的详情
@Override @Override
public List<OrderPorcessStepItemVO> getOrderProcessById(OrderProcessReqVO reqVO) { public List<OrderProcessStepItemVO> getOrderProcessById(OrderProcessReqVO reqVO) {
OrderPorcessStepItemVO orderPorcessStepItemVO = new OrderPorcessStepItemVO();
// 获取工序组 id List<OrderProcessStepItemVO> orderProcessStepItemVOS = processStepItemMapper.selectItemProcess(reqVO);
Long groupId = orderProcessMapper.queryProcess(reqVO.getId(), reqVO.getOrderNo()).getGroupId();
// 获取加工的工序项 // 判断生产明细表在传入的状态查询后是否为空
List<OrderProcessStepNDO> stepItemList = processStepMapper.getStepItemList(reqVO.getOrderNo(), reqVO.getStatus()); if(orderProcessStepItemVOS.isEmpty()){
// 修改生产步骤表的工序状态
processStepMapper.updateStatusById(reqVO.getProcessStepId(),ProcessingStatusEnum.PROCESSED.getStatus());
return null;
}
// 将工序组 id 加入 return orderProcessStepItemVOS;
orderPorcessStepItemVO.setOrderProcessId(groupId);
// 类型转换并返回
return BeanUtils.toBean(stepItemList, OrderPorcessStepItemVO.class);
} }
// 修改工序步骤表的工序状态
// 修改工序明细表的工序状态
@Override @Override
public void updateProcessStatus(Long id) { public void updateProcessStatus(Long id) {
// 根据步骤 id 查询当前生产单工序的状态 // 根据步骤 id 查询当前生产单工序的状态
OrderProcessStepNDO orderProcessStepNDO = processStepMapper.selectStatusById(id); OrderProcessStepItemNDO orderProcessStepItemNDO = processStepItemMapper.selectById(id);
// 未加工状态 // 未加工状态
Boolean status = orderProcessStepNDO.getStatus(); Boolean status = orderProcessStepItemNDO.getStatus();
// 未加工状态才可进行加工 // 未加工状态才可进行加工
if (ProcessingStatusEnum.PROCESSED.getStatus().equals(status)) { if (ProcessingStatusEnum.PROCESSED.getStatus().equals(status)) {
@@ -119,16 +112,18 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
throw ServiceExceptionUtil.exception(ErrorCodeConstants.UNPROCESSED_BEFORE_PROCESSING); throw ServiceExceptionUtil.exception(ErrorCodeConstants.UNPROCESSED_BEFORE_PROCESSING);
} }
// 更新加工状态 // 更新加工状态
processStepMapper.updateStatusById(id, ProcessingStatusEnum.PROCESSED.getStatus()); orderProcessStepItemNDO.setStatus(ProcessingStatusEnum.PROCESSED.getStatus());
processStepItemMapper.updateById(orderProcessStepItemNDO);
// 判断生产单工序表的工序状态是否还有未加工 // 判断生产单工序表的工序状态是否还有未加工
// 获取当前工序 id 下的所有生产单工序步骤表 // 获取当前工序 id 下的所有生产单工序步骤表
List<OrderProcessStepNDO> stepItemList = processStepMapper.getStepItemList(orderProcessStepNDO.getOrderNo(), ProcessingStatusEnum.RAW.getStatus()); // List<OrderProcessStepNDO> stepItemList = processStepMapper.getStepItemList(orderProcessStepNDO.getOrderNo(), ProcessingStatusEnum.RAW.getStatus());
// 集合剩余 1 ,代表当前工序步骤已全部加工,修改生产单工序表的状态为已加工 // 集合剩余 1 ,代表当前工序步骤已全部加工,修改生产单工序表的状态为已加工
if (stepItemList.size() == 1) { /* if (stepItemList.size() == 1) {
orderProcessMapper.updateStatusById(orderProcessStepNDO.getOrderProcessId(), ProcessingStatusEnum.PROCESSED.getStatus()); orderProcessMapper.updateStatusById(orderProcessStepNDO.getOrderProcessId(), ProcessingStatusEnum.PROCESSED.getStatus());
return; return;
} }
@@ -138,30 +133,49 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
if (processStepNDO.getStatus().equals(ProcessingStatusEnum.RAW.getStatus())) { if (processStepNDO.getStatus().equals(ProcessingStatusEnum.RAW.getStatus())) {
return; return;
} }
} }*/
} }
// 修改生产单工序的状态
// 修改生产步骤表的工序状态
@Override @Override
public void updateAllProcessStatus(Long id) { public void updateAllProcessStatus(OrderProStepReqVO reqVO) {
// 查看当前生产单的工序状态 OrderProcessStepNDO orderProcessStepNDO = processStepMapper.selectStatusById(reqVO.getProcessStepId());
Boolean status = orderProcessMapper.selectStatusById(id).getStatus(); // 未加工状态
Boolean status = orderProcessStepNDO.getStatus();
// 未加工状态才可进行加工 // 未加工状态才可进行加工
if (ProcessingStatusEnum.PROCESSED.getStatus().equals(status)) { if (ProcessingStatusEnum.PROCESSED.getStatus().equals(status)) {
throw ServiceExceptionUtil.exception(ErrorCodeConstants.UNPROCESSED_BEFORE_PROCESSING); throw ServiceExceptionUtil.exception(ErrorCodeConstants.UNPROCESSED_BEFORE_PROCESSING);
} }
// 更新加工状态
orderProcessMapper.updateStatusById(id, ProcessingStatusEnum.PROCESSED.getStatus()); // 修改生产单工序步骤表的状态为已加工
orderProcessStepNDO.setStatus(ProcessingStatusEnum.PROCESSED.getStatus());
processStepMapper.updateById(orderProcessStepNDO);
// 修改生产单明细表的生产状态
processStepItemMapper.updateStatus(reqVO);
// 查询当前工序步骤表的工序状态是否还有未加工
List<OrderProcessStepNDO> orderProcessStepNDOS = processStepMapper.selectStepList(reqVO, ProcessingStatusEnum.RAW.getStatus());
// 如果为空,修改工序表的加工状态为已加工
if(orderProcessStepNDOS.isEmpty()){
orderProcessMapper.updateStatusById(orderProcessStepNDO.getOrderProcessId(),ProcessingStatusEnum.PROCESSED.getStatus());
}
} }
// 查看板材信息的组合名称 // 查看板材信息的组合名称
@Override @Override
public List<OrderModuleVO> selectPlateName(Long processStepId) { public List<OrderModuleVO> selectPlateName(Long processStepId) {
@@ -50,7 +50,7 @@ public interface ProductionStatusService {
// 查看包裹详情 // 查看包裹详情
PageResult<PackageDetailsRespVO> queryPackageDetails(OrderPackagePageReqVO pageReqVO); List<PackageDetailsRespVO> queryPackageDetails(Long packId);
// 打印订单 // 打印订单
@@ -119,30 +119,20 @@ public class ProductionStatusServiceImpl implements ProductionStatusService {
@Override @Override
public PageResult<PriceRateReqVO> getSalaryPage(PriceRatePageReqVO pageReqVO) { public PageResult<PriceRateReqVO> getSalaryPage(PriceRatePageReqVO pageReqVO) {
// todo 功能完成,数据库数据不完整,测试部分功能完成 PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize());
List<PriceRateReqVO> priceRateReqVOS = processStepMapper.selectSalaryList(pageReqVO);
List<OrderProcessStepNDO> orderProcessStepNDOS = processStepMapper.selectListBy(pageReqVO); // 判断是否显示计件工资为0的工序
if(pageReqVO.getNoShowZero().equals(true)){
if (pageReqVO.getNoShowZero()) { for (PriceRateReqVO priceRateReqVO : priceRateReqVOS) {
for (OrderProcessStepNDO orderProcessStepNDO : orderProcessStepNDOS) { if(priceRateReqVO.getPriceRate() == 0){
if (orderProcessStepNDO.getPieceRate() == 0) { priceRateReqVOS.remove(priceRateReqVO);
orderProcessStepNDOS.remove(orderProcessStepNDO);
} }
} }
} }
List<PriceRatePageReqVO> reqVOS = BeanUtils.toBean(orderProcessStepNDOS, PriceRatePageReqVO.class);
List<Long> collect = reqVOS.stream().map(PriceRatePageReqVO::getOrderProcessId).collect(Collectors.toList());
PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize());
List<PriceRateReqVO> priceRateReqVOS = processStepMapper.selectListByStatus(collect);
PageInfo<PriceRateReqVO> pageInfo = new PageInfo<>(priceRateReqVOS); PageInfo<PriceRateReqVO> pageInfo = new PageInfo<>(priceRateReqVOS);
PageResult<PriceRateReqVO> priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); return PageHelperUtil.convertToPageResult(pageInfo);
return priceRateReqVOPageResult;
} }
@@ -175,30 +165,24 @@ public class ProductionStatusServiceImpl implements ProductionStatusService {
// 查看包裹详情 // 查看包裹详情
@Override @Override
public PageResult<PackageDetailsRespVO> queryPackageDetails(OrderPackagePageReqVO pageReqVO) { public List<PackageDetailsRespVO> queryPackageDetails(Long packId) {
OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackNo(pageReqVO.getPackageNo()); OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackNo(packId);
// 查看配件包裹 // 查看配件包裹
if(orderPackageDO.getType() == 1 && orderPackageDO.getType() == 2){ if(orderPackageDO.getType() == 1 || orderPackageDO.getType() == 2){
//
PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize());
List<PackageDetailsRespVO> packageDetailsRespVOS = orderPartsMapper.selectParts(orderPackageDO.getPackageNo()); List<PackageDetailsRespVO> packageDetailsRespVOS = orderPartsMapper.selectParts(orderPackageDO.getPackageNo());
PageInfo<PackageDetailsRespVO> pageInfo = new PageInfo<>(packageDetailsRespVOS);
PageResult<PackageDetailsRespVO> priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); return packageDetailsRespVOS;
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
return priceRateReqVOPageResult;
} }
// 查看板材包裹 // 查看板材包裹
PageHelper.startPage(pageReqVO.getPageNo(),pageReqVO.getPageSize());
List<PackageDetailsRespVO> packageDetailsRespVOS = orderItemMapper.selectByPackageId(orderPackageDO.getId()); List<PackageDetailsRespVO> packageDetailsRespVOS = orderItemMapper.selectByPackageId(orderPackageDO.getId());
PageInfo<PackageDetailsRespVO> pageInfo = new PageInfo<>(packageDetailsRespVOS);
PageResult<PackageDetailsRespVO> priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo);
return priceRateReqVOPageResult; return packageDetailsRespVOS;
} }
@@ -0,0 +1,128 @@
<?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.cf.imes.module.manage.dal.mysql.plate.OrderPlateMapper">
<resultMap id="PlateDetailMap" type="com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO">
<result property="orderId" column="orderId"/>
<result property="cabinetName" column="cabinetName"/>
<result property="plateNo" column="plateNo"/>
<result property="plateName" column="plateName"/>
<result property="height" column="height"/>
<result property="width" column="width"/>
<result property="thickness" column="thickness"/>
<result property="area" column="area"/>
<result property="remark" column="remark"/>
<result property="customOrderId" column="customOrderId"/>
<result property="customer" column="customer"/>
<result property="address" column="address"/>
<result property="specialShaped" column="specialShaped"/>
<result property="profiling" column="profiling"/>
<result property="rowHole" column="rowHole"/>
<result property="plateCombinationName" column="name"/>
<result property="material" column="material"/>
<result property="color" column="color"/>
</resultMap>
<select id="selectPlateDetail"
resultMap="PlateDetailMap"
parameterType="com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlatePageReqVO">
select
o.id as orderId,
ob.name as cabinetName,
op.id as plateNo,
op.name as plateName,
op.height as height,
op.width as width,
op.thickness as thickness,
op.area as area,
op.remark as remark,
o.custom_order_no as customOrderId,
o.customer as customer,
o.address as address,
CASE WHEN op.unregular_point_count = 0 THEN '否' ELSE '是' END AS specialShaped,
CASE WHEN front_model_count = 0 or op.back_hole_count or op.side_hole_count THEN '否' ELSE '是' END AS profiling,
CASE WHEN front_hole_count = 0 or op.back_model_count THEN '否' ELSE '是' END AS rowHole,
CONCAT(
TRIM(TRAILING '.' from TRIM(TRAILING '0' FROM p.thickness)),'mm-',p.material,'-',p.color) AS name,
p.material as material,
p.color as color
from order_plate op
join order_item oi on op.id = oi.plate_id
join order_body ob on oi.body_id = ob.id
join `order` o on op.order_id = o.id
join plate p on op.goods_id = p.goods_id
<where>
<if test="orderNo != null">
and op.order_id = #{orderNo}
</if>
<if test="customOrderNo != null">
and o.custom_order_no = #{customOrderNo}
</if>
<if test="groupId != null">
and oi.body_id = #{groupId}
</if>
<if test="customer != null">
and o.customer = #{customer}
</if>
<if test="address != null">
and o.address = #{address}
</if>
<if test="startTime != null and endTime != null">
and op.update_time between #{startTime} and #{endTime}
</if>
</where>
</select>
<select id="selectPlate"
resultMap="PlateDetailMap">
select
o.id as orderId,
ob.name as cabinetName,
op.id as plateNo,
op.name as plateName,
op.height as height,
op.width as width,
op.thickness as thickness,
op.area as area,
op.remark as remark,
o.custom_order_no as customOrderId,
o.customer as customer,
o.address as address,
CASE WHEN op.unregular_point_count = 0 THEN '否' ELSE '是' END AS specialShaped,
CASE WHEN front_model_count = 0 or op.back_hole_count or op.side_hole_count THEN '否' ELSE '是' END AS profiling,
CASE WHEN front_hole_count = 0 or op.back_model_count THEN '否' ELSE '是' END AS rowHole,
CONCAT(
TRIM(TRAILING '.' from TRIM(TRAILING '0' FROM p.thickness)),'mm-',p.material,'-',p.color) AS name,
p.material as material,
p.color as color
from order_plate op
join order_item oi on op.id = oi.plate_id
join order_body ob on oi.body_id = ob.id
join `order` o on op.order_id = o.id
join plate p on op.goods_id = p.goods_id
where op.id = #{plateId}
</select>
</mapper>
@@ -18,6 +18,7 @@
<resultMap id="OrderMap" type="com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO"> <resultMap id="OrderMap" type="com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO">
<result property="id" column="id"/> <result property="id" column="id"/>
<result property="processStepId" column="processStepId"/>
<result property="customOrderNo" column="customOrderNo"/> <result property="customOrderNo" column="customOrderNo"/>
<result property="customer" column="customer"/> <result property="customer" column="customer"/>
<result property="address" column="address"/> <result property="address" column="address"/>
@@ -30,10 +31,11 @@
select distinct select distinct
ops.order_id as id, ops.order_id as id,
ops.id as processStepId,
o.custom_order_no as customOrderNo, o.custom_order_no as customOrderNo,
o.customer as customer, o.customer as customer,
o.address as address, o.address as address,
o.status as status ops.status as status
from order_process_step ops from order_process_step ops
join `order` o on ops.order_id = o.id join `order` o on ops.order_id = o.id
@@ -60,4 +62,45 @@
</where> </where>
</select> </select>
<resultMap id="ItemMap" type="com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessStepItemVO">
<result property="id" column="id"/>
<result property="stepName" column="processName"/>
<result property="name" column="name"/>
<result property="orderProcessId" column="orderProcessId"/>
</resultMap>
<select id="selectItemProcess"
resultMap="ItemMap"
parameterType="com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessReqVO">
select opsi.name as name,
opsi.id as id,
ops.Name as processName,
op.group_id as orderProcessId
from order_process_step_item opsi
join order_process op on opsi.order_process_id = op.id
join order_process_step ops on opsi.process_step_id = ops.id
where opsi.status = #{status} and opsi.process_step_id= #{processStepId} and ops.order_process_id = #{orderProcessId};
</select>
<update id="updateStatus"
parameterType= "com.cf.imes.module.manage.controller.admin.process.vo.OrderProStepReqVO">
update order_process_step_item set status = true where process_step_id = #{processStepId} and order_process_id = #{orderProcessId};
</update>
</mapper> </mapper>
@@ -3,8 +3,18 @@
<mapper namespace="com.cf.imes.module.manage.dal.mysql.process.ProcessStepMapper"> <mapper namespace="com.cf.imes.module.manage.dal.mysql.process.ProcessStepMapper">
<update id="updateStatusById">
UPDATE order_process_step SET status = #{status} WHERE id = #{id}
</update>
<resultMap id="priceResultMap" type="com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRateReqVO"> <resultMap id="priceResultMap" type="com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRateReqVO">
<result property="name" column="process_name"/> <result property="name" column="name"/>
<result property="priceRate" column="piece_rate"/> <result property="priceRate" column="piece_rate"/>
<result property="num" column="total_piece_num"/> <result property="num" column="total_piece_num"/>
<result property="priceType" column="piece_type"/> <result property="priceType" column="piece_type"/>
@@ -12,39 +22,45 @@
<result property="manager" column="creator"/> <result property="manager" column="creator"/>
</resultMap> </resultMap>
<select id="selectListByStatus" <select id="selectSalaryList"
parameterType="java.util.List" resultMap="priceResultMap"
resultMap="priceResultMap"> parameterType="com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRatePageReqVO">
select ops.name as name ,
ops.piece_rate as piece_rate ,
ops.piece_type as piece_type,
ops.creator as creator,
SUM(CASE
WHEN ops.piece_type = 1 THEN ops.piece_rate
ELSE ROUND((op.size / ops.piece_rate), 2) * ops.piece_rate
END) AS total_piece_rate,
SELECT SUM(CASE
ops.piece_rate AS piece_rate, WHEN ops.piece_type = 1 THEN 1
ops.piece_type AS piece_type, ELSE ROUND((op.size / ops.piece_rate), 2)
ops.name AS process_name, END) AS total_piece_num
ops.creator AS creator,
SUM(CASE from order_process_step ops
WHEN ops.piece_type = 1 THEN ops.piece_rate join order_process op on ops.order_process_id = op.id
ELSE ROUND((opn.size / p.hour_capacity), 2) * ops.piece_rate
END) AS total_piece_rate, <where>
SUM(CASE <if test="creator != null">
WHEN ops.piece_type = 1 THEN 1 and ops.creator = #{creator}
ELSE 10 / ops.piece_rate </if>
END) AS total_piece_num <if test="name != null">
FROM and ops.name = #{name}
order_process_step_n ops </if>
JOIN <if test="startTime != null and endTime != null">
order_process_n opn ON ops.order_process_id = opn.id and ops.update_time between #{startTime} and #{endTime}
JOIN </if>
imes_base.process p ON opn.id = p.id </where>
WHERE and ops.status = true
ops.order_process_id IN /**/
<foreach item="id" collection="collect" open="(" separator="," close=")"> group by name,piece_rate,piece_type,creator;
#{id}
</foreach>
GROUP BY
ops.name, ops.creator, ops.piece_type, ops.piece_rate;
</select> </select>
</mapper> </mapper>
@@ -0,0 +1,79 @@
<?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.cf.imes.module.manage.dal.mysql.process.ProductionProcessMapper">
<resultMap id="PatchingPlateMap" type="com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlateRespVO">
<result property="groupId" column="groupId"/>
<result property="orderId" column="orderId"/>
<result property="customOrderId" column="customOrderId"/>
<result property="customer" column="customer"/>
<result property="address" column="address"/>
<result property="orderStatus" column="orderStatus"/>
<result property="plateName" column="plateName"/>
<result property="plateNum" column="plateNum"/>
<result property="thickness" column="thickness"/>
<result property="material" column="material"/>
<result property="color" column="color"/>
</resultMap>
<select id="selectPatchingPlate"
resultMap="PatchingPlateMap"
parameterType="com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlatePageReqVO">
select
oi.body_id as groupId,
o.id as orderId,
o.custom_order_no as customOrderId,
o.customer as customer,
o.address as address,
o.status as orderStatus,
oi.num as plateNum,
<![CDATA[
CONCAT(
TRIM(TRAILING '.' from TRIM(TRAILING '0' FROM p.thickness)),'mm-',p.material,'-',p.color) AS plateName,
]]>
p.thickness as thickness,
p.material as material,
p.color as color
from `order` o
join order_item oi on o.id = oi.order_id
join order_plate op on oi.plate_id = op.id
join plate p on op.goods_id = p.goods_id
<where>
<if test="orderNo != null">
and o.id = #{orderNo}
</if>
<if test="customOrderNo != null">
and o.custom_order_no = #{customOrderNo}
</if>
<if test="customer != null">
and o.customer = #{customer}
</if>
<if test="address != null">
and o.address = #{address}
</if>
<if test="statusList != null">
and o.status in
<foreach item="id" collection="statusList" open="(" separator="," close=")">
#{id}
</foreach>
</if>
<if test="startTime != null and endTime != null">
and o.update_time between #{startTime} and #{endTime}
</if>
</where>
group by groupId,orderId,customOrderId,customer,address,orderStatus,plateNum,plateName,thickness,material,color
</select>
</mapper>
@@ -6,8 +6,8 @@
<resultMap id="orderItemMap" type="com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO"> <resultMap id="orderItemMap" type="com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO">
<result property="roomName" column="roomName"/> <result property="roomName" column="roomName"/>
<result property="cabinetName" column="bodyName"/> <result property="cabinetName" column="bodyName"/>
<result property="palteNo" column="palteId"/> <result property="plateNo" column="palteId"/>
<result property="palteName" column="plateName"/> <result property="plateName" column="plateName"/>
<result property="material" column="plateMaterial"/> <result property="material" column="plateMaterial"/>
<result property="color" column="palteColor"/> <result property="color" column="palteColor"/>
<result property="width" column="plateWidth"/> <result property="width" column="plateWidth"/>
@@ -205,30 +205,20 @@
</select> </select>
<!--parameterType="com.cf.imes.module.manage.controller.admin.grouping.vo.GroupPlateReqVO"-->
<update id="insertPackPlate" <update id="insertPackPlate"
parameterType="java.lang.Long"> parameterType="java.lang.Long">
UPDATE order_item oi
<!-- UPDATE order_item oi SET oi.package_id = (SELECT opn.id
FROM order_package_n opn
SET oi.package_id = WHERE opn.name LIKE CONCAT('%', (SELECT ob.room_name
(select order_package_n.id from order_package_n where name like CONCAT ('%', #{roomName}, '%')) FROM order_body ob
WHERE oi.body_id = ob.id
WHERE plate_id =#{plateId} and order_id =#{orderNo};--> AND plate_id = #{plateId}), '%'))
WHERE plate_id = #{plateId};
UPDATE order_item oi
SET oi.package_id = (SELECT opn.id
FROM order_package_n opn
WHERE opn.name LIKE CONCAT('%', (SELECT ob.room_name
FROM order_body ob
WHERE oi.body_id = ob.id
AND plate_id = #{plateId}),'%' )
)
WHERE plate_id = #{plateId};
</update> </update>
@@ -7,7 +7,7 @@
<result property="partsName" column="name"/> <result property="partsName" column="name"/>
<result property="model" column="model"/> <result property="model" column="model"/>
<result property="spec" column="spec"/> <result property="spec" column="spec"/>
<result property="num" column="name_count"/> <result property="num" column="num"/>
<result property="unit" column="unit"/> <result property="unit" column="unit"/>
<result property="brand" column="brand"/> <result property="brand" column="brand"/>
<result property="factory" column="factory"/> <result property="factory" column="factory"/>
@@ -18,14 +18,19 @@
parameterType="java.lang.Long" parameterType="java.lang.Long"
resultMap="partsMap"> resultMap="partsMap">
SELECT name, COUNT(name) AS name_count,model,spec,unit,brand,factory,remark
FROM order_parts select op.name as name,
WHERE id IN ( op.model as model,
SELECT parts_id op.spec as spec,
FROM order_item op.unit as unit,
WHERE package_id = #{packageNo} op.brand as brand,
) op.material as material,
GROUP BY name,model,spec,unit,brand,factory,remark; op.factory as factory,
oi.num as num
from order_package_n opn
join order_item oi on opn.id = oi.package_id
join order_parts op on oi.parts_id = op.id
where opn.id = #{packageNo}
</select> </select>
@@ -72,9 +72,8 @@ public class ProcessGroupController {
@Operation(summary = "更新工序组") @Operation(summary = "更新工序组")
@PreAuthorize("@ss.hasPermission('system:process-group:update')") @PreAuthorize("@ss.hasPermission('system:process-group:update')")
public CommonResult<Boolean> updateProcessGroup(@Valid @RequestBody ProcessListSaveReqVO updateReqVO) { public CommonResult<Boolean> updateProcessGroup(@Valid @RequestBody ProcessListSaveReqVO updateReqVO) {
/*processGroupService.updateProcessGroup(updateReqVO); processGroupService.updateProcessGroup(updateReqVO);
return success(true);*/ return success(true);
return null;
} }
@DeleteMapping("/delete") @DeleteMapping("/delete")