diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContent.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContent.java index 2a2927fc..374d79be 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContent.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContent.java @@ -2,8 +2,10 @@ package org.springblade.desk.order.pojo.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.springblade.core.mp.base.BaseEntity; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.util.Date; @@ -34,6 +36,12 @@ public class AssayContent extends BaseEntity { /** * 化验时间 */ + @DateTimeFormat( + pattern = "yyyy-MM-dd" + ) + @JsonFormat( + pattern = "yyyy-MM-dd" + ) @TableField(value = "ASSAY_TIME") private Date assayTime; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContentDetail.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContentDetail.java index c7f1aacf..929075b9 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContentDetail.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContentDetail.java @@ -16,39 +16,51 @@ import java.math.BigDecimal; @TableName(value = "MES_ASSAY_CONTENT_DETAIL") @Data public class AssayContentDetail extends BaseEntity { - @TableField(exist = false) - private static final long serialVersionUID = 1L; - /** - * 化验记录 - */ - @TableField(value = "AC_ID") - private Long acId; + @TableField(exist = false) + private static final long serialVersionUID = 1L; + /** + * 化验记录 + */ + @TableField(value = "AC_ID") + private Long acId; - /** - * 槽号 - */ - @TableField(value = "SLOT") - private String slot; + /** + * 槽号 + */ + @TableField(value = "SLOT") + private String slot; - /** - * 化验值 - */ - @TableField(value = "TEST_VAL") - private BigDecimal testVal; + /** + * 槽名称 + */ + @TableField(value = "SLOT_NAME") + private String slotName; - /** - * 申报添加金钾 - */ - @TableField(value = "SAVE_GOLD_VAL") - private BigDecimal saveGoldVal; + /** + * 化验值 + */ + @TableField(value = "TEST_VAL") + private BigDecimal testVal; - /** - * 申报添加银钾 - */ - @TableField(value = "SAVE_SILVER_VAL") - private BigDecimal saveSilverVal; + /** + * 添加量值 + */ + @TableField(value = "ADD_VAL") + private BigDecimal addVal; - /** + /** + * 申报添加金钾 + */ + @TableField(value = "SAVE_GOLD_VAL") + private BigDecimal saveGoldVal; + + /** + * 申报添加银钾 + */ + @TableField(value = "SAVE_SILVER_VAL") + private BigDecimal saveSilverVal; + + /** * 申报添加银板 */ @TableField(value = "SAVE_BOARD_VAL") diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlan.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlan.java index eafb15dc..5ac24a81 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlan.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlan.java @@ -2,8 +2,10 @@ package org.springblade.desk.order.pojo.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.springblade.core.mp.base.BaseEntity; +import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @@ -37,12 +39,6 @@ public class MoldPlan extends BaseEntity { @TableField(value = "QUANTITY") private Long quantity; - /** - * erpId - */ - @TableField(value = "ERP_ID") - private Long erpId; - /** * 生产计划id */ @@ -50,7 +46,13 @@ public class MoldPlan extends BaseEntity { private Long ypId; /** - * + * erpId + */ + @TableField(value = "ERP_ID") + private Long erpId; + + /** + * erpCode */ @TableField(value = "ERP_WO_CODE") private String erpWoCode; @@ -72,14 +74,22 @@ public class MoldPlan extends BaseEntity { */ @TableField(value = "PLAN_TYPE_CODE") private String planTypeCode; + /** * 计划类型名称;14001:Z:制造(工装不为空且工装名称为压饼模),14002:D:夹具(工装不为空且工装名称为石墨模) */ @TableField(value = "PLAN_TYPE_NAME") private String planTypeName; + /** * 需求日期 */ + @DateTimeFormat( + pattern = "yyyy-MM-dd" + ) + @JsonFormat( + pattern = "yyyy-MM-dd" + ) @TableField(value = "NEED_DATE") private Date needDate; @@ -124,9 +134,28 @@ public class MoldPlan extends BaseEntity { */ @TableField(value = "URGENT_TYPE") private String urgentType; + /** * 计划来源;15001:自动生成,15002:人工添加 */ @TableField(value = "SOURCE") private Integer source; + + /** + * 库存量 + */ + @TableField(value = "STOCK_NUM") + private Integer stockNum; + + /** + * 占用量 + */ + @TableField(value = "OCCUPY_NUM") + private Integer occupyNum; + + /** + * 关联生产订单, 多个订单以','分割 + */ + @TableField(value = "LINK_ORDER_IDS") + private String linkOrderIds; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsApply.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsApply.java index 00cfcc14..7aabb474 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsApply.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsApply.java @@ -87,7 +87,7 @@ public class PlateGoodsApply extends BaseEntity { private Long pgrId; /** - * + * 作业中心ID */ @TableField(value = "WC_ID") private Long wcId; @@ -99,7 +99,7 @@ public class PlateGoodsApply extends BaseEntity { private String involveCode; /** - * 涉及单号及数量 + * 涉及订单要添加的数量 */ @TableField(value = "CODE_NUM") private String codeNum; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java index ce1311fc..e4e3450f 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java @@ -129,4 +129,17 @@ public class PlateGoodsRecord extends BaseEntity { @TableField(value = "SILVER_POTASSIUM_RESIDUE") private BigDecimal silverPotassiumResidue; + /** + * 本次添加涉及单号 + */ + @TableField(value = "INVOLVING_RECORD_CODE") + private String involvingRecordCode; + + /** + * 本次剩余单号余量 + */ + @TableField(value = "NOT_ADD_VAL") + private BigDecimal notAddVal; + + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/PlateGoodsApplySave.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/PlateGoodsApplySave.java index d813b6a1..c39e9097 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/PlateGoodsApplySave.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/PlateGoodsApplySave.java @@ -1,8 +1,7 @@ package org.springblade.desk.order.pojo.request; import lombok.Data; -import org.springblade.desk.order.pojo.entity.PlateGoodsApply; -import org.springblade.desk.order.pojo.entity.PlateGoodsApplyDetail; +import org.springblade.desk.order.pojo.entity.AssayContentDetail; import java.util.List; @@ -13,15 +12,10 @@ import java.util.List; */ @Data public class PlateGoodsApplySave { - /** - * 化验含量 - */ - private PlateGoodsApply assayContent; - /** * 化验含量明细 */ - private List detailList; + private List assayContentDetailList; /** diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldPlanDetailVo.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldPlanDetailVo.java new file mode 100644 index 00000000..82640eb7 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldPlanDetailVo.java @@ -0,0 +1,61 @@ +package org.springblade.desk.order.pojo.vo; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import org.springblade.desk.order.pojo.entity.MoldPlan; + +import java.io.Serial; +import java.util.List; + +/** + * 烧结模具计划-视图类 + * + * @author lqk + */ +@Data +public class MoldPlanDetailVo extends MoldPlan { + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 创建人 + */ + String createUserName; + + /** + * 状态名称 + */ + String statusName; + + /** + * 状态名称 + */ + String mafStatusName; + + /** + * 类型名称 + */ + String mafTypeName; + + /** + * 库存信息 + */ + List stockList; + + /** + * 工装信息 + */ + List toolList; + + /** + * 关联订单 + */ + List orderList; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldPlanVo.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldPlanVo.java index b77249dc..2be47273 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldPlanVo.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldPlanVo.java @@ -23,6 +23,11 @@ public class MoldPlanVo extends MoldPlan { @JsonSerialize(using = ToStringSerializer.class) private Long id; + /** + * 创建人 + */ + String createUserName; + /** * 状态名称 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsApplyVo.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsApplyVo.java index 0818bf4e..432ad76b 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsApplyVo.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsApplyVo.java @@ -23,8 +23,18 @@ public class PlateGoodsApplyVo extends PlateGoodsApply { @JsonSerialize(using = ToStringSerializer.class) private Long id; + /** + * 作业中心名称 + */ + String wcName; + /** * 状态名称 */ String statusName; + + /** + * 创建人名称 + */ + String createUserName; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsRecordDetailVo.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsRecordDetailVo.java index 6f5ecf99..214a8884 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsRecordDetailVo.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsRecordDetailVo.java @@ -27,4 +27,5 @@ public class PlateGoodsRecordDetailVo extends PlateGoodsRecordDetail { * 状态名称 */ String statusName; + } diff --git a/blade-service/blade-desk/pom.xml b/blade-service/blade-desk/pom.xml index 0f3a8fd7..feac8618 100644 --- a/blade-service/blade-desk/pom.xml +++ b/blade-service/blade-desk/pom.xml @@ -106,6 +106,10 @@ org.springblade blade-system-api + + org.springblade + blade-scheduling-api + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/AssayContentController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/AssayContentController.java index 8f8f8494..c9d5a258 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/AssayContentController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/AssayContentController.java @@ -45,7 +45,7 @@ public class AssayContentController extends BladeController { @GetMapping("/page") @Parameters({ @Parameter(name = "wcId", description = "作业中心", in = ParameterIn.QUERY, schema = @Schema(type = "string")), - @Parameter(name = "status", description = "状态, 10000:未使用, 10001:已使用, 10002:已过期", in = ParameterIn.QUERY, schema = @Schema(type = "int")) + @Parameter(name = "status", description = "状态(10000:未使用;10001:已使用;10002:已过期)", in = ParameterIn.QUERY, schema = @Schema(type = "string")) }) @Operation(summary = "分页", description = "") public R> page(@Parameter(hidden = true) AssayContent entity, Query query) { diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsApplyController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsApplyController.java index f37e4a7a..bef06f20 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsApplyController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsApplyController.java @@ -14,11 +14,10 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.desk.order.pojo.entity.AssayContentDetail; import org.springblade.desk.order.pojo.entity.PlateGoodsApply; -import org.springblade.desk.order.pojo.entity.PlateGoodsApplyDetail; import org.springblade.desk.order.pojo.request.PlateGoodsApplySave; import org.springblade.desk.order.pojo.vo.PlateGoodsApplyVo; -import org.springblade.desk.order.service.IPlateGoodsApplyDetailService; import org.springblade.desk.order.service.IPlateGoodsApplyService; import org.springblade.desk.order.wrapper.PlateGoodsApplyWrapper; import org.springframework.web.bind.annotation.*; @@ -37,7 +36,6 @@ import java.util.List; public class PlateGoodsApplyController extends BladeController { private final IPlateGoodsApplyService plateGoodsApplyService; - private final IPlateGoodsApplyDetailService plateGoodsApplyDetailService; /** * 分页 @@ -70,34 +68,12 @@ public class PlateGoodsApplyController extends BladeController { @PostMapping("/save") @Operation(summary = "新增", description = "") public R save(@Valid @RequestBody PlateGoodsApplySave saveData) { - PlateGoodsApply entity = saveData.getAssayContent(); - List detailList = saveData.getDetailList(); - List recordIdList = saveData.getRecordIdList(); - plateGoodsApplyService.save(entity, detailList, recordIdList); + List assayContentDetailList = saveData.getAssayContentDetailList(); + List recordIdList = saveData.getRecordIdList(); + plateGoodsApplyService.save(assayContentDetailList, recordIdList); return R.status(true); } - /** - * 修改 - */ - @PostMapping("/update") - @Operation(summary = "修改", description = "") - public R update(@Valid @RequestBody PlateGoodsApplySave saveData) { - PlateGoodsApply entity = saveData.getAssayContent(); - List detailList = saveData.getDetailList(); - plateGoodsApplyService.update(entity, detailList); - return R.status(true); - } - - /** - * 删除 - */ - @PostMapping("/remove") - @Operation(summary = "逻辑删除", description = "传入ids") - public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { - return R.status(plateGoodsApplyService.deleteLogic(Func.toLongList(ids))); - } - /** * 批量审核 */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsRecordController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsRecordController.java index 7ffe8b00..40ab2e4d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsRecordController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsRecordController.java @@ -14,7 +14,6 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; -import org.springblade.desk.order.pojo.entity.AssayContentDetail; import org.springblade.desk.order.pojo.entity.PlateGoodsRecord; import org.springblade.desk.order.pojo.entity.PlateGoodsRecordDetail; import org.springblade.desk.order.pojo.entity.YieldOrder; @@ -56,6 +55,17 @@ public class PlateGoodsRecordController extends BladeController { return R.data(PlateGoodsRecordWrapper.build().pageVO(page)); } + /** + * 列表 - 查询已审批通过但未添加完成的申请列表 + */ + @GetMapping("/listNoFinished") + @Operation(summary = "查询已审批通过但未添加完成的申请列表", description = "") + public R> listNoFinished(@Parameter(description = "作业中心ID", required = true) Long wcId, + @Parameter(description = "查询几天内的数据,传0或空为查询全部", required = true) Integer dayRange) { + List listData = goodsRecordService.listNoFinished(wcId, dayRange); + return R.data(PlateGoodsRecordWrapper.build().listVO(listData)); + } + /** * 详情 */ @@ -129,13 +139,4 @@ public class PlateGoodsRecordController extends BladeController { Boolean result = goodsRecordService.changeStatus(Func.toLongList(ids), PlateGoodsEnum.STATUS_CLOSE.getCode()); return R.status(result); } - - /** - * 列表 - 查询已审批通过但未添加完成的申请列表 - */ - @GetMapping("/listNoFinished") - @Operation(summary = "查询已审批通过但未添加完成的申请列表", description = "") - public R listNoFinished(@Parameter(hidden = true) AssayContentDetail authClient, Query query) { - return R.data(null); - } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java index cbfcfce9..20f55a8e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java @@ -24,6 +24,7 @@ import org.springblade.desk.order.pojo.vo.YieldOrderVo; import org.springblade.desk.order.service.IYieldOrderCraftService; import org.springblade.desk.order.service.IYieldOrderService; import org.springblade.desk.order.wrapper.YieldOrderWrapper; +import org.springblade.scheduling.feign.IWorkOrderClient; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; @@ -43,19 +44,21 @@ public class YieldOrderController extends BladeController { private final IYieldOrderService yieldOrderService; private final IYieldOrderCraftService yieldOrderCraftService; + private final IWorkOrderClient workOrderClient; + /** * 分页查询列表-电镀 */ @GetMapping("/pageElectroplate") @Parameters({ - @Parameter(name = "ypCode", description = "计划单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), - @Parameter(name = "yoCode", description = "生产单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), - @Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), - @Parameter(name = "batchNo", description = "批次号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), - @Parameter(name = "cardNo", description = "流程卡号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), - @Parameter(name = "roamNo", description = "流转编号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), - @Parameter(name = "reworkCode", description = "返工单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), - @Parameter(name = "status", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "int")) + @Parameter(name = "ypCode", description = "计划单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "yoCode", description = "生产单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "batchNo", description = "批次号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "cardNo", description = "流程卡号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "roamNo", description = "流转编号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "reworkCode", description = "返工单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "status", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "int")) }) @Operation(summary = "分页查询列表-电镀", description = "") public R> pageElectroplate(@Parameter(hidden = true) YieldOrder entity, Query query) { @@ -106,15 +109,15 @@ public class YieldOrderController extends BladeController { } /** - * 分页查询列表 - 物料申请 + * 分页查询列表 - 物料需求申报 */ @GetMapping("/pageMaterialApply") @Parameters({ - @Parameter(name = "wcId", description = "作业中心", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "wcId", description = "作业中心ID", in = ParameterIn.QUERY, schema = @Schema(type = "string")), @Parameter(name = "materialType", description = "物料类型,1:金钾,2:银钾", in = ParameterIn.QUERY, schema = @Schema(type = "string")), - @Parameter(name = "overHalfMon", description = "使用半月以上的数据,0:否,1:是", in = ParameterIn.QUERY, schema = @Schema(type = "string")) + @Parameter(name = "overHalfMon", description = "使用半月以上的数据,0:否,1:是, 以生产订单的下达时间算", in = ParameterIn.QUERY, schema = @Schema(type = "string")) }) - @Operation(summary = "分页-物料申请", description = "") + @Operation(summary = "分页-物料需求申报", description = "") public R> pageMaterialApply(Long wcId, Integer materialType, Integer overHalfMon, Query query) { IPage page = Condition.getPage(query); page.setRecords(new ArrayList<>()); @@ -154,6 +157,16 @@ public class YieldOrderController extends BladeController { return R.status(result); } + /** + * 数据校验 + */ + @PostMapping("/dataVerify") + @Operation(summary = "数据校验", description = "") + public R dataVerify(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + String msg = yieldOrderService.dataVerify(Func.toLongList(ids)); + return R.success(msg); + } + /** * 批量确认 */ @@ -170,6 +183,8 @@ public class YieldOrderController extends BladeController { @PostMapping("/closeBatch") @Operation(summary = "批量关闭", description = "传入ids") public R closeBatch(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + // TODO 关闭前先验证订单状态 + Boolean result = yieldOrderService.changeStatus(Func.toLongList(ids), YieldOrderEnum.STATUS_CLOSED.getCode()); return R.status(result); } @@ -192,6 +207,9 @@ public class YieldOrderController extends BladeController { public R updatePreferenceBatch(@Parameter(description = "生产订单ID集合", required = true) @RequestParam String ids, @Parameter(description = "修改后的优先级", required = true) @RequestParam Integer priority) { Boolean result = yieldOrderService.updatePreferenceBatch(Func.toLongList(ids), priority); + + // 修改完成后,调用排产方法,触发排产 + workOrderClient.scheduling(); return R.status(result); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldPlanController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldPlanController.java index 2d378bcb..5e9bf1f6 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldPlanController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldPlanController.java @@ -151,6 +151,8 @@ public class YieldPlanController extends BladeController { @PostMapping("/closeBatch") @Operation(summary = "批量关闭", description = "传入ids") public R closeBatch(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + // TODO 关闭前先验证订单状态 + Boolean result = yieldPlanService.changeStatus(Func.toLongList(ids), YieldPlanEnum.STATUS_CLOSED.getCode()); return R.status(result); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.xml index ba8b5b4e..2608742a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.xml @@ -5,7 +5,7 @@ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.java index b1c4094a..142c32e2 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.desk.order.pojo.entity.AssayContent; +import java.util.Date; import java.util.List; /** @@ -23,4 +24,14 @@ public interface AssayContentMapper extends BaseMapper { */ List selectPage(IPage page, AssayContent entity); + + /** + * 根据作业中心和化验时间,将时间之前的未使用的化验状态设置为已过期 + * + * @param wcId + * @param assayTime + * @param status + * @return + */ + Boolean updateStatusOutData(Long wcId, Date assayTime, Integer status); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.xml index 2ea0082a..f8425be3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.xml @@ -15,4 +15,9 @@ AND status = #{entity.status} + + + UPDATE MES_ASSAY_CONTENT SET STATUS = #{status} + WHERE WC_ID = #{wcId} AND ASSAY_TIME < #{assayTime} + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/MoldPlanMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/MoldPlanMapper.xml index 3ffcb133..f9223756 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/MoldPlanMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/MoldPlanMapper.xml @@ -4,10 +4,11 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> SELECT ID, TENANT_ID, CREATE_USER, CREATE_DEPT, CREATE_TIME, UPDATE_USER, UPDATE_TIME, STATUS, IS_DELETED, - MO_CODE, MO_NAME, QUANTITY, ERP_ID, YP_ID, ERP_WO_CODE, MAF_STATUS, PLAN_TYPE_CODE, NEED_DATE, KEEPER, RELEASER, QUA_LEVEL, - PLAN_TYPE_NAME, PART_CODE, PART_NAME, MEMO, MAF_TYPE, URGENT_TYPE - FROM MES_MOLD_PLAN + MO_CODE, MO_NAME, QUANTITY, ERP_ID, YP_ID, ERP_WO_CODE, MAF_STATUS, NEED_DATE, KEEPER, RELEASER, QUA_LEVEL, + PART_CODE, PART_NAME, MEMO, MAF_TYPE, URGENT_TYPE, PLAN_TYPE_CODE, "SOURCE", PLAN_TYPE_NAME, STOCK_NUM, + OCCUPY_NUM, LINK_ORDER_IDS + FROM MES_MOLD_PLAN WHERE IS_DELETED = 0 and create_time >= ADD_MONTHS(SYSDATE, -1) AND MO_CODE LIKE CONCAT('%', CONCAT(#{entity.moCode}, '%')) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.java index 0e15c073..2cd10b93 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.java @@ -22,4 +22,14 @@ public interface PlateGoodsRecordMapper extends BaseMapper { * @return */ List selectPage(IPage page, PlateGoodsRecord entity); + + /** + * 查询已审批通过但未添加完成的申请列表 + * + * @param wcId + * @param dayRange 查询几天内的数据,传0或空为查询全部 + * @param approvalStatus + * @return + */ + List listNoFinished(Long wcId, Integer dayRange, Integer approvalStatus); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.xml index 8cfdbd49..c0d695c0 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.xml @@ -19,11 +19,22 @@ AND status = #{entity.status} - - AND status = #{entity.status} - - + AND approval_status = #{entity.approvalStatus} + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.java index 62eedd0d..7d9cc48f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.java @@ -24,4 +24,18 @@ public interface YieldOrderMapper extends BaseMapper { * @return */ List selectPage(IPage page, YieldOrder entity, List yieldTypeList); + + /** + * 自定义分页 - 用于需求申报 + * + * @param page + * @param wcId 作业中心 + * @param materialType 物料类型,1:金钾,2:银钾 + * @param overHalfMon 使用半月以上的数据,0:否,1:是 + * @param yieldTypeList 订单类型 + * @param yieldStatusList 订单状态 + * @return + */ + List pageMaterialApply(IPage page, Long wcId, Integer materialType, Integer overHalfMon, + List yieldTypeList, List yieldStatusList); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.xml index ced2a749..d4b19e04 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.xml @@ -15,7 +15,7 @@ ERROR_INFO, RECEIVE_USER, RECEIVE_TIME FROM MES_YIELD_ORDER WHERE IS_DELETED = 0 - + AND YIELD_TYPE IN #{yieldType.code} @@ -53,4 +53,47 @@ + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsApplyService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsApplyService.java index 4244337c..c5c5fe09 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsApplyService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsApplyService.java @@ -2,8 +2,8 @@ package org.springblade.desk.order.service; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; +import org.springblade.desk.order.pojo.entity.AssayContentDetail; import org.springblade.desk.order.pojo.entity.PlateGoodsApply; -import org.springblade.desk.order.pojo.entity.PlateGoodsApplyDetail; import java.util.List; @@ -25,21 +25,11 @@ public interface IPlateGoodsApplyService extends BaseService { /** * 保存 * - * @param entity * @param detailList * @param recordIdList * @return */ - boolean save(PlateGoodsApply entity, List detailList, List recordIdList); - - /** - * 修改 - * - * @param entity - * @param detailList - * @return - */ - boolean update(PlateGoodsApply entity, List detailList); + boolean save(List detailList, List recordIdList); /** * 批量审核 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordService.java index e7f8e365..bf0873ae 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordService.java @@ -23,6 +23,15 @@ public interface IPlateGoodsRecordService extends BaseService */ IPage selectPage(IPage page, PlateGoodsRecord entity); + /** + * 查询已审批通过但未添加完成的申请列表 + * + * @param wcId + * @param dayRange 查询几天内的数据,传0或空为查询全部 + * @return + */ + List listNoFinished(Long wcId, Integer dayRange); + /** * 保存 * diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java index dce29511..f921c6ea 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java @@ -54,6 +54,14 @@ public interface IYieldOrderService extends BaseService { */ IPage pageMaterialApply(IPage page, Long wcId, Integer materialType, Integer overHalfMon); + /** + * 数据校验 + * + * @param ids + * @return 校验结果 + */ + String dataVerify(@NotEmpty List ids); + /** * 批量确认 * diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentServiceImpl.java index 3a0b513c..9b72d9b3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentServiceImpl.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.springblade.common.constant.CommonConstant; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.desk.order.mapper.AssayContentMapper; import org.springblade.desk.order.pojo.entity.AssayContent; import org.springblade.desk.order.pojo.entity.AssayContentDetail; @@ -36,11 +38,18 @@ public class AssayContentServiceImpl extends BaseServiceImpl detailList) { entity.setStatus(AssayContentEnum.STATUS_UNUSED.getCode()); + + BladeUser loginUser = AuthUtil.getUser(); + entity.setAssayMan(loginUser.getUserId()); + if (this.save(entity)) { for (AssayContentDetail detail : detailList) { detail.setAcId(entity.getId()); } detailService.saveBatch(detailList); + + // 添加完成后, 将该作业中心之前的化验状态设置为已过期 + baseMapper.updateStatusOutData(entity.getWcId(), entity.getAssayTime(), AssayContentEnum.STATUS_OUTDATE.getCode()); return true; } return false; @@ -60,6 +69,7 @@ public class AssayContentServiceImpl extends BaseServiceImpl contentList = baseMapper.selectList(wrapper); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldPlanServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldPlanServiceImpl.java index 59a2e26b..a878ad9f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldPlanServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldPlanServiceImpl.java @@ -48,7 +48,8 @@ public class MoldPlanServiceImpl extends BaseServiceImpl pageNearlyMonth(IPage page, MoldPlan entity) { - return null; + List dataList = baseMapper.pageNearlyMonth(page, entity); + return page.setRecords(dataList); } @Override diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsApplyServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsApplyServiceImpl.java index 83222e1d..182b4807 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsApplyServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsApplyServiceImpl.java @@ -6,15 +6,22 @@ import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.DateUtil; -import org.springblade.desk.order.pojo.entity.PlateGoodsApply; -import org.springblade.desk.order.pojo.entity.PlateGoodsApplyDetail; +import org.springblade.core.tool.utils.Func; import org.springblade.desk.order.mapper.PlateGoodsApplyMapper; -import org.springblade.desk.order.service.IPlateGoodsApplyDetailService; +import org.springblade.desk.order.pojo.entity.AssayContentDetail; +import org.springblade.desk.order.pojo.entity.PlateGoodsApply; +import org.springblade.desk.order.pojo.entity.PlateGoodsRecord; +import org.springblade.desk.order.pojo.enums.AssayContentEnum; +import org.springblade.desk.order.pojo.enums.PlateGoodsEnum; +import org.springblade.desk.order.service.IAssayContentDetailService; +import org.springblade.desk.order.service.IAssayContentService; import org.springblade.desk.order.service.IPlateGoodsApplyService; +import org.springblade.desk.order.service.IPlateGoodsRecordService; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.List; +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; /** * 服务实现类 @@ -25,7 +32,9 @@ import java.util.List; @Service public class PlateGoodsApplyServiceImpl extends BaseServiceImpl implements IPlateGoodsApplyService { - private final IPlateGoodsApplyDetailService detailService; + private final IAssayContentService assayContentService; + private final IAssayContentDetailService assayContentDetailService; + private final IPlateGoodsRecordService goodsRecordService; @Override public IPage selectPage(IPage page, PlateGoodsApply entity) { @@ -34,30 +43,78 @@ public class PlateGoodsApplyServiceImpl extends BaseServiceImpl detailList, List recordIdList) { - if (this.save(entity)) { - // 1. 更新化验记录相关数据 + public boolean save(List assayContentDetailList, List recordIdList) { + // 1. 更新化验记录相关数据 + if (Func.isEmpty(assayContentDetailList)) { + return false; + } + // 1.1 获取化验记录ID,更新化验记录状态为已使用 + Long assayContentId = assayContentDetailList.get(0).getAcId(); + assayContentService.changeStatus(Arrays.asList(assayContentId), AssayContentEnum.STATUS_USED.getCode()); + + // 1.2 报错化验记录明细 + assayContentDetailService.saveBatch(assayContentDetailList); + + // 2. 计算本次总添加量 + BigDecimal addVal = assayContentDetailList.stream() + .map(detail -> detail.getAddVal() == null ? BigDecimal.ZERO : detail.getAddVal()) + .reduce(BigDecimal.ZERO, BigDecimal::add); + + // 3. 更新需求单的相关数据 + // 3.1 根据id查询需求单 + List recordList = goodsRecordService.listByIds(recordIdList); + + // 3.2 将需求单按照创建时间正序排列, + recordList = recordList.stream() + .sorted(Comparator.comparing(PlateGoodsRecord::getCreateTime, Comparator.nullsLast(Date::compareTo))) + .collect(Collectors.toList()); - // 2. 更新需求单的相关数据 - for (PlateGoodsApplyDetail detail : detailList) { - detail.setPgadId(entity.getId()); + // 计算本次申请总添加量 + BigDecimal applyTotalVal = recordList.stream() + .map(detail -> detail.getSurplus() == null ? BigDecimal.ZERO : detail.getSurplus()) + .reduce(BigDecimal.ZERO, BigDecimal::add); + // 本次剩余单号余量, 最小为0 + BigDecimal notAddVal = applyTotalVal.subtract(addVal); + notAddVal = notAddVal.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : notAddVal; + + // 缓存要添加的订单列表 + List addRecordList = new ArrayList<>(); + + // 3.3. 按照创建先后顺序补充需求单的物料需求数量 + for (PlateGoodsRecord plateGoodsRecord : recordList) { + // 获取需求单剩余添加量 + BigDecimal surplus = plateGoodsRecord.getSurplus(); + + if (addVal.compareTo(surplus) >= 0) { + // 若本次添加量,满足该订单后,还有剩余, 记录此订单,更新剩余添加量后,继续循环 + plateGoodsRecord.setSurplus(BigDecimal.ZERO); + plateGoodsRecord.setStatus(PlateGoodsEnum.STATUS_DONE.getCode()); + addRecordList.add(plateGoodsRecord); + + addVal = addVal.subtract(surplus); + if (BigDecimal.ZERO.equals(addVal)) { + break; + } + } else { + // 若不能完全满足一个需求单,只能行需求单的剩余添加量信息 + plateGoodsRecord.setSurplus(surplus.subtract(addVal)); + addRecordList.add(plateGoodsRecord); + break; } - detailService.saveBatch(detailList); - return true; } - return false; - } - @Override - public boolean update(PlateGoodsApply entity, List detailList) { - if (this.save(entity)) { - //TODO 先根据需求ID将原明细删除 + // 4. 记录添加的需求单信息; 关联单号, 本次剩余单号余量 + String addAbortRecordNo = addRecordList.stream() + .map(PlateGoodsRecord::getDemandCode) + .filter(code -> code != null && !code.trim().isEmpty()) + .collect(Collectors.joining(",")); - // 保存新的明细 - detailService.saveBatch(detailList); - return true; + for (PlateGoodsRecord plateGoodsRecord : addRecordList) { + plateGoodsRecord.setInvolvingRecordCode(addAbortRecordNo); + plateGoodsRecord.setNotAddVal(notAddVal); } - return false; + goodsRecordService.saveBatch(addRecordList); + return true; } @Override diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java index c44d1288..b3afa2f7 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java @@ -40,11 +40,19 @@ public class PlateGoodsRecordServiceImpl extends BaseServiceImpl listNoFinished(Long wcId, Integer dayRange) { + List dataList = baseMapper.listNoFinished(wcId, dayRange, PlateGoodsEnum.STATUS_PASS.getCode()); + return dataList; + } + @Override public boolean save(PlateGoodsRecord entity, List detailList) { // todo 需求单号需要优化 entity.setDemandCode(DateUtils.dateTimeNow()); + entity.setSurplus(entity.getDeclaredQuota()); entity.setStatus(PlateGoodsEnum.STATUS_WAITING.getCode()); + entity.setApprovalStatus(PlateGoodsEnum.STATUS_WAITING.getCode()); if (this.save(entity)) { for (PlateGoodsRecordDetail detail : detailList) { detail.setPgrdId(entity.getId()); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java index dbb44b74..6dbf744f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java @@ -92,14 +92,75 @@ public class YieldOrderServiceImpl extends BaseServiceImpl pageMaterialApply(IPage page, Long wcId, Integer materialType, Integer overHalfMon) { + // 只有电镀的需要镀层物料,故只查询电镀的订单 + List yieldTypeList = new ArrayList<>(); + yieldTypeList.add(YieldOrderEnum.YIELD_TYPE_1); + + // 只有未开始加工的订单需要申请,已加工及之后状态的不需要申请 + List yieldStatusList = new ArrayList<>(); + yieldStatusList.add(YieldOrderEnum.STATUS_NORMAL); + yieldStatusList.add(YieldOrderEnum.STATUS_EXCEPTION); + yieldStatusList.add(YieldOrderEnum.STATUS_NO_ISSUED); + yieldStatusList.add(YieldOrderEnum.STATUS_APS); + yieldStatusList.add(YieldOrderEnum.STATUS_PROCESS_WAITING); + YieldOrder entity = new YieldOrder(); entity.setWorkCenterId(wcId); // TODO 1. 金钾银钾如何区分,使用工艺编制中的物料编号,其中只有金钾、银钾的选项 - // TODO 2. 允许使用半月以上的数据是以生产订单的什么时间算,需查看原来的逻辑 - List dataList = baseMapper.selectPage(page, entity, null); + List dataList = baseMapper.pageMaterialApply(page, wcId, materialType, overHalfMon, yieldTypeList, yieldStatusList); return page.setRecords(dataList); } + @Override + public String dataVerify(List ids) { + // 先根据ID查询订单列表 + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(YieldOrder.class) + .eq(YieldOrder::getIsDeleted, CommonConstant.DELETE_FALSE) + .in(YieldOrder::getId, ids); + List yieldOrderList = baseMapper.selectList(queryWrapper); + + // 遍历订单列表,根据异常钻状态,判断调用的校验方法 +// for (YieldOrder yieldOrder : yieldOrderList) { +// if (YieldOrderEnum.VALIDATION_NO.getCode() == yieldOrder.getValidationResult() +// || YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCode() == yieldOrder.getValidationResult()) { +// // 进行数据校验,验证不通过,不进行后续验证,直接返回; +// if (!this.verifyYieldOrderData(yieldOrder)) { +// continue; +// } +// // 进行工艺校验,验证不通过,不进行后续验证,直接返回; +// if (!this.verifyYieldOrderCraft(yieldOrder)) { +// continue; +// } +// // 进行资源校验,验证不通过,不进行后续验证,直接返回; +// if (!this.verifyYieldOrderResource(yieldOrder)) { +// continue; +// } +// // 最后进行超期校验 +// this.verifyYieldOrderDelivery(yieldOrder); +// } else if (YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCode() == yieldOrder.getValidationResult()) { +// // 进行工艺校验,验证不通过,不进行后续验证,直接返回; +// if (!this.verifyYieldOrderCraft(yieldOrder)) { +// continue; +// } +// // 进行资源校验,验证不通过,不进行后续验证,直接返回; +// if (!this.verifyYieldOrderResource(yieldOrder)) { +// continue; +// } +// // 最后进行超期校验 +// this.verifyYieldOrderDelivery(yieldOrder); +// } else if (YieldOrderEnum.VALIDATION_RESULT_LESS_RESOURCE.getCode() == yieldOrder.getValidationResult()) { +// // 进行资源校验,验证不通过,不进行后续验证,直接返回; +// if (!this.verifyYieldOrderResource(yieldOrder)) { +// continue; +// } +// // 最后进行超期校验 +// this.verifyYieldOrderDelivery(yieldOrder); +// } +// } + + return "校验成功"; + } + @Override public boolean confirmBatch(List ids) { List yieldOrderList = new ArrayList<>(); @@ -141,6 +202,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl wrapper = Wrappers.lambdaQuery(YieldOrder.class) + .eq(YieldOrder::getIsDeleted, CommonConstant.DELETE_FALSE) .eq(YieldOrder::getYoCode, yieldOrder.getYoCode()) .ne(YieldOrder::getId, yieldOrder.getId()); YieldOrder yieldOrderCheck = baseMapper.selectOne(wrapper); @@ -487,6 +549,8 @@ public class YieldOrderServiceImpl extends BaseServiceImpl cardNoList = yieldOrderService.syncYieldOrderFromOldMes(); - - // 推送同步结果,避免重复同步 - yieldOrderService.syncYieldOrderResultToOldMes(cardNoList); - log.info("同步生产订单已完成..."); - } -} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/AssayContentWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/AssayContentWrapper.java index 226f7347..92962fd0 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/AssayContentWrapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/AssayContentWrapper.java @@ -6,6 +6,7 @@ import org.springblade.core.tool.utils.Func; import org.springblade.desk.basic.cache.WorkCenterCache; import org.springblade.desk.basic.pojo.entity.WorkCenter; import org.springblade.desk.order.pojo.entity.AssayContent; +import org.springblade.desk.order.pojo.enums.AssayContentEnum; import org.springblade.desk.order.pojo.vo.AssayContentVo; import org.springblade.system.cache.UserCache; import org.springblade.system.pojo.entity.User; @@ -34,8 +35,10 @@ public class AssayContentWrapper extends BaseEntityWrapper { @Override public MoldPlanVo entityVO(MoldPlan entity) { MoldPlanVo vo = Objects.requireNonNull(BeanUtil.copyProperties(entity, MoldPlanVo.class)); + + User user = UserCache.getUser(entity.getCreateUser()); + if (Func.isNotEmpty(user)) { + vo.setCreateUserName(user.getAccount()); + } + vo.setStatusName(MoldPlanEnum.getName(entity.getStatus())); vo.setMafStatusName(MoldPlanEnum.getName(entity.getMafStatus())); vo.setMafTypeName(MoldPlanEnum.getName(entity.getMafType())); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/PlateGoodsApplyWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/PlateGoodsApplyWrapper.java index 5a17b852..0a82ce72 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/PlateGoodsApplyWrapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/PlateGoodsApplyWrapper.java @@ -2,8 +2,14 @@ package org.springblade.desk.order.wrapper; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.desk.basic.cache.WorkCenterCache; +import org.springblade.desk.basic.pojo.entity.WorkCenter; import org.springblade.desk.order.pojo.entity.PlateGoodsApply; +import org.springblade.desk.order.pojo.enums.PlateGoodsEnum; import org.springblade.desk.order.pojo.vo.PlateGoodsApplyVo; +import org.springblade.system.cache.UserCache; +import org.springblade.system.pojo.entity.User; import java.util.Objects; @@ -21,7 +27,18 @@ public class PlateGoodsApplyWrapper extends BaseEntityWrapper