From bd8870982d9afae85a93852fcf058cbe2f2b7a0e Mon Sep 17 00:00:00 2001 From: Yangwl <1726150332@qq.com> Date: Tue, 9 Jan 2024 14:11:39 +0800 Subject: [PATCH] =?UTF-8?q?OA=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/op/system/api/RemoteOpenService.java | 7 +- .../factory/RemoteOpenFallbackFactory.java | 8 +- .../op/common/core/constant/Constants.java | 8 +- .../controller/MesReportWorkController.java | 2 +- .../controller/MesUnitPriceController.java | 15 ++ .../java/com/op/mes/domain/MesReportWork.java | 157 ++++++++++----- .../op/mes/mapper/MesReportWorkMapper.java | 2 + .../op/mes/service/IMesReportWorkService.java | 2 + .../op/mes/service/IMesUnitPriceService.java | 3 + .../impl/MesReportWorkServiceImpl.java | 7 + .../service/impl/MesUnitPriceServiceImpl.java | 43 +++++ .../mapper/mes/MesReportWorkMapper.xml | 53 ++++++ .../mapper/mes/MesUnitPriceMapper.xml | 2 + .../op/open/controller/OpenController.java | 33 ++-- .../java/com/op/open/service/OpenService.java | 2 +- .../op/open/service/impl/OpenServiceImpl.java | 180 +++++++++--------- .../op/sap/service/impl/SapItemSyncImpl.java | 21 -- 17 files changed, 365 insertions(+), 180 deletions(-) diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteOpenService.java b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteOpenService.java index 680f81b7..f5840b14 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteOpenService.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteOpenService.java @@ -6,6 +6,7 @@ import com.op.system.api.factory.RemoteOpenFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; import java.util.Map; @@ -16,8 +17,12 @@ import java.util.Map; */ @FeignClient(contextId = "remoteOpenService", value = ServiceNameConstants.OPEN_SERVICE, fallbackFactory = RemoteOpenFallbackFactory.class) public interface RemoteOpenService { - /**提交ZL0010-来料检验不合格控制流程**/ + /**提交流程**/ @PostMapping("/openInterface/OAInspection") public AjaxResult OAInspection(@RequestBody(required = false) Map paramMap); + /**获取流程信息**/ + + @PostMapping("/openInterface/GetOaNodeInfo") + public AjaxResult GetOaNodeInfo(@RequestParam String requestId); } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteOpenFallbackFactory.java b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteOpenFallbackFactory.java index b3d5bc63..8ef1ae4d 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteOpenFallbackFactory.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteOpenFallbackFactory.java @@ -8,6 +8,7 @@ import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; import java.util.Map; @@ -20,7 +21,12 @@ public class RemoteOpenFallbackFactory implements FallbackFactory paramMap) { - return AjaxResult.error("提交ZL0010-来料检验不合格控制流程失败"+throwable.getMessage()); + return AjaxResult.error("提交流程失败"+throwable.getMessage()); + } + + @Override + public AjaxResult GetOaNodeInfo(@RequestParam String requestId) { + return AjaxResult.error("获取流程失败"+throwable.getMessage()); } }; } diff --git a/op-common/op-common-core/src/main/java/com/op/common/core/constant/Constants.java b/op-common/op-common-core/src/main/java/com/op/common/core/constant/Constants.java index 81d7b51f..55d6df0a 100644 --- a/op-common/op-common-core/src/main/java/com/op/common/core/constant/Constants.java +++ b/op-common/op-common-core/src/main/java/com/op/common/core/constant/Constants.java @@ -148,9 +148,11 @@ public class Constants { //领料 public static final Integer LL=261; - //来料检验不合格控制流程workflowId + //ZL0010-来料检验不合格控制流程 - public static final Integer WORKFLOWID=26235; + public static final Integer WORKFLOWID_ZL0010=26235; + + //ZL0020-成品检验控制流程 + public static final Integer WORKFLOWID_ZL0020=26234; - //过程检验不合格控制流程workflowId } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkController.java index d70885d4..ad1e50ef 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkController.java @@ -87,7 +87,7 @@ public class MesReportWorkController extends BaseController { // String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; // mesReportWork.setCreateTimeEnd(dateEndStr);//end // } - List list = mesReportWorkService.selectMesReportWorkList(mesReportWork); + List list = mesReportWorkService.selectMesReportWorkList_S(mesReportWork); ExcelUtil util = new ExcelUtil(MesReportWork.class); util.exportExcel(response, list, "报工报表数据"); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesUnitPriceController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesUnitPriceController.java index 85374e65..cacf2b65 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesUnitPriceController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesUnitPriceController.java @@ -4,6 +4,7 @@ import java.io.IOException; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.op.common.security.utils.SecurityUtils; import com.op.mes.domain.MesUnitPrice; import com.op.mes.service.IMesUnitPriceService; import org.springframework.beans.factory.annotation.Autowired; @@ -23,6 +24,7 @@ import com.op.common.core.web.controller.BaseController; import com.op.common.core.web.domain.AjaxResult; import com.op.common.core.utils.poi.ExcelUtil; import com.op.common.core.web.page.TableDataInfo; +import org.springframework.web.multipart.MultipartFile; /** * unitPriceController @@ -58,12 +60,25 @@ public class MesUnitPriceController extends BaseController { ExcelUtil util = new ExcelUtil(MesUnitPrice.class); util.exportExcel(response, list, "unitPrice数据"); } + + @Log(title = "计件薪资管理", businessType = BusinessType.IMPORT) + @RequiresPermissions("system:unitPrice:import") + @PostMapping("/importData") + public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { + ExcelUtil util = new ExcelUtil(MesUnitPrice.class); + List UnitPriceList = util.importExcel(file.getInputStream()); + String operName = SecurityUtils.getUsername(); + String message = mesUnitPriceService.importMesUnitPrice(UnitPriceList, updateSupport, operName); + return success(message); + } + @PostMapping("/importTemplate") public void importTemplate(HttpServletResponse response) throws IOException { ExcelUtil util = new ExcelUtil(MesUnitPrice.class); util.importTemplateExcel(response, "产品单价导入模板"); } + /** * 获取unitPrice详细信息 */ diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWork.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWork.java index df2eda83..49d5e5bd 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWork.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWork.java @@ -21,19 +21,18 @@ public class MesReportWork extends BaseEntity { /** 记录id */ private String id; - - /** 报工单编号 */ - @Excel(name = "报工单编号") - private String reportCode; - - /** 报工类型,报工类型:SELF自行报工、UNI统一报工 */ - @Excel(name = "报工类型,报工类型:SELF上位机报工、UNI系统报工") - private String reportType; + /** 线体名称 */ + @Excel(name = "线体名称") + private String machineName; /** 生产工单编码 */ @Excel(name = "生产工单编码") private String workorderCode; + /** SAP订单号 */ + @Excel(name = "SAP订单号") + private String workorderCodeSap; + /** 产品编码 */ @Excel(name = "产品编码") private String productCode; @@ -42,22 +41,73 @@ public class MesReportWork extends BaseEntity { @Excel(name = "产品名称") private String productName; - /** 规格型号 */ - @Excel(name = "规格型号") - private String spec; + /** 批次号 */ + @Excel(name = "批次号") + private String batch; /** 单位 */ @Excel(name = "单位") private String unit; - /** 排产数量 */ - @Excel(name = "排产数量") - private BigDecimal quantity; - private BigDecimal quantitySplit; /** 本次报工数量 */ @Excel(name = "本次报工数量") private BigDecimal quantityFeedback; + /** 工时 */ + @Excel(name = "工时") + private Long workTime; + + @Excel(name = "用人") + private Long useMan; + + /** 报工人员 */ + @Excel(name = "报工人员") + private String nickName; + + /** 报工时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "报工时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date feedbackTime; + + /** 耗用物料编码 */ + @Excel(name = "耗用物料编码") + private String materialCode; + + + /** 耗用物料名称 */ + @Excel(name = "耗用物料名称") + private String materialName; + + /** 物料消耗数量 */ + @Excel(name = "物料消耗数量") + private BigDecimal quantity; + + /** 物料消耗数量 */ + @Excel(name = "物料消耗单位") + private String materialNameUnit; + + + + /** 报工单编号 */ +// @Excel(name = "报工单编号") + private String reportCode; + + /** 报工类型,报工类型:SELF自行报工、UNI统一报工 */ + //@Excel(name = "报工类型,报工类型:SELF上位机报工、UNI系统报工") + private String reportType; + + + /** 规格型号 */ + //@Excel(name = "规格型号") + private String spec; + + + + + + private BigDecimal quantitySplit; + + /** 合格数量 */ //@Excel(name = "合格数量") private BigDecimal quantityQualified; @@ -67,60 +117,50 @@ public class MesReportWork extends BaseEntity { private BigDecimal quantityUnqualified; /** 报工人员 */ - @Excel(name = "报工人员") + //@Excel(name = "报工人员") private String userName; - /** 人员名称 */ - @Excel(name = "人员名称") - private String nickName; + /** 报工途径:PAD、MOBILE、PC */ //@Excel(name = "报工途径:PAD、MOBILE、PC") private String feedbackChannel; - /** 报工时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "报工时间", width = 30, dateFormat = "yyyy-MM-dd") - private Date feedbackTime; + private String feedbackTimeStr; /** 录入人员 */ - @Excel(name = "录入人员") + //@Excel(name = "录入人员") private String recordUser; /** 状态 */ - @Excel(name = "状态") + //@Excel(name = "状态") private String status; - /** 工时 */ - @Excel(name = "工时") - private Long workTime; - @Excel(name = "用人") - private Long useMan; + + /** 线体编码 */ - @Excel(name = "线体编码") + //@Excel(name = "线体编码") private String machineCode; - /** 线体名称 */ - @Excel(name = "线体名称") - private String machineName; + /** 班组编码 */ - @Excel(name = "班组编码") + //@Excel(name = "班组编码") private String teamCode; /** 班次编码 */ - @Excel(name = "班次编码") + //@Excel(name = "班次编码") private String shiftCode; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "SAP报工时间") + //@Excel(name = "SAP报工时间") private Date uploadTime; - @Excel(name = "SAP报工状态0待报工1成功2失败") + //@Excel(name = "SAP报工状态0待报工1成功2失败") private String uploadStatus; - @Excel(name = "SAP报工信息") + //@Excel(name = "SAP报工信息") private String uploadMsg; /** 预留字段1 */ //@Excel(name = "预留字段1") @@ -137,23 +177,23 @@ public class MesReportWork extends BaseEntity { /** 预留字段4 */ //@Excel(name = "预留字段4") private String attr4; - @Excel(name = "计划生产日期") + //@Excel(name = "计划生产日期") private String productDate; private String productDateStart; private String productDateEnd; - @Excel(name = "订单编号") + //@Excel(name = "订单编号") private String orderCode; - @Excel(name = "规格型号") + //@Excel(name = "规格型号") private String productSpc; - @Excel(name = "工序名称") + //@Excel(name = "工序名称") private String processName; - @Excel(name = "工序编码") + //@Excel(name = "工序编码") private String processCode; private String factoryCode; private String factoryName; private String carCode; private String carName; - private String workorderCodeSap; + private String routeCode; private String sac1; private String sac2; @@ -166,7 +206,7 @@ public class MesReportWork extends BaseEntity { private String createTimeEnd; private String feedbackTimeStart; private String feedbackTimeEnd; - private String batch; + private String endReport; private String parentOrder; private String workorderCodes; @@ -180,8 +220,33 @@ public class MesReportWork extends BaseEntity { private Long workTimes; private String workCenter; private String shiftId; + private List consumesInfos; + public String getMaterialCode() { + return materialCode; + } + + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getMaterialName() { + return materialName; + } + + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public String getMaterialNameUnit() { + return materialNameUnit; + } + + public void setMaterialNameUnit(String materialNameUnit) { + this.materialNameUnit = materialNameUnit; + } + public String getShiftId() { return shiftId; } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java index 1513a6cc..35ccd15d 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java @@ -125,4 +125,6 @@ public interface MesReportWorkMapper { public MesReportWork getReportWorkHz(MesReportWork mesReportWork); MesReportWork getEndReport(MesReportWork pWork); + + List selectMesReportWorkList_S(MesReportWork mesReportWork); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkService.java index 6f89c239..a543a263 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkService.java @@ -98,4 +98,6 @@ public interface IMesReportWorkService { int submitReportPS(List mesReportWorks); List getPrepareList(MesPrepareDetail mesPrepareDetail); + + List selectMesReportWorkList_S(MesReportWork mesReportWork); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesUnitPriceService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesUnitPriceService.java index be6a7036..66764c91 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesUnitPriceService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesUnitPriceService.java @@ -59,4 +59,7 @@ public interface IMesUnitPriceService { * @return 结果 */ public int deleteMesUnitPriceByPicId(String picId); + + + public String importMesUnitPrice(List UnitPriceList, Boolean updateSupport,String operName); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java index 3a05d701..8d1d7fe9 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java @@ -169,6 +169,13 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { return mesReportWorkMapper.getPrepareList(mesPrepareDetail); } + @Override + @DS("#header.poolName") + public List selectMesReportWorkList_S(MesReportWork mesReportWork) { + List dtos = mesReportWorkMapper.selectMesReportWorkList_S(mesReportWork); + return dtos; + } + /** * 修改报工报表 * diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesUnitPriceServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesUnitPriceServiceImpl.java index a32b224f..3015610c 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesUnitPriceServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesUnitPriceServiceImpl.java @@ -3,10 +3,15 @@ package com.op.mes.service.impl; import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.exception.ServiceException; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.StringUtils; +import com.op.common.core.utils.uuid.IdUtils; import com.op.mes.domain.MesUnitPrice; import com.op.mes.mapper.MesUnitPriceMapper; import com.op.mes.service.IMesUnitPriceService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -19,9 +24,13 @@ import org.springframework.stereotype.Service; */ @Service public class MesUnitPriceServiceImpl implements IMesUnitPriceService { + + private static final Logger log = LoggerFactory.getLogger(IMesUnitPriceService.class); + @Autowired private MesUnitPriceMapper mesUnitPriceMapper; + /** * 查询unitPrice * @@ -90,4 +99,38 @@ public class MesUnitPriceServiceImpl implements IMesUnitPriceService { public int deleteMesUnitPriceByPicId(String picId) { return mesUnitPriceMapper.deleteMesUnitPriceByPicId(picId); } + + @Override + @DS("#header.poolName") + public String importMesUnitPrice(List UnitPriceList, Boolean updateSupport, String operName) { + if (StringUtils.isNull(UnitPriceList) || UnitPriceList.size() == 0) { + throw new ServiceException("导入数据不能为空!"); + } + int successNum = 0; + int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + for (MesUnitPrice mesUnitPrice : UnitPriceList) { + try { + // 验证是否存在这个产线产品 + mesUnitPrice.setPicId(IdUtils.simpleUUID()); + mesUnitPriceMapper.insertMesUnitPrice(mesUnitPrice); + successNum++; + successMsg.append("导入成功"); + + } catch (Exception e) { + failureNum++; + String msg = "导入失败:"; + failureMsg.append(msg + e.getMessage()); + log.error(msg, e); + } + } + if (failureNum > 0) { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + } else { + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } } diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml index 2c11f765..556bef11 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml @@ -9,6 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -43,6 +44,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + @@ -586,6 +592,53 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from mes_report_work where end_report = '1' and workorder_code = #{workorderCode} + insert into mes_report_work diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesUnitPriceMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesUnitPriceMapper.xml index a57d2a12..c79b86c5 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesUnitPriceMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesUnitPriceMapper.xml @@ -30,6 +30,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"