diff --git a/src/main/java/com/qs/serve/modules/pms/controller/PmsOrderController.java b/src/main/java/com/qs/serve/modules/pms/controller/PmsOrderController.java index 810a560..85ffba8 100644 --- a/src/main/java/com/qs/serve/modules/pms/controller/PmsOrderController.java +++ b/src/main/java/com/qs/serve/modules/pms/controller/PmsOrderController.java @@ -59,20 +59,41 @@ public class PmsOrderController { * @return */ @GetMapping("/getById/{id}") - @SysLog(module = SystemModule.PIECE, title = "生产订单", biz = BizType.QUERY) @PreAuthorize("hasRole('pms:order:query')") public R getById(@PathVariable("id") String id){ PmsOrder pmsOrder = pmsOrderService.getById(id); + return R.ok(pmsOrder); + } + + /** + * 查询订单的工序列表(根据产品分组) + * @param id + * @return + */ + @GetMapping("/getProdsWidthProcessById/{id}") + @SysLog(module = SystemModule.PIECE, title = "生产订单",desc = "查询订单的工序信息", biz = BizType.QUERY) + @PreAuthorize("hasRole('pms:order:query')") + public R> getProdsWidthProcessById(@PathVariable("id") String id){ List orderProducts = pmsOrderProductService.getByOrderId(id); for (PmsOrderProduct orderProduct : orderProducts) { List pmsOrderProcessList = pmsOrderProcessService.list(id,orderProduct.getOrderProductSn()); orderProduct.setOrderProcessList(pmsOrderProcessList); } - pmsOrder.setOrderProducts(orderProducts); - return R.ok(pmsOrder); + return R.ok(orderProducts); } - + /** + * 查询订单的统计信息 + * @param id + * @return + */ + @GetMapping("/getCounterById/{id}") + @SysLog(module = SystemModule.PIECE, title = "生产订单",desc = "查询订单的统计信息", biz = BizType.QUERY) + @PreAuthorize("hasRole('pms:order:query')") + public R getCounterById(@PathVariable("id") String id){ + //TODO 查询订单的统计信息 + return R.ok(); + } /** * 根据ID更新 diff --git a/src/main/java/com/qs/serve/modules/pms/controller/PmsOrderSubmitController.java b/src/main/java/com/qs/serve/modules/pms/controller/PmsOrderSubmitController.java index 802fdf4..2a7d90e 100644 --- a/src/main/java/com/qs/serve/modules/pms/controller/PmsOrderSubmitController.java +++ b/src/main/java/com/qs/serve/modules/pms/controller/PmsOrderSubmitController.java @@ -6,7 +6,10 @@ import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.PageUtil; +import com.qs.serve.modules.pms.entity.dto.PmsOrderSubmitSaveBo; +import com.qs.serve.modules.pms.entity.dto.PmsOrderSubmitUpdateBo; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; @@ -58,8 +61,6 @@ public class PmsOrderSubmitController { return R.ok(pmsOrderSubmit); } - - /** * 根据ID更新 * @param param @@ -68,21 +69,24 @@ public class PmsOrderSubmitController { @PostMapping("/updateById") @SysLog(module = SystemModule.PIECE, title = "订单报工单", biz = BizType.UPDATE) @PreAuthorize("hasRole('pms:orderSubmit:update')") - public R updateById(@RequestBody @Valid PmsOrderSubmit param){ - boolean result = pmsOrderSubmitService.updateById(param); + public R updateById(@RequestBody @Valid PmsOrderSubmitUpdateBo param){ + PmsOrderSubmit orderSubmit = CopierUtil.copy(param,new PmsOrderSubmit()); + boolean result = pmsOrderSubmitService.updateById(orderSubmit); return R.isTrue(result); } /** - * 新增订单报工单 + * 新增订单报工单(管理员接口) * @param param * @return */ @PostMapping("/save") @SysLog(module = SystemModule.PIECE, title = "订单报工单", biz = BizType.INSERT) @PreAuthorize("hasRole('pms:orderSubmit:insert')") - public R save(@RequestBody @Valid PmsOrderSubmit param){ - boolean result = pmsOrderSubmitService.save(param); + public R save(@RequestBody @Valid PmsOrderSubmitSaveBo param){ + PmsOrderSubmit orderSubmit = CopierUtil.copy(param,new PmsOrderSubmit()); + + boolean result = pmsOrderSubmitService.save(orderSubmit); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/pms/entity/PmsOrder.java b/src/main/java/com/qs/serve/modules/pms/entity/PmsOrder.java index f5586cd..a249869 100644 --- a/src/main/java/com/qs/serve/modules/pms/entity/PmsOrder.java +++ b/src/main/java/com/qs/serve/modules/pms/entity/PmsOrder.java @@ -62,6 +62,9 @@ public class PmsOrder implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private LocalDate enterWhDate; + /** 状态:0-未开始;1-进行中;2-完成;3-关闭 */ + private Integer status; + /** 备注 */ @Length(max = 255,message = "备注长度不能超过255字") private String remark; diff --git a/src/main/java/com/qs/serve/modules/pms/entity/PmsOrderProcess.java b/src/main/java/com/qs/serve/modules/pms/entity/PmsOrderProcess.java index 186e716..758680b 100644 --- a/src/main/java/com/qs/serve/modules/pms/entity/PmsOrderProcess.java +++ b/src/main/java/com/qs/serve/modules/pms/entity/PmsOrderProcess.java @@ -65,6 +65,18 @@ public class PmsOrderProcess implements Serializable { @NotNull(message = "工序报价不能为空") private BigDecimal processPrice; + /** 完成数量(合计) */ + @NotNull(message = "完成数量不能为空") + private BigDecimal finishedQty; + + /** 损坏数量(合计) */ + @NotNull(message = "损坏数量不能为空") + private BigDecimal damagedQty; + + /** 人为损坏数量(合计) */ + @NotNull(message = "人为损坏数量不能为空") + private BigDecimal personDamagedQty; + /** 备注 */ @Length(max = 255,message = "备注长度不能超过255字") private String remark; diff --git a/src/main/java/com/qs/serve/modules/pms/entity/PmsOrderProduct.java b/src/main/java/com/qs/serve/modules/pms/entity/PmsOrderProduct.java index e231d97..82a314b 100644 --- a/src/main/java/com/qs/serve/modules/pms/entity/PmsOrderProduct.java +++ b/src/main/java/com/qs/serve/modules/pms/entity/PmsOrderProduct.java @@ -83,6 +83,9 @@ public class PmsOrderProduct implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private LocalDate finishedDate; + /** 完成状态 */ + private Integer finishedStatus; + /** 备注 */ @Length(max = 255,message = "备注长度不能超过255字") private String remark; @@ -112,6 +115,7 @@ public class PmsOrderProduct implements Serializable { @JsonProperty private Boolean delFlag; + /** 订单工序列表 */ @TableField(exist = false) List orderProcessList; diff --git a/src/main/java/com/qs/serve/modules/pms/entity/PmsOrderSubmit.java b/src/main/java/com/qs/serve/modules/pms/entity/PmsOrderSubmit.java index a59c9d2..791b7a7 100644 --- a/src/main/java/com/qs/serve/modules/pms/entity/PmsOrderSubmit.java +++ b/src/main/java/com/qs/serve/modules/pms/entity/PmsOrderSubmit.java @@ -30,6 +30,11 @@ public class PmsOrderSubmit implements Serializable { @TableId(type = IdType.ASSIGN_UUID) private String id; + /** 订单产线编码 */ + @NotBlank(message = "产线编码不能为空") + @Length(max = 32,message = "产线编码长度不能超过32字") + private String orderProductSn; + /** 订单工序编码 */ @NotBlank(message = "订单工序编码不能为空") @Length(max = 32,message = "订单工序编码长度不能超过32字") @@ -70,10 +75,6 @@ public class PmsOrderSubmit implements Serializable { @Length(max = 30,message = "工序编码长度不能超过30字") private String processCode; - /** 工序报价 */ - @NotNull(message = "工序报价不能为空") - private BigDecimal processPrice; - /** 完成数量 */ @NotNull(message = "完成数量不能为空") private BigDecimal finishedQty; diff --git a/src/main/java/com/qs/serve/modules/pms/entity/dto/PmsOrderSubmitSaveBo.java b/src/main/java/com/qs/serve/modules/pms/entity/dto/PmsOrderSubmitSaveBo.java new file mode 100644 index 0000000..bf91ce1 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/pms/entity/dto/PmsOrderSubmitSaveBo.java @@ -0,0 +1,53 @@ +package com.qs.serve.modules.pms.entity.dto; + +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 订单报工单 实体类 + * @author YenHex + * @since 2022-08-05 + */ +@Data +public class PmsOrderSubmitSaveBo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** 订单产线编码 */ + @NotBlank(message = "产线编码不能为空") + @Length(max = 32,message = "产线编码长度不能超过32字") + private String orderProductSn; + + /** 订单工序编码 */ + @NotBlank(message = "订单工序编码不能为空") + @Length(max = 32,message = "订单工序编码长度不能超过32字") + private String orderProcessSn; + + /** 完成数量 */ + @NotNull(message = "完成数量不能为空") + private BigDecimal finishedQty; + + /** 损坏数量 */ + @NotNull(message = "损坏数量不能为空") + private BigDecimal damagedQty; + + /** 人为损坏数量 */ + @NotNull(message = "人为损坏数量不能为空") + private BigDecimal personDamagedQty; + + /** 员工id(员工提交时不需要填写) */ + @NotBlank(message = "员工id不能为空") + @Length(max = 32,message = "员工id长度不能超过32字") + private String personId; + + /** 员工备注 */ + @Length(max = 255,message = "员工备注长度不能超过255字") + private String personRemark; + +} + diff --git a/src/main/java/com/qs/serve/modules/pms/entity/dto/PmsOrderSubmitUpdateBo.java b/src/main/java/com/qs/serve/modules/pms/entity/dto/PmsOrderSubmitUpdateBo.java new file mode 100644 index 0000000..02a1eba --- /dev/null +++ b/src/main/java/com/qs/serve/modules/pms/entity/dto/PmsOrderSubmitUpdateBo.java @@ -0,0 +1,47 @@ +package com.qs.serve.modules.pms.entity.dto; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 订单报工单 实体类 + * @author YenHex + * @since 2022-08-05 + */ +@Data +public class PmsOrderSubmitUpdateBo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + private String id; + + /** 完成数量 */ + @NotNull(message = "完成数量不能为空") + private BigDecimal finishedQty; + + /** 损坏数量 */ + @NotNull(message = "损坏数量不能为空") + private BigDecimal damagedQty; + + /** 人为损坏数量 */ + @NotNull(message = "人为损坏数量不能为空") + private BigDecimal personDamagedQty; + + /** 管理员备注 */ + @Length(max = 255,message = "管理员备注长度不能超过255字") + private String remark; + +} + diff --git a/src/main/java/com/qs/serve/modules/pms/service/impl/PmsOrderProcessServiceImpl.java b/src/main/java/com/qs/serve/modules/pms/service/impl/PmsOrderProcessServiceImpl.java index f6576f0..ff8a8f0 100644 --- a/src/main/java/com/qs/serve/modules/pms/service/impl/PmsOrderProcessServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/pms/service/impl/PmsOrderProcessServiceImpl.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.pms.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -8,6 +9,8 @@ import com.qs.serve.modules.pms.entity.PmsOrderProcess; import com.qs.serve.modules.pms.service.PmsOrderProcessService; import com.qs.serve.modules.pms.mapper.PmsOrderProcessMapper; +import java.util.List; + /** * 订单工序 服务实现类 * @author YenHex @@ -18,5 +21,13 @@ import com.qs.serve.modules.pms.mapper.PmsOrderProcessMapper; @AllArgsConstructor public class PmsOrderProcessServiceImpl extends ServiceImpl implements PmsOrderProcessService { + @Override + public List list(String orderId, String orderProductSn) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(PmsOrderProcess::getOrderId,orderId); + lqw.eq(PmsOrderProcess::getOrderProductSn,orderProductSn); + return list(lqw); + } + }