diff --git a/heli-app/src/pages/index/index.vue b/heli-app/src/pages/index/index.vue index 7539463..34fea6b 100644 --- a/heli-app/src/pages/index/index.vue +++ b/heli-app/src/pages/index/index.vue @@ -18,7 +18,7 @@ const categoryList = ref([ }, { path: 'unqualifiedNotification', - name: '品质异常通知', + name: '品质异常审核', auth: false, imgUrl: '/static/images/unqualifiedNotification.png', defaultImgUrl: '/static/images/unqualifiedNotification-default.png', diff --git a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java index aeb2e65..71912a2 100644 --- a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java +++ b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java @@ -147,6 +147,7 @@ public interface ErrorCodeConstants { ErrorCode ZJ_BG_MASTER_LINE_NOT_EXISTS = new ErrorCode(1_011_001, "终检报工不存在"); ErrorCode MASTER_NOT_EXISTS = new ErrorCode(1_011_001, "借用主不存在"); + ErrorCode MASTER_LINE_NOT_EXISTS = new ErrorCode(1_011_002, "借用物料行不存在"); ErrorCode ORDER_YF_NOT_EXISTS = new ErrorCode(1_011_001, "应付记录不存在"); ErrorCode ORDER_YS_NOT_EXISTS = new ErrorCode(1_011_001, "应收记录不存在"); diff --git a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/TaskDispatchStatusEnum.java b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/TaskDispatchStatusEnum.java index e28d352..f05eb6a 100644 --- a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/TaskDispatchStatusEnum.java +++ b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/TaskDispatchStatusEnum.java @@ -10,6 +10,7 @@ import lombok.Getter; @Getter public enum TaskDispatchStatusEnum { + Unedited(0, "未编辑"), SAVE(1, "已保存"), SUBMIT(2, "已提交"), CANCEL_SUBMIT(1, "取消提交"), diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bdgzsomthing/bdgzsomthingController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bdgzsomthing/bdgzsomthingController.java index 5b10088..864fa23 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bdgzsomthing/bdgzsomthingController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bdgzsomthing/bdgzsomthingController.java @@ -159,8 +159,8 @@ public class bdgzsomthingController { //@Scheduled(cron = "0 2 0 * * ?") //每天十天执行一次 @PostConstruct public void init() { -// selectHasPrice(); -// selectSafeStorageAndDeliverOneYear(); + selectHasPrice(); + selectSafeStorageAndDeliverOneYear(); // bdgzsomthingService.selectds(); } @Scheduled(cron = "0 0 2 * * ?") diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/BgMasterLineController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/BgMasterLineController.java index d283e4d..5dee2f7 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/BgMasterLineController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/BgMasterLineController.java @@ -49,6 +49,7 @@ public class BgMasterLineController { } + @PostMapping("/create") @Operation(summary = "创建过程检报工") @PreAuthorize("@ss.hasPermission('heli:bg-master-line:create')") @@ -73,6 +74,8 @@ public class BgMasterLineController { return success(true); } + + @GetMapping("/get") @Operation(summary = "获得过程检报工") @Parameter(name = "id", description = "编号", required = true, example = "1024") @@ -81,7 +84,13 @@ public class BgMasterLineController { BgMasterLineDO bgMasterLine = bgMasterLineService.getBgMasterLine(id); return success(BeanUtils.toBean(bgMasterLine, BgMasterLineRespVO.class)); } - + @GetMapping("/validExceed") + @Operation(summary = "获得过程检报工") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:bg-master-line:query')") + public CommonResult validExceed(@RequestParam("id") Long id,@RequestParam("amount") Integer amount) { + return success(bgMasterLineService.validExceed(id,amount)); + } @GetMapping("/page") @Operation(summary = "获得过程检报工分页") @PreAuthorize("@ss.hasPermission('heli:bg-master-line:query')") diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/vo/BgMasterLinePageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/vo/BgMasterLinePageReqVO.java index 9e2ba62..da06b5a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/vo/BgMasterLinePageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/vo/BgMasterLinePageReqVO.java @@ -38,6 +38,15 @@ public class BgMasterLinePageReqVO extends PageParam { @Schema(description = "工时") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private BigDecimal[] workTime; -} \ No newline at end of file + private BigDecimal[] workTime; + private String userName; + private Integer isRepre; + private Integer isQua; + private String remark; + private Integer notificationStatus; + private Integer conStatus; + private String auditOpinion; + private Integer auditor; + private LocalDateTime audit_time; +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/vo/BgMasterLineRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/vo/BgMasterLineRespVO.java index c66c51b..fe52779 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/vo/BgMasterLineRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/vo/BgMasterLineRespVO.java @@ -1,5 +1,6 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.bgmasterline.vo; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; @@ -53,5 +54,13 @@ public class BgMasterLineRespVO { @Schema(description = "报工人") @ExcelProperty("报工人") private String userName; - -} \ No newline at end of file + private Integer isRepre; + private Integer isQua; + private String remark; + private Integer notificationStatus; + private Integer conStatus; + private String auditOpinion; + private Integer auditor; + private LocalDateTime audit_time; + private List fileUrlList; +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/vo/BgMasterLineSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/vo/BgMasterLineSaveReqVO.java index 4ee2dc6..d138077 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/vo/BgMasterLineSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bgmasterline/vo/BgMasterLineSaveReqVO.java @@ -1,37 +1,47 @@ -package com.chanko.yunxi.mes.module.heli.controller.admin.bgmasterline.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import javax.validation.constraints.*; -import java.util.*; -import java.math.BigDecimal; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 过程检报工新增/修改 Request VO") -@Data -public class BgMasterLineSaveReqVO { - - @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "11518") - private Integer id; - - @Schema(description = "过程检ID", example = "1862") - private Integer zjId; - - @Schema(description = "过程检明细id", example = "10005") - private Integer zjMxId; - - @Schema(description = "报工人") - private String bgUser; - - @Schema(description = "报工数量") - private Integer amount; - - @Schema(description = "报工时间") - private LocalDateTime bgTime; - - @Schema(description = "工时") - private BigDecimal workTime; - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.controller.admin.bgmasterline.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 过程检报工新增/修改 Request VO") +@Data +public class BgMasterLineSaveReqVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "11518") + private Integer id; + + @Schema(description = "过程检ID", example = "1862") + private Integer zjId; + + @Schema(description = "过程检明细id", example = "10005") + private Long zjMxId; + + @Schema(description = "报工人") + private String bgUser; + + @Schema(description = "报工数量") + private Integer amount; + + @Schema(description = "报工时间") + private LocalDateTime bgTime; + + @Schema(description = "工时") + private BigDecimal workTime; + + private Integer isRepre; + private Integer isQua; + private String remark; + private Integer type; + private String userName; + private Integer notificationStatus; + private Integer conStatus; + private String auditOpinion; + private Integer auditor; + private LocalDateTime audit_time; +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/fpuserdetail/vo/FpUserDetailRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/fpuserdetail/vo/FpUserDetailRespVO.java index 980bbda..c981d81 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/fpuserdetail/vo/FpUserDetailRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/fpuserdetail/vo/FpUserDetailRespVO.java @@ -51,5 +51,14 @@ public class FpUserDetailRespVO { @Schema(description = "主表备注", example = "你说的对") @ExcelProperty("备注") private String remarks; + @Schema(description = "工序id") + private Long procedureId; + @Schema(description = "工序编码") + private String code; + + @Schema(description = "工序名称") + private String procedureName; + + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/fpuserdetail/vo/UserVo.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/fpuserdetail/vo/UserVo.java index 51a2fe9..4812343 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/fpuserdetail/vo/UserVo.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/fpuserdetail/vo/UserVo.java @@ -10,6 +10,10 @@ public class UserVo { private Long busyId; @Schema(description = "岗位ID", example = "12927") private String postId; + @Schema(description = "工序id") + private Long procedureId; @Schema(description = "是否负责人") private String isRes; + + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/InvoiceController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/InvoiceController.java index 6d56562..1993329 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/InvoiceController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/InvoiceController.java @@ -58,7 +58,7 @@ public class InvoiceController { @OperateLog(enable = false) @Transactional(rollbackFor = Exception.class) public CommonResult operate(@Valid @RequestBody InvoiceSaveReqVO operateReqVO) { - return success(invoiceService.operate(operateReqVO)); + return invoiceService.operate(operateReqVO); } @DeleteMapping("/delete") @@ -115,4 +115,11 @@ public class InvoiceController { List invoice = invoiceService.getOrderYfInvoice(code); return success(invoice); } + @GetMapping("/pages") + @Operation(summary = "获得财务发票分页") + @PreAuthorize("@ss.hasPermission('heli:invoice:query')") + public CommonResult> getInvoicePages(@Valid InvoicePageReqVO pageReqVO) { + PageResult pageResult = invoiceService.getInvoicePages(pageReqVO); + return success(BeanUtils.toBean(pageResult, InvoiceRespVO.class)); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/vo/InvoicePageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/vo/InvoicePageReqVO.java index 4a55f72..3db6f9f 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/vo/InvoicePageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/vo/InvoicePageReqVO.java @@ -15,6 +15,8 @@ import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_Y @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class InvoicePageReqVO extends PageParam { + @Schema(description = "id", example = "30302") + private Long Id; @Schema(description = "业务类型 FINANCE_MAKE|FINANCE_RECEIVE 开票|收票", example = "2") private String businessType; @@ -64,5 +66,5 @@ public class InvoicePageReqVO extends PageParam { @Schema(description = "订单编号", example = "30302") private String orderCode; - + private Long cgOrderIdId; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/vo/InvoiceRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/vo/InvoiceRespVO.java index 17f1bcb..2353970 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/vo/InvoiceRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/vo/InvoiceRespVO.java @@ -87,4 +87,6 @@ public class InvoiceRespVO { @Schema(description = "订单编号") private String orderCode; + @Schema(description = "订单编号") + private Long cgOrderIdId; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/vo/InvoiceSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/vo/InvoiceSaveReqVO.java index 766b6a4..5e6f1c6 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/vo/InvoiceSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/invoice/vo/InvoiceSaveReqVO.java @@ -71,5 +71,5 @@ public class InvoiceSaveReqVO { @Schema(description = "操作意见") private String activeOpinion; - + private Long cgOrderIdId; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/master/MasterController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/master/MasterController.java index c3cf8fa..da3b7f7 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/master/MasterController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/master/MasterController.java @@ -1,6 +1,7 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.master; import cn.hutool.core.util.ObjectUtil; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.masterline.MasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.heli.service.material.MaterialService; import org.springframework.web.bind.annotation.*; @@ -14,6 +15,7 @@ import io.swagger.v3.oas.annotations.Operation; import javax.validation.constraints.*; import javax.validation.*; import javax.servlet.http.*; +import java.math.BigDecimal; import java.util.*; import java.io.IOException; @@ -71,21 +73,21 @@ public class MasterController { @Operation(summary = "获得借用主") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('heli:master:query')") - public CommonResult getMaster(@RequestParam("id") Integer id) { + public CommonResult getMaster(@RequestParam("id") Integer id) { MasterDO master = masterService.getMaster(id); - MaterialDO material = materialService.getMaterial(Long.valueOf(master.getJyMaster())); - if (ObjectUtil.isNotEmpty( material)){ - master.setJyMasterName(material.getName()); - } - return success(BeanUtils.toBean(master, MasterRespVO.class)); +// MaterialDO material = materialService.getMaterial(Long.valueOf(master.getJyMaster())); +// if (ObjectUtil.isNotEmpty( material)){ +// master.setJyMasterName(material.getName()); +// } + return success(master); } @GetMapping("/page") @Operation(summary = "获得借用主分页") @PreAuthorize("@ss.hasPermission('heli:master:query')") - public CommonResult> getMasterPage(@Valid MasterPageReqVO pageReqVO) { + public CommonResult> getMasterPage(@Valid MasterPageReqVO pageReqVO) { PageResult pageResult = masterService.getMasterPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, MasterRespVO.class)); + return success(pageResult); } @GetMapping("/export-excel") @@ -100,5 +102,31 @@ public class MasterController { ExcelUtils.write(response, "借用主.xls", "数据", MasterRespVO.class, BeanUtils.toBean(list, MasterRespVO.class)); } + @GetMapping("/getMasterLinePage") + @Operation(summary = "获得借用主分页") + @PreAuthorize("@ss.hasPermission('heli:master:query')") + public CommonResult> getMasterLinePage(@Valid MasterPageReqVO pageReqVO) { + PageResult pageResult = masterService.getMasterLinePage(pageReqVO); + return success(pageResult); + } + @GetMapping("/exportMasterLine") + @Operation(summary = "导出员工物料报表") + @OperateLog(type = EXPORT) + public void exportMasterLine(@Valid MasterPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = masterService.getMasterLinePage(pageReqVO).getList(); + list.forEach(item -> { + if ("1".equals(item.getJyTypes())) { + item.setQuantityLent(new BigDecimal(item.getJyNum())); + } else { + if (ObjectUtil.isNotEmpty(item.getJyNum())){ + item.setQuantityLent(new BigDecimal(item.getJyNum()).negate()); + } + } + }); // 导出 Excel + ExcelUtils.write(response, "员工借用物料报表.xlsx", "数据", MasterRespVO.class, + BeanUtils.toBean(list, MasterRespVO.class)); + } } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/master/vo/MasterRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/master/vo/MasterRespVO.java index fd46cf3..06298b3 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/master/vo/MasterRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/master/vo/MasterRespVO.java @@ -1,6 +1,9 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.master.vo; import com.baomidou.mybatisplus.annotation.TableField; +import com.chanko.yunxi.mes.framework.excel.core.annotations.DictFormat; +import com.chanko.yunxi.mes.framework.excel.core.convert.DictConvert; +import com.chanko.yunxi.mes.framework.excel.core.convert.TimestampToDateConvert; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; @@ -14,55 +17,60 @@ import com.alibaba.excel.annotation.*; @Data @ExcelIgnoreUnannotated public class MasterRespVO { + @Schema(description = "责任人") + @ExcelProperty("责任人") + private String jyUsers; + @Schema(description = "部门") + @ExcelProperty("部门") + private String jyBms; + @Schema(description = "借用日期") + @ExcelProperty(value = "日期", converter = TimestampToDateConvert.class) + private LocalDateTime jyDate; + + @Schema(description = "类型", example = "1") + @ExcelProperty(value = "类型", converter = DictConvert.class) + @DictFormat("heli_borrow_type") + private String jyTypes; + @Schema(description = "用途") + @ExcelProperty(value = "用途", converter = DictConvert.class) + @DictFormat("heli_use") + private String jyYt; + @Schema(description = "物料名称") + @ExcelProperty("物料名称") + private String jyMasters; + @Schema(description = "数量") + @ExcelProperty("数量") + private BigDecimal jyNum; + @Schema(description = "数量") +// @ExcelProperty("数量") + private BigDecimal num; + @Schema(description = "借出数量") + @ExcelProperty("借出数量") + private BigDecimal quantityLent; + @Schema(description = "备注") + @ExcelProperty("备注") + private String rems; + @Schema(description = "备注") +// @ExcelProperty("备注") + private String rem; @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31322") - @ExcelProperty("主键") private Integer id; @Schema(description = "创建时间") - @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "借用部门") - @ExcelProperty("借用部门") private Integer jyBm; - @Schema(description = "借用用途") - @ExcelProperty("借用用途") - private String jyYt; - @Schema(description = "备注") - @ExcelProperty("备注") - private String rem; @Schema(description = "借用物料名称") - @ExcelProperty("借用物料名称") - private Integer jyMaster; + private String jyMaster; @Schema(description = "借用人") - @ExcelProperty("借用人") private Long jyUser; - @Schema(description = "借用类型", example = "1") - @ExcelProperty("借用类型") - private String jyType; - - @Schema(description = "数量") - @ExcelProperty("数量") - private BigDecimal num; - @Schema(description = "借用日期") - @ExcelProperty("借用日期") - private LocalDateTime jyDate; - - @Schema(description = "借用人") - @ExcelProperty("借用人") - private String jyUsers; - @Schema(description = "借用部门") - @ExcelProperty("借用部门") - private String jyBms; - @Schema(description = "借用物料名称") - @ExcelProperty("借用物料名称") - private String jyMasters; @Schema(description = "借用物料名称") private String jyMasterName; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/master/vo/MasterSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/master/vo/MasterSaveReqVO.java index 18ce49d..a06d67b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/master/vo/MasterSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/master/vo/MasterSaveReqVO.java @@ -1,5 +1,7 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.master.vo; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.master.MasterDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.masterline.MasterLineDO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; @@ -38,6 +40,8 @@ public class MasterSaveReqVO { private BigDecimal num; @Schema(description = "借用时间") private LocalDateTime jyDate; + @Schema(description = "借用物料明细") + private List jyDetails; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/masterline/MasterLineController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/masterline/MasterLineController.java new file mode 100644 index 0000000..ba7c7c0 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/masterline/MasterLineController.java @@ -0,0 +1,102 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.masterline; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; +import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; + +import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; + +import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; +import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*; + +import com.chanko.yunxi.mes.module.heli.controller.admin.masterline.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.masterline.MasterLineDO; +import com.chanko.yunxi.mes.module.heli.service.masterline.MasterLineService; + +@Tag(name = "管理后台 - 借用行") +@RestController +@RequestMapping("/heli/master-line") +@Validated +public class MasterLineController { + + @Resource + private MasterLineService masterLineService; + + @PostMapping("/create") + @Operation(summary = "创建借用行") + @PreAuthorize("@ss.hasPermission('heli:master-line:create')") + public CommonResult createMasterLine(@Valid @RequestBody MasterLineSaveReqVO createReqVO) { + return success(masterLineService.createMasterLine(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新借用行") + @PreAuthorize("@ss.hasPermission('heli:master-line:update')") + public CommonResult updateMasterLine(@Valid @RequestBody MasterLineSaveReqVO updateReqVO) { + masterLineService.updateMasterLine(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除借用行") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('heli:master-line:delete')") + public CommonResult deleteMasterLine(@RequestParam("id") Integer id) { + masterLineService.deleteMasterLine(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得借用行") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:master-line:query')") + public CommonResult getMasterLine(@RequestParam("id") Integer id) { + MasterLineDO masterLine = masterLineService.getMasterLine(id); + return success(BeanUtils.toBean(masterLine, MasterLineRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得借用行分页") + @PreAuthorize("@ss.hasPermission('heli:master-line:query')") + public CommonResult> getMasterLinePage(@Valid MasterLinePageReqVO pageReqVO) { + PageResult pageResult = masterLineService.getMasterLinePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, MasterLineRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出借用行 Excel") + @PreAuthorize("@ss.hasPermission('heli:master-line:export')") + @OperateLog(type = EXPORT) + public void exportMasterLineExcel(@Valid MasterLinePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = masterLineService.getMasterLinePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "借用行.xls", "数据", MasterLineRespVO.class, + BeanUtils.toBean(list, MasterLineRespVO.class)); + } + @GetMapping("/getByMasterId") + @Operation(summary = "获得借用行") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:master-line:query')") + public CommonResult> getByMasterId(@RequestParam("id") Integer id) { + List list = masterLineService.getByMasterId(id); + return success(list); + } +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/masterline/vo/MasterLinePageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/masterline/vo/MasterLinePageReqVO.java new file mode 100644 index 0000000..affc144 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/masterline/vo/MasterLinePageReqVO.java @@ -0,0 +1,37 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.masterline.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 借用行分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MasterLinePageReqVO extends PageParam { + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "借用id", example = "2559") + private Integer jyId; + + @Schema(description = "借用物料") + private String jyMaster; + + @Schema(description = "借用数量") + private String jyNum; + + @Schema(description = "备注") + private String rem; + + @Schema(description = "物料id", example = "22466") + private Long matId; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/masterline/vo/MasterLineRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/masterline/vo/MasterLineRespVO.java new file mode 100644 index 0000000..a572e5c --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/masterline/vo/MasterLineRespVO.java @@ -0,0 +1,44 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.masterline.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 借用行 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MasterLineRespVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25113") + @ExcelProperty("主键") + private Integer id; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "借用id", example = "2559") + @ExcelProperty("借用id") + private Integer jyId; + + @Schema(description = "借用物料") + @ExcelProperty("借用物料") + private String jyMaster; + + @Schema(description = "借用数量") + @ExcelProperty("借用数量") + private String jyNum; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String rem; + + @Schema(description = "物料id", example = "22466") + @ExcelProperty("物料id") + private Long matId; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/masterline/vo/MasterLineSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/masterline/vo/MasterLineSaveReqVO.java new file mode 100644 index 0000000..4c03182 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/masterline/vo/MasterLineSaveReqVO.java @@ -0,0 +1,31 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.masterline.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; + +@Schema(description = "管理后台 - 借用行新增/修改 Request VO") +@Data +public class MasterLineSaveReqVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25113") + private Integer id; + + @Schema(description = "借用id", example = "2559") + private Integer jyId; + + @Schema(description = "借用物料") + private String jyMaster; + + @Schema(description = "借用数量") + private String jyNum; + + @Schema(description = "备注") + private String rem; + + @Schema(description = "物料id", example = "22466") + private Long matId; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/material/MaterialController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/material/MaterialController.java index 75c76a8..6260ec0 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/material/MaterialController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/material/MaterialController.java @@ -1,5 +1,7 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.material; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.framework.common.pojo.PageParam; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; @@ -16,6 +18,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageinventory.StorageInventoryDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageMaterialDO; +import com.chanko.yunxi.mes.module.heli.dal.mysql.material.MaterialMapper; import com.chanko.yunxi.mes.module.heli.service.material.MaterialService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -44,11 +47,16 @@ public class MaterialController { @Resource private MaterialService materialService; + @Resource + private MaterialMapper materialMapper; @PostMapping("/create") @Operation(summary = "创建物料") @PreAuthorize("@ss.hasPermission('heli:material:create')") public CommonResult createMaterial(@Valid @RequestBody MaterialSaveReqVO createReqVO) { + if (ObjectUtil.isNotEmpty(materialService.getMaterialId(createReqVO.getCode()))){ + return CommonResult.error(400,"物料编码"+createReqVO.getCode()+"已存在"); + } return success(materialService.createMaterial(createReqVO)); } @@ -56,6 +64,12 @@ public class MaterialController { @Operation(summary = "更新物料") @PreAuthorize("@ss.hasPermission('heli:material:update')") public CommonResult updateMaterial(@Valid @RequestBody MaterialSaveReqVO updateReqVO) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(MaterialDO::getCode, updateReqVO.getCode()); + queryWrapper.ne(MaterialDO::getId, updateReqVO.getId()); + if (ObjectUtil.isNotEmpty(materialMapper.selectOne(queryWrapper))){ + return CommonResult.error(400,"物料编码"+updateReqVO.getCode()+"已存在"); + } materialService.updateMaterial(updateReqVO); return success(true); } @@ -141,7 +155,13 @@ public class MaterialController { PageResult pageResult = materialService.getStorageNowPageGroupMaterial(pageReqVO); return success(pageResult); } - + @GetMapping("/page-material-group-no") + @Operation(summary = "根据采购单获得入库物料列表") + @PreAuthorize("@ss.hasPermission('heli:storage-log:query')") + public CommonResult> getStorageNowMaterialNoPage(@Valid StorageLogPageReqVO pageReqVO) { + PageResult pageResult = materialService.getStorageNowMaterialNoPage(pageReqVO); + return success(pageResult); + } @GetMapping("/page-now-all") @Operation(summary = "获得出库物料列表") @PreAuthorize("@ss.hasPermission('heli:storage-log:query')") diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/MaterialPlanPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/MaterialPlanPageReqVO.java index 6b6f6cb..2d1cdb5 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/MaterialPlanPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/MaterialPlanPageReqVO.java @@ -75,5 +75,7 @@ public class MaterialPlanPageReqVO extends PageParam { private Integer mplanStatus; @Schema(description = "责任人") private String duEmpName; + @Schema(description = "责任人") + private String blueprintNo; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/PartExcelVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/PartExcelVO.java index 6f2b1b8..afba019 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/PartExcelVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/PartExcelVO.java @@ -21,8 +21,7 @@ import java.util.Date; @NoArgsConstructor @Accessors(chain = false) // 设置 chain = false,避免BOM导入有问题 public class PartExcelVO { - @ExcelProperty("工序名称") - private String procedureName; + @ExcelProperty("项目名称") @@ -30,11 +29,14 @@ public class PartExcelVO { @ExcelProperty("子项目名称") private String projectSubName; - @ExcelProperty("客户简码") - private String customerName; + @ExcelProperty("零件号") + private String blueprintNo; +// @ExcelProperty("客户简码") +// private String customerName; @ExcelProperty("零件名称") private String materialName; - + @ExcelProperty("工序名称") + private String procedureName; @ExcelProperty("材质") private String compositionName; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderyf/OrderYfController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderyf/OrderYfController.java index 41455cb..78ee134 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderyf/OrderYfController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderyf/OrderYfController.java @@ -11,6 +11,7 @@ import io.swagger.v3.oas.annotations.Operation; import javax.validation.constraints.*; import javax.validation.*; import javax.servlet.http.*; +import java.math.BigDecimal; import java.util.*; import java.io.IOException; @@ -87,8 +88,43 @@ public class OrderYfController { HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = orderYfService.getOrderYfPage(pageReqVO).getList(); + for (OrderYfDO order : list) { + BigDecimal cgYifu = order.getCgYifu(); + BigDecimal cgYf = order.getCgYf(); + + // 快速失败检查:任一为null或分母为0 + if (cgYifu == null || cgYf == null || cgYf.signum() == 0) { + order.setYfRatio("0%"); + continue; + } + + // 使用double直接计算避免BigDecimal开销 + double numerator = cgYifu.doubleValue(); + double denominator = cgYf.doubleValue(); + + // 直接计算百分比并四舍五入取整 + int percent = (int) Math.round((numerator / denominator) * 100); + order.setYfRatio(percent + "%"); + + BigDecimal amount = order.getAmount(); + + // 快速失败检查:任一为null或分母为0 + if (amount == null || cgYf == null || cgYf.signum() == 0) { + order.setYkRatio("0%"); + continue; + } + + // 使用double直接计算避免BigDecimal开销 + double numerator1 = amount.doubleValue(); + double denominator1 = cgYf.doubleValue(); + + // 直接计算百分比并四舍五入取整 + int percent1 = (int) Math.round((numerator1 / denominator1) * 100); + order.setYkRatio(percent1 + "%"); + + } // 导出 Excel - ExcelUtils.write(response, "应付记录.xls", "数据", OrderYfRespVO.class, + ExcelUtils.write(response, "应付记录.xlsx", "数据", OrderYfRespVO.class, BeanUtils.toBean(list, OrderYfRespVO.class)); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderyf/vo/OrderYfRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderyf/vo/OrderYfRespVO.java index 5db2ec1..05dd3b1 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderyf/vo/OrderYfRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderyf/vo/OrderYfRespVO.java @@ -1,6 +1,8 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.orderyf.vo; import com.baomidou.mybatisplus.annotation.TableField; +import com.chanko.yunxi.mes.framework.excel.core.annotations.DictFormat; +import com.chanko.yunxi.mes.framework.excel.core.convert.DictConvert; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; @@ -39,17 +41,27 @@ public class OrderYfRespVO { @Schema(description = "已付金额") @ExcelProperty("已付金额(元)") private BigDecimal cgYifu; + @Schema(description = "已付款比例") + @ExcelProperty("已付款比例") + private String yfRatio; @Schema(description = "已开票金额") @ExcelProperty("已开票金额(元)") private BigDecimal amount; - + @Schema(description = "已开票比例") + @ExcelProperty("已开票比例") + private String ykRatio; @Schema(description = "付款状态") - @ExcelProperty("付款状态") + @ExcelProperty(value = "付款状态", converter = DictConvert.class) + @DictFormat("heli_yingfu_money") private Integer cgTypee; - + @Schema(description = "订单状态") + @ExcelProperty(value = "订单状态", converter = DictConvert.class) + @DictFormat("heli_purchase_receiving_status") + private Integer receivingStatus; @Schema(description = "备注") @ExcelProperty("备注") private String rem; - + private Long projectId; + private String projectCode; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/OrderYsController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/OrderYsController.java index 538c7d6..478dd6f 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/OrderYsController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/OrderYsController.java @@ -1,5 +1,6 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.orderys; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderyf.OrderYfDO; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -11,6 +12,7 @@ import io.swagger.v3.oas.annotations.Operation; import javax.validation.constraints.*; import javax.validation.*; import javax.servlet.http.*; +import java.math.BigDecimal; import java.util.*; import java.io.IOException; @@ -86,8 +88,43 @@ public class OrderYsController { HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = orderYsService.getOrderYsPage(pageReqVO).getList(); + for (OrderYsDO order : list) { + BigDecimal yishou = order.getCgYishou(); + BigDecimal cgYs = order.getCgYs(); + + // 快速失败检查:任一为null或分母为0 + if (yishou == null || cgYs == null || cgYs.signum() == 0) { + order.setYsRatio("0%"); + continue; + } + + // 使用double直接计算避免BigDecimal开销 + double numerator = yishou.doubleValue(); + double denominator = cgYs.doubleValue(); + + // 直接计算百分比并四舍五入取整 + int percent = (int) Math.round((numerator / denominator) * 100); + order.setYsRatio(percent + "%"); + + BigDecimal amount = order.getAmount(); + + // 快速失败检查:任一为null或分母为0 + if (amount == null || cgYs == null || cgYs.signum() == 0) { + order.setYkRatio("0%"); + continue; + } + + // 使用double直接计算避免BigDecimal开销 + double numerator1 = amount.doubleValue(); + double denominator1 = cgYs.doubleValue(); + + // 直接计算百分比并四舍五入取整 + int percent1 = (int) Math.round((numerator1 / denominator1) * 100); + order.setYkRatio(percent1 + "%"); + + } // 导出 Excel - ExcelUtils.write(response, "应收记录.xls", "数据", OrderYsExportVO.class, + ExcelUtils.write(response, "应收记录.xlsx", "数据", OrderYsExportVO.class, BeanUtils.toBean(list, OrderYsExportVO.class)); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/vo/OrderYsExportVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/vo/OrderYsExportVO.java index 743e999..260735e 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/vo/OrderYsExportVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/vo/OrderYsExportVO.java @@ -38,13 +38,22 @@ public class OrderYsExportVO { @Schema(description = "已收金额") @ExcelProperty("已收金额") private BigDecimal cgYishou; + @Schema(description = "已收款比例") + @ExcelProperty("已收款比例") + private String ysRatio; @Schema(description = "已开票金额") @ExcelProperty("已开票金额") private BigDecimal amount; + @Schema(description = "已开票比例") + @ExcelProperty("已开票比例") + private String ykRatio; @Schema(description = "回款状态") @ExcelProperty(value = "回款状态", converter = DictConvert.class) @DictFormat("heli_yingfu_money") private Integer cgTypee; + @ExcelProperty(value = "发货状态", converter = DictConvert.class) + @DictFormat("heli_delivery_status") + private Integer deliveryStatus; @Schema(description = "备注") @ExcelProperty("备注") private String rem; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/vo/OrderYsRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/vo/OrderYsRespVO.java index 9d3c378..95ef7de 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/vo/OrderYsRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/vo/OrderYsRespVO.java @@ -68,5 +68,7 @@ public class OrderYsRespVO { private BigDecimal fourFuKuan; private BigDecimal fiveFuKuan; private BigDecimal sixFuKuan; - + private Integer deliveryStatus; + private Long projectId; + private String projectCode; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java index a1a75f6..cc5ade3 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java @@ -62,7 +62,7 @@ public class PgMasterController { @PostMapping("/zfPgMaster") @Operation(summary = "作废过程检验派工单") @PreAuthorize("@ss.hasPermission('heli:pg-master:create')") - public CommonResult zfPgMaster(@RequestParam("id") Integer id) { + public CommonResult zfPgMaster(@RequestParam("id") Long id) { return success(pgMasterService.zfPgMaster(id)); } @@ -104,6 +104,7 @@ public class PgMasterController { @PreAuthorize("@ss.hasPermission('heli:pg-master:query')") public CommonResult> getPgMasterPage(@Valid PgMasterPageReqVO pageReqVO) { PageResult pageResult = pgMasterService.getPgMasterPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, PgMasterRespVO.class)); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/vo/PgMasterLinePageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/vo/PgMasterLinePageReqVO.java index a5d7992..b1f72eb 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/vo/PgMasterLinePageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/vo/PgMasterLinePageReqVO.java @@ -118,6 +118,7 @@ public class PgMasterLinePageReqVO extends PageParam { @Schema(description = "报工状态") private String active; - + @Schema(description = "项目或子项目id") + private String subOrDetailName; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/ProcessBomController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/ProcessBomController.java index 03fa146..477bf0d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/ProcessBomController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/ProcessBomController.java @@ -15,11 +15,13 @@ import com.chanko.yunxi.mes.framework.operatelog.core.service.OperateLogFramewor import com.chanko.yunxi.mes.module.heli.controller.admin.plantask.vo.PlanTaskPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.plantask.vo.PlanTaskRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskPlanJDBaoBiaoPageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantask.PlanTaskDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper; import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum; import com.chanko.yunxi.mes.module.heli.service.composition.CompositionService; @@ -247,8 +249,6 @@ public class ProcessBomController { PageResult pageResult = processBomService.getStandardPage(pageReqVO); return success(pageResult); } - - @PostMapping("/submit") @Operation(summary = "提交") @PreAuthorize("@ss.hasPermission('heli:process-bom:create')") @@ -273,4 +273,16 @@ public class ProcessBomController { ExcelUtils.write(response, "标准件物料需求计划.xlsx", "数据", ProcessBomExcelVO.class, BeanUtils.toBean(list, ProcessBomExcelVO.class)); } + @GetMapping("/planBbPage") + @Operation(summary = "获得加工件生产进度分页") + @PreAuthorize("@ss.hasPermission('heli:task-dispatch:query')") + public CommonResult> planBbPage(@Valid TaskPlanJDBaoBiaoPageReqVO pageReqVO) { + return success(processBomService.planBbPage(pageReqVO)); + } + @GetMapping("/planBZJPage") + @Operation(summary = "获得生产进度分页") + @PreAuthorize("@ss.hasPermission('heli:task-dispatch:query')") + public CommonResult> planBZJPage(@Valid TaskPlanJDBaoBiaoPageReqVO pageReqVO) { + return success(processBomService.planBZJPage(pageReqVO)); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignRespVO.java index d3c33e1..c227994 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignRespVO.java @@ -142,5 +142,10 @@ public class ProcessDesignRespVO { private String reReason; @Schema(description = "返工日期") private LocalDateTime reTime; - + private String blankDeferred; + private String deferred3d; + private String deferred2d; + private String blankDelayReason; + private String delayReason2d; + private String delayReason3d; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/ProjectOrderController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/ProjectOrderController.java index 3101daa..3f1aa69 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/ProjectOrderController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/ProjectOrderController.java @@ -18,10 +18,12 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorder.PurchaseOrd import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.orderys.OrderYsMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper; import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum; import com.chanko.yunxi.mes.module.heli.manager.CrossOrderManager; import com.chanko.yunxi.mes.module.heli.service.deliverorder.DeliverOrderService; import com.chanko.yunxi.mes.module.heli.service.orderys.OrderYsService; +import com.chanko.yunxi.mes.module.heli.service.processbom.ProcessBomService; import com.chanko.yunxi.mes.module.heli.service.projectorder.ProjectOrderService; import com.chanko.yunxi.mes.module.heli.service.purchaseorder.PurchaseOrderService; import com.chanko.yunxi.mes.module.heli.service.storage.StorageService; @@ -66,13 +68,9 @@ public class ProjectOrderController { @Resource private OrderYsService orderYsService; @Resource + private ProcessBomService processBomService; + @Resource private DeliverOrderService deliverOrderService; - @Resource - private TaskDispatchService taskDispatchService; - @Resource - private StorageService storageService; - @Resource - private PurchaseOrderService purchaseOrderService; @PostMapping("/create") @Operation(summary = "创建项目订单") @PreAuthorize("@ss.hasPermission('heli:project-order:create')") @@ -155,6 +153,27 @@ public class ProjectOrderController { public CommonResult> getProjectOrderCostPage(@Valid ProjectOrderCostPageReqVO pageReqVO) { PageResult pageResult = projectOrderService.getProjectOrderCostPage(pageReqVO); for (ProjectOrderDO projectOrderDO :pageResult.getList()) { + //标准件成本 + BigDecimal standardPartsCost; + standardPartsCost=processBomService.StandardPartsCost(projectOrderDO.getId(),projectOrderDO.getProjectSubId()); + projectOrderDO.setBiaoZhunJianCost(standardPartsCost); + //材料成本 + BigDecimal materialCost; + materialCost=processBomService.materialCost(projectOrderDO.getId(),projectOrderDO.getProjectSubId()); + projectOrderDO.setCailiaoCost(materialCost); + + //外协加工费 + BigDecimal outsourcedProcessingFee; + outsourcedProcessingFee=processBomService.outsourcedProcessingFee(projectOrderDO.getId(),projectOrderDO.getProjectSubId()); + projectOrderDO.setWaixeiCost(outsourcedProcessingFee); + + //内部工时费 + BigDecimal internalLaborCost; + internalLaborCost=processBomService.internalLaborCost(projectOrderDO.getId(),projectOrderDO.getProjectSubId()); + projectOrderDO.setNeibuCost(internalLaborCost); + + + //运费成本 List deliverOrderDO = deliverOrderService.getListYf(projectOrderDO.getId(),projectOrderDO.getProjectSubId()); if (deliverOrderDO!=null&&deliverOrderDO.size()>0){ BigDecimal totalAmount = deliverOrderDO.stream() @@ -164,34 +183,26 @@ public class ProjectOrderController { }else { projectOrderDO.setYunFeiCost(BigDecimal.ZERO); } - List list= taskDispatchService.getListJg(projectOrderDO.getId(),projectOrderDO.getProjectSubId()); - if (list!=null&&list.size()>0){ - BigDecimal totalAmount = list.stream() - .map(TaskDispatchDO -> TaskDispatchDO.getZanGuMoney() != null ?new BigDecimal(TaskDispatchDO.getZanGuMoney()) : BigDecimal.ZERO) - .reduce(BigDecimal.ZERO, BigDecimal::add); - projectOrderDO.setJiaGongShiCost(totalAmount); - }else { - projectOrderDO.setJiaGongShiCost(BigDecimal.ZERO); - } - List list1= storageService.getList(projectOrderDO.getId(),projectOrderDO.getProjectSubId()); - if (list1!=null&&list1.size()>0){ - BigDecimal totalAmount = list1.stream() - .map(StorageDO -> StorageDO.getCaiGouMoney() != null ?StorageDO.getCaiGouMoney() : BigDecimal.ZERO) - .reduce(BigDecimal.ZERO, BigDecimal::add); - projectOrderDO.setBiaoZhunJianCost(totalAmount); - }else { - projectOrderDO.setBiaoZhunJianCost(BigDecimal.ZERO); - } - List list2 =purchaseOrderService.getListqt(projectOrderDO.getId(),projectOrderDO.getProjectSubId()); - if (list2!=null&&list2.size()>0){ - BigDecimal totalAmount = list2.stream() - .map(PurchaseOrderDO -> PurchaseOrderDO.getCaiGouMoney() != null ?PurchaseOrderDO.getCaiGouMoney() : BigDecimal.ZERO) - .reduce(BigDecimal.ZERO, BigDecimal::add); - projectOrderDO.setQitaCost(totalAmount); - }else { - projectOrderDO.setQitaCost(BigDecimal.ZERO); - } - BigDecimal sum = projectOrderDO.getYunFeiCost().add(projectOrderDO.getJiaGongShiCost()).add(projectOrderDO.getBiaoZhunJianCost()).add(projectOrderDO.getQitaCost()); +// List list= taskDispatchService.getListJg(projectOrderDO.getId(),projectOrderDO.getProjectSubId()); +// if (list!=null&&list.size()>0){ +// BigDecimal totalAmount = list.stream() +// .map(TaskDispatchDO -> TaskDispatchDO.getZanGuMoney() != null ?new BigDecimal(TaskDispatchDO.getZanGuMoney()) : BigDecimal.ZERO) +// .reduce(BigDecimal.ZERO, BigDecimal::add); +// projectOrderDO.setJiaGongShiCost(totalAmount); +// }else { +// projectOrderDO.setJiaGongShiCost(BigDecimal.ZERO); +// } + +// List list2 =purchaseOrderService.getListqt(projectOrderDO.getId(),projectOrderDO.getProjectSubId()); +// if (list2!=null&&list2.size()>0){ +// BigDecimal totalAmount = list2.stream() +// .map(PurchaseOrderDO -> PurchaseOrderDO.getCaiGouMoney() != null ?PurchaseOrderDO.getCaiGouMoney() : BigDecimal.ZERO) +// .reduce(BigDecimal.ZERO, BigDecimal::add); +// projectOrderDO.setQitaCost(totalAmount); +// }else { +// projectOrderDO.setQitaCost(BigDecimal.ZERO); +// } + BigDecimal sum = projectOrderDO.getYunFeiCost().add(projectOrderDO.getCailiaoCost()).add(projectOrderDO.getBiaoZhunJianCost()).add(projectOrderDO.getNeibuCost()).add(projectOrderDO.getWaixeiCost()); projectOrderDO.setSumCost(sum); } return success(BeanUtils.toBean(pageResult, ProjectOrderCostRespVO.class)); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderCostRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderCostRespVO.java index 9a3e4eb..c58e2a9 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderCostRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderCostRespVO.java @@ -57,11 +57,11 @@ public class ProjectOrderCostRespVO { @Schema(description = "外协加工费用") @ExcelProperty("外协加工费用") - private BigDecimal waiXieCost; + private BigDecimal waixeiCost; - @Schema(description = "加工工时换算成本") - @ExcelProperty("加工工时换算成本") - private BigDecimal jiaGongShiCost; + @Schema(description = "内部加工成本") + @ExcelProperty("内部加工成本") + private BigDecimal neibuCost; @Schema(description = "运费成本") @ExcelProperty("运费成本") private BigDecimal yunFeiCost; @@ -69,6 +69,8 @@ public class ProjectOrderCostRespVO { @ExcelProperty("合计成本") private BigDecimal sumCost; @ExcelProperty("其他成本") - private BigDecimal qitaCost; - + private BigDecimal cailiaoCost; + @Schema(description = "设备型号", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @ExcelProperty("设备型号") + private String deviceModel; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/PurchaseOrderNoController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/PurchaseOrderNoController.java index 8a122b1..1c94de1 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/PurchaseOrderNoController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/PurchaseOrderNoController.java @@ -71,8 +71,8 @@ public class PurchaseOrderNoController { @Operation(summary = "更新采购订单主") @PreAuthorize("@ss.hasPermission('project:purchase-order-no:update')") public CommonResult updatePurchaseOrderNo(@Valid @RequestBody PurchaseOrderNoSaveReqVO updateReqVO) { - purchaseOrderNoService.updatePurchaseOrderNo(updateReqVO); - return success(true); + + return purchaseOrderNoService.updatePurchaseOrderNo(updateReqVO); } @DeleteMapping("/delete") @@ -158,5 +158,10 @@ public class PurchaseOrderNoController { public CommonResult deleteForm(@RequestParam("id") Long id) { return purchaseOrderNoService.deleteForm(id); } - + @GetMapping("/updateIsPrint") + @Operation(summary = "打印") + @PreAuthorize("@ss.hasPermission('heli:process-bom:create')") + public CommonResult updateIsPrint(@RequestParam("id") Long id) { + return purchaseOrderNoService.updateIsPrint(id); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/vo/PurchaseOrderNoRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/vo/PurchaseOrderNoRespVO.java index 4578d08..d4231c6 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/vo/PurchaseOrderNoRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/vo/PurchaseOrderNoRespVO.java @@ -1,5 +1,6 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseorderno.vo; +import com.baomidou.mybatisplus.annotation.TableField; import com.chanko.yunxi.mes.framework.excel.core.annotations.DictFormat; import com.chanko.yunxi.mes.framework.excel.core.convert.DictConvert; import com.chanko.yunxi.mes.framework.excel.core.convert.TimestampToDateConvert; @@ -109,4 +110,6 @@ public class PurchaseOrderNoRespVO { private String isPrint; @Schema(description = "收货状态") private Integer receivingStatus1; + @Schema(description = "创建人") + private String submitUserName; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/StorageController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/StorageController.java index 35accf2..5507259 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/StorageController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/StorageController.java @@ -5,18 +5,23 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.chanko.yunxi.mes.module.heli.controller.admin.outsourcestockboom.vo.OutsourceStockBoomSaveReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagein.StorageInDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageinventory.StorageInventoryDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.material.MaterialMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseorderno.PurchaseOrderNoMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordernodetail.PurchaseOrderNoDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storageinventory.StorageInventoryMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogNowMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storagemat.StorageMatMapper; import com.chanko.yunxi.mes.module.heli.service.storagelog.StorageLogService; import com.chanko.yunxi.mes.module.heli.service.storagemat.StorageMatService; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -71,6 +76,10 @@ public class StorageController { private MaterialMapper materialMapper; @Resource private StorageInventoryMapper storageInventoryMapper; + @Resource + private PurchaseOrderNoDetailMapper purchaseOrderNoDetailMapper; + @Resource + private PurchaseOrderNoMapper purchaseOrderNoMapper; @PostMapping("/cancelWeiWai") @Operation(summary = "委外取消提交") @PreAuthorize("@ss.hasPermission('heli:storage:create')") @@ -118,6 +127,7 @@ public class StorageController { } @PutMapping("/update-status") @Operation(summary = "更新入/出库") + @Transactional @PreAuthorize("@ss.hasPermission('heli:storage:update')") public CommonResult updateStorageStatus(@Valid @RequestBody StorageSaveReqVO updateReqVO) { @@ -182,6 +192,11 @@ public class StorageController { storageInventoryDO.setYardAmount(totalNumber); } storageInventoryMapper.insertOrUpdate(storageInventoryDO); + PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = purchaseOrderNoDetailMapper.selectById(storageMatDO.getPurchaseOrderNoDetailId()); + if (ObjectUtil.isNotEmpty(purchaseOrderNoDetailDO)){ + purchaseOrderNoDetailDO.setPurchaseRemAmount(purchaseOrderNoDetailDO.getPurchaseRemAmount().subtract(storageMatDO.getStorageOkQty())); + purchaseOrderNoDetailMapper.updateById(purchaseOrderNoDetailDO); + } } } }else if (updateReqVO.getStockType()==2){ @@ -195,6 +210,7 @@ public class StorageController { wrapper.eq(StorageInventoryDO::getDeleted,0); StorageInventoryDO storageInventoryDO = storageInventoryMapper.selectOne(wrapper); if (ObjectUtil.isNotEmpty(storageInventoryDO)){ + if (storageInventoryDO.getYardAmount().compareTo(storageMatDO.getStorageOkQty()) < 0) CommonResult.error(400,"库存数量不足,请确认"); storageInventoryDO.setYardAmount(storageInventoryDO.getYardAmount().subtract(storageMatDO.getStorageOkQty())); } storageInventoryMapper.insertOrUpdate(storageInventoryDO); @@ -282,6 +298,14 @@ public class StorageController { @PreAuthorize("@ss.hasPermission('heli:storage:query')") public CommonResult getStorage(@RequestParam("id") Long id) { StorageDO storage = storageService.getStorage(id); + if (storage.getStockType()==1&&storage.getStockInType()==1){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PurchaseOrderNoDO::getPurchaseNo,storage.getHeaderNo()); + PurchaseOrderNoDO purchaseOrderNoDO = purchaseOrderNoMapper.selectOne(wrapper); + if (ObjectUtil.isNotEmpty(purchaseOrderNoDO)){ + storage.setHeaderId(purchaseOrderNoDO.getId()); + } + } return success(BeanUtils.toBean(storage, StorageRespVO.class)); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/vo/StorageRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/vo/StorageRespVO.java index 2da2399..77c46a9 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/vo/StorageRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/vo/StorageRespVO.java @@ -107,5 +107,7 @@ public class StorageRespVO { @Schema(description = "子项目id") @ExcelProperty("子项目id") private Integer projectNo; + @Schema(description = "上游单号id") + private Long headerId; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/vo/StorageSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/vo/StorageSaveReqVO.java index d0d9a02..3b65b12 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/vo/StorageSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/vo/StorageSaveReqVO.java @@ -1,5 +1,6 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.storage.vo; +import com.chanko.yunxi.mes.module.heli.controller.admin.storagemat.vo.StorageMatSaveReqVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; @@ -82,4 +83,6 @@ public class StorageSaveReqVO { private Long rgId; @Schema(description = "库位id") private Long pnId; + private List matItemDOList; + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagein/StorageInController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagein/StorageInController.java index b207ac8..3244e91 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagein/StorageInController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagein/StorageInController.java @@ -113,4 +113,12 @@ public class StorageInController { public CommonResult warehousing(@RequestParam("id") Long id) { return storageInService.warehousing(id); } + @GetMapping("/updateIsPrint") + @Operation(summary = "修改打印状态") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:storage-in:query')") + public CommonResult updateIsPrint(@RequestParam("id") Long id) { + return success(storageInService.updateIsPrint(id)); + + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storageinventory/StorageInventoryController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storageinventory/StorageInventoryController.java index f84013e..f64b38a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storageinventory/StorageInventoryController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storageinventory/StorageInventoryController.java @@ -1,7 +1,9 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.storageinventory; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageNowAllReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO; +import com.chanko.yunxi.mes.module.heli.dal.mysql.storageinventory.StorageInventoryMapper; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -40,6 +42,8 @@ public class StorageInventoryController { @Resource private StorageInventoryService storageInventoryService; + @Resource + private StorageInventoryMapper storageInventoryMapper; @PostMapping("/create") @Operation(summary = "创建库存") @@ -130,4 +134,16 @@ public class StorageInventoryController { PageResult pageResult = storageInventoryService.realTimeInventory(pageReqVO); return success(pageResult); } + @GetMapping("/getById") + @Operation(summary = "获得根据物料跟仓库获取库存分页") + @PreAuthorize("@ss.hasPermission('heli:storage-inventory:query')") + public CommonResult getById(@Valid StorageInventoryPageReqVO pageReqVO) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(StorageInventoryDO::getMaterialId,pageReqVO.getMaterialId()); + wrapper.eq(StorageInventoryDO::getWhId,pageReqVO.getWhId()); + wrapper.orderByDesc(StorageInventoryDO::getYardAmount); + wrapper.last("limit 1"); + StorageInventoryDO storageInventoryDO = storageInventoryMapper.selectOne(wrapper); + return success(storageInventoryDO); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogPageReqVO.java index d9dd83b..d421e4d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogPageReqVO.java @@ -48,7 +48,8 @@ public class StorageLogPageReqVO extends PageParam { @Schema(description = "库位") private Long pnId; - + @Schema(description = "库位") + private Long headerId; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/StorageMatController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/StorageMatController.java index c639c81..61a5b64 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/StorageMatController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/StorageMatController.java @@ -1,15 +1,18 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.storagemat; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import com.chanko.yunxi.mes.module.heli.controller.admin.storage.vo.StorageSaveReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder.DeliverOrderMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordernodetail.PurchaseOrderNoDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storage.StorageMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogNowMapper; import com.chanko.yunxi.mes.module.heli.enums.CodeEnum; @@ -69,6 +72,8 @@ public class StorageMatController { private StorageLogNowMapper storageLogNowMapper; @Resource private SerialNumberService serialNumberService; + @Resource + private PurchaseOrderNoDetailMapper purchaseOrderNoDetailMapper; @PostMapping("/create") @Operation(summary = "创建入/出库物料") @@ -99,6 +104,8 @@ public class StorageMatController { public CommonResult createStorageMat(@Valid @RequestBody List createReqVO,@RequestParam("stockid") Long stockid) { storageMatService.deleteStorageMatList(stockid); List attr3List = new ArrayList<>(); + + for (StorageMatSaveReqVO item : createReqVO) { item.setId(null); if (item.getMatCode()!=null){ @@ -137,8 +144,6 @@ public class StorageMatController { bdgzsomthingService.updateById(bdgzsomthingDO); } } - - } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/vo/StorageMatRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/vo/StorageMatRespVO.java index b6b5939..bb669a7 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/vo/StorageMatRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/vo/StorageMatRespVO.java @@ -87,5 +87,9 @@ public class StorageMatRespVO { @Schema(description = "库存") @ExcelProperty("库存") private BigDecimal matRest; + @Schema(description = "采购单id") + private Long purchaseOrderNoId; + @Schema(description = "采购单明细id") + private Long purchaseOrderNoDetailId; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/vo/StorageMatSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/vo/StorageMatSaveReqVO.java index df42901..bd81dba 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/vo/StorageMatSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/vo/StorageMatSaveReqVO.java @@ -1,5 +1,6 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.storagemat.vo; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; @@ -52,4 +53,6 @@ public class StorageMatSaveReqVO { private BigDecimal amount; @Schema(description = "备注", example = "你猜") private String projectSubName; + private Long purchaseOrderNoDetailId; + private Long purchaseOrderNoId; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/TaskDispatchController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/TaskDispatchController.java index 2b3cfac..9dd7fda 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/TaskDispatchController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/TaskDispatchController.java @@ -238,4 +238,6 @@ public class TaskDispatchController { List list= taskDispatchService.getListJg(id,projectSubId); return success( list); } + + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskDispatchDetailPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskDispatchDetailPageReqVO.java index caad2b8..e9da92f 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskDispatchDetailPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskDispatchDetailPageReqVO.java @@ -6,7 +6,9 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import java.util.HashSet; import java.util.List; +import java.util.Set; @Schema(description = "管理后台 - 派工单分页 Request VO") @Data @@ -37,4 +39,7 @@ public class TaskDispatchDetailPageReqVO extends PageParam { @Schema(description = "项目或子项目id") private String subOrDetailName; + @Schema(description = "工序集合") + Set procedureIds; + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/unqualifiednotification/UnqualifiedNotificationController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/unqualifiednotification/UnqualifiedNotificationController.java index 0e6b1d6..3658c78 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/unqualifiednotification/UnqualifiedNotificationController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/unqualifiednotification/UnqualifiedNotificationController.java @@ -10,6 +10,7 @@ import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum; import com.chanko.yunxi.mes.module.heli.config.HeliWebConfiguration; import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchSaveReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.unqualifiednotification.vo.QualityStatistics; import com.chanko.yunxi.mes.module.heli.controller.admin.unqualifiednotification.vo.UnqualifiedNotificationPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.unqualifiednotification.vo.UnqualifiedNotificationRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.unqualifiednotification.vo.UnqualifiedNotificationSaveReqVO; @@ -64,7 +65,7 @@ public class UnqualifiedNotificationController { @PostMapping("/createWx") @Operation(summary = "创建品质异常通知单审核Wx") @PreAuthorize("@ss.hasPermission('heli:unqualified-notification:create')") - public CommonResult uploadFile(@RequestParam("file") MultipartFile file,@RequestHeader("id") String id) { + public CommonResult uploadFile(@RequestParam("file") MultipartFile file,@RequestHeader("id") String id,@RequestHeader("type") String type) { if (file.isEmpty()) { System.out.println(file); return error(500,"The file is empty."); @@ -93,7 +94,9 @@ public class UnqualifiedNotificationController { fileDO.setUnqualifiedId(Long.valueOf(id)); fileDO.setFileName(fileName); fileDO.setFileUrl( HeliWebConfiguration.FILE_URL+id+"/"+fileName); - + if (type != null){ + fileDO.setType(Integer.valueOf(type)); + } fileDO.setFilePath(directory+id+"/" + fileName); unqualifiedNotificationFileService.createUnqualifiedNotificationFile(fileDO); return success("File uploaded successfully: " + fileName); @@ -119,7 +122,15 @@ public class UnqualifiedNotificationController { unqualifiedNotificationService.operate(operateReqVO); return success(operateReqVO.getId()); } - + @PostMapping("/operateWx") + @Operation(summary = "操作更新品质异常通知单") + @PreAuthorize("@ss.hasPermission('heli:unqualified-notification:update')") + @OperateLog(enable = false) + @Transactional(rollbackFor = Exception.class) + public CommonResult operateWx(@Valid @RequestBody UnqualifiedNotificationSaveReqVO operateReqVO) { + unqualifiedNotificationService.operateWx(operateReqVO); + return success(operateReqVO.getId()); + } @DeleteMapping("/delete") @Operation(summary = "删除品质异常通知单审核") @Parameter(name = "id", description = "编号", required = true) @@ -147,7 +158,7 @@ public class UnqualifiedNotificationController { if(CollUtil.isNotEmpty(list)){ for (UnqualifiedNotificationDO unqualifiedNotificationDO : list) { List fileUrlList = new ArrayList<>(); - List unqualifiedNotificationFileDOS = unqualifiedNotificationFileService.queryUnqualifiedNotificationFileBySuperId(unqualifiedNotificationDO.getId()); + List unqualifiedNotificationFileDOS = unqualifiedNotificationFileService.queryUnqualifiedNotificationFileBySuperId(unqualifiedNotificationDO.getId(),0); if(CollUtil.isNotEmpty(unqualifiedNotificationFileDOS)){ for (UnqualifiedNotificationFileDO unqualifiedNotificationFileDO : unqualifiedNotificationFileDOS) { fileUrlList.add(unqualifiedNotificationFileDO.getFileUrl()); @@ -159,6 +170,62 @@ public class UnqualifiedNotificationController { return success(BeanUtils.toBean(unqualifiedNotificationPage, UnqualifiedNotificationRespVO.class)); } + @GetMapping("/pageWx") + @Operation(summary = "获得品质异常通知单审核分页") + @PreAuthorize("@ss.hasPermission('heli:unqualified-notification:query')") + public CommonResult> getUnqualifiedNotificationPageWx(@Valid UnqualifiedNotificationPageReqVO pageReqVO) { + int i = (pageReqVO.getPageNo()-1) * pageReqVO.getPageSize(); + pageReqVO.setPageNum(i); + PageResult unqualifiedNotificationPage = unqualifiedNotificationService.getUnqualifiedNotificationPageWx(pageReqVO); + List list = unqualifiedNotificationPage.getList(); + if(CollUtil.isNotEmpty(list)){ + for (UnqualifiedNotificationDO unqualifiedNotificationDO : list) { + List fileUrlList = new ArrayList<>(); + Integer type = 0; + if (unqualifiedNotificationDO.getTypeName().equals("过程检")){ + type = 2; + }else if (unqualifiedNotificationDO.getTypeName().equals("终检")){ + type = 1; + } + List unqualifiedNotificationFileDOS = unqualifiedNotificationFileService.queryUnqualifiedNotificationFileBySuperId(unqualifiedNotificationDO.getId(),type); + if(CollUtil.isNotEmpty(unqualifiedNotificationFileDOS)){ + for (UnqualifiedNotificationFileDO unqualifiedNotificationFileDO : unqualifiedNotificationFileDOS) { + fileUrlList.add(unqualifiedNotificationFileDO.getFileUrl()); + } + unqualifiedNotificationDO.setFileUrlList(fileUrlList); + } + } + } + + return success(unqualifiedNotificationPage); + } + @GetMapping("/countWx") + @Operation(summary = "获得品质异常通知单审核分页") + @PreAuthorize("@ss.hasPermission('heli:unqualified-notification:query')") + public CommonResult countWx(@Valid UnqualifiedNotificationPageReqVO pageReqVO) { + return success(unqualifiedNotificationService.countWx(pageReqVO)); + } + @GetMapping("/detailWx") + @Operation(summary = "获得品质异常通知单审核分页") + @PreAuthorize("@ss.hasPermission('heli:unqualified-notification:query')") + public CommonResult detailWx(@Valid UnqualifiedNotificationPageReqVO pageReqVO) { + UnqualifiedNotificationDO unqualifiedNotificationDO = unqualifiedNotificationService.getUnqualifiedNotificationWxById(pageReqVO); + List fileUrlList = new ArrayList<>(); + Integer type = 0; + if (unqualifiedNotificationDO.getTypeName().equals("过程检")){ + type = 1; + }else if (unqualifiedNotificationDO.getTypeName().equals("终检")){ + type = 2; + } + List unqualifiedNotificationFileDOS = unqualifiedNotificationFileService.queryUnqualifiedNotificationFileBySuperId(unqualifiedNotificationDO.getId(),type); + if(CollUtil.isNotEmpty(unqualifiedNotificationFileDOS)){ + for (UnqualifiedNotificationFileDO unqualifiedNotificationFileDO : unqualifiedNotificationFileDOS) { + fileUrlList.add(unqualifiedNotificationFileDO.getFileUrl()); + } + unqualifiedNotificationDO.setFileUrlList(fileUrlList); + } + return success(unqualifiedNotificationDO); + } @GetMapping("/export-excel") @Operation(summary = "导出品质异常通知单审核 Excel") @@ -176,9 +243,74 @@ public class UnqualifiedNotificationController { @GetMapping("/statisticPage") @Operation(summary = "获得品质异常单统计分页") @PreAuthorize("@ss.hasPermission('heli:unqualified-notification:query')") - public CommonResult> getUnqualifiedNotificationStatisticPage(@Valid UnqualifiedNotificationPageReqVO pageReqVO) { - PageResult pageResult = unqualifiedNotificationService.getUnqualifiedNotificationStatisticPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, UnqualifiedNotificationRespVO.class)); + public CommonResult> getUnqualifiedNotificationStatisticPage(@Valid UnqualifiedNotificationPageReqVO pageReqVO) { + try { + PageResult pageResult = unqualifiedNotificationService.getUnqualifiedNotificationStatisticPage(pageReqVO); + return success(pageResult); + } catch (Exception e){ + e.printStackTrace(); + } + return success(null); + } + @GetMapping("/exportStatisticPage") + @Operation(summary = "导出质量异常统计 Excel") + @OperateLog(type = EXPORT) + public void exportStatisticPage(@Valid UnqualifiedNotificationPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = unqualifiedNotificationService.getUnqualifiedNotificationStatisticPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "质量异常统计.xls", "数据", QualityStatistics.class, + BeanUtils.toBean(list, QualityStatistics.class)); + } + @PostMapping("/review") + @Operation(summary = "质量异常统计审核") + public CommonResult review(@Valid @RequestBody UnqualifiedNotificationPageReqVO pageReqVO) { + unqualifiedNotificationService.review(pageReqVO); + return success(true); } + + @GetMapping("/unqualifiedNotificationConfirmPageWx") + @Operation(summary = "获得品质异常通知单确认分页") + public CommonResult> unqualifiedNotificationConfirmPageWx(@Valid UnqualifiedNotificationPageReqVO pageReqVO) { + int i = (pageReqVO.getPageNo()-1) * pageReqVO.getPageSize(); + pageReqVO.setPageNum(i); + PageResult unqualifiedNotificationPage = unqualifiedNotificationService.unqualifiedNotificationConfirmPageWx(pageReqVO); + List list = unqualifiedNotificationPage.getList(); + if(CollUtil.isNotEmpty(list)){ + for (UnqualifiedNotificationDO unqualifiedNotificationDO : list) { + List fileUrlList = new ArrayList<>(); + Integer type = 0; + if (unqualifiedNotificationDO.getTypeName().equals("过程检")){ + type = 2; + }else if (unqualifiedNotificationDO.getTypeName().equals("终检")){ + type = 1; + } + List unqualifiedNotificationFileDOS = unqualifiedNotificationFileService.queryUnqualifiedNotificationFileBySuperId(unqualifiedNotificationDO.getId(),type); + if(CollUtil.isNotEmpty(unqualifiedNotificationFileDOS)){ + for (UnqualifiedNotificationFileDO unqualifiedNotificationFileDO : unqualifiedNotificationFileDOS) { + fileUrlList.add(unqualifiedNotificationFileDO.getFileUrl()); + } + unqualifiedNotificationDO.setFileUrlList(fileUrlList); + } + } + } + + return success(unqualifiedNotificationPage); + } + @PostMapping("/confirm") + @Operation(summary = "确认品质异常通知单") + @OperateLog(enable = false) + @Transactional(rollbackFor = Exception.class) + public CommonResult confirm(@Valid @RequestBody UnqualifiedNotificationSaveReqVO operateReqVO) { + unqualifiedNotificationService.confirm(operateReqVO); + return success(operateReqVO.getId()); + } + @GetMapping("/countWx1") + @Operation(summary = "获得品质异常通知单确认消息") + @PreAuthorize("@ss.hasPermission('heli:unqualified-notification:query')") + public CommonResult countWx1(@Valid UnqualifiedNotificationPageReqVO pageReqVO) { + return success(unqualifiedNotificationService.countWx1(pageReqVO)); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/unqualifiednotification/vo/QualityStatistics.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/unqualifiednotification/vo/QualityStatistics.java new file mode 100644 index 0000000..364ee25 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/unqualifiednotification/vo/QualityStatistics.java @@ -0,0 +1,66 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.unqualifiednotification.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.excel.core.annotations.DictFormat; +import com.chanko.yunxi.mes.framework.excel.core.convert.DictConvert; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + + +@Data +@ToString(callSuper = true) +public class QualityStatistics { + + @ExcelProperty("项目名称") + private String projectName; + + @ExcelProperty("客户名称") + private String customerName; + @ExcelProperty("子项目名称") + private String projectSubName; + @ExcelProperty("零件名称") + private String bomName; + @ExcelProperty(value = "质检类型", converter = DictConvert.class) + @DictFormat("heli_inspection_type") + private Integer type; + @ExcelProperty("是否合格") + private String isQua; + @ExcelProperty("异常情况描述 ") + private String remark; + @ExcelProperty("数量") + private BigDecimal amount; + @ExcelProperty("检验人") + private String userName; + @ExcelProperty("检验时间") + private String testingTime; + @ExcelProperty("工序") + private String procedureName; + @ExcelProperty("审核人") + private String auditorName; + @ExcelProperty("审核时间") + private String auditTime; + @ExcelProperty(value = "审核意见", converter = DictConvert.class) + @DictFormat("heli_unqualified_notification_opinion") + private Integer auditOpinion; + @ExcelProperty("项目编码") + private String projectCode; + @ExcelProperty("子项目编码") + private String projectSubNumber; + + private Long id; + + private String notificationStatus; + + + + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/unqualifiednotification/vo/UnqualifiedNotificationPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/unqualifiednotification/vo/UnqualifiedNotificationPageReqVO.java index 1bcccd8..82fa377 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/unqualifiednotification/vo/UnqualifiedNotificationPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/unqualifiednotification/vo/UnqualifiedNotificationPageReqVO.java @@ -17,6 +17,8 @@ import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_Y @ToString(callSuper = true) public class UnqualifiedNotificationPageReqVO extends PageParam { + private Long Id; + @Schema(description = "编号,唯一") private String code; @@ -82,6 +84,7 @@ public class UnqualifiedNotificationPageReqVO extends PageParam { @Schema(description = "创建人名称") private String creatorName; + private Integer pageNum; @Schema(description = "最小创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime minCreateTime; @@ -89,4 +92,6 @@ public class UnqualifiedNotificationPageReqVO extends PageParam { @Schema(description = "最大创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime maxCreateTime; + + private Integer queryType; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjbgmasterline/ZjBgMasterLineController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjbgmasterline/ZjBgMasterLineController.java index fa0040f..42d1c28 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjbgmasterline/ZjBgMasterLineController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjbgmasterline/ZjBgMasterLineController.java @@ -45,7 +45,13 @@ public class ZjBgMasterLineController { public CommonResult endBg(@Valid @RequestBody ZjBgMasterLineSaveReqVO createReqVO) { return success(zjBgMasterLineService.updateBgMasterLines(createReqVO)); } - + @GetMapping("/validExceed") + @Operation(summary = "获得过程检报工") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:bg-master-line:query')") + public CommonResult validExceed(@RequestParam("id") Long id,@RequestParam("amount") Integer amount) { + return success(zjBgMasterLineService.validExceed(id,amount)); + } @PostMapping("/create") @Operation(summary = "创建终检报工") @@ -69,7 +75,7 @@ public class ZjBgMasterLineController { @Operation(summary = "删除终检报工") @Parameter(name = "id", description = "编号", required = true) @PreAuthorize("@ss.hasPermission('heli:zj-bg-master-line:delete')") - public CommonResult deleteZjBgMasterLine(@RequestParam("id") Integer id) { + public CommonResult deleteZjBgMasterLine(@RequestParam("id") Long id) { zjBgMasterLineService.deleteZjBgMasterLine(id); return success(true); } @@ -78,7 +84,7 @@ public class ZjBgMasterLineController { @Operation(summary = "获得终检报工") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('heli:zj-bg-master-line:query')") - public CommonResult getZjBgMasterLine(@RequestParam("id") Integer id) { + public CommonResult getZjBgMasterLine(@RequestParam("id") Long id) { ZjBgMasterLineDO zjBgMasterLine = zjBgMasterLineService.getZjBgMasterLine(id); return success(BeanUtils.toBean(zjBgMasterLine, ZjBgMasterLineRespVO.class)); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjbgmasterline/vo/ZjBgMasterLineRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjbgmasterline/vo/ZjBgMasterLineRespVO.java index c1d6bf0..43222a0 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjbgmasterline/vo/ZjBgMasterLineRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjbgmasterline/vo/ZjBgMasterLineRespVO.java @@ -53,5 +53,14 @@ public class ZjBgMasterLineRespVO { @Schema(description = "报工人") @ExcelProperty("报工人") private String userName; + private Integer isRepre; + private Integer isQua; + private String remark; + private Integer notificationStatus; + private Integer conStatus; + private String auditOpinion; + private Integer auditor; + private LocalDateTime audit_time; + private List fileUrlList; -} \ No newline at end of file +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjbgmasterline/vo/ZjBgMasterLineSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjbgmasterline/vo/ZjBgMasterLineSaveReqVO.java index 6259db0..62e2387 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjbgmasterline/vo/ZjBgMasterLineSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjbgmasterline/vo/ZjBgMasterLineSaveReqVO.java @@ -1,37 +1,46 @@ -package com.chanko.yunxi.mes.module.heli.controller.admin.zjbgmasterline.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import javax.validation.constraints.*; -import java.util.*; -import java.math.BigDecimal; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 终检报工新增/修改 Request VO") -@Data -public class ZjBgMasterLineSaveReqVO { - - @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "24341") - private Integer id; - - @Schema(description = "终检ID", example = "30462") - private Integer zjId; - - @Schema(description = "终检检明细id", example = "21667") - private Integer zjMxId; - - @Schema(description = "报工人") - private String bgUser; - - @Schema(description = "报工数量") - private Integer amount; - - @Schema(description = "报工时间") - private LocalDateTime bgTime; - - @Schema(description = "工时") - private BigDecimal workTime; - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.controller.admin.zjbgmasterline.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 终检报工新增/修改 Request VO") +@Data +public class ZjBgMasterLineSaveReqVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "24341") + private Long id; + + @Schema(description = "终检ID", example = "30462") + private Integer zjId; + + @Schema(description = "终检检明细id", example = "21667") + private Long zjMxId; + + @Schema(description = "报工人") + private String bgUser; + + @Schema(description = "报工数量") + private Integer amount; + + @Schema(description = "报工时间") + private LocalDateTime bgTime; + + @Schema(description = "工时") + private BigDecimal workTime; + private Integer isRepre; + private Integer isQua; + private String remark; + private Integer type; + private String userName; + private Integer notificationStatus; + private Integer conStatus; + private String auditOpinion; + private Integer auditor; + private LocalDateTime audit_time; +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjpgmaster/ZjPgMasterController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjpgmaster/ZjPgMasterController.java index 5b85d60..ab55de0 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjpgmaster/ZjPgMasterController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjpgmaster/ZjPgMasterController.java @@ -55,7 +55,7 @@ public class ZjPgMasterController { @PostMapping("/zfZjPgMaster") @Operation(summary = "作废终检派工单") @PreAuthorize("@ss.hasPermission('heli:zj-pg-master:create')") - public CommonResult zfZjPgMaster(@RequestParam("id") Integer id) { + public CommonResult zfZjPgMaster(@RequestParam("id") Long id) { return success(zjPgMasterService.zfZjPgMaster(id)); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjpgmaster/vo/ZjPgMasterLinePageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjpgmaster/vo/ZjPgMasterLinePageReqVO.java index 8eee79c..dac4af5 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjpgmaster/vo/ZjPgMasterLinePageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/zjpgmaster/vo/ZjPgMasterLinePageReqVO.java @@ -81,5 +81,6 @@ public class ZjPgMasterLinePageReqVO extends PageParam { @Schema(description = "派工状态", example = "1-2-3") private Integer dispatchStatus; - + @Schema(description = "扫码查询") + private String subOrDetailName; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/bgmasterline/BgMasterLineDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/bgmasterline/BgMasterLineDO.java index 0c2caba..463c819 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/bgmasterline/BgMasterLineDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/bgmasterline/BgMasterLineDO.java @@ -28,7 +28,7 @@ public class BgMasterLineDO extends BaseDO { * 主键 */ @TableId - private Integer id; + private Long id; /** * 过程检ID */ @@ -36,7 +36,7 @@ public class BgMasterLineDO extends BaseDO { /** * 过程检明细id */ - private Integer zjMxId; + private Long zjMxId; /** * 报工人 */ @@ -60,5 +60,14 @@ public class BgMasterLineDO extends BaseDO { @TableField(exist = false) private String userName; - -} \ No newline at end of file + private Integer isRepre; + private Integer isQua; + private String remark; + private Integer notificationStatus; + private Integer conStatus; + private String auditOpinion; + private Integer auditor; + private LocalDateTime audit_time; + @TableField(exist = false) + private List fileUrlList; +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/fpuserdetail/FpUserDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/fpuserdetail/FpUserDetailDO.java index 98914fa..16ee662 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/fpuserdetail/FpUserDetailDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/fpuserdetail/FpUserDetailDO.java @@ -53,6 +53,14 @@ public class FpUserDetailDO extends BaseDO { */ private String remark; + /** + * 工序id + */ + private Long procedureId; + /** + * 工序编码 + */ + private String code; @TableField(exist = false) private String nickName; @TableField(exist = false) @@ -61,4 +69,6 @@ public class FpUserDetailDO extends BaseDO { private String postName ; @TableField(exist = false) private String remarks; + @TableField(exist = false) + private String procedureName ; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/invoice/InvoiceDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/invoice/InvoiceDO.java index 229e708..90f0f0b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/invoice/InvoiceDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/invoice/InvoiceDO.java @@ -49,7 +49,7 @@ public class InvoiceDO extends BaseDO { * * 枚举 {@link TODO heli_invoice_type 对应的类} */ - private String type; + private Integer type; /** * 开票日期 */ @@ -82,6 +82,7 @@ public class InvoiceDO extends BaseDO { * 作废时间 */ private LocalDateTime cancelTime; + private Long cgOrderIdId; /** * 单据状态 已保存|已提交|已作废 1|2|3 */ diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/masterline/MasterLineDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/masterline/MasterLineDO.java new file mode 100644 index 0000000..ee8cb89 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/masterline/MasterLineDO.java @@ -0,0 +1,74 @@ +package com.chanko.yunxi.mes.module.heli.dal.dataobject.masterline; + +import lombok.*; + +import java.math.BigDecimal; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO; + +/** + * 借用行 DO + * + * @author 管理员 + */ +@TableName("jy_master_line") +@KeySequence("jy_master_line_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MasterLineDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Integer id; + /** + * 借用id + */ + private Integer jyId; + /** + * 借用物料 + */ + private String jyMaster; + /** + * 借用数量 + */ + private String jyNum; + /** + * 备注 + */ + private String rem; + /** + * 物料id + */ + private Long matId; + + @TableField(exist = false) + private String jyUsers; + @TableField(exist = false) + private String jyBms; + @TableField(exist = false) + private String jyTypes; + @TableField(exist = false) + private String jyMasters; + @TableField(exist = false) + private String jyMasterName; + @TableField(exist = false) + private BigDecimal quantityLent; + @TableField(exist = false) + private String jyYt; + @TableField(exist = false) + private LocalDateTime jyDate; + @TableField(exist = false) + private String rems; + + + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/material/MaterialDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/material/MaterialDO.java index 253006b..2e1cb4f 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/material/MaterialDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/material/MaterialDO.java @@ -182,4 +182,16 @@ public class MaterialDO extends TenantBaseDO { private Long materialTypeId; @TableField(exist = false) private String matUnitId; + @TableField(exist = false) + private BigDecimal purchaseRemAmount; + @TableField(exist = false) + private BigDecimal estimatedPrice; + @TableField(exist = false) + private BigDecimal purchaseAmount; + @TableField(exist = false) + private BigDecimal unitPrice; + @TableField(exist = false) + private Long purchaseOrderNoDetailId; + @TableField(exist = false) + private Long purchaseOrderNoId; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderyf/OrderYfDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderyf/OrderYfDO.java index 2288a00..20df4bc 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderyf/OrderYfDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderyf/OrderYfDO.java @@ -60,5 +60,16 @@ public class OrderYfDO extends BaseDO { private String rem; @TableField(exist = false) private BigDecimal amount; + @TableField(exist = false) + private Integer receivingStatus; + @TableField(exist = false) + private Long projectId; + @TableField(exist = false) + private String projectCode; + @TableField(exist = false) + private String yfRatio; + @TableField(exist = false) + private String ykRatio; -} \ No newline at end of file + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderys/OrderYsDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderys/OrderYsDO.java index 1615774..5d193be 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderys/OrderYsDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderys/OrderYsDO.java @@ -81,7 +81,16 @@ public class OrderYsDO extends BaseDO { private BigDecimal fiveFuKuan; @TableField(exist = false) private BigDecimal sixFuKuan; - + @TableField(exist = false) + private Integer deliveryStatus; + @TableField(exist = false) + private Long projectId; + @TableField(exist = false) + private String projectCode; + @TableField(exist = false) + private String ysRatio; + @TableField(exist = false) + private String ykRatio; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDetailDO.java index d4e987d..1a261a2 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDetailDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDetailDO.java @@ -5,12 +5,14 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; import lombok.*; import org.apache.poi.hpsf.Date; import org.apache.poi.hpsf.Decimal; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; /** * 工艺bom明细 DO @@ -189,6 +191,19 @@ public class ProcessBomDetailDO extends BaseDO { private String projectNameSim; @TableField(exist = false) private String nickname; - + @TableField(exist = false) + private Integer planBoomExists; + @TableField(exist = false) + private Integer purYard; + @TableField(exist = false) + private Integer makeStatus; + @TableField(exist = false) + private Integer receivingStatus; + @TableField(exist = false) + private Integer orderNoExists; + @TableField(exist = false) + private BigDecimal boomAmounts; + @TableField(exist = false) + private List taskDispatchDetailDOList; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processdesign/ProcessDesignDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processdesign/ProcessDesignDO.java index 247a24a..0d2dab4 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processdesign/ProcessDesignDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processdesign/ProcessDesignDO.java @@ -157,4 +157,21 @@ public class ProcessDesignDO extends BaseDO { private String reReason; private LocalDateTime reTime; + + + @TableField(exist = false) + private String blankDeferred; + + @TableField(exist = false) + private String deferred3d; + + @TableField(exist = false) + private String deferred2d; + + @TableField(exist = false) + private String blankDelayReason; + @TableField(exist = false) + private String delayReason2d; + @TableField(exist = false) + private String delayReason3d; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java index 4a05525..8b5c512 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java @@ -271,6 +271,8 @@ public class ProjectOrderDO extends BaseDO { @TableField(exist = false) private int projectYear; + @TableField(exist = false) + private String deviceModel; @TableField(exist = false) private Long projectSubId; @@ -280,17 +282,19 @@ public class ProjectOrderDO extends BaseDO { @TableField(exist = false) private String unitName; + @TableField(exist = false) + private BigDecimal cailiaoCost; /* * 运费成本 * */ @TableField(exist = false) private BigDecimal yunFeiCost; @TableField(exist = false) - private BigDecimal jiaGongShiCost; + private BigDecimal neibuCost; @TableField(exist = false) private BigDecimal biaoZhunJianCost; @TableField(exist = false) - private BigDecimal qitaCost; + private BigDecimal waixeiCost; @TableField(exist = false) private BigDecimal sumCost; /** diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseorderno/PurchaseOrderNoDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseorderno/PurchaseOrderNoDO.java index 49f3be6..ab782b8 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseorderno/PurchaseOrderNoDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseorderno/PurchaseOrderNoDO.java @@ -148,6 +148,8 @@ public class PurchaseOrderNoDO extends BaseDO { @TableField(exist = false) private String postalCode; @TableField(exist = false) + private String submitUserName; + @TableField(exist = false) private String deliveryAddress; @TableField(exist = false) private Integer receivingStatus1; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storage/StorageDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storage/StorageDO.java index 0b5895a..6c41bf9 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storage/StorageDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storage/StorageDO.java @@ -138,5 +138,7 @@ public class StorageDO extends BaseDO { private String signature; @TableField(exist = false) private Date date; + @TableField(exist = false) + private Long headerId; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDO.java index 6a0095d..25da791 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDO.java @@ -175,7 +175,8 @@ public class TaskDispatchDO extends BaseDO { public boolean canOperate(OperateTypeEnum operateTypeEnum) { switch (operateTypeEnum){ case SAVE: - return canSave(); + return true; +// return canSave(); case SUBMIT: return canSubmit(); case CANCEL_SUBMIT: diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java index 7c1d452..1242832 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java @@ -225,6 +225,8 @@ public class TaskDispatchDetailDO extends BaseDO { @TableField(exist = false) private String nameSim; @TableField(exist = false) + private String blueprintNo; + @TableField(exist = false) private String projectNameSim; @TableField(exist = false) private Long duEmpId; @@ -232,9 +234,13 @@ public class TaskDispatchDetailDO extends BaseDO { private BigDecimal matWeight; @TableField(exist = false) private String nickname; - + @TableField(exist = false) + private BigDecimal workingHours; + @TableField(exist = false) + private LocalDateTime reportTime; private Integer reportStatus; - + @TableField(exist = false) + private Integer flag; //是否泡沫, 是-Y 否 -N private String isFoam; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/unqualifiednotification/UnqualifiedNotificationDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/unqualifiednotification/UnqualifiedNotificationDO.java index d802c35..9ab710f 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/unqualifiednotification/UnqualifiedNotificationDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/unqualifiednotification/UnqualifiedNotificationDO.java @@ -94,7 +94,6 @@ public class UnqualifiedNotificationDO extends BaseDO { * 审核时间 */ private LocalDateTime auditTime; - @TableField(exist = false) private String projectName; @@ -139,11 +138,20 @@ public class UnqualifiedNotificationDO extends BaseDO { @TableField(exist = false) private String creatorName; - + @TableField(exist = false) + private Integer totalAmount; + @TableField(exist = false) + private String typeName; @TableField(exist = false) private String statisticAmount; @TableField(exist = false) private List fileUrlList; + @TableField(exist = false) + private Integer isRepre; + @TableField(exist = false) + private Integer isQua; + @TableField(exist = false) + private Integer conStatus; public boolean canSave(){ return UnqualifiedNotificationStatusEnum.SAVE.getCode() == this.notificationStatus.intValue(); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/unqualifiednotificationfile/UnqualifiedNotificationFileDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/unqualifiednotificationfile/UnqualifiedNotificationFileDO.java index 1539f9c..9ec14d7 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/unqualifiednotificationfile/UnqualifiedNotificationFileDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/unqualifiednotificationfile/UnqualifiedNotificationFileDO.java @@ -41,4 +41,5 @@ public class UnqualifiedNotificationFileDO extends BaseDO { private String fileName; private String filePath; private String fileUrl; + private Integer type; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/zjbgmasterline/ZjBgMasterLineDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/zjbgmasterline/ZjBgMasterLineDO.java index 6a400fa..a26024b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/zjbgmasterline/ZjBgMasterLineDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/zjbgmasterline/ZjBgMasterLineDO.java @@ -28,7 +28,7 @@ public class ZjBgMasterLineDO extends BaseDO { * 主键 */ @TableId - private Integer id; + private Long id; /** * 终检ID */ @@ -36,7 +36,7 @@ public class ZjBgMasterLineDO extends BaseDO { /** * 终检检明细id */ - private Integer zjMxId; + private Long zjMxId; /** * 报工人 */ @@ -61,6 +61,15 @@ public class ZjBgMasterLineDO extends BaseDO { @TableField(exist = false) private String userName; + private Integer isRepre; + private Integer isQua; + private String remark; + private Integer notificationStatus; + private Integer conStatus; + private String auditOpinion; + private Integer auditor; + private LocalDateTime audit_time; + @TableField(exist = false) + private List fileUrlList; - -} \ No newline at end of file +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/bgmasterline/BgMasterLineMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/bgmasterline/BgMasterLineMapper.java index 02619e0..97245bd 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/bgmasterline/BgMasterLineMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/bgmasterline/BgMasterLineMapper.java @@ -30,7 +30,8 @@ public interface BgMasterLineMapper extends BaseMapperX { .select("u2.username as userName") .leftJoin("system_users u2 on u2.id = t.bg_user") ; - query.eq(BgMasterLineDO::getZjMxId, reqVO.getZjMxId()); + query.eq(BgMasterLineDO::getZjMxId, reqVO.getZjMxId()) + .orderByDesc(BgMasterLineDO::getId); return selectPage(reqVO, query); @@ -46,7 +47,7 @@ public interface BgMasterLineMapper extends BaseMapperX { .orderByDesc(BgMasterLineDO::getId)) ;*/ } - default BgMasterLineDO selectSum(Integer zjMxId) { + default BgMasterLineDO selectSum(Long zjMxId) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.select("SUM(t.amount) as amount ,SUM(t.work_time) as workTime"); @@ -57,7 +58,19 @@ public interface BgMasterLineMapper extends BaseMapperX { return selectOne(query); } - default BgMasterLineDO selectEnd(Integer zjMxId) { + default BgMasterLineDO selectCountUn(Integer type) { + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.select("count(1) as amount"); + + + query + .eq(BgMasterLineDO::getNotificationStatus,type) + + ; + + return selectOne(query); + } + default BgMasterLineDO selectEnd(Long zjMxId) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); @@ -67,5 +80,39 @@ public interface BgMasterLineMapper extends BaseMapperX { return selectOne(query); } + default BgMasterLineDO selectLast(Long zjMxId) { + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); -} \ No newline at end of file + + query.eq( BgMasterLineDO::getZjMxId, zjMxId) + .orderByDesc(BgMasterLineDO::getId) + .last("limit 1"); + ; + + return selectOne(query); + } + + default Long getByDispatchDetail(Long id){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query + .leftJoin(PgMasterLineDO.class, "a", PgMasterLineDO::getId, BgMasterLineDO::getZjMxId); + + query.eq( PgMasterLineDO::getDispatchDetailId, id) + .eq(PgMasterLineDO::getDeleted,0) + .eq(BgMasterLineDO::getIsQua,1) + .in(BgMasterLineDO::getAuditOpinion,1,3); + ; + + return selectCount(query); + } + + default Long getCount(Long id){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query + .leftJoin(PgMasterLineDO.class, "a", PgMasterLineDO::getId, BgMasterLineDO::getZjMxId); + + query.eq( PgMasterLineDO::getDispatchDetailId, id) + .eq(PgMasterLineDO::getDeleted,0); + return selectCount(query); + } +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/fpuserdetail/FpUserDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/fpuserdetail/FpUserDetailMapper.java index 5f640b2..685ec87 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/fpuserdetail/FpUserDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/fpuserdetail/FpUserDetailMapper.java @@ -8,6 +8,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.fpuserdetail.vo.FpUserD import com.chanko.yunxi.mes.module.heli.controller.admin.fpuserdetail.vo.FpUserDetailSaveReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuser.FpUserDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuserdetail.FpUserDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; @@ -32,10 +33,12 @@ public interface FpUserDetailMapper extends BaseMapperX { default PageResult selectPage(FpUserDetailPageReqVO reqVO) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(FpUserDetailDO.class) - .select("u.nickname as nickName") + .select("u.nickname as nickName,p.name as procedureName") .select("a.type as type","a.remark as remarks") .leftJoin(AdminUserDO.class, "u", AdminUserDO::getId, FpUserDetailDO::getBusyId) .leftJoin(FpUserDO.class, "a", FpUserDO::getId, FpUserDetailDO::getFpId) + .leftJoin(ProcedureDO.class,"p",ProcedureDO::getId, FpUserDetailDO::getProcedureId) + .disableSubLogicDel() .orderByDesc(FpUserDetailDO::getId); query.like(!StringUtils.isEmpty(reqVO.getBusyId()), "u.nickname", reqVO.getBusyId()) .like(!StringUtils.isEmpty(reqVO.getPostId()),FpUserDetailDO::getPostId, reqVO.getPostId()) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/invoice/InvoiceMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/invoice/InvoiceMapper.java index 4885479..e557536 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/invoice/InvoiceMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/invoice/InvoiceMapper.java @@ -74,4 +74,13 @@ public interface InvoiceMapper extends BaseMapperX { } return selectOne(query); } + + default PageResult selectPages(InvoicePageReqVO pageReqVO){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(InvoiceDO.class); + query.eq(InvoiceDO::getCgOrderIdId, pageReqVO.getId()); + query.eq(InvoiceDO::getBusinessType, pageReqVO.getType()); + return selectPage(pageReqVO, query); + + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/master/MasterMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/master/MasterMapper.java index 5d7db21..72cc995 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/master/MasterMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/master/MasterMapper.java @@ -7,6 +7,7 @@ import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; import com.chanko.yunxi.mes.module.heli.dal.dataobject.master.MasterDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.masterline.MasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO; @@ -28,10 +29,14 @@ public interface MasterMapper extends BaseMapperX { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(MasterDO.class) .select("b.nickname as jyUsers,c.name as jyBms,d.name as jyMasters") + .leftJoin(MasterLineDO.class, "a", MasterLineDO::getJyId, MasterDO::getId) .leftJoin(AdminUserDO.class,"b",AdminUserDO::getId,MasterDO::getJyUser) .leftJoin(DeptDO.class,"c",DeptDO::getId,MasterDO::getJyBm) - .leftJoin(MaterialDO.class,"d",MaterialDO::getId,MasterDO::getJyMaster) + .leftJoin(MaterialDO.class,"d",MaterialDO::getId,MasterLineDO::getMatId) + .disableSubLogicDel() + .groupBy(MasterDO::getId) .orderByDesc(MasterDO::getId); + query.eq(!ObjectUtil.isEmpty(reqVO.getJyYt()), MasterDO::getJyYt, reqVO.getJyYt()) .eq(!ObjectUtil.isEmpty(reqVO.getJyType()), MasterDO::getJyType, reqVO.getJyType()) .like(!ObjectUtil.isEmpty(reqVO.getJyBm()), DeptDO::getName, reqVO.getJyBm()) @@ -40,4 +45,5 @@ public interface MasterMapper extends BaseMapperX { return selectPage(reqVO,query); } + } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/masterline/MasterLineMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/masterline/MasterLineMapper.java new file mode 100644 index 0000000..2b94683 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/masterline/MasterLineMapper.java @@ -0,0 +1,59 @@ +package com.chanko.yunxi.mes.module.heli.dal.mysql.masterline; + +import java.util.*; + +import cn.hutool.core.util.ObjectUtil; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.controller.admin.master.vo.MasterPageReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.master.MasterDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.masterline.MasterLineDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; +import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO; +import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import org.apache.ibatis.annotations.Mapper; +import com.chanko.yunxi.mes.module.heli.controller.admin.masterline.vo.*; + +/** + * 借用行 Mapper + * + * @author 管理员 + */ +@Mapper +public interface MasterLineMapper extends BaseMapperX { + + default PageResult selectPage(MasterLinePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(MasterLineDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(MasterLineDO::getJyId, reqVO.getJyId()) + .eqIfPresent(MasterLineDO::getJyMaster, reqVO.getJyMaster()) + .eqIfPresent(MasterLineDO::getJyNum, reqVO.getJyNum()) + .eqIfPresent(MasterLineDO::getRem, reqVO.getRem()) + .eqIfPresent(MasterLineDO::getMatId, reqVO.getMatId()) + .orderByDesc(MasterLineDO::getId)); + } + + default PageResult getMasterLinePage(MasterPageReqVO pageReqVO){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(MasterLineDO.class) + .select("b.nickname as jyUsers,c.name as jyBms,d.name as jyMasters,a.jy_type as jyTypes") + .select("a.jy_yt as jyYt","a.jy_date as jyDate") + .select("a.rem as rems") + .leftJoin(MasterDO.class,"a",MasterDO::getId,MasterLineDO::getJyId) + .leftJoin(AdminUserDO.class,"b",AdminUserDO::getId,MasterDO::getJyUser) + .leftJoin(DeptDO.class,"c",DeptDO::getId,MasterDO::getJyBm) + .leftJoin(MaterialDO.class,"d",MaterialDO::getId,MasterLineDO::getMatId) + .disableSubLogicDel() + .groupBy(MasterLineDO::getId) + .orderByDesc(MasterLineDO::getId); + + query.eq(!ObjectUtil.isEmpty(pageReqVO.getJyYt()), MasterDO::getJyYt, pageReqVO.getJyYt()) + .eq(!ObjectUtil.isEmpty(pageReqVO.getJyType()), MasterDO::getJyType, pageReqVO.getJyType()) + .like(!ObjectUtil.isEmpty(pageReqVO.getJyBm()), DeptDO::getName, pageReqVO.getJyBm()) + .like(!ObjectUtil.isEmpty(pageReqVO.getJyMaster()), MaterialDO::getName, pageReqVO.getJyMaster()) + .like(!ObjectUtil.isEmpty(pageReqVO.getJyUser()), AdminUserDO::getNickname, pageReqVO.getJyUser()); + return selectPage(pageReqVO,query); + } +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/material/MaterialMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/material/MaterialMapper.java index feb8a22..9ce683c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/material/MaterialMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/material/MaterialMapper.java @@ -9,12 +9,14 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageLo import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageinventory.StorageInventoryDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageMaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.supplier.SupplierDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO; +import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordernodetail.PurchaseOrderNoDetailMapper; import com.chanko.yunxi.mes.module.heli.enums.MaterialTypeEnum; import com.chanko.yunxi.mes.module.heli.enums.YesOrNoEnum; import com.chanko.yunxi.mes.module.system.dal.dataobject.dict.DictDataDO; @@ -216,4 +218,33 @@ public interface MaterialMapper extends BaseMapperX { } return selectPage(pageReqVO, query); } + + default PageResult getStorageNowMaterialNoPage(StorageLogPageReqVO pageReqVO){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(MaterialDO.class) + .select("ifnull(sum(s.yard_amount),0) matRest") + .select("t.name as matName,t.code as matCode,d.label as matType,t.spec as matSpec,t.brand as matBrand") + .select("d1.label as matUnit") + .select("p.id as purchaseOrderNoDetailId,p.purchase_order_id as purchaseOrderNoId") + .select("p.purchase_amount as purchaseAmount","p.estimated_price as estimatedPrice") + .select("p.purchase_rem_amount as purchaseRemAmount","ROUND(p.estimated_price / NULLIF(p.purchase_amount, 0)) AS unitPrice") + .leftJoin(StorageInventoryDO.class, "s", StorageInventoryDO::getMaterialId, MaterialDO::getId) + .leftJoin(PurchaseOrderNoDetailDO.class,"p",PurchaseOrderNoDetailDO::getMaterialId, MaterialDO::getId) + .leftJoin(DictDataDO.class,"d",DictDataDO::getValue, MaterialDO::getMaterialType) + .leftJoin(DictDataDO.class,"d1",DictDataDO::getValue, MaterialDO::getUnit) + .disableSubLogicDel() + .groupBy(MaterialDO::getId) + .orderByDesc(MaterialDO::getId); + + query.like(!com.alibaba.druid.util.StringUtils.isEmpty(pageReqVO.getMatSpec()),MaterialDO::getSpec, pageReqVO.getMatSpec()) + .like(!com.alibaba.druid.util.StringUtils.isEmpty(pageReqVO.getMatName()), MaterialDO::getName, pageReqVO.getMatName()) + .like(!com.alibaba.druid.util.StringUtils.isEmpty(pageReqVO.getMatCode()), MaterialDO::getCode, pageReqVO.getMatCode()) + .eq(true,PurchaseOrderNoDetailDO::getPurchaseOrderId, pageReqVO.getHeaderId()) + .eq(true,MaterialDO::getVirtualPart, YesOrNoEnum.N.name()) + .eq(MaterialDO::getStatus,1) + .eq("d.dict_type","heli_material_type") + .eq("d1.dict_type","heli_material_unit") + ; + return selectPage(pageReqVO,query); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java index da8e6c9..3a82f3d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java @@ -237,6 +237,7 @@ public interface MaterialPlanBoomMapper extends BaseMapperX .disableSubLogicDel(); query .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),MaterialPlanDO::getProjectName, pageReqVO.getProjectName()) + .like(!StringUtils.isEmpty(pageReqVO.getBlueprintNo()),ProcessBomDetailDO::getBlueprintNo, pageReqVO.getBlueprintNo()) .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), MaterialPlanDO::getName, pageReqVO.getProjectSubName()) .like(!StringUtils.isEmpty(pageReqVO.getMaterialName()), MaterialPlanBoomDO::getMatName, pageReqVO.getMaterialName()) .like(!StringUtils.isEmpty(pageReqVO.getMatName()), MaterialPlanBoomDO::getMatName, pageReqVO.getMatName()) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/orderyf/OrderYfMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/orderyf/OrderYfMapper.java index 3725455..c187c1f 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/orderyf/OrderYfMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/orderyf/OrderYfMapper.java @@ -9,6 +9,8 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.orderys.vo.OrderYsPageR import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderyf.OrderYfDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderys.OrderYsDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; import com.chanko.yunxi.mes.module.heli.controller.admin.orderyf.vo.*; @@ -27,8 +29,16 @@ public interface OrderYfMapper extends BaseMapperX { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(OrderYfDO.class) .select("sum(i.amount) as amount") + .select("CASE " + + " WHEN COUNT(d.id) = 0 THEN 1 " + // 无子记录 + " WHEN SUM(CASE d.receiving_status WHEN 3 THEN 0 ELSE 1 END) = 0 THEN 3 " + // 全部为3 + " WHEN SUM(CASE d.receiving_status WHEN 1 THEN 1 ELSE 0 END) = COUNT(d.id) THEN 1 " + // 全部为1 + " ELSE 2 " + // 其他情况 + "END AS receivingStatus") .leftJoin( - "finance_invoice i ON i.order_code = t.cg_order_num AND i.business_type = 'FINANCE_RECEIVE_INVOICE' AND i.status !='3'") + "finance_invoice i ON i.order_code = t.cg_order_num AND i.deleted=0 and i.tenant_id=2 and i.business_type = 'FINANCE_RECEIVE_INVOICE' AND i.status !='3'") + .leftJoin(PurchaseOrderNoDO.class,"p", PurchaseOrderNoDO::getPurchaseNo, OrderYfDO::getCgOrderNum) + .leftJoin(PurchaseOrderNoDetailDO.class,"d", PurchaseOrderNoDetailDO::getPurchaseOrderId, PurchaseOrderNoDO::getId) .disableSubLogicDel() .groupBy(OrderYfDO::getId) .orderByDesc(OrderYfDO::getCreateTime); @@ -45,8 +55,10 @@ public interface OrderYfMapper extends BaseMapperX { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(OrderYfDO.class) .select("sum(i.amount) as amount") + .select("p.id as projectId","p.purchase_no as projectCode") .leftJoin( - "finance_invoice i ON i.order_code = t.cg_order_num AND i.business_type = 'FINANCE_RECEIVE_INVOICE' AND i.status !='3'") + "finance_invoice i ON i.order_code = t.cg_order_num AND i.deleted=0 and i.tenant_id=2 and i.business_type = 'FINANCE_RECEIVE_INVOICE' AND i.status !='3'") + .leftJoin(PurchaseOrderNoDO.class,"p", PurchaseOrderNoDO::getPurchaseNo, OrderYfDO::getCgOrderNum) .disableSubLogicDel(); query .eq( OrderYsDO::getId, id); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/orderys/OrderYsMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/orderys/OrderYsMapper.java index 113b57b..33bf686 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/orderys/OrderYsMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/orderys/OrderYsMapper.java @@ -31,8 +31,10 @@ public interface OrderYsMapper extends BaseMapperX { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(OrderYsDO.class) .select("sum(i.amount) as amount") + .select("p.delivery_status as deliveryStatus") .leftJoin( - "finance_invoice i ON i.order_code = t.code AND i.business_type = 'FINANCE_MAKE_INVOICE' AND i.status !='3'") + "finance_invoice i ON i.order_code = t.code AND i.deleted=0 and i.tenant_id=2 and i.business_type = 'FINANCE_MAKE_INVOICE' AND i.status !='3'") + .leftJoin(ProjectOrderDO.class,"p", ProjectOrderDO::getCode, OrderYsDO::getCode) .disableSubLogicDel() .groupBy(OrderYsDO::getId) .orderByDesc(OrderYsDO::getCreateTime); @@ -52,8 +54,9 @@ public interface OrderYsMapper extends BaseMapperX { .select("sum(i.amount) as amount") .select("p.shou_Fu_Kuan as shouFuKuan","p.two_Fu_Kuan as twoFuKuan","p.three_Fu_Kuan as threeFuKuan") .select("p.four_Fu_Kuan as fourFuKuan","p.five_Fu_Kuan as fiveFuKuan","p.six_Fu_Kuan as sixFuKuan") + .select("p.code as projectCode,p.id as projectId") .leftJoin( - "finance_invoice i ON i.order_code = t.code AND i.business_type = 'FINANCE_MAKE_INVOICE' AND i.status !='3'") + "finance_invoice i ON i.order_code = t.code AND i.deleted=0 and i.tenant_id=2 and i.business_type = 'FINANCE_MAKE_INVOICE' AND i.status !='3'") .leftJoin(ProjectOrderDO.class, "p", ProjectOrderDO::getCode, OrderYsDO::getCode) .disableSubLogicDel(); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/pgmaster/PgMasterLineMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/pgmaster/PgMasterLineMapper.java index 023f89e..ec6df01 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/pgmaster/PgMasterLineMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/pgmaster/PgMasterLineMapper.java @@ -91,10 +91,16 @@ public interface PgMasterLineMapper extends BaseMapperX { } query.eq(reqVO.getDetilUser() != null&&reqVO.getDetilUser() != 0, PgMasterLineDO::getDetilUser, reqVO.getDetilUser()) .eq(reqVO.getPgType() != null, PgMasterLineDO::getPgType, reqVO.getPgType()) - .eq(reqVO.getDispatchStatus() != null, PgMasterLineDO::getDispatchStatus, reqVO.getDispatchStatus()) + .eq(reqVO.getDispatchStatus() != null, PgMasterLineDO::getDispatchStatus, reqVO.getDispatchStatus()); + if (reqVO.getSubOrDetailName() != null && !reqVO.getSubOrDetailName().trim().equals("")){ + query.and( e ->e.like(PgMasterLineDO::getProjectName, reqVO.getSubOrDetailName()).or().like( + PgMasterLineDO::getProjectSubName, reqVO.getSubOrDetailName() + ).or().like(PgMasterLineDO::getMaterialName, reqVO.getSubOrDetailName())); + // query.eq(" (b.project_name like '%" + reqVO.getSubOrDetailName() + "%' or c.name like '%" + reqVO.getSubOrDetailName() + "%')"); + } + - ; return selectPage(reqVO, query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plantask/PlanTaskMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plantask/PlanTaskMapper.java index 1acf13a..fd56c7d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plantask/PlanTaskMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plantask/PlanTaskMapper.java @@ -34,7 +34,7 @@ public interface PlanTaskMapper extends BaseMapperX { query.selectAll(PlanTaskDO.class) .select("e.name as customerName","p.code as projectCode","p.project_name as projectName","p.project_end_time as projectEndTime") - .select("pl.plan_no as planNo","ps.project_sub_code as projectSubCode","po.name as projectSubName","concat('BOM-', ps.project_sub_code) as bomCode") + .select("pl.plan_no as planNo","ps.project_sub_code as projectSubCode","po.name as projectSubName"," ps.project_sub_code as bomCode") .leftJoin(PlanDO.class, "pl", PlanDO::getId, PlanTaskDO::getProjectPlanId) .leftJoin(PlanSubDO.class, "ps", PlanSubDO::getId, PlanTaskDO::getProjectPlanSubId) .leftJoin(ProjectOrderDO.class, "p", ProjectOrderDO::getId, PlanTaskDO::getProjectId) @@ -72,7 +72,7 @@ public interface PlanTaskMapper extends BaseMapperX { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(PlanTaskDO.class) .select("e.name as customerName","p.code as projectCode","p.project_name as projectName","p.project_end_time as projectEndTime") - .select("pl.plan_no as planNo","po.amount as projectSubNum","ps.project_sub_code as projectSubCode","po.name as projectSubName","concat('BOM-', ps.project_sub_code) as bomCode") + .select("pl.plan_no as planNo","po.amount as projectSubNum","ps.project_sub_code as projectSubCode","po.name as projectSubName"," ps.project_sub_code as bomCode") .leftJoin(PlanDO.class, "pl", PlanDO::getId, PlanTaskDO::getProjectPlanId) .leftJoin(PlanSubDO.class, "ps", PlanSubDO::getId, PlanTaskDO::getProjectPlanSubId) .leftJoin(ProjectOrderDO.class, "p", ProjectOrderDO::getId, PlanTaskDO::getProjectId) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java index dcfc88f..a15699c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java @@ -11,6 +11,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.materialplanboom.vo.Pro import com.chanko.yunxi.mes.module.heli.controller.admin.materialplanboom.vo.ProcessBoomRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.plantaskbom.vo.PlanTaskBomPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomPageReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskPlanJDBaoBiaoPageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; @@ -93,7 +94,7 @@ public interface ProcessBomDetailMapper extends BaseMapperX default PageResult selectPageNew(ProcessBomPageReqVO reqVO) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(ProcessBomDetailDO.class) - .select("concat('BOM-', e.project_sub_code) as bomCode", "e.project_sub_code as projectSubCode") + .select("e.project_sub_code as bomCode", "e.project_sub_code as projectSubCode") .select("a.plan_no as planCode", "b.code as projectCode", "c.name as customerName", "b.project_name as projectName") .select("d.name as projectSubName,f.name as compositionName") @@ -108,7 +109,7 @@ public interface ProcessBomDetailMapper extends BaseMapperX .disableSubLogicDel() ; - query.and(!StringUtils.isEmpty(reqVO.getCode()), QueryWrapper -> QueryWrapper.apply("locate({0},concat('BOM-', e.project_sub_code )) > 0", reqVO.getCode())) + query.and(!StringUtils.isEmpty(reqVO.getCode()), QueryWrapper -> QueryWrapper.apply("locate({0}, e.project_sub_code ) > 0", reqVO.getCode())) .like(!StringUtils.isEmpty(reqVO.getPlanCode()), PlanDO::getPlanNo, reqVO.getPlanCode()) .like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode()) .like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getName, reqVO.getCustomerName()) @@ -236,4 +237,64 @@ public interface ProcessBomDetailMapper extends BaseMapperX return selectPage(pageReqVO, query); } + + default PageResult planBbPage(TaskPlanJDBaoBiaoPageReqVO pageReqVO){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(ProcessBomDetailDO.class) + .select("f.name as compositionName") + .select("t.amount*d.amount as boomAmounts") + .leftJoin(PlanTaskBomDO.class,"ptb",PlanTaskBomDO::getBomDetailId,ProcessBomDetailDO::getId) + .leftJoin(PlanTaskDO.class,"pt",PlanTaskDO::getId,PlanTaskBomDO::getTaskId) + .leftJoin(ProcessBomDO.class,"g",ProcessBomDO::getId,ProcessBomDetailDO::getBomId) + .leftJoin(ProjectOrderDO.class, "b", ProjectOrderDO::getId, ProcessBomDO::getProjectId) + .leftJoin(CustomerDO.class, "c", CustomerDO::getId, ProjectOrderDO::getCustomerId) + .leftJoin(ProjectOrderSubDO.class, "d", ProjectOrderSubDO::getId, ProcessBomDO::getProjectSubId) + .leftJoin(AdminUserDO.class,"u",AdminUserDO::getId,PlanTaskBomDO::getOwner) + .leftJoin(CompositionDO.class,"f",CompositionDO::getId,ProcessBomDetailDO::getCompositionId) + .groupBy(ProcessBomDetailDO::getId) + .disableSubLogicDel(); + query.like(!ObjectUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode,pageReqVO.getProjectCode()) + .like(!ObjectUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectName,pageReqVO.getProjectName()) + .like(!ObjectUtils.isEmpty(pageReqVO.getTaskNo()),PlanTaskDO::getTaskNo,pageReqVO.getTaskNo()) + .like(!ObjectUtils.isEmpty(pageReqVO.getProjectSubName()),ProjectOrderSubDO::getName,pageReqVO.getProjectSubName()) + .like(!ObjectUtils.isEmpty(pageReqVO.getMaterialName()),ProcessBomDetailDO::getMaterialName,pageReqVO.getMaterialName()) + .like(!ObjectUtils.isEmpty(pageReqVO.getOwner()),AdminUserDO::getNickname,pageReqVO.getOwner()) + .eq(ProcessBomDetailDO::getType,2); + return selectPage(pageReqVO, query); + + } + + default PageResult planBZJPage(TaskPlanJDBaoBiaoPageReqVO pageReqVO){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(ProcessBomDetailDO.class) + .select("f.name as compositionName") + .select("CASE WHEN w.id IS NOT NULL THEN 1 ELSE 0 END AS planBoomExists") + .select("w.is_pur_yard as purYard") + .select("m.status as makeStatus") + .select("r.receiving_status as receivingStatus") + .select("CASE WHEN r.id IS NOT NULL THEN 1 ELSE 0 END AS orderNoExists") + .select("t.amount*d.amount as boomAmounts") + .leftJoin(PlanTaskBomDO.class,"ptb",PlanTaskBomDO::getBomDetailId,ProcessBomDetailDO::getId) + .leftJoin(PlanTaskDO.class,"pt",PlanTaskDO::getId,PlanTaskBomDO::getTaskId) + .leftJoin(ProcessBomDO.class,"g",ProcessBomDO::getId,ProcessBomDetailDO::getBomId) + .leftJoin(ProjectOrderDO.class, "b", ProjectOrderDO::getId, ProcessBomDO::getProjectId) + .leftJoin(CustomerDO.class, "c", CustomerDO::getId, ProjectOrderDO::getCustomerId) + .leftJoin(ProjectOrderSubDO.class, "d", ProjectOrderSubDO::getId, ProcessBomDO::getProjectSubId) + .leftJoin(AdminUserDO.class,"u",AdminUserDO::getId,PlanTaskBomDO::getOwner) + .leftJoin(CompositionDO.class,"f",CompositionDO::getId,ProcessBomDetailDO::getCompositionId) + .leftJoin("project_material_plan_boom w on t.id=w.boom_detail_id and w.deleted=0 and w.tenant_id=2") + .leftJoin("project_purchase_order_make_detail e on w.project_purchase_order_make_detail_id = e.id and e.deleted=0 and e.tenant_id=2") + .leftJoin("project_purchase_order_make m on e.purchase_order_id=m.id and m.deleted=0 and e.tenant_id=2") + .leftJoin("project_purchase_order_no_detail r on e.purchase_order_no_detail_id = r.id and r.deleted=0 and r.tenant_id=2") + .groupBy(ProcessBomDetailDO::getId) + .disableSubLogicDel(); + query.like(!ObjectUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode,pageReqVO.getProjectCode()) + .like(!ObjectUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectName,pageReqVO.getProjectName()) + .like(!ObjectUtils.isEmpty(pageReqVO.getTaskNo()),PlanTaskDO::getTaskNo,pageReqVO.getTaskNo()) + .like(!ObjectUtils.isEmpty(pageReqVO.getProjectSubName()),ProjectOrderSubDO::getName,pageReqVO.getProjectSubName()) + .like(!ObjectUtils.isEmpty(pageReqVO.getMaterialName()),ProcessBomDetailDO::getMaterialName,pageReqVO.getMaterialName()) + .like(!ObjectUtils.isEmpty(pageReqVO.getOwner()),AdminUserDO::getNickname,pageReqVO.getOwner()) + .eq(ProcessBomDetailDO::getType,1); + return selectPage(pageReqVO, query); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomMapper.java index 9e10a49..fad89a7 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomMapper.java @@ -17,6 +17,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.util.StringUtils; +import java.math.BigDecimal; import java.util.List; /** @@ -69,7 +70,7 @@ public interface ProcessBomMapper extends BaseMapperX { default PageResult selectPages(ProcessBomPageReqVO reqVO) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(ProcessBomDO.class) - .select("concat('BOM-', e.project_sub_code) as bomCode", "e.project_sub_code as projectSubCode") + .select(" e.project_sub_code as bomCode", "e.project_sub_code as projectSubCode") // .select( "e.project_sub_code as projectSubCode") .select("a.plan_no as planCode", "b.code as projectCode", "c.name as customerName", "b.project_name as projectName") @@ -83,7 +84,7 @@ public interface ProcessBomMapper extends BaseMapperX { .disableSubLogicDel() ; - query.and(!StringUtils.isEmpty(reqVO.getCode()), QueryWrapper -> QueryWrapper.apply("locate({0},concat('BOM-', e.project_sub_code )) > 0", reqVO.getCode())) + query.and(!StringUtils.isEmpty(reqVO.getCode()), QueryWrapper -> QueryWrapper.apply("locate({0}, e.project_sub_code ) > 0", reqVO.getCode())) .like(!StringUtils.isEmpty(reqVO.getPlanCode()), PlanDO::getPlanNo, reqVO.getPlanCode()) .like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode()) .like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getName, reqVO.getCustomerName()) @@ -100,7 +101,7 @@ public interface ProcessBomMapper extends BaseMapperX { default PageResult selectPage(ProcessBomPageReqVO reqVO) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(ProcessBomDO.class) - .select("concat('BOM-', e.project_sub_code) as bomCode", "e.project_sub_code as projectSubCode") + .select(" e.project_sub_code as bomCode", "e.project_sub_code as projectSubCode") .select("a.plan_no as planCode", "b.code as projectCode", "c.name as customerName", "b.project_name as projectName") .select("d.name as projectSubName") .leftJoin(PlanDO.class, "a", PlanDO::getId, ProcessBomDO::getPlanId) @@ -112,7 +113,7 @@ public interface ProcessBomMapper extends BaseMapperX { .disableSubLogicDel() ; - query.and(!StringUtils.isEmpty(reqVO.getCode()), QueryWrapper -> QueryWrapper.apply("locate({0},concat('BOM-', e.project_sub_code )) > 0", reqVO.getCode())) + query.and(!StringUtils.isEmpty(reqVO.getCode()), QueryWrapper -> QueryWrapper.apply("locate({0}, e.project_sub_code ) > 0", reqVO.getCode())) .like(!StringUtils.isEmpty(reqVO.getPlanCode()), PlanDO::getPlanNo, reqVO.getPlanCode()) .like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode()) .like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getName, reqVO.getCustomerName()) @@ -168,7 +169,7 @@ public interface ProcessBomMapper extends BaseMapperX { default ProcessBomDO selectByIdbyid(Long id) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(ProcessBomDO.class) - .select("concat('BOM-', e.project_sub_code) as bomCode", "e.project_sub_code as projectSubCode") + .select(" e.project_sub_code as bomCode", "e.project_sub_code as projectSubCode") .select("a.plan_no as planCode", "b.code as projectCode", "c.name as customerName", "b.project_name as projectName") .select("d.name as projectSubName") .leftJoin(PlanDO.class, "a", PlanDO::getId, ProcessBomDO::getPlanId) @@ -184,4 +185,14 @@ public interface ProcessBomMapper extends BaseMapperX { } List getProcessBomPagesall(); PlanDO getplanid(Long id); + + BigDecimal StandardPartsCost(@Param("id") Long id,@Param("projectSubId") Long projectSubId); + + BigDecimal materialCost(@Param("id") Long id,@Param("projectSubId") Long projectSubId); + + BigDecimal outsourcedProcessingFee(@Param("id") Long id,@Param("projectSubId") Long projectSubId); + + BigDecimal bubbleFees(@Param("id") Long id,@Param("projectSubId") Long projectSubId); + + BigDecimal internalLaborCost(@Param("id") Long id,@Param("projectSubId") Long projectSubId); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java index d348efb..50c2ad5 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java @@ -6,6 +6,7 @@ import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderCostPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderPageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.equip.EquipDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; @@ -41,9 +42,12 @@ public interface ProjectOrderMapper extends BaseMapperX { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(ProjectOrderDO.class) .select("a.id as projectSubId,a.name as projectSubName") - .select("b.name as customerName") + .select("b.name as customerName,e.name as deviceModel") + .leftJoin(ProjectOrderSubDO.class,"a",ProjectOrderSubDO::getProjectOrderId,ProjectOrderDO::getId) .leftJoin(CustomerDO.class,"b",CustomerDO::getId,ProjectOrderDO::getCustomerId) + .leftJoin(EquipDO.class,"e",EquipDO::getId,ProjectOrderSubDO::getDeviceModel) + .disableSubLogicDel() .like(!StringUtils.isEmpty(reqVO.getCode()),ProjectOrderDO::getCode,reqVO.getCode()) .like(!StringUtils.isEmpty(reqVO.getProjectName()),ProjectOrderDO::getProjectName,reqVO.getProjectName()) .like(!StringUtils.isEmpty(reqVO.getCustomerName()),"b.name",reqVO.getCustomerName()) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseorderno/PurchaseOrderNoMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseorderno/PurchaseOrderNoMapper.java index b7b7dae..3709d24 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseorderno/PurchaseOrderNoMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseorderno/PurchaseOrderNoMapper.java @@ -33,6 +33,7 @@ public interface PurchaseOrderNoMapper extends BaseMapperX { query.selectAll(PurchaseOrderNoDO.class) .select("s.name as supplierName","m.project_material_plan_no as materialPlanNo") + .select("u1.nickname as submitUserName") .select("CASE " + " WHEN COUNT(d.id) = 0 THEN 1 " + // 无子记录 " WHEN SUM(CASE d.receiving_status WHEN 3 THEN 0 ELSE 1 END) = 0 THEN 3 " + // 全部为3 @@ -43,6 +44,7 @@ public interface PurchaseOrderNoMapper extends BaseMapperX { .leftJoin(PurchaseOrderNoDetailDO.class,"d", PurchaseOrderNoDetailDO::getPurchaseOrderId, PurchaseOrderNoDO::getId) .leftJoin(MaterialPlanDO.class, "m", MaterialPlanDO::getId, PurchaseOrderNoDO::getProjectMaterialPlanId) .leftJoin(AdminUserDO.class,"u", AdminUserDO::getId, PurchaseOrderNoDetailDO::getDuEmpId) + .leftJoin(AdminUserDO.class,"u1", AdminUserDO::getId, PurchaseOrderNoDO::getCreator) .disableSubLogicDel() .groupBy(PurchaseOrderNoDO::getId) .orderByDesc(PurchaseOrderNoDO::getCreateTime); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordernodetail/PurchaseOrderNoDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordernodetail/PurchaseOrderNoDetailMapper.java index 686aea3..ea7643a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordernodetail/PurchaseOrderNoDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordernodetail/PurchaseOrderNoDetailMapper.java @@ -63,9 +63,9 @@ public interface PurchaseOrderNoDetailMapper extends BaseMapperX getPurchaseOrderNoDetailById(Long id){ MPJLambdaWrapper query = new MPJLambdaWrapper<>(); - query.selectAll(PurchaseOrderNoDetailDO.class) .select("t.composition as compositionName","t.purchase_rem_amount as purchaseRemAmounts","mat.code as matCode","pro.name as procedureName","bom.blueprint_no as blueprintNo","psub.id as projectSubId") + .select("ROUND(t.estimated_price / t.purchase_amount, 1) as unitPrice") .leftJoin(PurchaseOrderNoDO.class, "pb", PurchaseOrderNoDO::getId, PurchaseOrderBoomDO::getPurchaseOrderId) .leftJoin(ProcessBomDetailDO.class,"bom", ProcessBomDetailDO::getId, PurchaseOrderNoDetailDO::getBoomDetailId) .leftJoin(MaterialPlanBoomDO.class,"plan", MaterialPlanBoomDO::getId, PurchaseOrderNoDetailDO::getProjectMaterialPlanBoomId) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storage/StorageMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storage/StorageMapper.java index 4554437..8a71661 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storage/StorageMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storage/StorageMapper.java @@ -1,5 +1,6 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.storage; +import java.math.BigDecimal; import java.util.*; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; @@ -17,6 +18,7 @@ import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; import com.chanko.yunxi.mes.module.heli.controller.admin.storage.vo.*; +import org.apache.ibatis.annotations.Param; import org.springframework.util.StringUtils; /** @@ -93,4 +95,6 @@ public interface StorageMapper extends BaseMapperX { .ne(StorageDO::getStatus,3); return selectList(query); } + + BigDecimal StandardPartsCost(@Param("id") Long id, @Param("projectSubId") Long projectSubId); } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagemat/StorageMatMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagemat/StorageMatMapper.java index 239c852..a951ded 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagemat/StorageMatMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagemat/StorageMatMapper.java @@ -111,6 +111,7 @@ public interface StorageMatMapper extends BaseMapperX { query.selectAll(StorageMatDO.class) .select("o.project_name as projectName ,l.name as matName ,l.material_type as matType,l.spec as matSpec,d.label as matUnit") .select("w.price as unitPrice,ROUND(COALESCE(t.storage_ok_qty * w.price, 0), 1) AS totalPrice") + .select("l.code as matCode") .leftJoin(MaterialDO.class,"l",MaterialDO::getId,StorageMatDO::getMatId) .leftJoin(DictDataDO.class,"d",DictDataDO::getValue, MaterialDO::getUnit) .leftJoin("wms_storage_inventory w on t.wh_id=w.wh_id and t.rg_id=w.rg_id and t.pn_id=w.pn_id and t.mat_id=w.material_id and w.tenant_id=2 and w.deleted=0") diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java index 20be1f7..1f09a3d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java @@ -1,6 +1,7 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; @@ -10,11 +11,13 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDis import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchDetailTotalVO; import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskPlanJDBaoBiaoPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.ygjx.vo.YgjxPageReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.equipmanufacture.EquipManufactureDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplan.MaterialPlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO; @@ -297,7 +300,7 @@ public interface TaskDispatchDetailMapper extends BaseMapperX selectPageWx(TaskDispatchDetailPageReqVO reqVO , Set postIds) { + default PageResult selectPageWx(TaskDispatchDetailPageReqVO reqVO , Map postIds) { // 假设reqVO中包含了页码(page)和每页数量(limit) MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(TaskDispatchDetailDO.class) @@ -313,39 +316,53 @@ public interface TaskDispatchDetailMapper extends BaseMapperXe.like(ProjectOrderDO::getProjectName, reqVO.getSubOrDetailName()).or().like( + ProjectOrderSubDO::getName, reqVO.getSubOrDetailName() + ).or().like(ProcessBomDetailDO::getMaterialName, reqVO.getSubOrDetailName())); + // query.eq(" (b.project_name like '%" + reqVO.getSubOrDetailName() + "%' or c.name like '%" + reqVO.getSubOrDetailName() + "%')"); } - if (reqVO.getProcedureStatusList().size()==1 && reqVO.getProcedureStatusList().get(0)==2){ - //完工降序 - query.orderByDesc(TaskDispatchDetailDO::getDispatchId,TaskDispatchDetailDO::getSort); - }else { - //未完工升序 + query.and(wrapper -> { + wrapper.ne(ProjectOrderDO::getStatus,6); - query.eq(TaskDispatchDO::getDispatchStatus,2) - .orderByAsc(TaskDispatchDetailDO::getDispatchId,TaskDispatchDetailDO::getSort) - ; - } - if (CollUtil.isNotEmpty(postIds)) { - query.and(i -> i - .and(j -> j.in(TaskDispatchDetailDO::getPostId, postIds)) - .and(j -> j.isNull(TaskDispatchDetailDO::getOwner)) - .or(k-> k.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner())) - ); - }else{ - query.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner()); - } + if (CollUtil.isNotEmpty(postIds)) { + wrapper.and(i -> { + // 为每个岗位创建对应的工序查询条件 + for (String postId : postIds.keySet()) { + Long processId = postIds.get(postId); + if (ObjectUtil.isNotEmpty(processId)) { + i.or(j -> j.eq(TaskDispatchDetailDO::getPostId, postId) + .eq(TaskDispatchDetailDO::getProcedureId, processId) + .isNull(TaskDispatchDetailDO::getOwner)); + } else { + i.or(j -> j.eq(TaskDispatchDetailDO::getPostId, postId) + .isNull(TaskDispatchDetailDO::getOwner)); + } + } + }); + // 添加所有者查询条件 + wrapper.or(k -> k.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner())); + } else { + wrapper.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner()); + } - query - .in(CollUtil.isNotEmpty(reqVO.getProcedureStatusList()), TaskDispatchDetailDO::getProcedureStatus, reqVO.getProcedureStatusList()) + }); + query.in(CollUtil.isNotEmpty(reqVO.getProcedureStatusList()), TaskDispatchDetailDO::getProcedureStatus, reqVO.getProcedureStatusList()) .eq(reqVO.getIsReport() != null, ProcedureDO::getIsReport, reqVO.getIsReport()) .eq(!StringUtils.isEmpty(reqVO.getDispatchType()), TaskDispatchDO::getDispatchType, reqVO.getDispatchType()) .eq(reqVO.getTaskId() != null, TaskDispatchDO::getTaskId, reqVO.getTaskId()) - .eq(reqVO.getBomDetailId() != null, TaskDispatchDO::getBomDetailId, reqVO.getBomDetailId()) - ; + .eq(reqVO.getBomDetailId() != null, TaskDispatchDO::getBomDetailId, reqVO.getBomDetailId()); return selectPage(reqVO, query); } @@ -354,8 +371,18 @@ public interface TaskDispatchDetailMapper extends BaseMapperX getByBoomId(Long id){ + MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); + wrapper.selectAll(TaskDispatchDetailDO.class) + .select("b.name as procedureName") + .leftJoin(TaskDispatchDO.class, "a", TaskDispatchDO::getId, TaskDispatchDetailDO::getDispatchId) + .leftJoin(ProcedureDO.class, "b", ProcedureDO::getId, TaskDispatchDetailDO::getProcedureId) + .groupBy(TaskDispatchDetailDO::getId); + wrapper.eq(TaskDispatchDO::getBomDetailId, id); + return selectList(wrapper); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java index 71aeb67..934012a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java @@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchPageReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskPlanJDBaoBiaoPageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskreport/TaskReportMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskreport/TaskReportMapper.java index bb9b0e9..cc53348 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskreport/TaskReportMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskreport/TaskReportMapper.java @@ -58,11 +58,11 @@ public interface TaskReportMapper extends BaseMapperX { .like(!StringUtils.isEmpty(reqVO.getMaterialName()), ProcessBomDetailDO::getMaterialName, reqVO.getMaterialName()) .like(!StringUtils.isEmpty(reqVO.getOwnerName()), AdminUserDO::getNickname, reqVO.getOwnerName()) .eq(!StringUtils.isEmpty(reqVO.getDispatchDetailId()),TaskReportDO::getDispatchDetailId,reqVO.getDispatchDetailId()); - if (reqVO.getStartTime() != null) { - query.between( TaskReportDO::getStartTime, reqVO.getStartTime()[0], reqVO.getStartTime()[1]); - } - if (reqVO.getStartTime() != null) { - query.between(TaskReportDO::getEndTime, reqVO.getEndTime()[0], reqVO.getEndTime()[1]); +// if (reqVO.getStartTime() != null) { +// query.between( TaskReportDO::getStartTime, reqVO.getStartTime()[0], reqVO.getStartTime()[1]); +// } + if (reqVO.getEndTime() != null) { + query.between(TaskReportDO::getReportTime, reqVO.getEndTime()[0], reqVO.getEndTime()[1]); } return selectPage(reqVO, query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/unqualifiednotification/UnqualifiedNotificationMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/unqualifiednotification/UnqualifiedNotificationMapper.java index 7a0cd5a..7b03420 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/unqualifiednotification/UnqualifiedNotificationMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/unqualifiednotification/UnqualifiedNotificationMapper.java @@ -1,7 +1,9 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.unqualifiednotification; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.controller.admin.unqualifiednotification.vo.QualityStatistics; import com.chanko.yunxi.mes.module.heli.controller.admin.unqualifiednotification.vo.UnqualifiedNotificationPageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO; @@ -15,8 +17,12 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.unqualifiednotification.U import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import org.springframework.util.StringUtils; +import java.util.List; +import java.util.Map; + /** * 品质异常通知单审核 Mapper * @@ -68,6 +74,15 @@ public interface UnqualifiedNotificationMapper extends BaseMapperX selectPageWx( @Param("queryType") Integer queryType, + @Param("offset") Integer offset, + @Param("limit") Integer limit); + default UnqualifiedNotificationDO selectById(Long id) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(UnqualifiedNotificationDO.class) @@ -119,4 +134,16 @@ public interface UnqualifiedNotificationMapper extends BaseMapperX QualityStatistics(@Param("page") Page page, @Param("pageReqVO") UnqualifiedNotificationPageReqVO pageReqVO); + + Long selectCountConfirmPageWx( @Param("queryType") Integer queryType, + @Param("offset") Integer offset, + @Param("limit") Integer limit, + @Param("userId") Integer userId); + + List selectConfirmPageWx( @Param("queryType") Integer queryType, + @Param("offset") Integer offset, + @Param("limit") Integer limit, + @Param("userId") Integer userId); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/unqualifiednotificationfile/UnqualifiedNotificationFileMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/unqualifiednotificationfile/UnqualifiedNotificationFileMapper.java index 1f686e8..e38aeef 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/unqualifiednotificationfile/UnqualifiedNotificationFileMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/unqualifiednotificationfile/UnqualifiedNotificationFileMapper.java @@ -18,9 +18,10 @@ import java.util.List; @Mapper public interface UnqualifiedNotificationFileMapper extends BaseMapperX { - default List queryUnqualifiedNotificationFileBySuperId(Long unqualifiedId){ + default List queryUnqualifiedNotificationFileBySuperId(Long unqualifiedId,Integer type){ MPJLambdaWrapper query = new MPJLambdaWrapper<>(); - query.eq(UnqualifiedNotificationFileDO::getUnqualifiedId,unqualifiedId); + query.eq(UnqualifiedNotificationFileDO::getUnqualifiedId,unqualifiedId) + .eq(UnqualifiedNotificationFileDO::getType,type); return selectList(query); } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/zjbgmasterline/ZjBgMasterLineMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/zjbgmasterline/ZjBgMasterLineMapper.java index 8d3933c..3b19f1e 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/zjbgmasterline/ZjBgMasterLineMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/zjbgmasterline/ZjBgMasterLineMapper.java @@ -42,7 +42,7 @@ public interface ZjBgMasterLineMapper extends BaseMapperX { .orderByDesc(ZjBgMasterLineDO::getId));*/ } - default ZjBgMasterLineDO selectSum(Integer zjMxId) { + default ZjBgMasterLineDO selectSum(Long zjMxId) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.select("SUM(t.amount) as amount ,SUM(t.work_time) as workTime"); @@ -54,15 +54,25 @@ public interface ZjBgMasterLineMapper extends BaseMapperX { return selectOne(query); } - default ZjBgMasterLineDO selectEnd(Integer zjMxId) { + default ZjBgMasterLineDO selectEnd(Long zjMxId) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); - query.eq( BgMasterLineDO::getZjMxId, zjMxId) - .isNull(BgMasterLineDO::getAmount) + query.eq( ZjBgMasterLineDO::getZjMxId, zjMxId) + .isNull(ZjBgMasterLineDO::getAmount) ; return selectOne(query); } + default ZjBgMasterLineDO selectLast(Long zjMxId) { + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); -} \ No newline at end of file + + query.eq( BgMasterLineDO::getZjMxId, zjMxId) + .orderByDesc(ZjBgMasterLineDO::getId) + .last("limit 1"); + ; + + return selectOne(query); + } +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/zjpgmaster/ZjPgMasterLineMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/zjpgmaster/ZjPgMasterLineMapper.java index 3d090f5..9162da2 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/zjpgmaster/ZjPgMasterLineMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/zjpgmaster/ZjPgMasterLineMapper.java @@ -118,7 +118,12 @@ public interface ZjPgMasterLineMapper extends BaseMapperX { .eq(reqVO.getDispatchStatus()!=null,ZjPgMasterLineDO::getDispatchStatus, reqVO.getDispatchStatus()) ; - + if (reqVO.getSubOrDetailName() != null && !reqVO.getSubOrDetailName().trim().equals("")){ + query.and( e ->e.like(ZjPgMasterLineDO::getProjectName, reqVO.getSubOrDetailName()).or().like( + ZjPgMasterLineDO::getProjectSubName, reqVO.getSubOrDetailName() + )); + // query.eq(" (b.project_name like '%" + reqVO.getSubOrDetailName() + "%' or c.name like '%" + reqVO.getSubOrDetailName() + "%')"); + } return selectPage(reqVO, query); } default int deleteByZlPgId(Integer zlPgId) { diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/manager/CrossOrderManager.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/manager/CrossOrderManager.java index fc399fb..97dc150 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/manager/CrossOrderManager.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/manager/CrossOrderManager.java @@ -584,7 +584,7 @@ public class CrossOrderManager { .setBomDetailId(planTaskBomDO.getBomDetailId()) .setBomBlueprintNo(planTaskBomDO.getBomBlueprintNo() == null ?"":planTaskBomDO.getBomBlueprintNo()) .setActive(OperateTypeEnum.SAVE.name()) - .setDispatchStatus(TaskDispatchStatusEnum.SAVE.getCode()) + .setDispatchStatus(TaskDispatchStatusEnum.Unedited.getCode()) .setStatus(ValidStatusEnum.VALID.getCode()); taskDispatchService.createTaskDispatch(taskDispatchSaveReqVO); } @@ -617,7 +617,7 @@ public class CrossOrderManager { .setBomBlueprintNo(planTaskBomDO.getBomBlueprintNo() == null ?"":planTaskBomDO.getBomBlueprintNo()) .setBomDetailId(planTaskBomDO.getBomDetailId()) .setActive(OperateTypeEnum.SAVE.name()) - .setDispatchStatus(TaskDispatchStatusEnum.SAVE.getCode()) + .setDispatchStatus(TaskDispatchStatusEnum.Unedited.getCode()) .setStatus(ValidStatusEnum.VALID.getCode()); taskDispatchService.createTaskDispatch(taskDispatchSaveReqVO); }); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/bdgzsomthing/bdgzsomthingServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/bdgzsomthing/bdgzsomthingServiceImpl.java index d327e26..9ac1452 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/bdgzsomthing/bdgzsomthingServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/bdgzsomthing/bdgzsomthingServiceImpl.java @@ -865,7 +865,7 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService { BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称 BdgzsomthingDO.setAttr4("0");//是否点击 BdgzsomthingDO.setThings("计划单号:"+materialPlanBoomDO.getProjectMaterialPlanNo()+" 加工件:"+materialPlanBoomDO.getName()+",临近到货日期");//事件名称 - BdgzsomthingDO.setAttr2(null);//因为不用跳转所以为null + BdgzsomthingDO.setAttr2(String.valueOf(materialPlanBoomDO.getId()));//因为不用跳转所以为null BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期 BdgzsomthingDO.setTenantId(attentiontodoRespVO.getTxrid()); // BdgzsomthingDO.setShowname(LocalDateTime.now());//比较创建时间,不用单独填写 diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/bgmasterline/BgMasterLineService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/bgmasterline/BgMasterLineService.java index 84c2440..19d6fd0 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/bgmasterline/BgMasterLineService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/bgmasterline/BgMasterLineService.java @@ -51,7 +51,7 @@ public interface BgMasterLineService { * @return 过程检报工 */ BgMasterLineDO getBgMasterLine(Integer id); - + public boolean validExceed(Long zjmxId,Integer amount); /** * 获得过程检报工分页 * diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/bgmasterline/BgMasterLineServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/bgmasterline/BgMasterLineServiceImpl.java index 92de164..ba81fe3 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/bgmasterline/BgMasterLineServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/bgmasterline/BgMasterLineServiceImpl.java @@ -1,14 +1,18 @@ package com.chanko.yunxi.mes.module.heli.service.bgmasterline; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.unqualifiednotification.UnqualifiedNotificationDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.unqualifiednotificationfile.UnqualifiedNotificationFileDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.pgmaster.PgMasterLineMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.pgmaster.PgMasterMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetailMapper; +import com.chanko.yunxi.mes.module.heli.service.unqualifiednotificationfile.UnqualifiedNotificationFileService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -43,39 +47,65 @@ public class BgMasterLineServiceImpl implements BgMasterLineService { private PgMasterLineMapper pgMasterLineMapper; @Resource private TaskDispatchDetailMapper taskDispatchDetailMapper; + @Resource + private UnqualifiedNotificationFileService unqualifiedNotificationFileService; - - //结束本次报工 @Override - public Integer updateBgMasterLines(BgMasterLineSaveReqVO createReqVO){ - if(createReqVO.getAmount() == null || createReqVO.getWorkTime() == null){ - throw exception(TASK_REPORT_PARAMS_ERROR); - } - + public boolean validExceed(Long zjmxId,Integer amount){ //先取出总的派工数量和预计工时 - PgMasterLineDO pgMasterLineDO = pgMasterLineMapper.selectById(createReqVO.getZjMxId()); + PgMasterLineDO pgMasterLineDO = pgMasterLineMapper.selectById(zjmxId); //然后再取出这条ID明细ID下的所有工时和报工数量相加 - BgMasterLineDO bgMasterLineDO = bgMasterLineMapper.selectSum(createReqVO.getZjMxId()); + BgMasterLineDO bgMasterLineDO = bgMasterLineMapper.selectSum(zjmxId); //然后加上用户传入的当前的工时和查出的工时进行相加,进行判断 int value1 = 0; if(bgMasterLineDO!=null){ //然后加上用户传入的当前的工时和查出的工时进行相加,进行判断 - value1 = bgMasterLineDO.getAmount()+createReqVO.getAmount(); + value1 = bgMasterLineDO.getAmount()+amount; }else{ - value1 = createReqVO.getAmount(); + value1 = amount; } - //先判断报工数量是否大于派工数量 - if(value1>pgMasterLineDO.getAmount()){ - //这个地方返回错误:报工数量不允许超过派工数量请检查 - throw exception(TASK_REPORT_PARAMS_ERRORS); - }else{ + return value1>pgMasterLineDO.getAmount(); + } + + //结束本次报工 + @Override + public Integer updateBgMasterLines(BgMasterLineSaveReqVO createReqVO){ + //非结束时判断 + if (createReqVO.getType() != null && createReqVO.getType() != 0){ + if(createReqVO.getAmount() == null || createReqVO.getWorkTime() == null){ + throw exception(TASK_REPORT_PARAMS_ERROR); + } + } + + +// +// //先取出总的派工数量和预计工时 + PgMasterLineDO pgMasterLineDO = pgMasterLineMapper.selectById(createReqVO.getZjMxId()); +// //然后再取出这条ID明细ID下的所有工时和报工数量相加 +// BgMasterLineDO bgMasterLineDO = bgMasterLineMapper.selectSum(createReqVO.getZjMxId()); +// //然后加上用户传入的当前的工时和查出的工时进行相加,进行判断 +// int value1 = 0; +// if(bgMasterLineDO!=null){ +// //然后加上用户传入的当前的工时和查出的工时进行相加,进行判断 +// value1 = bgMasterLineDO.getAmount()+createReqVO.getAmount(); +// }else{ +// value1 = createReqVO.getAmount(); +// } +// //先判断报工数量是否大于派工数量 +// if(value1>pgMasterLineDO.getAmount()){ +// //这个地方返回错误:报工数量不允许超过派工数量请检查 + // throw exception(TASK_REPORT_PARAMS_ERRORS); +// }else{ //取出本派工单在报工明细中,有没有报 BgMasterLineDO bgMasterLineDOs = bgMasterLineMapper.selectEnd(createReqVO.getZjMxId()); + if (createReqVO.getType() != null && createReqVO.getType() == 0){ + bgMasterLineDOs = bgMasterLineMapper.selectLast(createReqVO.getZjMxId()); + } //判断报工user是否相等 if(bgMasterLineDOs.getBgUser().equals(createReqVO.getBgUser())){ //相同时判断报工数量和派工数量是否相等,相等设置为设置报工状态为1 已完成 LocalDateTime currentDateTime = LocalDateTime.now(); - if(value1 == pgMasterLineDO.getAmount()){ + if(createReqVO.getType() != null && createReqVO.getType() == 0){ //这个地方跟定是否完成状态 pgMasterLineDO.setPgType(1); pgMasterLineDO.setDetilUser(Long.parseLong(createReqVO.getBgUser())); @@ -86,44 +116,36 @@ public class BgMasterLineServiceImpl implements BgMasterLineService { LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); wrapper.eq(TaskDispatchDetailDO::getId,pgMasterLineDO.getDispatchDetailId()); wrapper.set(TaskDispatchDetailDO::getTestYn,"Y"); - taskDispatchDetailMapper.update(wrapper); -// TaskDispatchDetailDO taskDispatchDetailDO = taskDispatchDetailMapper.selectById(pgMasterLineDO.getDispatchDetailId()); -// if (ObjectUtil.isNotEmpty(taskDispatchDetailDO)){ -// LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); -// wrapper1.eq(TaskDispatchDetailDO::getDispatchId, taskDispatchDetailDO.getDispatchId()); -// wrapper1.gt(TaskDispatchDetailDO::getSort, taskDispatchDetailDO.getSort()); -// wrapper1.eq(TaskDispatchDetailDO::getReportStatus, 0); -// wrapper1.eq(TaskDispatchDetailDO::getDeleted, 0); -// wrapper1.orderByAsc(TaskDispatchDetailDO::getSort); -// wrapper1.last("limit 1"); -// TaskDispatchDetailDO nextTaskDispatchDetailDO = taskDispatchDetailMapper.selectOne(wrapper1); -// if (ObjectUtil.isNotEmpty(nextTaskDispatchDetailDO)){ -// nextTaskDispatchDetailDO.setReportStatus(1); -// taskDispatchDetailMapper.updateById(nextTaskDispatchDetailDO); -// } -// } + return taskDispatchDetailMapper.update(wrapper); }else{ //不相等时只更新当前报工状态 pgMasterLineDO.setActive("END"); pgMasterLineDO.setEntTime(currentDateTime); pgMasterLineMapper.updateById(pgMasterLineDO); - } - //更新报工信息 - //结束时间 - bgMasterLineDOs.setEntTime(currentDateTime); - //报工工时 - bgMasterLineDOs.setWorkTime(createReqVO.getWorkTime()); - //报工数量 - bgMasterLineDOs.setAmount(createReqVO.getAmount()); + //更新报工信息 + //结束时间 + bgMasterLineDOs.setEntTime(currentDateTime); + //报工工时 + bgMasterLineDOs.setWorkTime(createReqVO.getWorkTime()); + bgMasterLineDOs.setIsQua(createReqVO.getIsQua()==null ?null :createReqVO.getIsQua()); + bgMasterLineDOs.setIsRepre(createReqVO.getIsRepre()==null ?null :createReqVO.getIsRepre()); + bgMasterLineDOs.setRemark(createReqVO.getRemark()!=null && !createReqVO.getRemark().trim().equals("")?createReqVO.getRemark() :null); + if (createReqVO.getIsQua() != null && createReqVO.getIsQua() == 1){ + bgMasterLineDOs.setNotificationStatus(2); + } + + //报工数量 + bgMasterLineDOs.setAmount(createReqVO.getAmount()); + return bgMasterLineMapper.updateById(bgMasterLineDOs); + } - return bgMasterLineMapper.updateById(bgMasterLineDOs); }else{ //当创建人和报工人不一样时返回报错,不允许用户报工 throw exception(TASK_REPORT_PARAMS_ERRORBG); } // - } +// } } @Override @@ -179,7 +201,21 @@ public class BgMasterLineServiceImpl implements BgMasterLineService { @Override public PageResult getBgMasterLinePage(BgMasterLinePageReqVO pageReqVO) { - return bgMasterLineMapper.selectPage(pageReqVO); + PageResult pageResult = bgMasterLineMapper.selectPage(pageReqVO); + List list = pageResult.getList(); + if(CollUtil.isNotEmpty(list)){ + for (BgMasterLineDO bgMasterLineDO : list) { + List fileUrlList = new ArrayList<>(); + List unqualifiedNotificationFileDOS = unqualifiedNotificationFileService.queryUnqualifiedNotificationFileBySuperId(bgMasterLineDO.getId(),1); + if(CollUtil.isNotEmpty(unqualifiedNotificationFileDOS)){ + for (UnqualifiedNotificationFileDO unqualifiedNotificationFileDO : unqualifiedNotificationFileDOS) { + fileUrlList.add(unqualifiedNotificationFileDO.getFileUrl()); + } + bgMasterLineDO.setFileUrlList(fileUrlList); + } + } + } + return pageResult; } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderServiceImpl.java index 9726411..51cdf63 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderServiceImpl.java @@ -14,6 +14,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageinventory.StorageInventoryDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder.DeliverOrderMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder.DeliverOrderSubMapper; @@ -343,11 +344,17 @@ public class DeliverOrderServiceImpl implements DeliverOrderService { wrapper.eq(DeliverOrderDO::getDeliverStatus,2); wrapper.orderByDesc(DeliverOrderDO::getDeliverDate); List deliverOrderDOS = deliverOrderMapper.selectList(wrapper); - if (deliverOrderDOS!=null&&deliverOrderDOS.size()>0){ + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(ProjectOrderSubDO::getProjectOrderId,id); + List projectOrderSubDOS = projectOrderSubMapper.selectList(queryWrapper1); + if (deliverOrderDOS!=null&&deliverOrderDOS.size()>0&&projectOrderSubDOS!=null&&projectOrderSubDOS.size()>0){ + List ids = projectOrderSubDOS.stream() + .map(ProjectOrderSubDO::getId) + .collect(Collectors.toList()); for (DeliverOrderDO deliverOrderDO : deliverOrderDOS) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(DeliverOrderSubDO::getDeliveryOrderId,deliverOrderDO.getId()); - queryWrapper.eq(DeliverOrderSubDO::getSaleOrderSubId,projectSubId); + queryWrapper.in(DeliverOrderSubDO::getSaleOrderSubId,ids); List deliverOrderSubDOS = deliverOrderSubMapper.selectList(queryWrapper); BigDecimal totalAmount = deliverOrderSubDOS.stream() .map(deliverOrderSubDO -> deliverOrderSubDO.getYunFei() != null ? deliverOrderSubDO.getYunFei() : BigDecimal.ZERO) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/fpuserdetail/FpUserDetailServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/fpuserdetail/FpUserDetailServiceImpl.java index 6859fc8..029cc17 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/fpuserdetail/FpUserDetailServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/fpuserdetail/FpUserDetailServiceImpl.java @@ -1,5 +1,6 @@ package com.chanko.yunxi.mes.module.heli.service.fpuserdetail; +import cn.hutool.core.util.ObjectUtil; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import com.chanko.yunxi.mes.module.heli.controller.admin.fpuserdetail.vo.FpUserDetailPageReqVO; @@ -8,8 +9,10 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.fpuserdetail.vo.FpUserD import com.chanko.yunxi.mes.module.heli.controller.admin.fpuserdetail.vo.UserVo; import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuser.FpUserDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuserdetail.FpUserDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.fpuser.FpUserMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.fpuserdetail.FpUserDetailMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.procedure.ProcedureMapper; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -32,6 +35,8 @@ public class FpUserDetailServiceImpl implements FpUserDetailService { private FpUserDetailMapper fpUserDetailMapper; @Resource private FpUserMapper fpUserMapper; + @Resource + private ProcedureMapper procedureMapper; @Override public Long createFpUserDetail(FpUserDetailSaveReqVO createReqVO) { if (createReqVO.getType()!=null){ @@ -55,6 +60,11 @@ public class FpUserDetailServiceImpl implements FpUserDetailService { fpUserDetailDO.setBusyId(user.getBusyId()); fpUserDetailDO.setPostId(user.getPostId()); fpUserDetailDO.setIsRes(user.getIsRes()); + fpUserDetailDO.setProcedureId(user.getProcedureId()); + ProcedureDO procedureDO = procedureMapper.selectById(user.getProcedureId()); + if (ObjectUtil.isNotEmpty(procedureDO)){ + fpUserDetailDO.setCode(procedureDO.getCode()); + } fpUserDetailMapper.insert(fpUserDetailDO); } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/invoice/InvoiceService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/invoice/InvoiceService.java index 6bdceb8..1df2479 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/invoice/InvoiceService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/invoice/InvoiceService.java @@ -1,6 +1,8 @@ package com.chanko.yunxi.mes.module.heli.service.invoice; import javax.validation.*; + +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.module.heli.controller.admin.invoice.vo.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.invoice.InvoiceDO; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; @@ -53,9 +55,11 @@ public interface InvoiceService { */ PageResult getInvoicePage(InvoicePageReqVO pageReqVO); - Long operate(InvoiceSaveReqVO operateReqVO); + CommonResult operate(InvoiceSaveReqVO operateReqVO); List getOrderYsInvoice(String code); List getOrderYfInvoice(String code); + + PageResult getInvoicePages(InvoicePageReqVO pageReqVO); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/invoice/InvoiceServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/invoice/InvoiceServiceImpl.java index 3ba70be..cf9c35c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/invoice/InvoiceServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/invoice/InvoiceServiceImpl.java @@ -1,8 +1,12 @@ package com.chanko.yunxi.mes.module.heli.service.invoice; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum; import com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderysdetail.OrderYsDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.mysql.orderysdetail.OrderYsDetailMapper; import com.chanko.yunxi.mes.module.heli.enums.InvoiceStatusEnum; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -16,8 +20,11 @@ import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import com.chanko.yunxi.mes.module.heli.dal.mysql.invoice.InvoiceMapper; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.LocalDateTime; import java.util.List; +import java.util.Objects; import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; @@ -33,6 +40,9 @@ public class InvoiceServiceImpl implements InvoiceService { @Resource private InvoiceMapper invoiceMapper; + @Resource + private OrderYsDetailMapper orderYsDetailMapper; + @Override public Long createInvoice(InvoiceSaveReqVO createReqVO) { @@ -88,7 +98,7 @@ public class InvoiceServiceImpl implements InvoiceService { @Override @Transactional(rollbackFor = Exception.class) - public Long operate(InvoiceSaveReqVO operateReqVO) { + public CommonResult operate(InvoiceSaveReqVO operateReqVO) { OperateTypeEnum operateTypeEnum = OperateTypeEnum.valueOf(operateReqVO.getActive()); if(operateTypeEnum == OperateTypeEnum.SUBMIT){ operateReqVO.setSubmitter(SecurityFrameworkUtils.getLoginUser().getId()) @@ -97,12 +107,47 @@ public class InvoiceServiceImpl implements InvoiceService { operateReqVO.setCanceller(SecurityFrameworkUtils.getLoginUser().getId()) .setCancelTime(LocalDateTime.now()); } + System.out.println("FINANCE_MAKE_INVOICE".equals(operateReqVO.getBusinessType())); + if ("FINANCE_MAKE_INVOICE".equals(operateReqVO.getBusinessType())){ + if (ObjectUtil.isNotEmpty(operateReqVO.getCgOrderIdId())) { + OrderYsDetailDO orderYsDetailDO = orderYsDetailMapper.selectById(operateReqVO.getCgOrderIdId()); + if (ObjectUtil.isNotEmpty(orderYsDetailDO)){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(InvoiceDO::getCgOrderIdId, operateReqVO.getCgOrderIdId()); + if (ObjectUtil.isNotEmpty(operateReqVO.getId())) { + wrapper.ne(InvoiceDO::getId, operateReqVO.getId()); + List invoiceDOS = invoiceMapper.selectList(wrapper); + BigDecimal sum = invoiceDOS.stream() + .filter(Objects::nonNull) // 过滤掉空对象 + .map(InvoiceDO::getAmount) + .filter(Objects::nonNull) // 过滤掉空值 + .reduce(BigDecimal.ZERO, BigDecimal::add); // 累加求和 + if (sum.add(operateReqVO.getAmount()).compareTo(orderYsDetailDO.getCgYishou())>0){ + return CommonResult.error(400,"已开发票"+sum.setScale(2, RoundingMode.HALF_UP)+"+本次开票"+operateReqVO.getAmount().setScale(2, RoundingMode.HALF_UP)+">回款金额"+orderYsDetailDO.getCgYishou().setScale(2, RoundingMode.HALF_UP)+"请确认!"); + } + } else { + List invoiceDOS = invoiceMapper.selectList(wrapper); + BigDecimal sum=BigDecimal.ZERO; + if (ObjectUtil.isNotEmpty(invoiceDOS)){ + sum = invoiceDOS.stream() + .filter(Objects::nonNull) // 过滤掉空对象 + .map(InvoiceDO::getAmount) + .filter(Objects::nonNull) // 过滤掉空值 + .reduce(BigDecimal.ZERO, BigDecimal::add); // 累加求和 + } + if (sum.add(operateReqVO.getAmount()).compareTo(orderYsDetailDO.getCgYishou())>0){ + return CommonResult.error(400,"已开发票"+sum+"+本次开票"+operateReqVO.getAmount()+">回款金额"+orderYsDetailDO.getCgYishou().setScale(2, RoundingMode.HALF_UP)+"请确认!"); + } + } + } + } + } if(operateReqVO.getId() == null){ operateReqVO.setId(createInvoice(operateReqVO)); }else{ updateInvoice(operateReqVO); } - return operateReqVO.getId(); + return CommonResult.success(operateReqVO.getId()); } @Override @@ -121,4 +166,9 @@ public class InvoiceServiceImpl implements InvoiceService { return invoiceMapper.selectList(wrapper); } + @Override + public PageResult getInvoicePages(InvoicePageReqVO pageReqVO) { + return invoiceMapper.selectPages(pageReqVO); + } + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/master/MasterService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/master/MasterService.java index 981381e..1be7d5c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/master/MasterService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/master/MasterService.java @@ -6,6 +6,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.master.vo.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.master.MasterDO; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.masterline.MasterLineDO; /** * 借用主 Service 接口 @@ -52,4 +53,5 @@ public interface MasterService { */ PageResult getMasterPage(MasterPageReqVO pageReqVO); + PageResult getMasterLinePage(MasterPageReqVO pageReqVO); } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/master/MasterServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/master/MasterServiceImpl.java index 0efab02..e028366 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/master/MasterServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/master/MasterServiceImpl.java @@ -1,11 +1,17 @@ package com.chanko.yunxi.mes.module.heli.service.master; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.masterline.MasterLineDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderysdetail.OrderYsDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.mysql.masterline.MasterLineMapper; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; + import com.chanko.yunxi.mes.module.heli.controller.admin.master.vo.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.master.MasterDO; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; @@ -28,12 +34,16 @@ public class MasterServiceImpl implements MasterService { @Resource private MasterMapper masterMapper; + @Resource + private MasterLineMapper masterLineMapper; @Override public Integer createMaster(MasterSaveReqVO createReqVO) { // 插入 MasterDO master = BeanUtils.toBean(createReqVO, MasterDO.class); masterMapper.insert(master); + createReqVO.getJyDetails().forEach(detail -> detail.setJyId(master.getId())); + masterLineMapper.insertBatch(createReqVO.getJyDetails()); // 返回 return master.getId(); } @@ -45,14 +55,24 @@ public class MasterServiceImpl implements MasterService { // 更新 MasterDO updateObj = BeanUtils.toBean(updateReqVO, MasterDO.class); masterMapper.updateById(updateObj); + updateReqVO.getJyDetails().forEach(detail -> detail.setJyId(updateObj.getId())); + createOrUpdateJyDetails(updateReqVO.getJyDetails()); } + private void createOrUpdateJyDetails(List JyDetails) { + // 分组更新与插入 + List updateList = JyDetails.stream().filter(o -> o.getId() != null).collect(Collectors.toList()); + List insertList = JyDetails.stream().filter(o -> o.getId() == null).collect(Collectors.toList()); + if(!updateList.isEmpty()) masterLineMapper.updateBatch(updateList); + if(!insertList.isEmpty()) masterLineMapper.insertBatch(insertList); + } @Override public void deleteMaster(Integer id) { // 校验存在 validateMasterExists(id); // 删除 masterMapper.deleteById(id); + masterLineMapper.delete(new UpdateWrapper().lambda().eq(MasterLineDO::getJyId, id)); } private void validateMasterExists(Integer id) { @@ -71,4 +91,9 @@ public class MasterServiceImpl implements MasterService { return masterMapper.selectPage(pageReqVO); } + @Override + public PageResult getMasterLinePage(MasterPageReqVO pageReqVO) { + return masterLineMapper.getMasterLinePage(pageReqVO); + } + } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/masterline/MasterLineService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/masterline/MasterLineService.java new file mode 100644 index 0000000..b0de813 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/masterline/MasterLineService.java @@ -0,0 +1,56 @@ +package com.chanko.yunxi.mes.module.heli.service.masterline; + +import java.util.*; +import javax.validation.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.masterline.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.masterline.MasterLineDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; + +/** + * 借用行 Service 接口 + * + * @author 管理员 + */ +public interface MasterLineService { + + /** + * 创建借用行 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createMasterLine(@Valid MasterLineSaveReqVO createReqVO); + + /** + * 更新借用行 + * + * @param updateReqVO 更新信息 + */ + void updateMasterLine(@Valid MasterLineSaveReqVO updateReqVO); + + /** + * 删除借用行 + * + * @param id 编号 + */ + void deleteMasterLine(Integer id); + + /** + * 获得借用行 + * + * @param id 编号 + * @return 借用行 + */ + MasterLineDO getMasterLine(Integer id); + + /** + * 获得借用行分页 + * + * @param pageReqVO 分页查询 + * @return 借用行分页 + */ + PageResult getMasterLinePage(MasterLinePageReqVO pageReqVO); + + List getByMasterId(Integer id); +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/masterline/MasterLineServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/masterline/MasterLineServiceImpl.java new file mode 100644 index 0000000..3ccf257 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/masterline/MasterLineServiceImpl.java @@ -0,0 +1,80 @@ +package com.chanko.yunxi.mes.module.heli.service.masterline; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.masterline.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.masterline.MasterLineDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; + +import com.chanko.yunxi.mes.module.heli.dal.mysql.masterline.MasterLineMapper; + +import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; + +/** + * 借用行 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class MasterLineServiceImpl implements MasterLineService { + + @Resource + private MasterLineMapper masterLineMapper; + + @Override + public Integer createMasterLine(MasterLineSaveReqVO createReqVO) { + // 插入 + MasterLineDO masterLine = BeanUtils.toBean(createReqVO, MasterLineDO.class); + masterLineMapper.insert(masterLine); + // 返回 + return masterLine.getId(); + } + + @Override + public void updateMasterLine(MasterLineSaveReqVO updateReqVO) { + // 校验存在 + validateMasterLineExists(updateReqVO.getId()); + // 更新 + MasterLineDO updateObj = BeanUtils.toBean(updateReqVO, MasterLineDO.class); + masterLineMapper.updateById(updateObj); + } + + @Override + public void deleteMasterLine(Integer id) { + // 校验存在 + validateMasterLineExists(id); + // 删除 + masterLineMapper.deleteById(id); + } + + private void validateMasterLineExists(Integer id) { + if (masterLineMapper.selectById(id) == null) { + throw exception(MASTER_LINE_NOT_EXISTS); + } + } + + @Override + public MasterLineDO getMasterLine(Integer id) { + return masterLineMapper.selectById(id); + } + + @Override + public PageResult getMasterLinePage(MasterLinePageReqVO pageReqVO) { + return masterLineMapper.selectPage(pageReqVO); + } + + @Override + public List getByMasterId(Integer id) { + return masterLineMapper.selectList(new LambdaQueryWrapper().eq(MasterLineDO::getJyId,id)); + } + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialService.java index f1360e3..5879eab 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialService.java @@ -70,4 +70,6 @@ public interface MaterialService { PageResult getStorageNowPageAll(StorageLogPageReqVO pageReqVO); PageResult getSupplementPage(StorageInventoryPageReqVO pageReqVO); + + PageResult getStorageNowMaterialNoPage(StorageLogPageReqVO pageReqVO); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialServiceImpl.java index 000709c..281f80b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialServiceImpl.java @@ -97,24 +97,24 @@ public class MaterialServiceImpl implements MaterialService { // 插入 MaterialDO material = BeanUtils.toBean(createReqVO, MaterialDO.class); - MaterialTypeEnum materialType = MaterialTypeEnum.getMaterialType(material.getMaterialType()); - SerialNumberDO serialNumberDO = serialNumberService.getSerialNumber(MATERIAL.name(), materialType.getPrefix()); - Long serialNumber = serialNumberDO.getSerialNumber(); - // 个位数不满5直接到5 满5到10 - String serialNumberStr = String.valueOf(serialNumber); - int serialLength = serialNumberStr.length(); - String prefix = serialNumberStr.substring(0, serialLength - 1); - String suffix = serialNumberStr.substring(serialLength-1); - long digit = Long.parseLong(suffix); - digit = digit < 5 ? 5 : 10; - serialNumber = Long.parseLong(prefix+"0") + digit; - serialNumberDO.setSerialNumber(serialNumber); - - material.setCode(CodeEnum.MATERIAL.getCode(materialType.getPrefix(), serialNumber.toString())); +// MaterialTypeEnum materialType = MaterialTypeEnum.getMaterialType(material.getMaterialType()); +// SerialNumberDO serialNumberDO = serialNumberService.getSerialNumber(MATERIAL.name(), materialType.getPrefix()); +// Long serialNumber = serialNumberDO.getSerialNumber(); +// // 个位数不满5直接到5 满5到10 +// String serialNumberStr = String.valueOf(serialNumber); +// int serialLength = serialNumberStr.length(); +// String prefix = serialNumberStr.substring(0, serialLength - 1); +// String suffix = serialNumberStr.substring(serialLength-1); +// long digit = Long.parseLong(suffix); +// digit = digit < 5 ? 5 : 10; +// serialNumber = Long.parseLong(prefix+"0") + digit; +// serialNumberDO.setSerialNumber(serialNumber); +// +// material.setCode(CodeEnum.MATERIAL.getCode(materialType.getPrefix(), serialNumber.toString())); materialMapper.insert(material); // 回写序列记录 - serialNumberService.updateSerialNumber(serialNumberDO); +// serialNumberService.updateSerialNumber(serialNumberDO); // 返回 return material.getId(); @@ -290,6 +290,40 @@ public class MaterialServiceImpl implements MaterialService { return materialMapper.getSupplementPage(pageReqVO); } + @Override + public PageResult getStorageNowMaterialNoPage(StorageLogPageReqVO pageReqVO) { + PageResult pageResult = materialMapper.getStorageNowMaterialNoPage(pageReqVO); + if (ObjectUtil.isNotEmpty(pageReqVO.getWhId())) { + if (ObjectUtil.isNotEmpty(pageResult.getList())) { + // 获取所有物料编码 + List ids = pageResult.getList().stream() + .map(MaterialDO::getId) + .collect(Collectors.toList()); + // 批量查询库存日志 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(StorageInventoryDO::getWhId, pageReqVO.getWhId()) + .in(StorageInventoryDO::getMaterialId,ids ); + List logList = storageInventoryMapper.selectList(wrapper); + + // 将库存日志按物料编码分组 + Map> logMap = logList.stream() + .collect(Collectors.groupingBy(StorageInventoryDO::getMaterialId)); + + // 计算每个物料的剩余数量并设置到对应的 StorageMaterialDO 对象中 + for (MaterialDO materialDO : pageResult.getList()) { + List logs = logMap.getOrDefault(materialDO.getId(), Collections.emptyList()); + BigDecimal matRest = logs.stream() + .map(StorageInventoryDO::getYardAmount) + .filter(Objects::nonNull) // 确保过滤掉 null 值 + .reduce(BigDecimal.ZERO, BigDecimal::add); + materialDO.setMatRest(matRest); + } + } + } + return pageResult; + + } + private void checkData(List materialExcelVOList) { // 基础校验 Set>> validate = validator.validate(materialExcelVOList, MaterialExcelVO.class); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanServiceImpl.java index 9fa93a7..6932c3c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanServiceImpl.java @@ -334,6 +334,7 @@ public class MaterialPlanServiceImpl implements MaterialPlanService { BdgzsomthingDO.setThings("物料需求计划单号:" + planDO.getProjectMaterialPlanNo() + "已提交");//事件名称 BdgzsomthingDO.setAttr2(planDO.getProjectMaterialPlanNo());//跳转携带参数 BdgzsomthingDO.setAttr3(planDO.getProjectMaterialPlanNo());//独特标识 + BdgzsomthingDO.setAttr14("1");//独特标识 // BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期 // BdgzsomthingDO.setShowname(new Date());比较创建时间,不用单独填写 if (attentiontodoRespVO.getAttr5().equals("1")) {//提醒状态 diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderyfdetail/OrderYfDetailServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderyfdetail/OrderYfDetailServiceImpl.java index 9adaa66..bb6d606 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderyfdetail/OrderYfDetailServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderyfdetail/OrderYfDetailServiceImpl.java @@ -1,7 +1,10 @@ package com.chanko.yunxi.mes.module.heli.service.orderyfdetail; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderyf.OrderYfDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderys.OrderYsDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderysdetail.OrderYsDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.mysql.orderyf.OrderYfMapper; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -30,6 +33,8 @@ public class OrderYfDetailServiceImpl implements OrderYfDetailService { @Resource private OrderYfDetailMapper orderYfDetailMapper; + @Resource + private OrderYfMapper orderYfMapper; @Override public Integer createOrderYfDetail(OrderYfDetailSaveReqVO createReqVO) { @@ -53,6 +58,10 @@ public class OrderYfDetailServiceImpl implements OrderYfDetailService { public void deleteOrderYfDetail(Integer id) { // 校验存在 validateOrderYfDetailExists(id); + OrderYfDetailDO orderYfDetailDO = orderYfDetailMapper.selectById(id); + OrderYfDO orderYfDO = orderYfMapper.selectById(orderYfDetailDO.getCgId()); + orderYfDO.setCgYifu(orderYfDO.getCgYifu().subtract(orderYfDetailDO.getCgYifu())); + orderYfMapper.updateById(orderYfDO); // 删除 orderYfDetailMapper.deleteById(id); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderysdetail/OrderYsDetailServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderysdetail/OrderYsDetailServiceImpl.java index 06d76c2..7c420e5 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderysdetail/OrderYsDetailServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderysdetail/OrderYsDetailServiceImpl.java @@ -1,6 +1,8 @@ package com.chanko.yunxi.mes.module.heli.service.orderysdetail; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderys.OrderYsDO; +import com.chanko.yunxi.mes.module.heli.dal.mysql.orderys.OrderYsMapper; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -29,6 +31,8 @@ public class OrderYsDetailServiceImpl implements OrderYsDetailService { @Resource private OrderYsDetailMapper orderYsDetailMapper; + @Resource + private OrderYsMapper orderYsMapper; @Override public Integer createOrderYsDetail(OrderYsDetailSaveReqVO createReqVO) { @@ -52,6 +56,10 @@ public class OrderYsDetailServiceImpl implements OrderYsDetailService { public void deleteOrderYsDetail(Integer id) { // 校验存在 validateOrderYsDetailExists(id); + OrderYsDetailDO orderYsDetailDO = orderYsDetailMapper.selectById(id); + OrderYsDO orderYsDO = orderYsMapper.selectById(orderYsDetailDO.getCgId()); + orderYsDO.setCgYishou(orderYsDO.getCgYishou().subtract(orderYsDetailDO.getCgYishou())); + orderYsMapper.updateById(orderYsDO); // 删除 orderYsDetailMapper.deleteById(id); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java index b48a7de..4514520 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java @@ -130,6 +130,7 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ // purchaseOrderNoDetailDO.setBoomUnit(detailDO.getBoomUnit()); // purchaseOrderNoDetailDO.setBoomSpec(detailDO.getBoomSpec()); PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = BeanUtils.toBean(detailDO, PurchaseOrderNoDetailDO.class); + purchaseOrderNoDetailDO.setDuEmpId(detailDO.getDuEmpId()); purchaseOrderNoDetailDO.setId(null); purchaseOrderNoDetailDO.setCreateTime(null); purchaseOrderNoDetailDO.setUpdateTime(null); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterService.java index ce2ff7d..f9b44da 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterService.java @@ -23,7 +23,7 @@ public interface PgMasterService { * @param id 创建信息 * @return 编号 */ - Integer zfPgMaster(Integer id); + Integer zfPgMaster(Long id); /** * 创建质量过程检派工单主 * diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterServiceImpl.java index 04b12e6..aa87bfa 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/pgmaster/PgMasterServiceImpl.java @@ -77,9 +77,9 @@ public class PgMasterServiceImpl implements PgMasterService { pgMasterLineDO.setProcedureId(taskDispatchDetailDO.getProcedureId()); pgMasterLineDO.setDispatchDetailId(taskDispatchDetailDO.getId()); //bom名称 - pgMasterLineDO.setBomName("BOM-"+o.getProjectSubShortName()); + pgMasterLineDO.setBomName(o.getProjectSubShortName()); //bom编号 - pgMasterLineDO.setBomNumber("BOM-"+o.getProjectSubShortName()); + pgMasterLineDO.setBomNumber(o.getProjectSubShortName()); //bom版本号 pgMasterLineDO.setBomNo(o.getVersion()); //子项目id @@ -141,8 +141,8 @@ public class PgMasterServiceImpl implements PgMasterService { processBomDOList.forEach( o ->{ PgMasterLineDO pgMasterLineDO = new PgMasterLineDO(); pgMasterLineDO.setBomId(o.getBomId()); - pgMasterLineDO.setBomName("BOM-"+o.getProjectSubShortName()); - pgMasterLineDO.setBomNumber("BOM-"+o.getProjectSubShortName()); + pgMasterLineDO.setBomName(o.getProjectSubShortName()); + pgMasterLineDO.setBomNumber(o.getProjectSubShortName()); pgMasterLineDO.setBomNo(o.getVersion()); pgMasterLineDO.setProjectSubId(o.getProjectSubId()); pgMasterLineDO.setProjectSubName(o.getProjectSubShortName()); @@ -164,7 +164,7 @@ public class PgMasterServiceImpl implements PgMasterService { @Override - public Integer zfPgMaster(Integer id) { + public Integer zfPgMaster(Long id) { //作废先判断是否已经报工 BgMasterLineDO bgMasterLineDO = bgMasterLineMapper.selectSum(id); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plan/PlanServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plan/PlanServiceImpl.java index 32c82fa..1c6867d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plan/PlanServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plan/PlanServiceImpl.java @@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.module.heli.service.plan; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.chanko.yunxi.mes.framework.common.exception.ErrorCode; import com.chanko.yunxi.mes.framework.common.pojo.PageParam; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; @@ -481,7 +482,9 @@ private TaskReportMapper taskReportMapper; eq(ProcessBomDO::getProjectSubId, planSubDOS.getProjectSubId()); last("LIMIT 1"); }}); - + if (processBomDO.getBomStatus() !=7){ + throw exception(new ErrorCode(400,"BOM没有审核,请先审核BOM")); + } PlanTaskDO planTaskDO = planTaskMapper.selectOne(new LambdaQueryWrapper() {{ eq(PlanTaskDO::getProjectId, planSubDOS.getProjectId()); eq(PlanTaskDO::getProjectPlanId, planSubDOS.getProjectPlanId()); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomService.java index 4d3b750..48d5d88 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomService.java @@ -4,6 +4,7 @@ import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomSaveReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskPlanJDBaoBiaoPageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO; import org.apache.poi.ss.formula.functions.T; @@ -11,6 +12,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; import java.io.IOException; +import java.math.BigDecimal; import java.util.Collection; import java.util.HashMap; import java.util.List; @@ -97,4 +99,16 @@ public interface ProcessBomService { Boolean submit(List list); CommonResult withdraw(String code); + + PageResult planBbPage(TaskPlanJDBaoBiaoPageReqVO pageReqVO); + + PageResult planBZJPage(TaskPlanJDBaoBiaoPageReqVO pageReqVO); + + BigDecimal StandardPartsCost(Long id, Long projectSubId); + + BigDecimal materialCost(Long id, Long projectSubId); + + BigDecimal outsourcedProcessingFee(Long id, Long projectSubId); + + BigDecimal internalLaborCost(Long id, Long projectSubId); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java index c101733..e6c56a7 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java @@ -20,8 +20,10 @@ import com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils; import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomImportExcelVO; import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomSaveReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskPlanJDBaoBiaoPageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.attentiontodo.AttentiontodoDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplan.MaterialPlanDO; @@ -31,20 +33,29 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantask.PlanTaskDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantaskbom.PlanTaskBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.shenhe.ShenheDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskreport.TaskReportDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.attentiontodo.AttentiontodoMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.bgmasterline.BgMasterLineMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplan.MaterialPlanMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplanboom.MaterialPlanBoomMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.plan.PlanMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.plantask.PlanTaskMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermakedetail.PurchaseOrderMakeDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.shenhe.ShenheMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.storage.StorageMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogNowMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetailMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.taskreport.TaskReportMapper; import com.chanko.yunxi.mes.module.heli.enums.ProcessBomStatusEnum; +import com.chanko.yunxi.mes.module.heli.enums.YesOrNoEnum; import com.chanko.yunxi.mes.module.heli.service.attentiontodo.AttentiontodoService; import com.chanko.yunxi.mes.module.heli.service.composition.CompositionService; import com.chanko.yunxi.mes.module.heli.service.material.MaterialService; @@ -127,6 +138,16 @@ public class ProcessBomServiceImpl implements ProcessBomService { private MaterialPlanBoomMapper materialPlanBoomMapper; @Resource private StorageLogNowMapper storageLogNowMapper; + @Resource + private TaskDispatchDetailMapper taskDispatchDetailMapper; + @Resource + private TaskReportMapper taskReportMapper; + @Resource + private BgMasterLineMapper bgMasterLineMapper; + @Resource + private StorageMapper storageMapper; + @Resource + private PurchaseOrderMakeDetailMapper purchaseOrderMakeDetailMapper; @Override @Transactional(rollbackFor = Exception.class) public Long createProcessBom(ProcessBomSaveReqVO createReqVO) { @@ -667,7 +688,7 @@ public class ProcessBomServiceImpl implements ProcessBomService { // for (StorageLogNowDO storageLogNowDO : pageResult) { bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO(); BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称 - BdgzsomthingDO.setThings("BOM" + updateObj.getProjectSubCode() + "审核已通过,请推送任务通知单");//事件名称 + BdgzsomthingDO.setThings( updateObj.getProjectSubCode() + "审核已通过,请推送任务通知单");//事件名称 BdgzsomthingDO.setAttr2(getplanid.getPlanNo());//跳转携带参数 BdgzsomthingDO.setAttr3(getplanid.getPlanNo());//独特标识 // BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期 @@ -723,7 +744,7 @@ public class ProcessBomServiceImpl implements ProcessBomService { updateObj.setBomStatus(ProcessBomStatusEnum.valueOf(updateReqVO.getActive()).getCode()); } if (updateReqVO.getProjectSubCode() != null){ - updateObj.setCode("BOM-"+updateReqVO.getProjectSubCode() ); + updateObj.setCode(updateReqVO.getProjectSubCode() ); } processBomMapper.updateById(updateObj); @@ -908,7 +929,7 @@ public class ProcessBomServiceImpl implements ProcessBomService { // for (StorageLogNowDO storageLogNowDO : pageResult) { bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO(); BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称 - BdgzsomthingDO.setThings("BOM" + processBomDO.getProjectSubCode() + "已变更");//事件名称 + BdgzsomthingDO.setThings( processBomDO.getProjectSubCode() + "已变更");//事件名称 BdgzsomthingDO.setAttr2(processBomDO.getProjectSubCode());//跳转携带参数 BdgzsomthingDO.setAttr3(processBomDO.getProjectSubCode());//独特标识 // BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期 @@ -981,7 +1002,7 @@ public class ProcessBomServiceImpl implements ProcessBomService { // for (StorageLogNowDO storageLogNowDO : pageResult) { bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO(); BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称 - BdgzsomthingDO.setThings("BOM" + processBomDO.getProjectSubCode() + "已提交送审");//事件名称 + BdgzsomthingDO.setThings( processBomDO.getProjectSubCode() + "已提交送审");//事件名称 BdgzsomthingDO.setAttr2(processBomDO.getProjectSubCode());//跳转携带参数 BdgzsomthingDO.setAttr3(processBomDO.getProjectSubCode());//独特标识 // BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期 @@ -1099,6 +1120,8 @@ public class ProcessBomServiceImpl implements ProcessBomService { boomDO.setBoomDetailId(processBomDetailDO.getId()); boomDO.setBoomAmount(new BigDecimal(processBomDetailDO.getAmounts())); boomDO.setBoomArriveDate(processBomDetailDO.getBoomArriveDate()); + boomDO.setArriveTime(processBomDetailDO.getBoomArriveDate()); + boomDO.setPurchaseAmount(new BigDecimal(processBomDetailDO.getAmounts())); boomDO.setMatName(processBomDetailDO.getMaterialName()); boomDO.setDuEmpId(processBomDetailDO.getDuEmpId()); boomDO.setProjectPlanSubId(processBomDetailDO.getProjectSubId()); @@ -1136,6 +1159,7 @@ public class ProcessBomServiceImpl implements ProcessBomService { BdgzsomthingDO.setThings("物料需求计划单号:"+planDO.getProjectMaterialPlanNo()+"已提交");//事件名称 BdgzsomthingDO.setAttr2(planDO.getProjectMaterialPlanNo());//跳转携带参数 BdgzsomthingDO.setAttr3(planDO.getProjectMaterialPlanNo());//独特标识 + BdgzsomthingDO.setAttr14("0"); // BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期 // BdgzsomthingDO.setShowname(new Date());比较创建时间,不用单独填写 if(attentiontodoRespVO.getAttr5().equals("1")){//提醒状态 @@ -1204,6 +1228,103 @@ public class ProcessBomServiceImpl implements ProcessBomService { return CommonResult.success(true); } + @Override + public PageResult planBbPage(TaskPlanJDBaoBiaoPageReqVO pageReqVO) { + PageResult processBomDetailDOPageResult = processBomDetailMapper.planBbPage(pageReqVO); + List list = processBomDetailDOPageResult.getList(); + list.forEach(item->{ + List detailDOS= taskDispatchDetailMapper.getByBoomId(item.getId()); + detailDOS.forEach(detailDO -> { + LambdaQueryWrapper taskReportDOLambdaQueryWrapper = new LambdaQueryWrapper<>(); + taskReportDOLambdaQueryWrapper.eq(TaskReportDO::getDispatchDetailId, detailDO.getId()); + taskReportDOLambdaQueryWrapper.eq(TaskReportDO::getHasReport, YesOrNoEnum.Y.getCode()); + taskReportDOLambdaQueryWrapper.orderByDesc(TaskReportDO::getCreateTime); + taskReportDOLambdaQueryWrapper.last("limit 1"); + TaskReportDO taskReportDO = taskReportMapper.selectOne(taskReportDOLambdaQueryWrapper); + if (ObjectUtil.isNotEmpty(taskReportDO)){ + detailDO.setReportTime(taskReportDO.getReportTime()); + } + Integer Postponement=0; + Integer flag=0; + if (detailDO.getCheckYn()==0){ + if (ObjectUtil.isNotEmpty(taskReportDO)){ + boolean after = taskReportDO.getReportTime().isAfter(detailDO.getEndTime()); + if (after){ + Postponement=1; + } + }else { + boolean after = LocalDateTime.now().isAfter(detailDO.getEndTime()); + if (after){ + Postponement=1; + } + } + Long bgMasterLineDO = bgMasterLineMapper.getByDispatchDetail(detailDO.getId()); + Long count = bgMasterLineMapper.getCount(detailDO.getId()); + if (bgMasterLineDO>0){ + flag=3; + }else if (Postponement==0&&count>0){ + flag=1; + }else if (Postponement==1&&count>0){ + flag=2; + } + } + detailDO.setFlag(flag); + }); + item.setTaskDispatchDetailDOList(detailDOS); + }); + processBomDetailDOPageResult.setList(list); + return processBomDetailDOPageResult; + } + + @Override + public PageResult planBZJPage(TaskPlanJDBaoBiaoPageReqVO pageReqVO) { + return processBomDetailMapper.planBZJPage(pageReqVO); + } + + @Override + public BigDecimal StandardPartsCost(Long id, Long projectSubId) { + BigDecimal cost=processBomMapper.StandardPartsCost(id,projectSubId); + BigDecimal cost1=storageMapper.StandardPartsCost(id,projectSubId); + if (ObjectUtil.isEmpty(cost)) cost=BigDecimal.ZERO; + if (ObjectUtil.isEmpty(cost1)) cost1=BigDecimal.ZERO; + return cost.add(cost1); + } + + @Override + public BigDecimal materialCost(Long id, Long projectSubId) { +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(PurchaseOrderMakeDetailDO::getProjectPlanSubId, projectSubId); +// wrapper.eq(PurchaseOrderMakeDetailDO::getIsFoam,"Y"); +// List purchaseOrderMakeDetailDOS = purchaseOrderMakeDetailMapper.selectList(wrapper); +// BigDecimal cost=BigDecimal.ZERO; +// if (purchaseOrderMakeDetailDOS!=null&&purchaseOrderMakeDetailDOS.size()>0) { +// cost = purchaseOrderMakeDetailDOS.stream() +// .map(purchaseOrderMakeDetailDO -> purchaseOrderMakeDetailDO.getFoamPrice() != null ? purchaseOrderMakeDetailDO.getFoamPrice() : BigDecimal.ZERO) +// .reduce(BigDecimal.ZERO, BigDecimal::add); +// } + BigDecimal cost= processBomMapper.bubbleFees(id,projectSubId); + + BigDecimal cost1=processBomMapper.materialCost(id,projectSubId); + if (ObjectUtil.isEmpty(cost1)) cost1=BigDecimal.ZERO; + if (ObjectUtil.isEmpty(cost)) cost=BigDecimal.ZERO; + + return cost.add(cost1); + } + + @Override + public BigDecimal outsourcedProcessingFee(Long id, Long projectSubId) { + BigDecimal cost=processBomMapper.outsourcedProcessingFee(id,projectSubId); + if (ObjectUtil.isEmpty(cost)) cost=BigDecimal.ZERO; + return cost; + } + + @Override + public BigDecimal internalLaborCost(Long id, Long projectSubId) { + BigDecimal cost=processBomMapper.internalLaborCost(id,projectSubId); + if (ObjectUtil.isEmpty(cost)) cost=BigDecimal.ZERO; + return cost; } + + private void createProcessBomDetailList(String bomCode,Long bomId, List list,Integer num) { LocalDateTime now = LocalDateTime.now(); /*list.forEach(o -> {o.setBomId(bomId);o.setUpdateTimes(now);} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java index f0c64c8..3bf101a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java @@ -26,6 +26,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.processdesign.ProcessDesignPro import com.chanko.yunxi.mes.module.heli.enums.ProcessDesignTypeEnum; import com.chanko.yunxi.mes.module.heli.enums.WarningEnum; import com.chanko.yunxi.mes.module.heli.vo.WarningMessageVO; +import org.apache.commons.lang3.time.DateUtils; import org.springframework.security.access.method.P; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -34,7 +35,9 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.math.BigDecimal; import java.time.Duration; +import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.ArrayList; import java.util.Comparator; import java.util.Date; @@ -271,6 +274,7 @@ public class ProcessDesignServiceImpl implements ProcessDesignService { if(ProcessDesignTypeEnum.BLUEPRINT_WORKBLANK.name().equals(processDesign.getProcessDesignType())){ processDesignDO.setBlankDate(processDesign.getBlankDate()) .setStartBlankDate(processDesign.getStartBlankDate()) + .setBlankDelayReason(processDesign.getDelayReason()) .setBlankOwnerName(processDesign.getBlankOwnerName()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ProcessDesignProgressDO::getProcessDesignId, processDesign.getId()); @@ -284,9 +288,39 @@ public class ProcessDesignServiceImpl implements ProcessDesignService { processDesignDO.setProgressBlank("进行中"); } } + + if (ObjectUtil.isNotEmpty(processDesign.getBlankDate())){ + if (processDesign.getIsOverProcess()==1){ + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(ProcessDesignProgressDO::getProcessDesignId, processDesign.getId()); + wrapper1.orderByDesc(ProcessDesignProgressDO::getEndTime); + wrapper1.last("limit 1"); + ProcessDesignProgressDO processDesignProgressDO1 = processDesignProgressMapper.selectOne(wrapper1); + if (compareDateParts(processDesignProgressDO1.getEndTime().toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDateTime(),processDesign.getBlankDate())>0){ + processDesignDO.setBlankDeferred("是"); + }else { + processDesignDO.setBlankDeferred("否"); + + } + }else{ + if (compareDateParts(LocalDateTime.now(),processDesign.getBlankDate())>0){ + processDesignDO.setBlankDeferred("是"); + }else { + processDesignDO.setBlankDeferred("否"); + + } + } + }else { + processDesignDO.setBlankDeferred("否"); + + } + }else if(ProcessDesignTypeEnum.BLUEPRINT_3D.name().equals(processDesign.getProcessDesignType())){ processDesignDO.setThreeDimDate(processDesign.getThreeDimDate()) .setStartThreeDimDate(processDesign.getStartThreeDimDate()) + .setDelayReason3d(processDesign.getDelayReason()) .setThreeDimOwnerName(processDesign.getThreeDimOwnerName()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ProcessDesignProgressDO::getProcessDesignId, processDesign.getId()); @@ -301,9 +335,37 @@ public class ProcessDesignServiceImpl implements ProcessDesignService { processDesignDO.setProgress3d("进行中"); } } + if (ObjectUtil.isNotEmpty(processDesign.getThreeDimDate())){ + if (processDesign.getIsOverProcess()==1){ + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(ProcessDesignProgressDO::getProcessDesignId, processDesign.getId()); + wrapper1.orderByDesc(ProcessDesignProgressDO::getEndTime); + wrapper1.last("limit 1"); + ProcessDesignProgressDO processDesignProgressDO1 = processDesignProgressMapper.selectOne(wrapper1); + if (compareDateParts(processDesignProgressDO1.getEndTime().toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDateTime(),processDesign.getThreeDimDate())>0){ + processDesignDO.setDeferred3d("是"); + }else { + processDesignDO.setDeferred3d("否"); + + } + }else{ + if (compareDateParts(LocalDateTime.now(),processDesign.getThreeDimDate())>0){ + processDesignDO.setDeferred3d("是"); + }else { + processDesignDO.setDeferred3d("否"); + + } + } + }else { + processDesignDO.setDeferred3d("否"); + } + }else if(ProcessDesignTypeEnum.BLUEPRINT_2D.name().equals(processDesign.getProcessDesignType())){ processDesignDO.setTwoDimDate(processDesign.getTwoDimDate()) .setStartTwoDimDate(processDesign.getStartTwoDimDate()) + .setDelayReason2d(processDesign.getDelayReason()) .setTwoDimOwnerName(processDesign.getTwoDimOwnerName()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ProcessDesignProgressDO::getProcessDesignId, processDesign.getId()); @@ -317,6 +379,31 @@ public class ProcessDesignServiceImpl implements ProcessDesignService { processDesignDO.setProgress2d("进行中"); } } + if (ObjectUtil.isNotEmpty(processDesign.getTwoDimDate())){ + if (processDesign.getIsOverProcess()==1){ + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(ProcessDesignProgressDO::getProcessDesignId, processDesign.getId()); + wrapper1.orderByDesc(ProcessDesignProgressDO::getEndTime); + wrapper1.last("limit 1"); + ProcessDesignProgressDO processDesignProgressDO1 = processDesignProgressMapper.selectOne(wrapper1); + if (compareDateParts(processDesignProgressDO1.getEndTime().toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDateTime(),processDesign.getTwoDimDate())>0){ + processDesignDO.setDeferred2d("是"); + }else { + processDesignDO.setDeferred2d("否"); + + } + }else{ + if (compareDateParts(LocalDateTime.now(),processDesign.getTwoDimDate())>0){ + processDesignDO.setDeferred2d("是"); + }else { + processDesignDO.setDeferred2d("否"); + } + } + }else { + processDesignDO.setDeferred2d("否"); + } } }); } @@ -338,6 +425,14 @@ public class ProcessDesignServiceImpl implements ProcessDesignService { } return processDesignDOPageResult; } + public int compareDateParts(LocalDateTime dt1, LocalDateTime dt2) { + // 提取日期部分 + LocalDate date1 = dt1.toLocalDate(); + LocalDate date2 = dt2.toLocalDate(); + + // 使用compareTo比较 + return date1.compareTo(date2); + } // ==================== 子表(工艺设计进度) ==================== diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoService.java index daa52e4..5b1ef2c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoService.java @@ -29,7 +29,7 @@ public interface PurchaseOrderNoService { * * @param updateReqVO 更新信息 */ - void updatePurchaseOrderNo(@Valid PurchaseOrderNoSaveReqVO updateReqVO); + CommonResult updatePurchaseOrderNo(@Valid PurchaseOrderNoSaveReqVO updateReqVO); /** * 删除采购订单主 @@ -63,4 +63,6 @@ public interface PurchaseOrderNoService { CommonResult deleteForm(Long id); void updatePORSById(Long id); + + CommonResult updateIsPrint(Long id); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoServiceImpl.java index 3471d10..216a903 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoServiceImpl.java @@ -32,6 +32,7 @@ import com.chanko.yunxi.mes.module.heli.service.purchaseordermakedetail.Purchase import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService; import com.chanko.yunxi.mes.module.system.api.user.AdminUserApi; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; +import com.chanko.yunxi.mes.module.system.enums.ErrorCodeConstants; import com.chanko.yunxi.mes.module.system.service.user.AdminUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -112,7 +113,7 @@ public class PurchaseOrderNoServiceImpl implements PurchaseOrderNoService { } @Override - public void updatePurchaseOrderNo(PurchaseOrderNoSaveReqVO updateReqVO) { + public CommonResult updatePurchaseOrderNo(PurchaseOrderNoSaveReqVO updateReqVO) { // 校验存在 validatePurchaseOrderNoExists(updateReqVO.getId()); // 更新 @@ -130,7 +131,8 @@ public class PurchaseOrderNoServiceImpl implements PurchaseOrderNoService { updateObj.setSubmitTime(currTime); } else { // 处理未找到审核人情况 - throw new RuntimeException("审核人未找到"); +// throw new RuntimeException("审核人未找到"); + return CommonResult.error(400,"审核人未找到"); } }else if(updateReqVO.getStatus()==2 && updateReqVO.getAuditor().equals(loginUser.getId())){ ShenheDO shenHeDOOne = shenheMapper.selectOne(ShenheDO::getShenheName,"1",ShenheDO::getShenheUser,updateReqVO.getAuditor()); @@ -149,13 +151,16 @@ public class PurchaseOrderNoServiceImpl implements PurchaseOrderNoService { orderYfService.createCg(orderYfVO); } } else { - throw new RuntimeException("采购订单审核失败,请联系管理员!"); +// throw new RuntimeException("采购订单审核失败,请联系管理员!"); + return CommonResult.error(400,"采购订单审核失败,请联系管理员!"); + } } if(updateReqVO.getStatus()== 3){ pOrderReceivedCompleted(updateReqVO.getPurchaseNo(),updateReqVO.getId()); } purchaseOrderNoMapper.updateById(updateObj); + return CommonResult.success(true); } private void pOrderReceivedCompleted(String purchaseNo,Long id) { PurchaseOrderNoPageReqVO purchaseOrderPageReqVO = new PurchaseOrderNoPageReqVO(); @@ -395,4 +400,13 @@ public class PurchaseOrderNoServiceImpl implements PurchaseOrderNoService { purchaseOrderNoMapper.update(wrapper); } + @Override + public CommonResult updateIsPrint(Long id) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(PurchaseOrderNoDO::getId,id); + wrapper.set(PurchaseOrderNoDO::getIsPrint,"Y"); + purchaseOrderNoMapper.update(wrapper); + return CommonResult.success(true); + } + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java index 6aca62c..cff10dd 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java @@ -109,6 +109,12 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe public Long createPurchaseOrderNoDetail(PurchaseOrderNoDetailSaveReqVO createReqVO) { // 插入 PurchaseOrderNoDetailDO purchaseOrderNoDetail = BeanUtils.toBean(createReqVO, PurchaseOrderNoDetailDO.class); + PurchaseOrderNoDO purchaseOrderNoDO = purchaseOrderNoMapper.selectById(createReqVO.getPurchaseOrderId()); + if (ObjectUtil.isNotEmpty(purchaseOrderNoDO)){ + if (purchaseOrderNoDO.getPurchaseType() == 2){ + purchaseOrderNoDetail.setPurchaseRemAmount(purchaseOrderNoDetail.getPurchaseAmount()); + } + } purchaseOrderNoDetailMapper.insert(purchaseOrderNoDetail); // 返回 return purchaseOrderNoDetail.getId(); @@ -284,26 +290,27 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.in(PurchaseOrderNoDetailDO::getId,idList); List purchaseOrderNoDetailDOS = purchaseOrderNoDetailMapper.selectList(lambdaQueryWrapper); - List ids = purchaseOrderNoDetailDOS.stream() - .filter(Objects::nonNull) // 过滤空对象 - .map(PurchaseOrderNoDetailDO::getPurchaseOrderId) - .filter(Objects::nonNull) // 过滤空ID - .collect(Collectors.toList()); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.in(PurchaseOrderNoDO::getId,ids); - List purchaseOrderNoDOS = purchaseOrderNoMapper.selectList(queryWrapper); - for (PurchaseOrderNoDO purchaseOrderNoDO : purchaseOrderNoDOS) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PurchaseOrderNoDetailDO::getPurchaseOrderId, purchaseOrderNoDO.getId()); - List lists = purchaseOrderNoDetailMapper.selectList(wrapper); - // 方法1:使用 Stream API(最简洁) - boolean allStatus3 = lists != null && - !lists.isEmpty() && - lists.stream() - .allMatch(detail -> detail.getReceivingStatus()==3); - if (allStatus3) { - //采购订单收货完成 - List attentiontodook = attentiontodoMapper.selectByIdlist(10);//查找该类型的待办和关注人 改 +// List ids = purchaseOrderNoDetailDOS.stream() +// .filter(Objects::nonNull) // 过滤空对象 +// .map(PurchaseOrderNoDetailDO::getPurchaseOrderId) +// .filter(Objects::nonNull) // 过滤空ID +// .collect(Collectors.toList()); +// LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); +// queryWrapper.in(PurchaseOrderNoDO::getId,ids); +// List purchaseOrderNoDOS = purchaseOrderNoMapper.selectList(queryWrapper); +// for (PurchaseOrderNoDO purchaseOrderNoDO : purchaseOrderNoDOS) { +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(PurchaseOrderNoDetailDO::getPurchaseOrderId, purchaseOrderNoDO.getId()); +// List lists = purchaseOrderNoDetailMapper.selectList(wrapper); +// // 方法1:使用 Stream API(最简洁) +// boolean allStatus3 = lists != null && +// !lists.isEmpty() && +// lists.stream() +// .allMatch(detail -> detail.getReceivingStatus()==3); +// if (allStatus3) { + for (PurchaseOrderNoDetailDO purchaseOrderNoDetailDO : purchaseOrderNoDetailDOS) { + PurchaseOrderNoDO purchaseOrderNoDO = purchaseOrderNoMapper.selectById(purchaseOrderNoDetailDO.getPurchaseOrderId()); + List attentiontodook = attentiontodoMapper.selectByIdlist(10);//查找该类型的待办和关注人 改 String nickname = userApi.getUser(SecurityFrameworkUtils.getLoginUser().getId()).getNickname(); List attentiontodook1 = attentiontodoService.getAttentiontodolistdaiban(10); @@ -323,7 +330,7 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe for (AttentiontodoDO attentiontodoRespVO : attentiontodook) { - { + // for (StorageLogNowDO storageLogNowDO : pageResult) { bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO(); BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称 @@ -361,10 +368,10 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe // BdgzsomthingDO.setShowname(operateReqVO.getCreateTime());//获取数据当前表的创建事件 改 bdgzsomthingMapper.insert(BdgzsomthingDO); - // } - } +// } } - } +// } +// } } return success(true); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storage/StorageServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storage/StorageServiceImpl.java index 6c408e5..abfe6e1 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storage/StorageServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storage/StorageServiceImpl.java @@ -5,9 +5,11 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.chanko.yunxi.mes.framework.common.exception.ErrorCode; import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.module.heli.controller.admin.outsourcestockboom.vo.OutsourceStockBoomSaveReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.storageinventory.StorageInventoryController; +import com.chanko.yunxi.mes.module.heli.controller.admin.storagemat.vo.StorageMatSaveReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; @@ -339,11 +341,27 @@ private StorageLogService storageLogService; @Override @Transactional(rollbackFor = Exception.class) public Long createStorage(StorageSaveReqVO createReqVO) { + if (createReqVO.getStockType()==1){ + for (StorageMatSaveReqVO item : createReqVO.getMatItemDOList()) { + if (item.getStorageOkQty().compareTo(BigDecimal.ZERO) <= 0) { + throw exception(new ErrorCode(400, "本次入库数量小于等于0,请确认")); + } + } + } + + if (createReqVO.getStockType()==1&&createReqVO.getStockInType()==1){ + for (StorageMatSaveReqVO item : createReqVO.getMatItemDOList()) { + PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = purchaseOrderNoDetailMapper.selectById(item.getPurchaseOrderNoDetailId()); + if (ObjectUtil.isNotEmpty(purchaseOrderNoDetailDO)){ + if (item.getStorageOkQty().compareTo(purchaseOrderNoDetailDO.getPurchaseRemAmount())>0){ + throw exception(new ErrorCode(400,"本次入库数量"+item.getStorageOkQty()+" 大于订单剩余数量"+purchaseOrderNoDetailDO.getPurchaseRemAmount()+"请确认.")); + } + } + } + } // 插入 StorageDO storage = BeanUtils.toBean(createReqVO, StorageDO.class); - - SerialNumberDO serialNumberDO = new SerialNumberDO(); if(createReqVO.getStockType().equals(1)) { // 月度流水号 @@ -371,6 +389,30 @@ private StorageLogService storageLogService; public void updateStorage(StorageSaveReqVO updateReqVO) { // 校验存在 validateStorageExists(updateReqVO.getId()); + if (updateReqVO.getStockType()==1){ + List storageMatDOS = storageMatMapper.selectMatByStorckID(updateReqVO.getId()); + if (ObjectUtil.isNotEmpty(storageMatDOS)) { + for (StorageMatDO item : storageMatDOS) { + if (item.getStorageOkQty().compareTo(BigDecimal.ZERO) <= 0) { + throw exception(new ErrorCode(400, "本次入库数量小于等于0,请确认")); + } + } + } + } + if (updateReqVO.getStockType()==1&&updateReqVO.getStockInType()==1){ + List storageMatDOS = storageMatMapper.selectMatByStorckID(updateReqVO.getId()); + if (ObjectUtil.isNotEmpty(storageMatDOS)){ + for (StorageMatDO item :storageMatDOS) { + PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = purchaseOrderNoDetailMapper.selectById(item.getPurchaseOrderNoDetailId()); + if (ObjectUtil.isNotEmpty(purchaseOrderNoDetailDO)){ + if (item.getStorageOkQty().compareTo(purchaseOrderNoDetailDO.getPurchaseRemAmount())>0){ + throw exception(new ErrorCode(400,"本次入库数量"+item.getStorageOkQty()+" 大于订单剩余数量"+purchaseOrderNoDetailDO.getPurchaseRemAmount()+"请确认.")); + } + } + } + } + + } // 更新 StorageDO updateObj = BeanUtils.toBean(updateReqVO, StorageDO.class); storageMapper.updateById(updateObj); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInService.java index cf8c289..10caaa2 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInService.java @@ -61,4 +61,6 @@ public interface StorageInService { CommonResult standardPartsReceived(List list); CommonResult warehousing(Long id); + + Boolean updateIsPrint(Long id); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInServiceImpl.java index 66b9fb3..65fcedc 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInServiceImpl.java @@ -363,17 +363,20 @@ public class StorageInServiceImpl implements StorageInService { queryWrapper.in(PurchaseOrderNoDO::getId,ids); List purchaseOrderNoDOS = purchaseOrderNoMapper.selectList(queryWrapper); - for (PurchaseOrderNoDO purchaseOrderNoDO : purchaseOrderNoDOS) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PurchaseOrderNoDetailDO::getPurchaseOrderId,purchaseOrderNoDO.getId()); - List lists = purchaseOrderNoDetailMapper.selectList(wrapper); - // 方法1:使用 Stream API(最简洁) - boolean allStatus3 = lists != null && - !lists.isEmpty() && - lists.stream() - .allMatch(detail -> detail.getReceivingStatus()==3); - if (allStatus3){ - //采购订单收货完成 +// for (PurchaseOrderNoDO purchaseOrderNoDO : purchaseOrderNoDOS) { +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(PurchaseOrderNoDetailDO::getPurchaseOrderId,purchaseOrderNoDO.getId()); +// List lists = purchaseOrderNoDetailMapper.selectList(wrapper); +// // 方法1:使用 Stream API(最简洁) +// boolean allStatus3 = lists != null && +// !lists.isEmpty() && +// lists.stream() +// .allMatch(detail -> detail.getReceivingStatus()==3); +// if (allStatus3){ + for (PurchaseOrderNoDetailDO purchaseOrderNoDetailDO : purchaseOrderNoDetailDOS) { + PurchaseOrderNoDO purchaseOrderNoDO = purchaseOrderNoMapper.selectById(purchaseOrderNoDetailDO.getPurchaseOrderId()); + + //采购订单收货完成 List attentiontodook = attentiontodoMapper.selectByIdlist(10);//查找该类型的待办和关注人 改 String nickname = userApi.getUser( SecurityFrameworkUtils.getLoginUser().getId()).getNickname(); @@ -395,7 +398,6 @@ public class StorageInServiceImpl implements StorageInService { for (AttentiontodoDO attentiontodoRespVO : attentiontodook) { - { // for (StorageLogNowDO storageLogNowDO : pageResult) { bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO(); BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称 @@ -416,7 +418,6 @@ public class StorageInServiceImpl implements StorageInService { if (ObjectUtil.isNotEmpty(user)){ BdgzsomthingDO.setClick(user.getNickname()); } - }else { BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4()); }//提醒人 @@ -437,10 +438,8 @@ public class StorageInServiceImpl implements StorageInService { bdgzsomthingMapper.insert(BdgzsomthingDO); // } - } - } - } + } } return CommonResult.success(true); } @@ -467,4 +466,13 @@ public class StorageInServiceImpl implements StorageInService { return CommonResult.success(true); } + @Override + public Boolean updateIsPrint(Long id) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(StorageInDO::getId,id); + wrapper.set(StorageInDO::getIsPrint,"Y"); + storageInMapper.update(wrapper); + return true; + } + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java index 08bd5e9..2e94ac8 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java @@ -17,6 +17,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.equipmanufacture.EquipMan import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuserdetail.FpUserDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; @@ -30,6 +31,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.fpuserdetail.FpUserDetailMappe import com.chanko.yunxi.mes.module.heli.dal.mysql.plan.PlanMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.procedure.ProcedureMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderSubMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchMapper; @@ -105,6 +107,8 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { private ProcedureMapper procedureMapper; @Resource private ProcessBomDetailMapper processBomDetailMapper; + @Resource + private ProcessBomMapper processBomMapper; @Override @Transactional(rollbackFor = Exception.class) public Long createTaskDispatch(TaskDispatchSaveReqVO createReqVO) { @@ -115,7 +119,7 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { SerialNumberDO serialNumberDO = serialNumberService.getSerialNumber(taskDispatchTypeEnum.getBusinesTypeEnum().name(), new SimpleDateFormat("yyyyMMdd").format(new Date())); serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1); taskDispatch.setCode(taskDispatchTypeEnum.getCodeEnum().getCode(serialNumberDO.getSerialNumber().toString())); - taskDispatch.setDispatchStatus(TaskDispatchStatusEnum.valueOf(createReqVO.getActive()).getCode()); +// taskDispatch.setDispatchStatus(TaskDispatchStatusEnum.valueOf(createReqVO.getActive()).getCode()); taskDispatch.setCreator(getLoginUser().getId().toString()); taskDispatchMapper.insert(taskDispatch); @@ -147,8 +151,6 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { } } if (!ObjectUtil.equal(v1, v2)) { - System.out.println(v1); - System.out.println(v2); return true; } } @@ -167,6 +169,17 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { throw exception(PROCESS_BOM_DETAIL_NOT_EXISTS); } } + if(operateTypeEnum == OperateTypeEnum.SUBMIT||operateTypeEnum == OperateTypeEnum.SAVE){ + ProcessBomDetailDO bomDetailDO = processBomDetailMapper.selectById(updateReqVO.getBomDetailId()); + if (ObjectUtil.isNotEmpty(bomDetailDO)){ + ProcessBomDO processBomDO = processBomMapper.selectById(bomDetailDO.getBomId()); + if (ObjectUtil.isNotEmpty(processBomDO)){ + if (processBomDO.getBomStatus()!=7){ + throw exception(new ErrorCode(400,"BOM没有审核,请先审核BOM")); + } + } + } + } // 更新 TaskDispatchDO updateObj = BeanUtils.toBean(updateReqVO, TaskDispatchDO.class); if(!updateObj.canOperate(operateTypeEnum)){ @@ -195,7 +208,9 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { } } } - + if (operateTypeEnum == OperateTypeEnum.SAVE){ + updateObj.setDispatchStatus(1); + } // 明细工序状态更新 if(operateTypeEnum == OperateTypeEnum.SUBMIT){ if (updateReqVO.getDispatchType() != null && updateReqVO.getDispatchType().equals("ASSEMBLE")){ @@ -540,9 +555,15 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { @Override public PageResult getTaskDispatchDetailPageWx(TaskDispatchDetailPageReqVO pageReqVO) { List fpUserDetailDOS = fpUserDetailMapper.selectList(new LambdaQueryWrapper().eq(FpUserDetailDO::getBusyId, pageReqVO.getOwner())); - Set postIds = new HashSet<>(); +// Set postIds = new HashSet<>(); +// Set procedureIds = new HashSet<>(); + Map postIds = new HashMap<>(); for (FpUserDetailDO fpUserDetailDO : fpUserDetailDOS) { - postIds.add(fpUserDetailDO.getPostId()); + if (ObjectUtil.isNotEmpty(fpUserDetailDO.getPostId())&&ObjectUtil.isNotEmpty(fpUserDetailDO.getProcedureId())){ + postIds.put(fpUserDetailDO.getPostId(), fpUserDetailDO.getProcedureId()); + }else if (ObjectUtil.isNotEmpty(fpUserDetailDO.getPostId())){ + postIds.put(fpUserDetailDO.getPostId(), null); + } } PageResult taskDispatchDetailDOPageResult = taskDispatchDetailMapper.selectPageWx(pageReqVO, postIds); List list = taskDispatchDetailDOPageResult.getList(); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotification/UnqualifiedNotificationService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotification/UnqualifiedNotificationService.java index 4d10644..6824a42 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotification/UnqualifiedNotificationService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotification/UnqualifiedNotificationService.java @@ -1,11 +1,11 @@ package com.chanko.yunxi.mes.module.heli.service.unqualifiednotification; -import java.util.*; import javax.validation.*; import com.chanko.yunxi.mes.module.heli.controller.admin.unqualifiednotification.vo.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.unqualifiednotification.UnqualifiedNotificationDO; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; + +import java.util.List; /** * 品质异常通知单审核 Service 接口 @@ -29,6 +29,9 @@ public interface UnqualifiedNotificationService { */ void updateUnqualifiedNotification(@Valid UnqualifiedNotificationSaveReqVO updateReqVO); + + UnqualifiedNotificationDO getUnqualifiedNotificationWxById(@Valid UnqualifiedNotificationPageReqVO updateReqVO); + /** * 删除品质异常通知单审核 * @@ -43,7 +46,7 @@ public interface UnqualifiedNotificationService { * @return 品质异常通知单审核 */ UnqualifiedNotificationDO getUnqualifiedNotification(Long id); - + Long countWx(@Valid UnqualifiedNotificationPageReqVO updateReqVO); /** * 获得品质异常通知单审核分页 * @@ -51,8 +54,15 @@ public interface UnqualifiedNotificationService { * @return 品质异常通知单审核分页 */ PageResult getUnqualifiedNotificationPage(UnqualifiedNotificationPageReqVO pageReqVO); - + PageResult getUnqualifiedNotificationPageWx(UnqualifiedNotificationPageReqVO pageReqVO); + PageResult unqualifiedNotificationConfirmPageWx(UnqualifiedNotificationPageReqVO pageReqVO); void operate(UnqualifiedNotificationSaveReqVO operateReqVO); + void operateWx(UnqualifiedNotificationSaveReqVO operateReqVO); + PageResult getUnqualifiedNotificationStatisticPage(UnqualifiedNotificationPageReqVO pageReqVO); - PageResult getUnqualifiedNotificationStatisticPage(UnqualifiedNotificationPageReqVO pageReqVO); + void review(UnqualifiedNotificationPageReqVO pageReqVO); + + void confirm(UnqualifiedNotificationSaveReqVO operateReqVO); + + Long countWx1(UnqualifiedNotificationPageReqVO pageReqVO); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotification/UnqualifiedNotificationServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotification/UnqualifiedNotificationServiceImpl.java index d4270e0..72dd3e2 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotification/UnqualifiedNotificationServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotification/UnqualifiedNotificationServiceImpl.java @@ -1,19 +1,26 @@ package com.chanko.yunxi.mes.module.heli.service.unqualifiednotification; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; +import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum; import com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils; +import com.chanko.yunxi.mes.module.heli.controller.admin.unqualifiednotification.vo.QualityStatistics; import com.chanko.yunxi.mes.module.heli.controller.admin.unqualifiednotification.vo.UnqualifiedNotificationPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.unqualifiednotification.vo.UnqualifiedNotificationSaveReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.attentiontodo.AttentiontodoDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.unqualifiednotification.UnqualifiedNotificationDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.unqualifiednotificationfile.UnqualifiedNotificationFileDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.zjbgmasterline.ZjBgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.attentiontodo.AttentiontodoMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.bgmasterline.BgMasterLineMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.unqualifiednotification.UnqualifiedNotificationMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.zjbgmasterline.ZjBgMasterLineMapper; import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum; import com.chanko.yunxi.mes.module.heli.enums.CodeEnum; import com.chanko.yunxi.mes.module.heli.enums.UnqualifiedNotificationStatusEnum; @@ -27,13 +34,14 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import javax.validation.Valid; import java.text.SimpleDateFormat; import java.time.LocalDateTime; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser; import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.INVALID_OPERATE; import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.UNQUALIFIED_NOTIFICATION_NOT_EXISTS; @@ -54,7 +62,10 @@ public class UnqualifiedNotificationServiceImpl implements UnqualifiedNotificati private com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper bdgzsomthingMapper; @Resource private AttentiontodoMapper attentiontodoMapper; - + @Resource + private ZjBgMasterLineMapper zjBgMasterLineMapper; + @Resource + private BgMasterLineMapper bgMasterLineMapper; @Resource private UnqualifiedNotificationMapper unqualifiedNotificationMapper; @Resource @@ -185,6 +196,13 @@ try { // 删除 unqualifiedNotificationMapper.deleteById(id); } + public UnqualifiedNotificationDO getUnqualifiedNotificationWxById( UnqualifiedNotificationPageReqVO updateReqVO){ + Map map = new HashMap(); + map.put("id", updateReqVO.getId()); + map.put("queryType",updateReqVO.getQueryType()); + map.put("type",updateReqVO.getType()); + return unqualifiedNotificationMapper.selectWxById(map); + } private void validateUnqualifiedNotificationExists(Long id) { if (unqualifiedNotificationMapper.selectById(id) == null) { @@ -195,7 +213,7 @@ try { @Override public UnqualifiedNotificationDO getUnqualifiedNotification(Long id) { UnqualifiedNotificationDO unqualifiedNotificationDO = unqualifiedNotificationMapper.selectById(id); - List unqualifiedNotificationFileDOS = unqualifiedNotificationFileService.queryUnqualifiedNotificationFileBySuperId(unqualifiedNotificationDO.getId()); + List unqualifiedNotificationFileDOS = unqualifiedNotificationFileService.queryUnqualifiedNotificationFileBySuperId(unqualifiedNotificationDO.getId(),0); List fileUrlList = unqualifiedNotificationFileDOS.stream() .map(UnqualifiedNotificationFileDO::getFileUrl) .collect(Collectors.toList()); @@ -207,7 +225,39 @@ try { public PageResult getUnqualifiedNotificationPage(UnqualifiedNotificationPageReqVO pageReqVO) { return unqualifiedNotificationMapper.selectPage(pageReqVO); } + @Override + public PageResult getUnqualifiedNotificationPageWx(UnqualifiedNotificationPageReqVO pageReqVO) { + PageResult pageResult = new PageResult<>(); + Long total = unqualifiedNotificationMapper.selectCountPageWx(pageReqVO.getQueryType(), pageReqVO.getPageNum(), pageReqVO.getPageSize()); + pageResult.setTotal(total); + if (total > 0L){ + pageResult.setTotalPages(total.intValue()/ pageReqVO.getPageSize()); + } + List unqualifiedNotificationDOS = unqualifiedNotificationMapper.selectPageWx(pageReqVO.getQueryType(), pageReqVO.getPageNum(), pageReqVO.getPageSize()); + pageResult.setList(unqualifiedNotificationDOS); + return pageResult; + } + + @Override + public PageResult unqualifiedNotificationConfirmPageWx(UnqualifiedNotificationPageReqVO pageReqVO) { + PageResult pageResult = new PageResult<>(); + Long total = unqualifiedNotificationMapper.selectCountConfirmPageWx(pageReqVO.getQueryType(), pageReqVO.getPageNum(), pageReqVO.getPageSize(),Objects.requireNonNull(getLoginUser()).getId().intValue()); + + pageResult.setTotal(total); + if (total > 0L){ + pageResult.setTotalPages(total.intValue()/ pageReqVO.getPageSize()); + } + List unqualifiedNotificationDOS = unqualifiedNotificationMapper.selectConfirmPageWx(pageReqVO.getQueryType(), pageReqVO.getPageNum(), pageReqVO.getPageSize(),Objects.requireNonNull(getLoginUser()).getId().intValue()); + pageResult.setList(unqualifiedNotificationDOS); + return pageResult; + } + + @Override + public Long countWx(UnqualifiedNotificationPageReqVO pageReqVO) { + PageResult pageResult = new PageResult<>(); + return unqualifiedNotificationMapper.selectCountPageWx(2, 5,5); + } @Override public void operate(UnqualifiedNotificationSaveReqVO operateReqVO) { if(operateReqVO.getId() == null){ @@ -223,10 +273,86 @@ try { } } } + @Override + public void operateWx(UnqualifiedNotificationSaveReqVO operateReqVO) { + if(operateReqVO.getId() == null){ + createUnqualifiedNotification(operateReqVO); + }else{ + if (operateReqVO.getType().equals("过程检")){ + //过程检 + BgMasterLineDO bgMasterLineDO = bgMasterLineMapper.selectById(operateReqVO.getId()); + bgMasterLineDO.setNotificationStatus(3); + bgMasterLineDO.setAuditor(operateReqVO.getAuditor().intValue()); + bgMasterLineDO.setAudit_time(LocalDateTime.now()); + bgMasterLineDO.setAuditOpinion(operateReqVO.getAuditOpinion()); +// bgMasterLineDO.setConStatus(2); + bgMasterLineMapper.updateById(bgMasterLineDO); + }else { + //终检 + ZjBgMasterLineDO bgMasterLineDO = zjBgMasterLineMapper.selectById(operateReqVO.getId()); + bgMasterLineDO.setNotificationStatus(3); + bgMasterLineDO.setAuditor(operateReqVO.getAuditor().intValue()); + bgMasterLineDO.setAudit_time(LocalDateTime.now()); + bgMasterLineDO.setAuditOpinion(operateReqVO.getAuditOpinion()); +// bgMasterLineDO.setConStatus(2); + zjBgMasterLineMapper.updateById(bgMasterLineDO); + } +// if(operateReqVO.getActive().equals("AUDIT")){ +// //质检预警 +// bdgzsomthingDO abc= new bdgzsomthingDO(); +// abc.setThingname("质检通知单"); +// abc.setAttr3(operateReqVO.getCode());//改成单独查询的 +// bdgzsomthingMapper.updateok(abc); +// } + } + } + @Override + public PageResult getUnqualifiedNotificationStatisticPage(UnqualifiedNotificationPageReqVO pageReqVO) { + Page page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + List qualityStatistics = unqualifiedNotificationMapper.QualityStatistics(page, pageReqVO); + return new PageResult<>(qualityStatistics, page.getTotal()); + } @Override - public PageResult getUnqualifiedNotificationStatisticPage(UnqualifiedNotificationPageReqVO pageReqVO) { - return unqualifiedNotificationMapper.getStatisticPage(pageReqVO); + public void review(UnqualifiedNotificationPageReqVO pageReqVO) { + if ("0".equals(pageReqVO.getType())){ + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(BgMasterLineDO::getId, pageReqVO.getId()) + .set(BgMasterLineDO::getNotificationStatus, 3) + .set(BgMasterLineDO::getAuditor, getLoginUser().getId()) + .set(BgMasterLineDO::getAudit_time, LocalDateTime.now()) + .set(BgMasterLineDO::getAuditOpinion, pageReqVO.getAuditOpinion()); + bgMasterLineMapper.update( updateWrapper); + }else { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(ZjBgMasterLineDO::getId, pageReqVO.getId()) + .set(ZjBgMasterLineDO::getNotificationStatus, 3) + .set(ZjBgMasterLineDO::getAuditor, getLoginUser().getId()) + .set(ZjBgMasterLineDO::getAudit_time, LocalDateTime.now()) + .set(ZjBgMasterLineDO::getAuditOpinion, pageReqVO.getAuditOpinion()); + zjBgMasterLineMapper.update( updateWrapper); + } + } + + @Override + public void confirm(UnqualifiedNotificationSaveReqVO operateReqVO) { + if ("过程检".equals(operateReqVO.getType())){ + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(BgMasterLineDO::getId, operateReqVO.getId()) + .set(BgMasterLineDO::getConStatus, 2); + bgMasterLineMapper.update( updateWrapper); + }else { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(ZjBgMasterLineDO::getId, operateReqVO.getId()) + .set(ZjBgMasterLineDO::getConStatus, 2); + zjBgMasterLineMapper.update( updateWrapper); + } + + } + + @Override + public Long countWx1(UnqualifiedNotificationPageReqVO pageReqVO) { + return unqualifiedNotificationMapper.selectCountConfirmPageWx(1, 5,5, Objects.requireNonNull(getLoginUser()).getId().intValue()); } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotificationfile/UnqualifiedNotificationFileService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotificationfile/UnqualifiedNotificationFileService.java index ca896bf..aed8c54 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotificationfile/UnqualifiedNotificationFileService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotificationfile/UnqualifiedNotificationFileService.java @@ -21,7 +21,7 @@ public interface UnqualifiedNotificationFileService { int createUnqualifiedNotificationFile(@Valid UnqualifiedNotificationFileDO unqualifiedNotificationFileDO); // void updateUnqualifiedNotificationFile(@Valid UnqualifiedNotificationFileDO unqualifiedNotificationFileDO); -List queryUnqualifiedNotificationFileBySuperId(@Valid Long unqualificationId); +List queryUnqualifiedNotificationFileBySuperId(@Valid Long unqualificationId,Integer type); /** * 删除品质异常通知单审核 * diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotificationfile/UnqualifiedNotificationFileServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotificationfile/UnqualifiedNotificationFileServiceImpl.java index 3f504be..75faf5e 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotificationfile/UnqualifiedNotificationFileServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/unqualifiednotificationfile/UnqualifiedNotificationFileServiceImpl.java @@ -33,8 +33,8 @@ public class UnqualifiedNotificationFileServiceImpl implements UnqualifiedNotifi // } @Override - public List queryUnqualifiedNotificationFileBySuperId(Long unqualificationId) { - return unqualifiedNotificationFileMapper.queryUnqualifiedNotificationFileBySuperId(unqualificationId); + public List queryUnqualifiedNotificationFileBySuperId(Long unqualificationId,Integer type) { + return unqualifiedNotificationFileMapper.queryUnqualifiedNotificationFileBySuperId(unqualificationId,type); } @Override diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjbgmasterline/ZjBgMasterLineService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjbgmasterline/ZjBgMasterLineService.java index 6cc056f..5234c50 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjbgmasterline/ZjBgMasterLineService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjbgmasterline/ZjBgMasterLineService.java @@ -22,7 +22,7 @@ public interface ZjBgMasterLineService { * @return 编号 */ Integer updateBgMasterLines(@Valid ZjBgMasterLineSaveReqVO createReqVO); - + public boolean validExceed(Long zjmxId,Integer amount); /** * 创建终检报工 @@ -44,7 +44,7 @@ public interface ZjBgMasterLineService { * * @param id 编号 */ - void deleteZjBgMasterLine(Integer id); + void deleteZjBgMasterLine(Long id); /** * 获得终检报工 @@ -52,7 +52,7 @@ public interface ZjBgMasterLineService { * @param id 编号 * @return 终检报工 */ - ZjBgMasterLineDO getZjBgMasterLine(Integer id); + ZjBgMasterLineDO getZjBgMasterLine(Long id); /** * 获得终检报工分页 diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjbgmasterline/ZjBgMasterLineServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjbgmasterline/ZjBgMasterLineServiceImpl.java index 1b28a26..a7edf61 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjbgmasterline/ZjBgMasterLineServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjbgmasterline/ZjBgMasterLineServiceImpl.java @@ -1,12 +1,15 @@ package com.chanko.yunxi.mes.module.heli.service.zjbgmasterline; +import cn.hutool.core.collection.CollUtil; import com.chanko.yunxi.mes.module.heli.controller.admin.bgmasterline.vo.BgMasterLineSaveReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterLineDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.unqualifiednotificationfile.UnqualifiedNotificationFileDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.zjpgmaster.ZjPgMasterDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.zjpgmaster.ZjPgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.zjpgmaster.ZjPgMasterLineMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.zjpgmaster.ZjPgMasterMapper; +import com.chanko.yunxi.mes.module.heli.service.unqualifiednotificationfile.UnqualifiedNotificationFileService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -43,46 +46,53 @@ public class ZjBgMasterLineServiceImpl implements ZjBgMasterLineService { @Resource private ZjPgMasterLineMapper zjPgMasterLineMapper; - - + @Resource + private UnqualifiedNotificationFileService unqualifiedNotificationFileService; + @Override + public boolean validExceed(Long zjmxId,Integer amount){ + //先取出总的派工数量和预计工时 + ZjPgMasterLineDO zjPgMasterLineDO = zjPgMasterLineMapper.selectById(zjmxId); + //然后再取出这条ID明细ID下的所有工时和报工数量相加 + ZjBgMasterLineDO zjBgMasterLineDO = zjBgMasterLineMapper.selectSum(zjmxId); + //然后加上用户传入的当前的工时和查出的工时进行相加,进行判断 + int value1 = 0; + if(zjBgMasterLineDO!=null){ + //然后加上用户传入的当前的工时和查出的工时进行相加,进行判断 + value1 = zjBgMasterLineDO.getAmount()+amount; + }else{ + value1 = amount; + } + return value1>zjPgMasterLineDO.getAmount(); + } //结束本次报工 @Override public Integer updateBgMasterLines(ZjBgMasterLineSaveReqVO createReqVO){ - if(createReqVO.getAmount() == null || createReqVO.getWorkTime() == null){ - throw exception(TASK_REPORT_PARAMS_ERROR); + if (createReqVO.getType() != null && createReqVO.getType() != 0){ + if(createReqVO.getAmount() == null || createReqVO.getWorkTime() == null){ + throw exception(TASK_REPORT_PARAMS_ERROR); + } } + //先取出总的派工数量和预计工时 ZjPgMasterLineDO zjPgMasterLineDO = zjPgMasterLineMapper.selectById(createReqVO.getZjMxId()); - //然后再取出这条ID明细ID下的所有工时和报工数量相加 - ZjBgMasterLineDO zjBgMasterLineDO = zjBgMasterLineMapper.selectSum(createReqVO.getZjMxId()); - //然后加上用户传入的当前的工时和查出的工时进行相加,进行判断 - int value1 = 0; - if(zjBgMasterLineDO!=null){ - //然后加上用户传入的当前的工时和查出的工时进行相加,进行判断 - value1 = zjBgMasterLineDO.getAmount()+createReqVO.getAmount(); - }else{ - value1 = createReqVO.getAmount(); - } - //先判断报工数量是否大于派工数量 - if(value1>zjPgMasterLineDO.getAmount()){ - //这个地方返回错误:报工数量不允许超过派工数量请检查 - throw exception(TASK_REPORT_PARAMS_ERRORS); - }else{ //取出本派工单在报工明细中,有没有报 ZjBgMasterLineDO zjBgMasterLineDO1 = zjBgMasterLineMapper.selectEnd(createReqVO.getZjMxId()); + if (createReqVO.getType() != null && createReqVO.getType() == 0){ + zjBgMasterLineDO1 = zjBgMasterLineMapper.selectLast(createReqVO.getZjMxId()); + } //判断报工user是否相等 if(zjBgMasterLineDO1.getBgUser().equals(createReqVO.getBgUser())){ //相同时判断报工数量和派工数量是否相等,相等设置为设置报工状态为1 已完成 LocalDateTime currentDateTime = LocalDateTime.now(); - if(value1 == zjPgMasterLineDO.getAmount()){ + if(createReqVO.getType() != null && createReqVO.getType() == 0){ //这个地方跟定是否完成状态 zjPgMasterLineDO.setPgType(1); zjPgMasterLineDO.setDetilUser(Long.parseLong(createReqVO.getBgUser())); zjPgMasterLineDO.setActive("END"); zjPgMasterLineDO.setEntTime(currentDateTime); - zjPgMasterLineMapper.updateById(zjPgMasterLineDO); + return zjPgMasterLineMapper.updateById(zjPgMasterLineDO); //更新工时 }else{ @@ -90,22 +100,25 @@ public class ZjBgMasterLineServiceImpl implements ZjBgMasterLineService { zjPgMasterLineDO.setActive("END"); zjPgMasterLineDO.setEntTime(currentDateTime); zjPgMasterLineMapper.updateById(zjPgMasterLineDO); + //更新报工信息 + //结束时间 + zjBgMasterLineDO1.setEntTime(currentDateTime); + //报工工时 + zjBgMasterLineDO1.setWorkTime(createReqVO.getWorkTime()); + //报工数量 + zjBgMasterLineDO1.setAmount(createReqVO.getAmount()); + zjBgMasterLineDO1.setIsQua(createReqVO.getIsQua()==null ?null :createReqVO.getIsQua()); + zjBgMasterLineDO1.setIsRepre(createReqVO.getIsRepre()==null ?null :createReqVO.getIsRepre()); + zjBgMasterLineDO1.setRemark(createReqVO.getRemark()!=null && !createReqVO.getRemark().trim().equals("")?createReqVO.getRemark() :null); + if (createReqVO.getIsQua() != null && createReqVO.getIsQua() == 1){ + zjBgMasterLineDO1.setNotificationStatus(2); + } + return zjBgMasterLineMapper.updateById(zjBgMasterLineDO1); } - //更新报工信息 - //结束时间 - zjBgMasterLineDO1.setEntTime(currentDateTime); - //报工工时 - zjBgMasterLineDO1.setWorkTime(createReqVO.getWorkTime()); - //报工数量 - zjBgMasterLineDO1.setAmount(createReqVO.getAmount()); - - return zjBgMasterLineMapper.updateById(zjBgMasterLineDO1); }else{ //当创建人和报工人不一样时返回报错,不允许用户报工 throw exception(TASK_REPORT_PARAMS_ERRORBG); } - // - } } @@ -187,27 +200,41 @@ public class ZjBgMasterLineServiceImpl implements ZjBgMasterLineService { } @Override - public void deleteZjBgMasterLine(Integer id) { + public void deleteZjBgMasterLine(Long id) { // 校验存在 validateZjBgMasterLineExists(id); // 删除 zjBgMasterLineMapper.deleteById(id); } - private void validateZjBgMasterLineExists(Integer id) { + private void validateZjBgMasterLineExists(Long id) { if (zjBgMasterLineMapper.selectById(id) == null) { throw exception(ZJ_BG_MASTER_LINE_NOT_EXISTS); } } @Override - public ZjBgMasterLineDO getZjBgMasterLine(Integer id) { + public ZjBgMasterLineDO getZjBgMasterLine(Long id) { return zjBgMasterLineMapper.selectById(id); } @Override public PageResult getZjBgMasterLinePage(ZjBgMasterLinePageReqVO pageReqVO) { - return zjBgMasterLineMapper.selectPage(pageReqVO); + PageResult pageResult = zjBgMasterLineMapper.selectPage(pageReqVO); + List list = pageResult.getList(); + if(CollUtil.isNotEmpty(list)){ + for (ZjBgMasterLineDO bgMasterLineDO : list) { + List fileUrlList = new ArrayList<>(); + List unqualifiedNotificationFileDOS = unqualifiedNotificationFileService.queryUnqualifiedNotificationFileBySuperId(bgMasterLineDO.getId(),2); + if(CollUtil.isNotEmpty(unqualifiedNotificationFileDOS)){ + for (UnqualifiedNotificationFileDO unqualifiedNotificationFileDO : unqualifiedNotificationFileDOS) { + fileUrlList.add(unqualifiedNotificationFileDO.getFileUrl()); + } + bgMasterLineDO.setFileUrlList(fileUrlList); + } + } + } + return pageResult; } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjpgmaster/ZjPgMasterService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjpgmaster/ZjPgMasterService.java index 0b36744..6eef704 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjpgmaster/ZjPgMasterService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjpgmaster/ZjPgMasterService.java @@ -26,7 +26,7 @@ public interface ZjPgMasterService { * @param createReqVO 作废 * @return 编号 */ - Integer zfZjPgMaster(Integer id); + Integer zfZjPgMaster(Long id); /** * 创建质量终检派工单主 * diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjpgmaster/ZjPgMasterServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjpgmaster/ZjPgMasterServiceImpl.java index d790a47..3f1b1bd 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjpgmaster/ZjPgMasterServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/zjpgmaster/ZjPgMasterServiceImpl.java @@ -208,7 +208,7 @@ public class ZjPgMasterServiceImpl implements ZjPgMasterService { @Override - public Integer zfZjPgMaster(Integer id) { + public Integer zfZjPgMaster(Long id) { //作废先判断是否已经报工 ZjBgMasterLineDO zjBgMasterLineDOS = zjBgMasterLineMapper.selectSum(id); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/masterline/MasterLineMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/masterline/MasterLineMapper.xml new file mode 100644 index 0000000..e808b47 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/masterline/MasterLineMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/processbom/ProcessBomMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/processbom/ProcessBomMapper.xml index ffdbce5..f38b1f0 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/processbom/ProcessBomMapper.xml +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/processbom/ProcessBomMapper.xml @@ -22,6 +22,47 @@ select * From project_plan where id =#{param1} + + + + + UPDATE pro_process_bom_detail diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storage/StorageMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storage/StorageMapper.xml index e8588bc..ecf9604 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storage/StorageMapper.xml +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storage/StorageMapper.xml @@ -9,4 +9,12 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/unqualifiednotification/UnqualifiedNotificationMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/unqualifiednotification/UnqualifiedNotificationMapper.xml index d244f16..0713b76 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/unqualifiednotification/UnqualifiedNotificationMapper.xml +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/unqualifiednotification/UnqualifiedNotificationMapper.xml @@ -9,4 +9,311 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> - \ No newline at end of file + + + + + + + diff --git a/mes-ui/mes-ui-admin-vue3/.env.pro b/mes-ui/mes-ui-admin-vue3/.env.pro index 25b00ee..a909bd4 100644 --- a/mes-ui/mes-ui-admin-vue3/.env.pro +++ b/mes-ui/mes-ui-admin-vue3/.env.pro @@ -3,15 +3,15 @@ NODE_ENV=production VITE_DEV=false -# 请求路径https://nxhs.cjyx.cc/admin-api http://192.168.1.87:8080 -VITE_BASE_URL='http://192.168.1.87:8080' +# 请求路径https://nxhs.cjyx.cc/admin-api http://192.168.1.87:8080 https://star.hz-hl.com +VITE_BASE_URL='https://star.hz-hl.com' # 上传路径 http://218.75.46.166:8080 -VITE_UPLOAD_URL='http://192.168.1.87:8080/admin-api/infra/file/upload' +VITE_UPLOAD_URL='https://star.hz-hl.com/admin-api/infra/file/upload' # 上传路径 -VITE_UPLOAD_BATCH_URL='http://192.168.1.87:8080/admin-api/infra/file/uploadBatch' +VITE_UPLOAD_BATCH_URL='https://star.hz-hl.com/admin-api/infra/file/uploadBatch' # 接口前缀 VITE_API_BASEPATH= diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/invoice/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/invoice/index.ts index 7f398e9..2a55226 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/invoice/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/invoice/index.ts @@ -16,6 +16,7 @@ export interface InvoiceVO { canceller: number cancelTime: Date status: number + cgOrderIdId:number } // 查询财务发票分页 @@ -59,3 +60,8 @@ export const getOrderYsInvoice = async (code: string) => { export const getOrderYfInvoice = async (code: string) => { return await request.get({ url: `/heli/invoice/getOrderYfInvoice?code=` + code }) } + +// 查询财务发票分页 +export const getInvoicePages = async (params) => { + return await request.get({ url: `/heli/invoice/pages`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/master/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/master/index.ts index 1cbdc7f..0e8921f 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/master/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/master/index.ts @@ -41,3 +41,11 @@ export const deleteMaster = async (id: number) => { export const exportMaster = async (params) => { return await request.download({ url: `/heli/master/export-excel`, params }) } +// 查询借用主分页 +export const getMasterLinePage = async (params) => { + return await request.get({ url: `/heli/master/getMasterLinePage`, params }) +} +// 导出借用主 Excel +export const exportMasterLine = async (params) => { + return await request.download({ url: `/heli/master/exportMasterLine`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/masterline/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/masterline/index.ts new file mode 100644 index 0000000..06dbcc2 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/masterline/index.ts @@ -0,0 +1,44 @@ +import request from '@/config/axios' + +export interface MasterLineVO { + id: number + jyId: number + jyMaster: string + jyNum: string + rem: string + matId: number +} + +// 查询借用行分页 +export const getMasterLinePage = async (params) => { + return await request.get({ url: `/heli/master-line/page`, params }) +} + +// 查询借用行详情 +export const getMasterLine = async (id: number) => { + return await request.get({ url: `/heli/master-line/get?id=` + id }) +} + +// 新增借用行 +export const createMasterLine = async (data: MasterLineVO) => { + return await request.post({ url: `/heli/master-line/create`, data }) +} + +// 修改借用行 +export const updateMasterLine = async (data: MasterLineVO) => { + return await request.put({ url: `/heli/master-line/update`, data }) +} + +// 删除借用行 +export const deleteMasterLine = async (id: number) => { + return await request.delete({ url: `/heli/master-line/delete?id=` + id }) +} + +// 导出借用行 Excel +export const exportMasterLine = async (params) => { + return await request.download({ url: `/heli/master-line/export-excel`, params }) +} +// 查询借用行详情 +export const getByMasterId = async (id: number) => { + return await request.get({ url: `/heli/master-line/getByMasterId?id=` + id }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/material/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/material/index.ts index 63863f4..16ab424 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/material/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/material/index.ts @@ -84,3 +84,6 @@ export const getStorageNowMaterialGroupPage = async (params) => { export const getSupplementPage = async (params) => { return await request.get({ url: `/heli/material/getSupplementPage`, params }) } +export const getStorageNowMaterialNoPage = async (params) => { + return await request.get({ url: `/heli/material/page-material-group-no`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/processbom/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/processbom/index.ts index 5c7aa65..f4c05a3 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/processbom/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/processbom/index.ts @@ -91,3 +91,12 @@ export const exportStandard = async (params) => { return await request.download({ url: `/heli/process-bom/exportStandard`, params }) } +// 查询加工件生产进度统计 +export const getPlanBb = async (params) => { + return await request.get({ url: `/heli/process-bom/planBbPage`, params }) +} + +// 查询标准件生产进度统计 +export const planBZJPage = async (params) => { + return await request.get({ url: `/heli/process-bom/planBZJPage`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/purchaseorderno/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/purchaseorderno/index.ts index 9f4084b..733c3b1 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/purchaseorderno/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/purchaseorderno/index.ts @@ -77,3 +77,7 @@ export const isPrint = async (id: number) => { export const countReview = async () => { return await request.get({ url: `/heli/purchase-order-make/countReview` }) } +// 打印接口 +export const updateIsPrint = async (id: number) => { + return await request.get({ url: `/heli/purchase-order-no/updateIsPrint?id=` + id }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/storagein/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/storagein/index.ts index 9b87e74..e672d8e 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/storagein/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/storagein/index.ts @@ -56,3 +56,7 @@ export const standardPartsReceived = async (data: StorageInVO) => { export const warehousing = async (id: number) => { return await request.get({ url: `/heli/storage-in/warehousing?id=` + id }) } +// 查询入库单详情 +export const updateIsPrint = async (id: number) => { + return await request.get({ url: `/heli/storage-in/updateIsPrint?id=` + id }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/storageinventory/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/storageinventory/index.ts index 270d13c..87eb9bb 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/storageinventory/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/storageinventory/index.ts @@ -62,3 +62,7 @@ export const getSupplementPage = async (params) => { export const realTimeInventory = async (params) => { return await request.get({ url: `/heli/storage-inventory/realTimeInventory`, params }) } +// 查询库存 +export const getById = async (params) => { + return await request.get({ url: `/heli/storage-inventory/getById`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/unqualifiednotification/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/unqualifiednotification/index.ts index 35ee1d5..bf7fccb 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/unqualifiednotification/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/unqualifiednotification/index.ts @@ -53,3 +53,11 @@ export async function operateUnqualifiedNotification(data: UnqualifiedNotificati export const getUnqualifiedNotificationStatisticPage = async (params) => { return await request.get({ url: `/heli/unqualified-notification/statisticPage`, params }) } +// 导出品质异常通知单审核 Excel +export const exportStatisticPage = async (params) => { + return await request.download({ url: `/heli/unqualified-notification/exportStatisticPage`, params }) +} +// 新增入/出库 +export const review = async (data) => { + return await request.post({ url: `/heli/unqualified-notification/review`, data }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/checkStatus.png b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/checkStatus.png new file mode 100644 index 0000000..7b17d0c Binary files /dev/null and b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/checkStatus.png differ diff --git a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/checkstatuss.png b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/checkstatuss.png new file mode 100644 index 0000000..99e24ce Binary files /dev/null and b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/checkstatuss.png differ diff --git a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/checkstatusss.png b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/checkstatusss.png new file mode 100644 index 0000000..ca0d85f Binary files /dev/null and b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/checkstatusss.png differ diff --git a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/out.png b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/out.png new file mode 100644 index 0000000..99e24ce Binary files /dev/null and b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/out.png differ diff --git a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/overCheckStatus.png b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/overCheckStatus.png new file mode 100644 index 0000000..474eca7 Binary files /dev/null and b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/overCheckStatus.png differ diff --git a/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts b/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts index 1c9ce4a..1c22a7b 100644 --- a/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts +++ b/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts @@ -295,5 +295,6 @@ export enum DICT_TYPE { HELI_STORAGEIN_STATUS='heli_storagein_status', MATERIAL_PLAN_BOOM_MPLAN_STATUS='material_plan_boom_mplan_status', HELI_PROJECT_PURCHASE_ORDER_NO_TYPE = 'heli_project_purchase_order_no_type',//采购单类型 + HELI_DISPATCH_PRODUCTION_STATUS = 'heli_dispatch_production_status', // 派工单状态 } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/Home/Index.vue b/mes-ui/mes-ui-admin-vue3/src/views/Home/Index.vue index 8c5036b..7e391dd 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/Home/Index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/Home/Index.vue @@ -546,7 +546,8 @@ const getList = async () => { jibie: item.level, dbsx: '', yesorno:item.yesorno, - sctime: formatTime(item.createTime, 'yyyy-MM-dd HH:mm:ss') + sctime: formatTime(item.createTime, 'yyyy-MM-dd HH:mm:ss'), + attr14:item.attr14 }; switch (item.thingname) { @@ -663,7 +664,15 @@ const handlePay =async (row: any) => { } if (row.type == '《物料需求计划》提交后') { await bdgzsomthingApi.deleteByIdNew(row.id); - router.push({ path: '/purchase/MaterialPlanAudit', state: { idid: row.idid } }); + + if (row.attr14=='0'){ + router.push({ path: '/purchase/buy', state: { idid: row.idid } }); + }else { + + router.push({ path: '/purchase/PartPurchase', state: { idid: row.idid } }); + + } + // router.push({ path: '/purchase/MaterialPlanAudit', state: { idid: row.idid } }); // router.push({ path: '/purchase/MaterialPlanAudit', query: { idid: row.idid } }); } if (row.type == 'BOM变更审核') { @@ -671,6 +680,9 @@ const handlePay =async (row: any) => { router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } }); await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //直接修改取消显示 } + if (row.type == '《采购订单》到货时通知检验') { + await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //直接修改取消显示 + } if (row.type == 'BOM变更通知') { // router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } }); router.push({ path: '/processDesign/heli/processdesign/bom', state: { idid: row.idid } }); @@ -763,6 +775,11 @@ const handlePaysee =async (row: any) => { // router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } }); await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //直接修改取消显示 } + if (row.type == '《采购订单》到货时通知检验') { + // router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } }); + // router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } }); + await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //直接修改取消显示 + } if (row.type == '装配任务到期'){ await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //直接修改取消显示 } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/PriceQuoteRecord/detail.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/PriceQuoteRecord/detail.vue index 9a092a4..f8c1c69 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/PriceQuoteRecord/detail.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/PriceQuoteRecord/detail.vue @@ -147,6 +147,8 @@ ref="contractUploadRef" :file-list="contractUploadFiles" multiple :action="uplo @@ -166,10 +168,9 @@ ref="contractUploadRef" :file-list="contractUploadFiles" multiple :action="uplo - + + + + + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderyf/record.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderyf/record.vue index 029a06f..4fc09be 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderyf/record.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderyf/record.vue @@ -71,7 +71,7 @@ - + @@ -83,12 +83,35 @@ + + + + + + + + + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/OrderYsForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/OrderYsForm.vue index b589c8e..b0b8f14 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/OrderYsForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/OrderYsForm.vue @@ -1,11 +1,12 @@ + + @@ -181,18 +187,30 @@ + + + + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/record.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/record.vue index fc05d00..7ed3112 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/record.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/record.vue @@ -104,12 +104,35 @@ /> + + + + + + + + + @@ -258,8 +281,9 @@ const tableRowClassName = ({ row }) => { // 将 endTime 和 currentTime 的时间部分设置为零 endTime.setHours(0, 0, 0, 0); currentTime.setHours(0, 0, 0, 0); + console.log(endTime) + console.log(currentTime) if (endTime < currentTime){ - console.log(1) return 'warning-row1'; }else { return '' diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/add.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/add.vue index 742645c..715d385 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/add.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/add.vue @@ -147,12 +147,14 @@ import purchaseorderDialog from '@/views/heli/outsourcestock/purchaseorderDialog import { useTagsViewStore } from '@/store/modules/tagsView' import supplierDialog from '@/views/heli/purchaseorder/supplierDialog.vue' import * as OutsourceStockApi from '@/api/heli/outsourcestock' +import {useUserStore} from "@/store/modules/user"; const { t } = useI18n() // 国际化 const message = useMessage() // 消息弹窗 const router = useRouter() const tagsViewStore = useTagsViewStore() - +const userStore = useUserStore() +const username = userStore.getUser.nickname const currentTag = router.currentRoute.value const dialogVisible = ref(false) // 弹窗的是否展示 const dialogTitle = ref('') // 弹窗的标题 @@ -169,7 +171,7 @@ const formData = ref({ autoStockIn: undefined, autoStockOut: undefined, deliver: undefined, - receiver: undefined, + receiver: username, arrivalDate: undefined, inspectionDate: undefined, remark: undefined, @@ -210,6 +212,7 @@ const handleSelectedProjectPurchaseorder = (arr) => { formData.value.supplierName = arr.supplierName formData.value.supplierId = arr.supplierId formData.value.goodsType = arr.goodsType + formData.value.deliver=arr.submitUserName setAutomaticWarehousing() } } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/edit.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/edit.vue index 730b532..aa7f397 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/edit.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/edit.vue @@ -459,6 +459,12 @@ link type="primary" size="small" :disabled="formData.status == 2" @@ -488,17 +494,12 @@ link type="primary" size="small" :disabled="formData.status == 2" - + + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/firstAdd.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/firstAdd.vue index 2409032..02fcecf 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/firstAdd.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/firstAdd.vue @@ -454,6 +454,8 @@ link type="primary" size="small" :disabled="formData.status == 2 || formData.sta @@ -483,15 +485,14 @@ link type="primary" size="small" :disabled="formData.status == 2 || formData.sta - + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/purchaseorderDialog.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/purchaseorderDialog.vue index 24c528a..1c89e87 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/purchaseorderDialog.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcestock/purchaseorderDialog.vue @@ -128,7 +128,7 @@ const queryParams = reactive({ taxRatio: undefined, estimatedPrice: undefined, actualPrice: undefined, - status: undefined, + status: 3, receivingStatus: undefined, submitUserId: undefined, submitTime: [], diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchase/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchase/index.vue index 9945a41..aadb15e 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchase/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchase/index.vue @@ -29,6 +29,9 @@ + + + 搜索 @@ -62,14 +65,8 @@ - - - - + + @@ -86,8 +83,15 @@ + + + - + - + + + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/subproject.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/subproject.vue index 5e3ea9c..916e882 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/subproject.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/subproject.vue @@ -35,7 +35,7 @@ - diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/unqualifiednotification/statistic.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/unqualifiednotification/statistic.vue index bce53de..826a0a5 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/unqualifiednotification/statistic.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/unqualifiednotification/statistic.vue @@ -41,6 +41,14 @@ 重置 + + 导出 + @@ -49,21 +57,40 @@ - - + - - - + + - - + + + + + + + + + + + + + + + @@ -72,13 +99,16 @@ @pagination="getList" /> +