From 996c45f97214bdbfa7c3463ec1a5aee91aa57e0d Mon Sep 17 00:00:00 2001 From: wws <18630710203@163.com> Date: Mon, 6 Nov 2023 16:00:35 +0800 Subject: [PATCH 01/32] =?UTF-8?q?=E4=BF=9D=E5=85=BB=E5=B7=A5=E5=8D=95-?= =?UTF-8?q?=E6=A3=80=E9=AA=8C+=E5=A1=AB=E5=86=99=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EquUpkeepOrderController.java | 15 ++++++- .../java/com/op/device/domain/EquOrder.java | 10 +++++ .../com/op/device/domain/EquOrderEqu.java | 10 +++++ .../op/device/domain/dto/UpKeepOrderDTO.java | 26 ++++++++++++ .../device/mapper/EquOrderEquSpareMapper.java | 7 ++++ .../service/IEquUpkeepOrderService.java | 10 ++++- .../service/impl/EquOrderServiceImpl.java | 12 ++++-- .../impl/EquUpkeepOrderServiceImpl.java | 40 ++++++++++++++++++- .../mapper/device/EquOrderEquSpareMapper.xml | 5 +++ .../mapper/device/EquOrderMapper.xml | 7 +++- 10 files changed, 133 insertions(+), 9 deletions(-) create mode 100644 op-modules/op-device/src/main/java/com/op/device/domain/dto/UpKeepOrderDTO.java diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquUpkeepOrderController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquUpkeepOrderController.java index 7a79430fc..9ba659173 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquUpkeepOrderController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquUpkeepOrderController.java @@ -9,6 +9,7 @@ import com.op.common.log.enums.BusinessType; import com.op.common.security.annotation.RequiresPermissions; import com.op.device.domain.EquOrder; import com.op.device.domain.EquPlan; +import com.op.device.domain.dto.UpKeepOrderDTO; import com.op.device.service.IEquUpkeepOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -29,6 +30,18 @@ public class EquUpkeepOrderController extends BaseController { @Autowired private IEquUpkeepOrderService equUpkeepOrderService; + + /** + * 保养工单检验 + * @param upKeepOrderDTO + * @return + */ + @RequiresPermissions("device:upkeepOrder:add") + @PostMapping("/subInspect") + public AjaxResult subInspect(@RequestBody UpKeepOrderDTO upKeepOrderDTO) { + return equUpkeepOrderService.subInspect(upKeepOrderDTO); + } + /** * 查询保养工单列表 */ @@ -78,7 +91,7 @@ public class EquUpkeepOrderController extends BaseController { @Log(title = "保养工单", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody EquOrder equOrder) { - return toAjax(equUpkeepOrderService.updateEquOrder(equOrder)); + return equUpkeepOrderService.updateEquOrder(equOrder); } /** diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java index 6f05277ae..dcd6febd9 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java @@ -140,6 +140,16 @@ public class EquOrder extends BaseEntity { // 是否停机保养 private String shutDown; + private String orderInspect; + + public String getOrderInspect() { + return orderInspect; + } + + public void setOrderInspect(String orderInspect) { + this.orderInspect = orderInspect; + } + public String getShutDown() { return shutDown; } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderEqu.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderEqu.java index 224b9e7d1..da1f8da90 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderEqu.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderEqu.java @@ -60,6 +60,16 @@ public class EquOrderEqu extends BaseEntity { private List detailList; + private List spareList; + + public List getSpareList() { + return spareList; + } + + public void setSpareList(List spareList) { + this.spareList = spareList; + } + public List getDetailList() { return detailList; } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/dto/UpKeepOrderDTO.java b/op-modules/op-device/src/main/java/com/op/device/domain/dto/UpKeepOrderDTO.java new file mode 100644 index 000000000..2b33d50c2 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/dto/UpKeepOrderDTO.java @@ -0,0 +1,26 @@ +package com.op.device.domain.dto; + +import java.util.List; + +// 保养工单DTO +public class UpKeepOrderDTO { + private List ids; + + private String inspect; + + public String getInspect() { + return inspect; + } + + public void setInspect(String inspect) { + this.inspect = inspect; + } + + public List getIds() { + return ids; + } + + public void setIds(List ids) { + this.ids = ids; + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderEquSpareMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderEquSpareMapper.java index 58d5c9e6f..a752d8f64 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderEquSpareMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderEquSpareMapper.java @@ -58,4 +58,11 @@ public interface EquOrderEquSpareMapper { * @return 结果 */ public int deleteEquOrderEquSpareByIds(String[] ids); + + /** + * 通过上级表单查询备件list + * @param code + * @return + */ + List selectEquOrderEquSpareByParentCode(String code); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IEquUpkeepOrderService.java b/op-modules/op-device/src/main/java/com/op/device/service/IEquUpkeepOrderService.java index 745111960..0da3807ff 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IEquUpkeepOrderService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IEquUpkeepOrderService.java @@ -3,6 +3,7 @@ package com.op.device.service; import com.op.common.core.web.domain.AjaxResult; import com.op.device.domain.EquOrder; import com.op.device.domain.EquPlan; +import com.op.device.domain.dto.UpKeepOrderDTO; import java.util.List; @@ -43,7 +44,7 @@ public interface IEquUpkeepOrderService { * @param equOrder 保养工单 * @return 结果 */ - public int updateEquOrder(EquOrder equOrder); + public AjaxResult updateEquOrder(EquOrder equOrder); /** * 批量删除保养工单 @@ -60,4 +61,11 @@ public interface IEquUpkeepOrderService { * @return 结果 */ public int deleteEquOrderByOrderId(String orderId); + + /** + * 保养工单检验 + * @param upKeepOrderDTO + * @return + */ + AjaxResult subInspect(UpKeepOrderDTO upKeepOrderDTO); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java index 830b1209c..0ad19c07b 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java @@ -8,14 +8,11 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.context.SecurityContextHolder; import com.op.common.core.utils.DateUtils; import com.op.common.core.web.domain.AjaxResult; -import com.op.device.domain.EquOrderDetail; -import com.op.device.domain.EquOrderEqu; -import com.op.device.domain.EquOrderStandard; +import com.op.device.domain.*; import com.op.device.mapper.*; import com.op.system.api.domain.SysUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.op.device.domain.EquOrder; import com.op.device.service.IEquOrderService; import static com.op.common.core.web.domain.AjaxResult.success; @@ -40,6 +37,8 @@ public class EquOrderServiceImpl implements IEquOrderService { private EquOrderStandardMapper equOrderStandardMapper; @Autowired private PersonMapper personMapper; + @Autowired + private EquOrderEquSpareMapper equOrderEquSpareMapper; /** * 查询计划工单 @@ -71,6 +70,11 @@ public class EquOrderServiceImpl implements IEquOrderService { } equ.setDetailList(detailList); + List spareList = equOrderEquSpareMapper.selectEquOrderEquSpareByParentCode(equ.getCode()); + if (spareList.size()>0) { + equ.setSpareList(spareList); + } + // 人员信息 List users = equOrderPersonMapper.selectEquOrderPersonByOrderCode(orderCode); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java index c19ed49c7..c76e5cef6 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java @@ -6,6 +6,7 @@ import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; import com.op.device.domain.*; +import com.op.device.domain.dto.UpKeepOrderDTO; import com.op.device.mapper.*; import com.op.device.service.IEquUpkeepOrderService; import com.op.system.api.domain.SysUser; @@ -207,9 +208,26 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { */ @Override @DS("#header.poolName") - public int updateEquOrder(EquOrder equOrder) { + public AjaxResult updateEquOrder(EquOrder equOrder) { + // 更新保养工单信息 + equOrder.setOrderStart(equOrder.getTimeArray().get(0)); + equOrder.setOrderEnd(equOrder.getTimeArray().get(1)); + equOrder.setUpdateBy(SecurityContextHolder.getUserName()); equOrder.setUpdateTime(DateUtils.getNowDate()); - return equOrderMapper.updateEquOrder(equOrder); + equOrderMapper.updateEquOrder(equOrder); + + // 更新标准信息 + EquOrderEqu equ = equOrder.getEqu(); + List detailList = equ.getDetailList(); + for (EquOrderDetail detail : detailList) { + List standardList = detail.getStandardList(); + for (EquOrderStandard standard : standardList) { + standard.setUpdateBy(SecurityContextHolder.getUserName()); + standard.setUpdateTime(DateUtils.getNowDate()); + equOrderStandardMapper.updateEquOrderStandard(standard); + } + } + return success(); } /** @@ -235,4 +253,22 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { public int deleteEquOrderByOrderId(String orderId) { return equOrderMapper.deleteEquOrderByOrderId(orderId); } + + /** + * 保养工单检验 + * @param upKeepOrderDTO + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult subInspect(UpKeepOrderDTO upKeepOrderDTO) { + List ids = upKeepOrderDTO.getIds(); + for (String id : ids){ + EquOrder order = new EquOrder(); + order.setOrderId(id); + order.setOrderInspect(upKeepOrderDTO.getInspect()); + equOrderMapper.updateEquOrder(order); + } + return success(); + } } diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquSpareMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquSpareMapper.xml index 0b4e5fca1..b191f4a0f 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquSpareMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquSpareMapper.xml @@ -50,6 +50,11 @@ where id = #{id} + + insert into equ_order_equ_spare diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml index 2ffbdad74..a68120338 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml @@ -36,10 +36,11 @@ + - select order_id, plan_id, plan_code, plan_type, order_code, plan_workshop, plan_prod_line, plan_loop, plan_loop_type, plan_loop_start, plan_loop_end, order_start, order_end, equipment_code, order_status, order_cost, plan_person, order_cost_time, order_sign_person, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,upkeep,calculation_rule,shut_down from equ_order + select order_id, plan_id, plan_code, plan_type, order_code, plan_workshop, plan_prod_line, plan_loop, plan_loop_type, plan_loop_start, plan_loop_end, order_start, order_end, equipment_code, order_status, order_cost, plan_person, order_cost_time, order_sign_person, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,upkeep,calculation_rule,shut_down,order_inspect from equ_order @@ -151,6 +153,7 @@ upkeep, calculation_rule, shut_down, + order_inspect, #{orderId}, @@ -184,6 +187,7 @@ #{upkeep}, #{calculationRule}, #{shutDown}, + #{orderInspect}, @@ -220,6 +224,7 @@ upkeep = #{upkeep}, calculation_rule = #{calculationRule}, shut_down = #{shutDown}, + order_inspect = #{orderInspect}, where order_id = #{orderId} From c7bfb41867c8169269afb361bcdf7e303794bc86 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Tue, 7 Nov 2023 15:07:11 +0800 Subject: [PATCH 02/32] =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E6=8A=A5=E5=B7=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/system/api/domain/dto/BaseBomDTO.java | 55 ++ .../system/api/domain/mes/BaseProductDTO.java | 687 ++++++++++++++++++ .../com/op/system/api/domain/sap/SapRFW.java | 4 +- .../MesReportWorkConsumeController.java | 27 +- .../controller/MesReportWorkController.java | 42 +- .../java/com/op/mes/domain/MesReportWork.java | 68 +- .../mapper/MesReportWorkConsumeMapper.java | 17 +- .../op/mes/mapper/MesReportWorkMapper.java | 2 + .../service/IMesReportWorkConsumeService.java | 18 +- .../op/mes/service/IMesReportWorkService.java | 5 + .../service/impl/IWCInterfaceServiceImpl.java | 18 +- .../impl/MesReportWorkConsumeServiceImpl.java | 26 +- .../impl/MesReportWorkServiceImpl.java | 62 +- .../mapper/mes/MesReportWorkConsumeMapper.xml | 17 +- .../mapper/mes/MesReportWorkMapper.xml | 96 ++- .../impl/ProOrderWorkorderServiceImpl.java | 2 + .../impl/ProWhiteOrderServiceImpl.java | 21 - .../op/system/mapper/SysDatasourceMapper.java | 2 + .../service/impl/SysUserServiceImpl.java | 4 + .../mapper/system/SysDatasourceMapper.xml | 3 + 20 files changed, 1059 insertions(+), 117 deletions(-) create mode 100644 op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/BaseProductDTO.java diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/BaseBomDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/BaseBomDTO.java index ee99bd0de..82d3b7207 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/BaseBomDTO.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/BaseBomDTO.java @@ -96,6 +96,61 @@ public class BaseBomDTO extends BaseEntity { @Excel(name = "是否在用") private String currentVersion; + private String component; + private String componentName; + private String unit; + private String productGroup; + private String productGroupName; + private String productCode; + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getComponent() { + return component; + } + + public void setComponent(String component) { + this.component = component; + } + + public String getComponentName() { + return componentName; + } + + public void setComponentName(String componentName) { + this.componentName = componentName; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public String getProductGroup() { + return productGroup; + } + + public void setProductGroup(String productGroup) { + this.productGroup = productGroup; + } + + public String getProductGroupName() { + return productGroupName; + } + + public void setProductGroupName(String productGroupName) { + this.productGroupName = productGroupName; + } + private List children; public List getChildren() { diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/BaseProductDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/BaseProductDTO.java new file mode 100644 index 000000000..ca164f14a --- /dev/null +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/BaseProductDTO.java @@ -0,0 +1,687 @@ +package com.op.system.api.domain.mes; + +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; + +/** + * 物料管理 base_product + * + * @author JGY + * @date 2023-07-18 + */ +public class BaseProductDTO extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private String productId; + + /** 物料编码 */ + @Excel(name = "物料编码") + private String productCode; + + /** 物料名称 */ + @Excel(name = "物料名称") + private String productDescZh; + + /** 物料名称 */ + @Excel(name = "物料型号") + private String productModel; + + /** 英文描述 */ + @Excel(name = "英文描述") + private String productDescEn; + + /** 序列号规则代码 */ + @Excel(name = "序列号规则代码") + private String ruleCode; + + /** 旧物料号 */ + @Excel(name = "旧物料号") + private String oldProductCode; + + /** 散件物料号 */ + @Excel(name = "散件物料号") + private String partsProductCode; + + /** 69码 */ + @Excel(name = "69码") + private String skuBarcode; + + /** 长 */ + @Excel(name = "长") + private BigDecimal length; + + /** 宽 */ + @Excel(name = "宽") + private BigDecimal width; + + /** 高 */ + @Excel(name = "高") + private BigDecimal height; + + /** 毛重 */ + @Excel(name = "毛重") + private BigDecimal grossWeight; + + /** 净重 */ + @Excel(name = "净重") + private BigDecimal netWeight; + + /** 皮重 */ + @Excel(name = "皮重") + private BigDecimal tareWeight; + + /** 体积 */ + @Excel(name = "体积") + private BigDecimal volume; + + /** 单价 */ + @Excel(name = "单价") + private BigDecimal unitPrice; + + /** 物料组 */ + @Excel(name = "物料类别组") + private String productGroup; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String productGroupName; + + /** 用户自定义1 */ + @Excel(name = "用户自定义1") + private String userDefined1; + + /** 用户自定义2 */ + @Excel(name = "用户自定义2") + private String userDefined2; + + /** 用户自定义3 */ + @Excel(name = "用户自定义3") + private String userDefined3; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String userDefined4; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String userDefined5; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String userDefined6; + + /** 工厂编码 */ + @Excel(name = "工厂编码") + private String factoryCode; + + /** 激活标记 */ + @Excel(name = "激活标记") + private String activeFlag; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String syncFlag; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String primaryUom; + + /** $column.columnComment */ + private String delFlag; + + /** 订单单位 */ + @Excel(name = "订单单位") + private String bstme; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private BigDecimal basicOrder; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private BigDecimal convOrder; + + /** 发货单位 */ + @Excel(name = "发货单位") + private String ausme; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private BigDecimal basicIssue; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private BigDecimal convIssue; + + /** 是否补料(0否 */ + @Excel(name = "是否补料", readConverterExp = "是否补料(0否") + private String appendFlag; + + /** 补料比例 */ + @Excel(name = "补料比例") + private String appendPercent; + + /** 物料类型 */ + @Excel(name = "物料类型") + private String mtart; + + /** 品类 */ + @Excel(name = "品类") + private String category; + + /** 每PC单圈 */ + @Excel(name = "每PC单圈") + private String pc; + + /** 标准效率 */ + @Excel(name = "标准效率") + private BigDecimal iei; + + /** 标准用人 */ + @Excel(name = "标准用人") + private BigDecimal manStandar; + + /** 喷药方式 */ + @Excel(name = "喷药方式") + private String sprayWay; + + /** 白坯直径 */ + @Excel(name = "白坯直径") + private BigDecimal blankDiameter; + + /** 白坯物料号 */ + @Excel(name = "白坯物料号") + private String blankNo; + + /** 标准喷药量(KG/PC) */ + @Excel(name = "标准喷药量", readConverterExp = "K=G/PC") + private BigDecimal sprayVolume; + + /** 药液料号 */ + @Excel(name = "药液料号") + private String liquidNo; + + /** 标准内膜用量(KG/PC) */ + @Excel(name = "标准内膜用量", readConverterExp = "K=G/PC") + private BigDecimal endometrialDosage; + + /** 标准外模用量(KG/PC) */ + @Excel(name = "标准外模用量(KG/PC)") + private BigDecimal outerFilmDosage; + + /** 支架 */ + @Excel(name = "支架") + private Long support; + + /** 支架物料号 */ + @Excel(name = "支架物料号") + private String supportNo; + + /** 吸塑 */ + @Excel(name = "吸塑") + private Long pvc; + + /** 支架盘 */ + @Excel(name = "支架盘") + private Long supportPlate; + + /** 其它 */ + @Excel(name = "其它") + private String other; + + public void setCategory(String category) { + this.category = category; + } + + public String getCategory() { + return category; + } + public void setPc(String pc) { + this.pc = pc; + } + + public String getPc() { + return pc; + } + public void setIei(BigDecimal iei) { + this.iei = iei; + } + + public BigDecimal getIei() { + return iei; + } + public void setManStandar(BigDecimal manStandar) { + this.manStandar = manStandar; + } + + public BigDecimal getManStandar() { + return manStandar; + } + public void setSprayWay(String sprayWay) { + this.sprayWay = sprayWay; + } + + public String getSprayWay() { + return sprayWay; + } + public void setBlankDiameter(BigDecimal blankDiameter) { + this.blankDiameter = blankDiameter; + } + + public BigDecimal getBlankDiameter() { + return blankDiameter; + } + public void setBlankNo(String blankNo) { + this.blankNo = blankNo; + } + + public String getBlankNo() { + return blankNo; + } + public void setSprayVolume(BigDecimal sprayVolume) { + this.sprayVolume = sprayVolume; + } + + public BigDecimal getSprayVolume() { + return sprayVolume; + } + public void setLiquidNo(String liquidNo) { + this.liquidNo = liquidNo; + } + + public String getLiquidNo() { + return liquidNo; + } + public void setEndometrialDosage(BigDecimal endometrialDosage) { + this.endometrialDosage = endometrialDosage; + } + + public BigDecimal getEndometrialDosage() { + return endometrialDosage; + } + public void setOuterFilmDosage(BigDecimal outerFilmDosage) { + this.outerFilmDosage = outerFilmDosage; + } + + public BigDecimal getOuterFilmDosage() { + return outerFilmDosage; + } + public void setSupport(Long support) { + this.support = support; + } + + public Long getSupport() { + return support; + } + public void setSupportNo(String supportNo) { + this.supportNo = supportNo; + } + + public String getSupportNo() { + return supportNo; + } + public void setPvc(Long pvc) { + this.pvc = pvc; + } + + public Long getPvc() { + return pvc; + } + public void setSupportPlate(Long supportPlate) { + this.supportPlate = supportPlate; + } + + public Long getSupportPlate() { + return supportPlate; + } + public void setOther(String other) { + this.other = other; + } + + public String getOther() { + return other; + } + + public void setProductId(String productId) { + this.productId = productId; + } + public String getProductId() { + return productId;} + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductCode() { + return productCode; + } + public void setProductDescZh(String productDescZh) { + this.productDescZh = productDescZh; + } + + public String getProductDescZh() { + return productDescZh; + } + + public void setProductModel(String productModel) { + this.productModel = productModel; + } + + public String getProductModel() { + return productModel; + } + public void setProductDescEn(String productDescEn) { + this.productDescEn = productDescEn; + } + + public String getProductDescEn() { + return productDescEn; + } + public void setRuleCode(String ruleCode) { + this.ruleCode = ruleCode; + } + + public String getRuleCode() { + return ruleCode; + } + public void setOldProductCode(String oldProductCode) { + this.oldProductCode = oldProductCode; + } + + public String getOldProductCode() { + return oldProductCode; + } + public void setPartsProductCode(String partsProductCode) { + this.partsProductCode = partsProductCode; + } + + public String getPartsProductCode() { + return partsProductCode; + } + public void setSkuBarcode(String skuBarcode) { + this.skuBarcode = skuBarcode; + } + + public String getSkuBarcode() { + return skuBarcode; + } + public void setLength(BigDecimal length) { + this.length = length; + } + + public BigDecimal getLength() { + return length; + } + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getWidth() { + return width; + } + public void setHeight(BigDecimal height) { + this.height = height; + } + + public BigDecimal getHeight() { + return height; + } + public void setGrossWeight(BigDecimal grossWeight) { + this.grossWeight = grossWeight; + } + + public BigDecimal getGrossWeight() { + return grossWeight; + } + public void setNetWeight(BigDecimal netWeight) { + this.netWeight = netWeight; + } + + public BigDecimal getNetWeight() { + return netWeight; + } + public void setTareWeight(BigDecimal tareWeight) { + this.tareWeight = tareWeight; + } + + public BigDecimal getTareWeight() { + return tareWeight; + } + public void setVolume(BigDecimal volume) { + this.volume = volume; + } + + public BigDecimal getVolume() { + return volume; + } + public void setUnitPrice(BigDecimal unitPrice) { + this.unitPrice = unitPrice; + } + + public BigDecimal getUnitPrice() { + return unitPrice; + } + public void setProductGroup(String productGroup) { + this.productGroup = productGroup; + } + + public String getProductGroup() { + return productGroup; + } + public void setProductGroupName(String productGroupName) { + this.productGroupName = productGroupName; + } + + public String getProductGroupName() { + return productGroupName; + } + public void setUserDefined1(String userDefined1) { + this.userDefined1 = userDefined1; + } + + public String getUserDefined1() { + return userDefined1; + } + public void setUserDefined2(String userDefined2) { + this.userDefined2 = userDefined2; + } + + public String getUserDefined2() { + return userDefined2; + } + public void setUserDefined3(String userDefined3) { + this.userDefined3 = userDefined3; + } + + public String getUserDefined3() { + return userDefined3; + } + public void setUserDefined4(String userDefined4) { + this.userDefined4 = userDefined4; + } + + public String getUserDefined4() { + return userDefined4; + } + public void setUserDefined5(String userDefined5) { + this.userDefined5 = userDefined5; + } + + public String getUserDefined5() { + return userDefined5; + } + public void setUserDefined6(String userDefined6) { + this.userDefined6 = userDefined6; + } + + public String getUserDefined6() { + return userDefined6; + } + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getFactoryCode() { + return factoryCode; + } + public void setActiveFlag(String activeFlag) { + this.activeFlag = activeFlag; + } + + public String getActiveFlag() { + return activeFlag; + } + public void setSyncFlag(String syncFlag) { + this.syncFlag = syncFlag; + } + + public String getSyncFlag() { + return syncFlag; + } + public void setPrimaryUom(String primaryUom) { + this.primaryUom = primaryUom; + } + + public String getPrimaryUom() { + return primaryUom; + } + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag() { + return delFlag; + } + public void setBstme(String bstme) { + this.bstme = bstme; + } + + public String getBstme() { + return bstme; + } + public void setBasicOrder(BigDecimal basicOrder) { + this.basicOrder = basicOrder; + } + + public BigDecimal getBasicOrder() { + return basicOrder; + } + public void setConvOrder(BigDecimal convOrder) { + this.convOrder = convOrder; + } + + public BigDecimal getConvOrder() { + return convOrder; + } + public void setAusme(String ausme) { + this.ausme = ausme; + } + + public String getAusme() { + return ausme; + } + public void setBasicIssue(BigDecimal basicIssue) { + this.basicIssue = basicIssue; + } + + public BigDecimal getBasicIssue() { + return basicIssue; + } + public void setConvIssue(BigDecimal convIssue) { + this.convIssue = convIssue; + } + + public BigDecimal getConvIssue() { + return convIssue; + } + public void setAppendFlag(String appendFlag) { + this.appendFlag = appendFlag; + } + + public String getAppendFlag() { + return appendFlag; + } + public void setAppendPercent(String appendPercent) { + this.appendPercent = appendPercent; + } + + public String getAppendPercent() { + return appendPercent; + } + + public void setMtart(String mtart) { + this.mtart = mtart; + } + + public String getMtart() { + return mtart; + } + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("productId", getProductId()) + .append("productCode", getProductCode()) + .append("productDescZh", getProductDescZh()) + .append("productDescEn", getProductDescEn()) + .append("ruleCode", getRuleCode()) + .append("oldProductCode", getOldProductCode()) + .append("partsProductCode", getPartsProductCode()) + .append("skuBarcode", getSkuBarcode()) + .append("length", getLength()) + .append("width", getWidth()) + .append("height", getHeight()) + .append("grossWeight", getGrossWeight()) + .append("netWeight", getNetWeight()) + .append("tareWeight", getTareWeight()) + .append("volume", getVolume()) + .append("unitPrice", getUnitPrice()) + .append("productGroup", getProductGroup()) + .append("productGroupName", getProductGroupName()) + .append("userDefined1", getUserDefined1()) + .append("userDefined2", getUserDefined2()) + .append("userDefined3", getUserDefined3()) + .append("userDefined4", getUserDefined4()) + .append("userDefined5", getUserDefined5()) + .append("userDefined6", getUserDefined6()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("factoryCode", getFactoryCode()) + .append("activeFlag", getActiveFlag()) + .append("syncFlag", getSyncFlag()) + .append("primaryUom", getPrimaryUom()) + .append("delFlag", getDelFlag()) + .append("bstme", getBstme()) + .append("basicOrder", getBasicOrder()) + .append("convOrder", getConvOrder()) + .append("ausme", getAusme()) + .append("basicIssue", getBasicIssue()) + .append("convIssue", getConvIssue()) + .append("appendFlag", getAppendFlag()) + .append("appendPercent", getAppendPercent()) + .append("mtart", getMtart()) + .append("category", getCategory()) + .append("pc", getPc()) + .append("iei", getIei()) + .append("manStandar", getManStandar()) + .append("sprayWay", getSprayWay()) + .append("blankDiameter", getBlankDiameter()) + .append("blankNo", getBlankNo()) + .append("sprayVolume", getSprayVolume()) + .append("liquidNo", getLiquidNo()) + .append("endometrialDosage", getEndometrialDosage()) + .append("outerFilmDosage", getOuterFilmDosage()) + .append("support", getSupport()) + .append("supportNo", getSupportNo()) + .append("pvc", getPvc()) + .append("supportPlate", getSupportPlate()) + .append("other", getOther()) + .toString(); + } +} diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/sap/SapRFW.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/sap/SapRFW.java index e5100666c..70b251f3f 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/domain/sap/SapRFW.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/sap/SapRFW.java @@ -42,7 +42,7 @@ public class SapRFW { } - public static class lt_gs + public class lt_gs { String conf_activity1; String conf_activity2; @@ -112,7 +112,7 @@ public class SapRFW { } } - public static class lt_hw{ + public class lt_hw{ String material; String entry_qnt; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java index 9448e5cb9..4794e8700 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java @@ -4,6 +4,8 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import com.op.common.core.utils.uuid.IdUtils; +import com.op.system.api.domain.dto.BaseBomDTO; +import com.op.system.api.domain.mes.BaseProductDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -25,7 +27,7 @@ import com.op.common.core.web.page.TableDataInfo; /** * 生产报工物料消耗Controller - * + * * @author Open Platform * @date 2023-08-24 */ @@ -38,7 +40,7 @@ public class MesReportWorkConsumeController extends BaseController { /** * 查询生产报工物料消耗列表 */ - @RequiresPermissions("mes:reportWorkConsume:list") + //@RequiresPermissions("mes:reportWorkConsume:list") @GetMapping("/list") public TableDataInfo list(MesReportWorkConsume mesReportWorkConsume) { startPage(); @@ -49,7 +51,7 @@ public class MesReportWorkConsumeController extends BaseController { /** * 导出生产报工物料消耗列表 */ - @RequiresPermissions("mes:reportWorkConsume:export") + //@RequiresPermissions("mes:reportWorkConsume:export") @Log(title = "生产报工物料消耗", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, MesReportWorkConsume mesReportWorkConsume) { @@ -61,7 +63,7 @@ public class MesReportWorkConsumeController extends BaseController { /** * 获取生产报工物料消耗详细信息 */ - @RequiresPermissions("mes:reportWorkConsume:query") + //@RequiresPermissions("mes:reportWorkConsume:query") @GetMapping(value = "/{recordId}") public AjaxResult getInfo(@PathVariable("recordId") String recordId) { return success(mesReportWorkConsumeService.selectMesReportWorkConsumeByRecordId(recordId)); @@ -70,18 +72,17 @@ public class MesReportWorkConsumeController extends BaseController { /** * 新增生产报工物料消耗 */ - @RequiresPermissions("mes:reportWorkConsume:add") + //@RequiresPermissions("mes:reportWorkConsume:add") @Log(title = "生产报工物料消耗", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody MesReportWorkConsume mesReportWorkConsume) { - mesReportWorkConsume.setRecordId(IdUtils.fastSimpleUUID()); return toAjax(mesReportWorkConsumeService.insertMesReportWorkConsume(mesReportWorkConsume)); } /** * 修改生产报工物料消耗 */ - @RequiresPermissions("mes:reportWorkConsume:edit") + //@RequiresPermissions("mes:reportWorkConsume:edit") @Log(title = "生产报工物料消耗", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody MesReportWorkConsume mesReportWorkConsume) { @@ -91,7 +92,7 @@ public class MesReportWorkConsumeController extends BaseController { /** * 删除生产报工物料消耗 */ - @RequiresPermissions("mes:reportWorkConsume:remove") + //@RequiresPermissions("mes:reportWorkConsume:remove") @Log(title = "生产报工物料消耗", businessType = BusinessType.DELETE) @DeleteMapping("/{recordIds}") public AjaxResult remove(@PathVariable String[] recordIds) { @@ -108,4 +109,14 @@ public class MesReportWorkConsumeController extends BaseController { List list = mesReportWorkConsumeService.selectMesReportWorkConsumeList(mesReportWorkConsume); return getDataTable(list); } + + /** + * 查询BOM物料管理列表 + */ + @GetMapping("/getMesListBom") + public TableDataInfo getMesListBom(BaseBomDTO dto) { + startPage(); + List list = mesReportWorkConsumeService.getMesListBom(dto); + return getDataTable(list); + } } 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 c553b7522..f2c6b4dab 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 @@ -9,6 +9,7 @@ import java.util.*; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import com.op.common.core.domain.ExcelCol; +import com.op.common.core.domain.R; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.poi.ExcelMapUtil; import com.op.common.core.utils.uuid.IdUtils; @@ -16,6 +17,7 @@ import com.op.mes.domain.*; import com.op.mes.domain.dto.LineChartDto; import com.op.mes.domain.dto.SysFactoryDto; import com.op.system.api.domain.SysUser; +import com.op.system.api.domain.device.EquEquipmentDTO; import com.op.system.api.domain.mes.ProOrderWorkorderDTO; import org.apache.commons.lang.StringUtils; import org.apache.poi.xssf.streaming.SXSSFWorkbook; @@ -55,6 +57,15 @@ public class MesReportWorkController extends BaseController { @GetMapping("/list") public TableDataInfo list(MesReportWork mesReportWork) { startPage(); + //默认时间范围T 00:00:00~T+1 00:00:00 + if(StringUtils.isEmpty(mesReportWork.getCreateTimeStart())){ + mesReportWork.setCreateTimeStart(DateUtils.getDate()+" 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; + mesReportWork.setCreateTimeEnd(dateEndStr);//end + } List list = mesReportWorkService.selectMesReportWorkList(mesReportWork); return getDataTable(list); } @@ -66,6 +77,15 @@ public class MesReportWorkController extends BaseController { //@Log(title = "报工报表", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, MesReportWork mesReportWork) { + //默认时间范围T 00:00:00~T+1 00:00:00 + if(StringUtils.isEmpty(mesReportWork.getCreateTimeStart())){ + mesReportWork.setCreateTimeStart(DateUtils.getDate()+" 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; + mesReportWork.setCreateTimeEnd(dateEndStr);//end + } List list = mesReportWorkService.selectMesReportWorkList(mesReportWork); ExcelUtil util = new ExcelUtil(MesReportWork.class); util.exportExcel(response, list, "报工报表数据"); @@ -101,6 +121,15 @@ public class MesReportWorkController extends BaseController { return toAjax(mesReportWorkService.updateMesReportWork(mesReportWork)); } + /** + * 报工 + */ + @RequiresPermissions("mes:reportWork:edit") + @PutMapping("/reportSap") + public R reportSap(@RequestBody MesReportWork mesReportWork) { + return mesReportWorkService.reportSap(mesReportWork); + } + /** * 删除报工报表 */ @@ -316,7 +345,7 @@ public class MesReportWorkController extends BaseController { } /** - * 查询人员列表 + * 查询工单列表 */ @GetMapping("/getMesListWorkOrder") public TableDataInfo getMesListWorkOrder(ProOrderWorkorderDTO proOrderWorkorderDTO) { @@ -325,6 +354,17 @@ public class MesReportWorkController extends BaseController { return getDataTable(list); } + /** + * 查询工线体列表 + */ + @GetMapping("/getMesListEquip") + public TableDataInfo getMesListEquip(EquEquipmentDTO equEquipmentDTO) { + startPage(); + List list = mesReportWorkService.getMesListEquip(equEquipmentDTO); + return getDataTable(list); + } + + public static void main(String args[]){ DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:00:00"); try { 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 478b23526..0f9e9ade1 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 @@ -20,14 +20,14 @@ public class MesReportWork extends BaseEntity { /** 记录id */ private String id; - /** 报工类型,报工类型:SELF自行报工、UNI统一报工 */ - @Excel(name = "报工类型,报工类型:SELF自行报工、UNI统一报工") - private String reportType; - /** 报工单编号 */ @Excel(name = "报工单编号") private String reportCode; + /** 报工类型,报工类型:SELF自行报工、UNI统一报工 */ + @Excel(name = "报工类型,报工类型:SELF上位机报工、UNI系统报工") + private String reportType; + /** 生产工单编码 */ @Excel(name = "生产工单编码") private String workorderCode; @@ -57,11 +57,11 @@ public class MesReportWork extends BaseEntity { private BigDecimal quantityFeedback; /** 合格数量 */ - @Excel(name = "合格数量") + //@Excel(name = "合格数量") private BigDecimal quantityQualified; /** 不合格数量 */ - @Excel(name = "不合格数量") + //@Excel(name = "不合格数量") private BigDecimal quantityUnqualified; /** 报工人员 */ @@ -73,7 +73,7 @@ public class MesReportWork extends BaseEntity { private String nickName; /** 报工途径:PAD、MOBILE、PC */ - @Excel(name = "报工途径:PAD、MOBILE、PC") + //@Excel(name = "报工途径:PAD、MOBILE、PC") private String feedbackChannel; /** 报工时间 */ @@ -109,20 +109,27 @@ public class MesReportWork extends BaseEntity { @Excel(name = "班次编码") private String shiftCode; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "SAP报工时间") + private Date uploadTime; + @Excel(name = "SAP报工状态0待报工1成功2失败") + private String uploadStatus; + @Excel(name = "SAP报工信息") + private String uploadMsg; /** 预留字段1 */ - @Excel(name = "预留字段1") + //@Excel(name = "预留字段1") private String attr1; /** 预留字段2 */ - @Excel(name = "预留字段2") + //@Excel(name = "预留字段2") private String attr2; /** 预留字段3 */ - @Excel(name = "预留字段3") + //@Excel(name = "预留字段3") private String attr3; /** 预留字段4 */ - @Excel(name = "预留字段4") + //@Excel(name = "预留字段4") private String attr4; @Excel(name = "计划生产日期") private String productDate; @@ -140,9 +147,6 @@ public class MesReportWork extends BaseEntity { private String factoryName; private String carCode; private String carName; - private Date uploadTime; - private String uploadStatus; - private String uploadMsg; private String workorderCodeSap; private String routeCode; private String sac1; @@ -152,6 +156,42 @@ public class MesReportWork extends BaseEntity { private String sac5; private String sac6; private String prodType; + private String createTimeStart; + private String createTimeEnd; + private String feedbackTimeStart; + private String feedbackTimeEnd; + + public String getFeedbackTimeStart() { + return feedbackTimeStart; + } + + public void setFeedbackTimeStart(String feedbackTimeStart) { + this.feedbackTimeStart = feedbackTimeStart; + } + + public String getFeedbackTimeEnd() { + return feedbackTimeEnd; + } + + public void setFeedbackTimeEnd(String feedbackTimeEnd) { + this.feedbackTimeEnd = feedbackTimeEnd; + } + + public String getCreateTimeStart() { + return createTimeStart; + } + + public void setCreateTimeStart(String createTimeStart) { + this.createTimeStart = createTimeStart; + } + + public String getCreateTimeEnd() { + return createTimeEnd; + } + + public void setCreateTimeEnd(String createTimeEnd) { + this.createTimeEnd = createTimeEnd; + } public String getProdType() { return prodType; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java index daea48774..1113aea8d 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java @@ -3,17 +3,18 @@ package com.op.mes.mapper; import java.util.List; import com.op.mes.domain.MesReportWorkConsume; +import com.op.system.api.domain.dto.BaseBomDTO; /** * 生产报工物料消耗Mapper接口 - * + * * @author Open Platform * @date 2023-08-24 */ public interface MesReportWorkConsumeMapper { /** * 查询生产报工物料消耗 - * + * * @param recordId 生产报工物料消耗主键 * @return 生产报工物料消耗 */ @@ -21,7 +22,7 @@ public interface MesReportWorkConsumeMapper { /** * 查询生产报工物料消耗列表 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 生产报工物料消耗集合 */ @@ -29,7 +30,7 @@ public interface MesReportWorkConsumeMapper { /** * 新增生产报工物料消耗 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 结果 */ @@ -37,7 +38,7 @@ public interface MesReportWorkConsumeMapper { /** * 修改生产报工物料消耗 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 结果 */ @@ -45,7 +46,7 @@ public interface MesReportWorkConsumeMapper { /** * 删除生产报工物料消耗 - * + * * @param recordId 生产报工物料消耗主键 * @return 结果 */ @@ -53,11 +54,13 @@ public interface MesReportWorkConsumeMapper { /** * 批量删除生产报工物料消耗 - * + * * @param recordIds 需要删除的数据主键集合 * @return 结果 */ public int deleteMesReportWorkConsumeByRecordIds(String[] recordIds); List selectMesReportWorkConsumeListById(MesReportWorkConsume mesReportWorkConsume); + + List getMesListBom(BaseBomDTO dto); } 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 ae5bd7923..5d133a954 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 @@ -104,4 +104,6 @@ public interface MesReportWorkMapper { List getMesListWorkOrder(ProOrderWorkorderDTO proOrderWorkorderDTO); @MapKey("equipmentCode") Map getEquipInfoByCodes(String substring); + + List getMesListEquip(EquEquipmentDTO qo); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java index b60e9f5e1..61b93cdd0 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java @@ -2,17 +2,19 @@ package com.op.mes.service; import java.util.List; import com.op.mes.domain.MesReportWorkConsume; +import com.op.system.api.domain.dto.BaseBomDTO; +import com.op.system.api.domain.mes.BaseProductDTO; /** * 生产报工物料消耗Service接口 - * + * * @author Open Platform * @date 2023-08-24 */ public interface IMesReportWorkConsumeService { /** * 查询生产报工物料消耗 - * + * * @param recordId 生产报工物料消耗主键 * @return 生产报工物料消耗 */ @@ -28,7 +30,7 @@ public interface IMesReportWorkConsumeService { /** * 查询生产报工物料消耗列表 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 生产报工物料消耗集合 */ @@ -36,7 +38,7 @@ public interface IMesReportWorkConsumeService { /** * 新增生产报工物料消耗 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 结果 */ @@ -44,7 +46,7 @@ public interface IMesReportWorkConsumeService { /** * 修改生产报工物料消耗 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 结果 */ @@ -52,7 +54,7 @@ public interface IMesReportWorkConsumeService { /** * 批量删除生产报工物料消耗 - * + * * @param recordIds 需要删除的生产报工物料消耗主键集合 * @return 结果 */ @@ -60,9 +62,11 @@ public interface IMesReportWorkConsumeService { /** * 删除生产报工物料消耗信息 - * + * * @param recordId 生产报工物料消耗主键 * @return 结果 */ public int deleteMesReportWorkConsumeByRecordId(String recordId); + + public List getMesListBom(BaseBomDTO dto); } 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 5877ab8a3..1fd73c969 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 @@ -3,10 +3,12 @@ package com.op.mes.service; import java.util.HashMap; import java.util.List; +import com.op.common.core.domain.R; import com.op.mes.domain.*; import com.op.mes.domain.dto.LineChartDto; import com.op.mes.domain.dto.SysFactoryDto; import com.op.system.api.domain.SysUser; +import com.op.system.api.domain.device.EquEquipmentDTO; import com.op.system.api.domain.mes.ProOrderWorkorderDTO; /** @@ -83,4 +85,7 @@ public interface IMesReportWorkService { List getMesListUser(SysUser sysUser); List getMesListWorkOrder(ProOrderWorkorderDTO proOrderWorkorderDTO); + + List getMesListEquip(EquEquipmentDTO equEquipmentDTO); + R reportSap(MesReportWork mesReportWork); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java index 203a6c7aa..6ee2091d1 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java @@ -271,29 +271,33 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { @Override public R reportWork(MesReportWork mesReportWork) { - DynamicDataSourceContextHolder.push("ds_"+mesReportWork.getFactoryCode());// 这是数据源的key + if(StringUtils.isNotBlank(mesReportWork.getFactoryCode())){//已经加上ds_ + DynamicDataSourceContextHolder.push(mesReportWork.getFactoryCode());// 这是数据源的key + } + mesReportWork.setUploadStatus("1");//除了1报工成功的,都需要报工 mesReportWork.setProdType("prod"); List reportWorks = mesReportWorkMapper.getReportWorkList(mesReportWork); if(CollectionUtils.isEmpty(reportWorks)){ - return R.fail("未查询报工单"); + return R.fail("未查询到报工单"); } MesReportWork work = reportWorks.get(0); SapRFW sapRFW = new SapRFW(); sapRFW.setAufnr(work.getWorkorderCodeSap());//虚拟工单号 sapRFW.setGamng(work.getQuantityFeedback().toString());//报工数量 - SapRFW.lt_gs ltgs = sapRFW.getLt_gs();//生产订单报工工时修改 + SapRFW.lt_gs ltgs = sapRFW.new lt_gs();//生产订单报工工时修改 ltgs.setConf_activity1(work.getSac1());//人工 ltgs.setConf_activity2(work.getSac2()); ltgs.setConf_activity3(work.getSac3());//机器 ltgs.setConf_activity4(work.getSac4()); ltgs.setConf_activity5(work.getSac5());//折旧 ltgs.setConf_activity6(work.getSac6()); - SapRFW.lt_hw lthw = sapRFW.getLt_hw();//MES生产订单报工货物移动修改 + sapRFW.setLt_gs(ltgs); + SapRFW.lt_hw lthw = sapRFW.new lt_hw();//MES生产订单报工货物移动修改 lthw.setEntry_qnt(work.getQuantityFeedback().toString());//TODO; lthw.setMaterial(work.getProcessCode()); - + sapRFW.setLt_hw(lthw); //添加调用sap日志 SysSapLog sysSapLog = new SysSapLog(); sysSapLog.setId(IdUtils.fastSimpleUUID()); @@ -318,8 +322,8 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { ProOrderWorkorder topOrder = this.getTopOrder(work.getWorkorderCode()); if(proResult.getQuantityFeedback().compareTo(new BigDecimal(topOrder.getQuantitySplit()))>=0){ //工单完成,关闭工单 - remoteSapService.sapCloseOrder(work.getOrderCode()); - work.setStatus("w4"); + remoteSapService.sapCloseOrder(work.getWorkorderCodeSap()); + work.setStatus("w3"); work.setUpdateTime(DateUtils.getNowDate()); //pro_work_order status->w4报工 mesReportWorkMapper.updateWorkOrderStatus(work); diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java index 875e24eb7..06677fa3e 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java @@ -4,6 +4,9 @@ import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.system.api.domain.dto.BaseBomDTO; +import com.op.system.api.domain.mes.BaseProductDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.mes.mapper.MesReportWorkConsumeMapper; @@ -12,7 +15,7 @@ import com.op.mes.service.IMesReportWorkConsumeService; /** * 生产报工物料消耗Service业务层处理 - * + * * @author Open Platform * @date 2023-08-24 */ @@ -23,7 +26,7 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer /** * 查询生产报工物料消耗 - * + * * @param recordId 生产报工物料消耗主键 * @return 生产报工物料消耗 */ @@ -35,7 +38,7 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer /** * 查询生产报工物料消耗列表 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 生产报工物料消耗 */ @@ -59,20 +62,21 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer /** * 新增生产报工物料消耗 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 结果 */ @Override @DS("#header.poolName") public int insertMesReportWorkConsume(MesReportWorkConsume mesReportWorkConsume) { + mesReportWorkConsume.setRecordId(IdUtils.fastSimpleUUID()); mesReportWorkConsume.setCreateTime(DateUtils.getNowDate()); return mesReportWorkConsumeMapper.insertMesReportWorkConsume(mesReportWorkConsume); } /** * 修改生产报工物料消耗 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 结果 */ @@ -85,7 +89,7 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer /** * 批量删除生产报工物料消耗 - * + * * @param recordIds 需要删除的生产报工物料消耗主键 * @return 结果 */ @@ -97,7 +101,7 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer /** * 删除生产报工物料消耗信息 - * + * * @param recordId 生产报工物料消耗主键 * @return 结果 */ @@ -106,4 +110,12 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer public int deleteMesReportWorkConsumeByRecordId(String recordId) { return mesReportWorkConsumeMapper.deleteMesReportWorkConsumeByRecordId(recordId); } + + @Override + @DS("#header.poolName") + public List getMesListBom(BaseBomDTO dto) { + return mesReportWorkConsumeMapper.getMesListBom(dto); + } + + } 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 22b335cf1..0a9a4707d 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 @@ -8,8 +8,10 @@ import java.util.*; import com.alibaba.fastjson2.JSONArray; import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.constant.SecurityConstants; import com.op.common.core.domain.R; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.ServletUtils; import com.op.mes.domain.*; import com.op.mes.domain.dto.LineChartDto; import com.op.mes.domain.dto.LineChartSeriesDto; @@ -18,6 +20,7 @@ import com.op.mes.service.IWCSInterfaceService; import com.op.system.api.domain.SysUser; import com.op.system.api.domain.device.EquEquipmentDTO; import com.op.system.api.domain.mes.ProOrderWorkorderDTO; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.mes.mapper.MesReportWorkMapper; @@ -58,7 +61,32 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { @Override @DS("#header.poolName") public List selectMesReportWorkList(MesReportWork mesReportWork) { - return mesReportWorkMapper.selectMesReportWorkList(mesReportWork); + List dtos = mesReportWorkMapper.selectMesReportWorkList(mesReportWork); + for(MesReportWork dto:dtos){ + ProOrderWorkorder topOrder = this.getTopOrder(dto.getWorkorderCode()); + dto.setQuantity(new BigDecimal(topOrder.getQuantitySplit())); + dto.setUnit(topOrder.getUnit()); + if("1".equals(dto.getUploadStatus())){ + dto.setUploadStatus("sap报工成功"); + }else if("2".equals(dto.getUploadStatus())){ + dto.setUploadStatus("sap报工失败"); + }else if("0".equals(dto.getUploadStatus())){ + dto.setUploadStatus("待报工sap"); + } + } + + return dtos; + } + + //根据工单子单编码获取最顶级订单的母单 + private ProOrderWorkorder getTopOrder(String workorderCode) { + //pro_order_workorder + ProOrderWorkorder topOrder = mesReportWorkMapper.getOrderByCode(workorderCode); + while (!"0".equals(topOrder.getParentOrder()) && StringUtils.isNotEmpty(topOrder.getParentOrder())) { + //pro_order_workorder + topOrder = mesReportWorkMapper.getOrderByCode(topOrder.getParentOrder()); + } + return topOrder; } /** @@ -71,13 +99,27 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { @DS("#header.poolName") public int insertMesReportWork(MesReportWork mesReportWork) { mesReportWork.setCreateTime(DateUtils.getNowDate()); - R s = iWCSInterfaceService.reportWork(mesReportWork); - System.out.println("管理系统报工:"+s.getCode()+",message:"+s.getMsg()); + String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, mesReportWork.getFeedbackTime()); int liushuiNum = mesReportWorkMapper.getTodayMaxNum(mesReportWork); String liushuiStr = String.format("%04d", liushuiNum); mesReportWork.setReportCode(bpDD+liushuiStr); - return mesReportWorkMapper.insertMesReportWork(mesReportWork); + mesReportWork.setProdType("prod"); + mesReportWorkMapper.insertMesReportWork(mesReportWork); +//新增的时候直接报工 +// mesReportWork.setFactoryCode(ServletUtils.getRequest().getHeader("PoolName")); +// R s = iWCSInterfaceService.reportWork(mesReportWork); +// System.out.println("管理系统报工:"+s.getCode()+",message:"+s.getMsg()); + return 1; + } + + @Override + @DS("#header.poolName") + public R reportSap(MesReportWork mesReportWork) { + mesReportWork.setFactoryCode(ServletUtils.getRequest().getHeader("PoolName")); + R s = iWCSInterfaceService.reportWork(mesReportWork); + //System.out.println("管理系统报工:"+s.getCode()+",message:"+s.getMsg()); + return s; } /** @@ -319,6 +361,12 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { return mesReportWorkMapper.getMesListUser(sysUser); } + @Override + @DS("#header.poolName") + public List getMesListEquip(EquEquipmentDTO qo) { + return mesReportWorkMapper.getMesListEquip(qo); + } + @Override @DS("#header.poolName") public List getMesListWorkOrder(ProOrderWorkorderDTO proOrderWorkorderDTO) { @@ -338,11 +386,15 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { prodLineName.append(equipMap.get(equipCode).getEquipmentName()+ ","); } dto.setProdLineCode(prodLineName.toString()); + + //把母单的排产数量搞出来 + ProOrderWorkorder topOrder = this.getTopOrder(dto.getWorkorderCode()); + dto.setQuantitySplit(topOrder.getQuantitySplit()); + dto.setUnit(topOrder.getUnit()); } return dtos; } - public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); Date now = calendar.getTime(); diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml index 37d1d4496..2b003bf2c 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml @@ -60,8 +60,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where record_id = #{recordId} + - + insert into mes_report_work_consume record_id, 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 b15b612de..291fe4f9c 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 @@ -37,6 +37,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + @@ -79,40 +83,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" quantity_unqualified, user_name, nick_name, feedback_channel, feedback_time, record_user, status, remark, work_time, machine_code, machine_name, team_code, shift_code, attr1, attr2, attr3, attr4, create_by, - create_time, update_time, update_by + create_time, update_time, update_by, + upload_time,upload_status,upload_msg from mes_report_work @@ -369,17 +375,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + insert into mes_report_work @@ -451,6 +465,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" create_time, update_time, update_by, + prod_type, #{id}, @@ -485,6 +500,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{createTime}, #{updateTime}, #{updateBy}, + #{prodType}, @@ -528,22 +544,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update mes_report_work - upload_time = #{uploadTime}, + upload_time = #{uploadTime}, upload_status = #{uploadStatus}, upload_msg = #{uploadMsg}, - where id = #{id} + where 1=1 + + and id = #{id} + + + and report_code = #{reportCode} + update pro_order_workorder set status = #{status} where workorder_code = #{workorderCode} - delete from mes_report_work where id = #{id} + update mes_report_work set del_flag = '1' where id = #{id} - delete from mes_report_work where id in + update mes_report_work set del_flag = '1' where id in #{id} diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java index bc6e778c3..d81f148c2 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java @@ -89,6 +89,8 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { for (ProOrderWorkorder workorder : workorderList) { String prodLineName = ""; String equipCods = "'"; + System.out.println("workorder_id:"+workorder.getWorkorderId()); + System.out.println("prodLineCode:"+workorder.getProdLineCode()); JSONArray codeArray = JSONArray.parseArray(workorder.getProdLineCode()); for (int c = 0; c < codeArray.size(); c++) { equipCods += codeArray.getJSONArray(c).getString(1) + "','"; diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWhiteOrderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWhiteOrderServiceImpl.java index ef97ae9f7..0e624b7dd 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWhiteOrderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWhiteOrderServiceImpl.java @@ -118,24 +118,6 @@ public class ProWhiteOrderServiceImpl implements IProWhiteOrderService { proOrder.setProdDesc(""); proWhiteOrderMapper.insertProOrder(proOrder); -// System.out.println("源code---->"+proOrder.getProdCode()); -// System.out.println("源desc---->"+proOrder.getProdDesc()); -// -// System.out.println("code---------->"); -// for (String code : prodCodes) { -// System.out.println(code); -// } -// System.out.println("desc----------->"); -// for (String desc : prodDescs) { -// System.out.println(desc); -// } -// -// System.out.println("这里是母订单信息"); -// System.out.println("母订单code"+proOrder.getOrderCode()); -// -// -// System.out.println("这里是子订单信息"); - // 设置子订单信息 for (int i = 0; i< prodCodes.length; i++){ @@ -161,9 +143,6 @@ public class ProWhiteOrderServiceImpl implements IProWhiteOrderService { childProOrder.setUpdateTime(DateUtils.getNowDate()); // 将子订单插入数据库 proWhiteOrderMapper.insertProOrder(childProOrder); - -// System.out.println("子订单code"+i+childProOrder.getOrderCode()); -// System.out.println("子订单parentCode"+i+childProOrder.getParentOrder()); } return 1; diff --git a/op-modules/op-system/src/main/java/com/op/system/mapper/SysDatasourceMapper.java b/op-modules/op-system/src/main/java/com/op/system/mapper/SysDatasourceMapper.java index a86c4f100..2c444b5a4 100644 --- a/op-modules/op-system/src/main/java/com/op/system/mapper/SysDatasourceMapper.java +++ b/op-modules/op-system/src/main/java/com/op/system/mapper/SysDatasourceMapper.java @@ -75,4 +75,6 @@ public interface SysDatasourceMapper int deleteUserRoleInfos(@Param("datasourceId") String datasourceId, @Param("userIds") Long[] userIds); List selectDBListByDept(SysDatasource qo); + + void deletUserDB(String userCode); } diff --git a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java index a12e690e4..d9bcfd2a1 100644 --- a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java +++ b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java @@ -249,6 +249,10 @@ public class SysUserServiceImpl implements ISysUserService { // 新增用户与园区数据源 SysDatasource qo = new SysDatasource(); qo.setDeptId(user.getDeptId());// + + //先删掉 + sysDatasourceMapper.deletUserDB(user.getUserId().toString()); + //再添加 List dbs = sysDatasourceMapper.selectDBListByDept(qo); List list = new ArrayList(); for (SysDatasource db : dbs) { diff --git a/op-modules/op-system/src/main/resources/mapper/system/SysDatasourceMapper.xml b/op-modules/op-system/src/main/resources/mapper/system/SysDatasourceMapper.xml index 574232b08..e1c22cd15 100644 --- a/op-modules/op-system/src/main/resources/mapper/system/SysDatasourceMapper.xml +++ b/op-modules/op-system/src/main/resources/mapper/system/SysDatasourceMapper.xml @@ -188,4 +188,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{userId} + + delete from sys_user_datasource where user_id =#{userCode} + From 4bd0df94ff71bb6c428835e539940b956b614d00 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Tue, 7 Nov 2023 15:07:42 +0800 Subject: [PATCH 03/32] =?UTF-8?q?=E5=8F=91=E7=89=88=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- op-modules/op-mes/push-mes.bat | 41 ++++++++++++++++++++ op-modules/op-plan/push-plan.bat | 41 ++++++++++++++++++++ op-modules/op-quality/push-quality.bat | 40 +++++++++++++++++++ op-modules/op-technology/push-technology.bat | 40 +++++++++++++++++++ op-modules/op-wms/push-wms.bat | 40 +++++++++++++++++++ 5 files changed, 202 insertions(+) create mode 100644 op-modules/op-mes/push-mes.bat create mode 100644 op-modules/op-plan/push-plan.bat create mode 100644 op-modules/op-quality/push-quality.bat create mode 100644 op-modules/op-technology/push-technology.bat create mode 100644 op-modules/op-wms/push-wms.bat diff --git a/op-modules/op-mes/push-mes.bat b/op-modules/op-mes/push-mes.bat new file mode 100644 index 000000000..e95aae000 --- /dev/null +++ b/op-modules/op-mes/push-mes.bat @@ -0,0 +1,41 @@ +@echo off +echo --------------------------------Զǰ޸-------------------------------------- +set jarName=op-modules-mes.jar +set profile=dev +set imageURI=192.168.202.36:30002/op-lanju/op-mes +rem echo ȡǰַ +for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c +rem echo ȡǰʱַ +for /f "tokens=1,2 delims=:." %%a in ("%time%") do @set T=%%a%%b +rem echo 統ǰСʱС10ո滻Ϊ0 +set T=%T: =0% +rem echo ʾʱַ +set imageVersion=%D%%T% +::Ϣ +echo jar:%jarName% +echo :%profile% +echo ַ:%imageURI% +echo 汾:%imageVersion% + +echo --------------------------------mvn package...-------------------------------- +::call mvn clean package -Dmaven.test.skip=true + +cd .\target +SET df=Dockerfile +if exist %df% ( + del /f /s /q .\Dockerfile +) +echo --------------------------------Dockerfile-------------------------------- +echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo RUN apk add --update font-adobe-100dpi ttf-dejavu fontconfig +echo COPY %jarName% /application.jar >> Dockerfile +echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile +echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile +dir +echo --------------------------------docker login...------------------------------- +docker login 192.168.202.36:30002 -u deploy -p Deploy@2023 +echo --------------------------------docker build...------------------------------- +docker build -t %imageURI%:%imageVersion% . +echo --------------------------------docker push...-------------------------------- +docker push %imageURI%:%imageVersion% +@pause \ No newline at end of file diff --git a/op-modules/op-plan/push-plan.bat b/op-modules/op-plan/push-plan.bat new file mode 100644 index 000000000..645c29218 --- /dev/null +++ b/op-modules/op-plan/push-plan.bat @@ -0,0 +1,41 @@ +@echo off +echo --------------------------------Զǰ޸-------------------------------------- +set jarName=op-modules-plan.jar +set profile=dev +set imageURI=192.168.202.36:30002/op-lanju/op-plan +rem echo ȡǰַ +for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c +rem echo ȡǰʱַ +for /f "tokens=1,2 delims=:." %%a in ("%time%") do @set T=%%a%%b +rem echo 統ǰСʱС10ո滻Ϊ0 +set T=%T: =0% +rem echo ʾʱַ +set imageVersion=%D%%T% +::Ϣ +echo jar:%jarName% +echo :%profile% +echo ַ:%imageURI% +echo 汾:%imageVersion% + +echo --------------------------------mvn package...-------------------------------- +::call mvn clean package -Dmaven.test.skip=true + +cd .\target +SET df=Dockerfile +if exist %df% ( + del /f /s /q .\Dockerfile +) +echo --------------------------------Dockerfile-------------------------------- +echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo RUN apk add --update font-adobe-100dpi ttf-dejavu fontconfig +echo COPY %jarName% /application.jar >> Dockerfile +echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile +echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile +dir +echo --------------------------------docker login...------------------------------- +docker login 192.168.202.36:30002 -u deploy -p Deploy@2023 +echo --------------------------------docker build...------------------------------- +docker build -t %imageURI%:%imageVersion% . +echo --------------------------------docker push...-------------------------------- +docker push %imageURI%:%imageVersion% +@pause \ No newline at end of file diff --git a/op-modules/op-quality/push-quality.bat b/op-modules/op-quality/push-quality.bat new file mode 100644 index 000000000..e53c0253a --- /dev/null +++ b/op-modules/op-quality/push-quality.bat @@ -0,0 +1,40 @@ +@echo off +echo --------------------------------Զǰ޸-------------------------------------- +set jarName=op-modules-quality.jar +set profile=dev +set imageURI=192.168.202.36:30002/op-lanju/op-quality +rem echo ȡǰַ +for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c +rem echo ȡǰʱַ +for /f "tokens=1,2 delims=:." %%a in ("%time%") do @set T=%%a%%b +rem echo 統ǰСʱС10ո滻Ϊ0 +set T=%T: =0% +rem echo ʾʱַ +set imageVersion=%D%%T% +::Ϣ +echo jar:%jarName% +echo :%profile% +echo ַ:%imageURI% +echo 汾:%imageVersion% + +echo --------------------------------mvn package...-------------------------------- +::call mvn clean package -Dmaven.test.skip=true + +cd .\target +SET df=Dockerfile +if exist %df% ( + del /f /s /q .\Dockerfile +) +echo --------------------------------Dockerfile-------------------------------- +echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo COPY %jarName% /application.jar >> Dockerfile +echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile +echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile +dir +echo --------------------------------docker login...------------------------------- +docker login 192.168.202.36:30002 -u deploy -p Deploy@2023 +echo --------------------------------docker build...------------------------------- +docker build -t %imageURI%:%imageVersion% . +echo --------------------------------docker push...-------------------------------- +docker push %imageURI%:%imageVersion% +@pause \ No newline at end of file diff --git a/op-modules/op-technology/push-technology.bat b/op-modules/op-technology/push-technology.bat new file mode 100644 index 000000000..5ba367d85 --- /dev/null +++ b/op-modules/op-technology/push-technology.bat @@ -0,0 +1,40 @@ +@echo off +echo --------------------------------Զǰ޸-------------------------------------- +set jarName=op-modules-technology.jar +set profile=dev +set imageURI=192.168.202.36:30002/op-lanju/op-technology +rem echo ȡǰַ +for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c +rem echo ȡǰʱַ +for /f "tokens=1,2 delims=:." %%a in ("%time%") do @set T=%%a%%b +rem echo 統ǰСʱС10ո滻Ϊ0 +set T=%T: =0% +rem echo ʾʱַ +set imageVersion=%D%%T% +::Ϣ +echo jar:%jarName% +echo :%profile% +echo ַ:%imageURI% +echo 汾:%imageVersion% + +echo --------------------------------mvn package...-------------------------------- +::call mvn clean package -Dmaven.test.skip=true + +cd .\target +SET df=Dockerfile +if exist %df% ( + del /f /s /q .\Dockerfile +) +echo --------------------------------Dockerfile-------------------------------- +echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo COPY %jarName% /application.jar >> Dockerfile +echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile +echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile +dir +echo --------------------------------docker login...------------------------------- +docker login 192.168.202.36:30002 -u deploy -p Deploy@2023 +echo --------------------------------docker build...------------------------------- +docker build -t %imageURI%:%imageVersion% . +echo --------------------------------docker push...-------------------------------- +docker push %imageURI%:%imageVersion% +@pause \ No newline at end of file diff --git a/op-modules/op-wms/push-wms.bat b/op-modules/op-wms/push-wms.bat new file mode 100644 index 000000000..080ce1b82 --- /dev/null +++ b/op-modules/op-wms/push-wms.bat @@ -0,0 +1,40 @@ +@echo off +echo --------------------------------Զǰ޸-------------------------------------- +set jarName=op-modules-wms.jar +set profile=dev +set imageURI=192.168.202.36:30002/op-lanju/op-wms +rem echo ȡǰַ +for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c +rem echo ȡǰʱַ +for /f "tokens=1,2 delims=:." %%a in ("%time%") do @set T=%%a%%b +rem echo 統ǰСʱС10ո滻Ϊ0 +set T=%T: =0% +rem echo ʾʱַ +set imageVersion=%D%%T% +::Ϣ +echo jar:%jarName% +echo :%profile% +echo ַ:%imageURI% +echo 汾:%imageVersion% + +echo --------------------------------mvn package...-------------------------------- +::call mvn clean package -Dmaven.test.skip=true + +cd .\target +SET df=Dockerfile +if exist %df% ( + del /f /s /q .\Dockerfile +) +echo --------------------------------Dockerfile-------------------------------- +echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo COPY %jarName% /application.jar >> Dockerfile +echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile +echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile +dir +echo --------------------------------docker login...------------------------------- +docker login 192.168.202.36:30002 -u deploy -p Deploy@2023 +echo --------------------------------docker build...------------------------------- +docker build -t %imageURI%:%imageVersion% . +echo --------------------------------docker push...-------------------------------- +docker push %imageURI%:%imageVersion% +@pause \ No newline at end of file From c466027d7454d449bf9bb68312322091b8627d2c Mon Sep 17 00:00:00 2001 From: wws <18630710203@163.com> Date: Tue, 7 Nov 2023 16:40:26 +0800 Subject: [PATCH 04/32] =?UTF-8?q?=E6=8A=A5=E8=A1=A8-=E5=B7=A1=E6=A3=80?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/InspectionWorkController.java | 99 ++++ .../op/device/domain/EquOrderStandard.java | 10 + .../java/com/op/device/domain/Equipment.java | 441 ++++++++++++++++++ .../op/device/domain/vo/InspectionWorkVO.java | 38 ++ .../device/mapper/EquOrderDetailMapper.java | 7 + .../com/op/device/mapper/EquOrderMapper.java | 9 + .../com/op/device/mapper/EquipmentMapper.java | 13 + .../service/IInspectionWorkService.java | 62 +++ .../impl/InspectionWorkServiceImpl.java | 145 ++++++ .../mapper/device/EquOrderDetailMapper.xml | 5 + .../mapper/device/EquOrderMapper.xml | 10 +- .../mapper/device/EquipmentMapper.xml | 59 +++ 12 files changed, 895 insertions(+), 3 deletions(-) create mode 100644 op-modules/op-device/src/main/java/com/op/device/controller/InspectionWorkController.java create mode 100644 op-modules/op-device/src/main/java/com/op/device/domain/Equipment.java create mode 100644 op-modules/op-device/src/main/java/com/op/device/domain/vo/InspectionWorkVO.java create mode 100644 op-modules/op-device/src/main/java/com/op/device/mapper/EquipmentMapper.java create mode 100644 op-modules/op-device/src/main/java/com/op/device/service/IInspectionWorkService.java create mode 100644 op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java create mode 100644 op-modules/op-device/src/main/resources/mapper/device/EquipmentMapper.xml diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/InspectionWorkController.java b/op-modules/op-device/src/main/java/com/op/device/controller/InspectionWorkController.java new file mode 100644 index 000000000..efafbdf34 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/controller/InspectionWorkController.java @@ -0,0 +1,99 @@ +package com.op.device.controller; +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.op.device.service.IInspectionWorkService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.device.domain.EquOrder; +import com.op.device.service.IEquOrderService; +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; + +/** + * 巡检记录Controller + * + * @author wws + * @date 2023-11-07 + */ +@RestController +@RequestMapping("/inspectionWork") +public class InspectionWorkController extends BaseController{ + + @Autowired + private IInspectionWorkService iInspectionWorkService; + + /** + * 查询巡检记录列表 + */ + @RequiresPermissions("device:inspectionWork:list") + @GetMapping("/list") + public TableDataInfo list(EquOrder equOrder) { + startPage(); + List list = iInspectionWorkService.selectEquOrderList(equOrder); + return getDataTable(list); + } + + /** + * 导出巡检记录列表 + */ + @RequiresPermissions("device:inspectionWork:export") + @Log(title = "巡检记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, EquOrder equOrder) { + List list = iInspectionWorkService.selectEquOrderList(equOrder); + ExcelUtil util = new ExcelUtil(EquOrder.class); + util.exportExcel(response, list, "巡检记录数据"); + } + + /** + * 获取巡检记录详细信息 + */ + @RequiresPermissions("device:inspectionWork:query") + @GetMapping(value = "/{orderId}") + public AjaxResult getInfo(@PathVariable("orderId") String orderId) { + return iInspectionWorkService.selectEquOrderByOrderId(orderId); + } + + /** + * 新增巡检记录 + */ + @RequiresPermissions("device:inspectionWork:add") + @Log(title = "巡检记录", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody EquOrder equOrder) { + return toAjax(iInspectionWorkService.insertEquOrder(equOrder)); + } + + /** + * 修改巡检记录 + */ + @RequiresPermissions("device:inspectionWork:edit") + @Log(title = "巡检记录", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody EquOrder equOrder) { + return toAjax(iInspectionWorkService.updateEquOrder(equOrder)); + } + + /** + * 删除巡检记录 + */ + @RequiresPermissions("device:inspectionWork:remove") + @Log(title = "巡检记录", businessType = BusinessType.DELETE) + @DeleteMapping("/{orderIds}") + public AjaxResult remove(@PathVariable String[] orderIds) { + return toAjax(iInspectionWorkService.deleteEquOrderByOrderIds(orderIds)); + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java index 7ef078b52..f7a5e2ef4 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java @@ -84,6 +84,16 @@ public class EquOrderStandard extends BaseEntity { // 图片路径 private String picturePath; + private String standardTypeName; + + public String getStandardTypeName() { + return standardTypeName; + } + + public void setStandardTypeName(String standardTypeName) { + this.standardTypeName = standardTypeName; + } + public String getPicturePath() { return picturePath; } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/Equipment.java b/op-modules/op-device/src/main/java/com/op/device/domain/Equipment.java new file mode 100644 index 000000000..2e36528e9 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/Equipment.java @@ -0,0 +1,441 @@ +package com.op.device.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; + +public class Equipment extends BaseEntity { + /** 设备ID */ + private Long equipmentId; + + /** 设备编码 */ + @Excel(name = "设备编码") + private String equipmentCode; + + /** 设备名称 */ + @Excel(name = "设备名称") + private String equipmentName; + + /** 品牌 */ + @Excel(name = "品牌") + private String equipmentBrand; + + /** 规格型号 */ + @Excel(name = "规格型号") + private String equipmentSpec; + + /** 设备类型ID */ + @Excel(name = "设备类型ID") + private Long equipmentTypeId; + + /** 设备类型编码 */ + @Excel(name = "设备类型编码") + private String equipmentTypeCode; + + /** 设备类型名称 */ + @Excel(name = "设备类型名称") + private String equipmentTypeName; + + /** 所属车间ID */ + @Excel(name = "所属车间ID") + private Long workshopId; + + /** 所属工作中心编码 */ + @Excel(name = "所属工作中心编码") + private String workshopCode; + + /** 所属工作中心名称 */ + @Excel(name = "所属工作中心名称") + private String workshopName; + + /** 设备状态,0异常 */ + @Excel(name = "设备状态,0异常") + private String status; + + /** 预留字段1 */ + @Excel(name = "预留字段1") + private String attr1; + + /** 预留字段2 */ + @Excel(name = "预留字段2") + private String attr2; + + /** 预留字段3 */ + @Excel(name = "预留字段3") + private Long attr3; + + /** 预留字段4 */ + @Excel(name = "预留字段4") + private Long attr4; + + /** 工段 */ + @Excel(name = "工段") + private String workshopSection; + + /** 设备位置 */ + @Excel(name = "设备位置") + private String equipmentLocation; + + /** 工时单价 */ + @Excel(name = "工时单价") + private Long hourlyUnitPrice; + + /** 设备条码 */ + @Excel(name = "设备条码") + private String equipmentBarcode; + + /** 设备条码图片 */ + @Excel(name = "设备条码图片") + private String equipmentBarcodeImage; + + /** 生产厂商 */ + @Excel(name = "生产厂商") + private String manufacturer; + + /** 供应商 */ + @Excel(name = "供应商") + private String supplier; + + /** 使用寿命 */ + @Excel(name = "使用寿命") + private String useLife; + + /** 购买时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "购买时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date buyTime; + + /** 资产原值 */ + @Excel(name = "资产原值") + private String assetOriginalValue; + + /** 资产净值 */ + @Excel(name = "资产净值") + private String netAssetValue; + + /** 资产负责人 */ + @Excel(name = "资产负责人") + private String assetHead; + + /** 固定资产编码 */ + @Excel(name = "固定资产编码") + private String fixedAssetCode; + + /** 部门 */ + @Excel(name = "部门") + private String department; + + /** 单台能力工时 */ + @Excel(name = "单台能力工时") + private String unitWorkingHours; + + /** PLCIP */ + @Excel(name = "PLCIP") + private String plcIp; + + /** PLC端口 */ + @Excel(name = "PLC端口") + private Long plcPort; + + /** 删除标志1删除,0正常 */ + private String delFlag; + + /** SAP资产号 */ + @Excel(name = "SAP资产号") + private String sapAsset; + + public void setEquipmentId(Long equipmentId) { + this.equipmentId = equipmentId; + } + + public Long getEquipmentId() { + return equipmentId; + } + public void setEquipmentCode(String equipmentCode) { + this.equipmentCode = equipmentCode; + } + + public String getEquipmentCode() { + return equipmentCode; + } + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentName() { + return equipmentName; + } + public void setEquipmentBrand(String equipmentBrand) { + this.equipmentBrand = equipmentBrand; + } + + public String getEquipmentBrand() { + return equipmentBrand; + } + public void setEquipmentSpec(String equipmentSpec) { + this.equipmentSpec = equipmentSpec; + } + + public String getEquipmentSpec() { + return equipmentSpec; + } + public void setEquipmentTypeId(Long equipmentTypeId) { + this.equipmentTypeId = equipmentTypeId; + } + + public Long getEquipmentTypeId() { + return equipmentTypeId; + } + public void setEquipmentTypeCode(String equipmentTypeCode) { + this.equipmentTypeCode = equipmentTypeCode; + } + + public String getEquipmentTypeCode() { + return equipmentTypeCode; + } + public void setEquipmentTypeName(String equipmentTypeName) { + this.equipmentTypeName = equipmentTypeName; + } + + public String getEquipmentTypeName() { + return equipmentTypeName; + } + public void setWorkshopId(Long workshopId) { + this.workshopId = workshopId; + } + + public Long getWorkshopId() { + return workshopId; + } + public void setWorkshopCode(String workshopCode) { + this.workshopCode = workshopCode; + } + + public String getWorkshopCode() { + return workshopCode; + } + public void setWorkshopName(String workshopName) { + this.workshopName = workshopName; + } + + public String getWorkshopName() { + return workshopName; + } + public void setStatus(String status) { + this.status = status; + } + + public String getStatus() { + return status; + } + public void setAttr1(String attr1) { + this.attr1 = attr1; + } + + public String getAttr1() { + return attr1; + } + public void setAttr2(String attr2) { + this.attr2 = attr2; + } + + public String getAttr2() { + return attr2; + } + public void setAttr3(Long attr3) { + this.attr3 = attr3; + } + + public Long getAttr3() { + return attr3; + } + public void setAttr4(Long attr4) { + this.attr4 = attr4; + } + + public Long getAttr4() { + return attr4; + } + public void setWorkshopSection(String workshopSection) { + this.workshopSection = workshopSection; + } + + public String getWorkshopSection() { + return workshopSection; + } + public void setEquipmentLocation(String equipmentLocation) { + this.equipmentLocation = equipmentLocation; + } + + public String getEquipmentLocation() { + return equipmentLocation; + } + public void setHourlyUnitPrice(Long hourlyUnitPrice) { + this.hourlyUnitPrice = hourlyUnitPrice; + } + + public Long getHourlyUnitPrice() { + return hourlyUnitPrice; + } + public void setEquipmentBarcode(String equipmentBarcode) { + this.equipmentBarcode = equipmentBarcode; + } + + public String getEquipmentBarcode() { + return equipmentBarcode; + } + public void setEquipmentBarcodeImage(String equipmentBarcodeImage) { + this.equipmentBarcodeImage = equipmentBarcodeImage; + } + + public String getEquipmentBarcodeImage() { + return equipmentBarcodeImage; + } + public void setManufacturer(String manufacturer) { + this.manufacturer = manufacturer; + } + + public String getManufacturer() { + return manufacturer; + } + public void setSupplier(String supplier) { + this.supplier = supplier; + } + + public String getSupplier() { + return supplier; + } + public void setUseLife(String useLife) { + this.useLife = useLife; + } + + public String getUseLife() { + return useLife; + } + public void setBuyTime(Date buyTime) { + this.buyTime = buyTime; + } + + public Date getBuyTime() { + return buyTime; + } + public void setAssetOriginalValue(String assetOriginalValue) { + this.assetOriginalValue = assetOriginalValue; + } + + public String getAssetOriginalValue() { + return assetOriginalValue; + } + public void setNetAssetValue(String netAssetValue) { + this.netAssetValue = netAssetValue; + } + + public String getNetAssetValue() { + return netAssetValue; + } + public void setAssetHead(String assetHead) { + this.assetHead = assetHead; + } + + public String getAssetHead() { + return assetHead; + } + public void setFixedAssetCode(String fixedAssetCode) { + this.fixedAssetCode = fixedAssetCode; + } + + public String getFixedAssetCode() { + return fixedAssetCode; + } + public void setDepartment(String department) { + this.department = department; + } + + public String getDepartment() { + return department; + } + public void setUnitWorkingHours(String unitWorkingHours) { + this.unitWorkingHours = unitWorkingHours; + } + + public String getUnitWorkingHours() { + return unitWorkingHours; + } + public void setPlcIp(String plcIp) { + this.plcIp = plcIp; + } + + public String getPlcIp() { + return plcIp; + } + public void setPlcPort(Long plcPort) { + this.plcPort = plcPort; + } + + public Long getPlcPort() { + return plcPort; + } + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag() { + return delFlag; + } + public void setSapAsset(String sapAsset) { + this.sapAsset = sapAsset; + } + + public String getSapAsset() { + return sapAsset; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("equipmentId", getEquipmentId()) + .append("equipmentCode", getEquipmentCode()) + .append("equipmentName", getEquipmentName()) + .append("equipmentBrand", getEquipmentBrand()) + .append("equipmentSpec", getEquipmentSpec()) + .append("equipmentTypeId", getEquipmentTypeId()) + .append("equipmentTypeCode", getEquipmentTypeCode()) + .append("equipmentTypeName", getEquipmentTypeName()) + .append("workshopId", getWorkshopId()) + .append("workshopCode", getWorkshopCode()) + .append("workshopName", getWorkshopName()) + .append("status", getStatus()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("workshopSection", getWorkshopSection()) + .append("equipmentLocation", getEquipmentLocation()) + .append("hourlyUnitPrice", getHourlyUnitPrice()) + .append("equipmentBarcode", getEquipmentBarcode()) + .append("equipmentBarcodeImage", getEquipmentBarcodeImage()) + .append("manufacturer", getManufacturer()) + .append("supplier", getSupplier()) + .append("useLife", getUseLife()) + .append("buyTime", getBuyTime()) + .append("assetOriginalValue", getAssetOriginalValue()) + .append("netAssetValue", getNetAssetValue()) + .append("assetHead", getAssetHead()) + .append("fixedAssetCode", getFixedAssetCode()) + .append("department", getDepartment()) + .append("unitWorkingHours", getUnitWorkingHours()) + .append("plcIp", getPlcIp()) + .append("plcPort", getPlcPort()) + .append("delFlag", getDelFlag()) + .append("sapAsset", getSapAsset()) + .toString(); + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/vo/InspectionWorkVO.java b/op-modules/op-device/src/main/java/com/op/device/domain/vo/InspectionWorkVO.java new file mode 100644 index 000000000..ec53c3fc4 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/vo/InspectionWorkVO.java @@ -0,0 +1,38 @@ +package com.op.device.domain.vo; + +import com.op.device.domain.EquOrder; +import com.op.device.domain.EquOrderDetail; +import com.op.device.domain.Equipment; + +import java.util.List; + +// 工单-报表VO +public class InspectionWorkVO { + private EquOrder order; + private Equipment equ; + private List detailList; + + public EquOrder getOrder() { + return order; + } + + public void setOrder(EquOrder order) { + this.order = order; + } + + public Equipment getEqu() { + return equ; + } + + public void setEqu(Equipment equ) { + this.equ = equ; + } + + public List getDetailList() { + return detailList; + } + + public void setDetailList(List detailList) { + this.detailList = detailList; + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderDetailMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderDetailMapper.java index d6611e4a3..7dc3458c2 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderDetailMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderDetailMapper.java @@ -65,4 +65,11 @@ public interface EquOrderDetailMapper { * @return */ List selectEquOrderDetailByParentCode(String code); + + /** + * 查询检查项list-工单code + * @param orderCode + * @return + */ + List selectEquOrderDetailByOrderCode(String orderCode); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java index 32da1d8a6..23c57844f 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java @@ -2,6 +2,7 @@ package com.op.device.mapper; import java.util.List; +import com.baomidou.dynamic.datasource.annotation.DS; import com.op.device.domain.EquOrder; /** @@ -98,4 +99,12 @@ public interface EquOrderMapper { * @return */ int selectSerialNumber(); + + /** + * 替换循环类型 + * @param planLoopType + * @return + */ + @DS("#master") + String changeLoopType(String planLoopType); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquipmentMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquipmentMapper.java new file mode 100644 index 000000000..1447f0994 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquipmentMapper.java @@ -0,0 +1,13 @@ +package com.op.device.mapper; + +import com.op.device.domain.Equipment; + +public interface EquipmentMapper { + /** + * 查询设备管理 + * + * @param equipmentId 设备管理主键 + * @return 设备管理 + */ + public Equipment selectEquipmentByEquipmentCode(String equipmentCode); +} diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IInspectionWorkService.java b/op-modules/op-device/src/main/java/com/op/device/service/IInspectionWorkService.java new file mode 100644 index 000000000..a958a1f37 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/service/IInspectionWorkService.java @@ -0,0 +1,62 @@ +package com.op.device.service; + +import java.util.List; + +import com.op.common.core.web.domain.AjaxResult; +import com.op.device.domain.EquOrder; + +/** + * 巡检记录Service接口 + * + * @author wws + * @date 2023-11-07 + */ +public interface IInspectionWorkService { + /** + * 查询巡检记录 + * + * @param orderId 巡检记录主键 + * @return 巡检记录 + */ + public AjaxResult selectEquOrderByOrderId(String orderId); + + /** + * 查询巡检记录列表 + * + * @param equOrder 巡检记录 + * @return 巡检记录集合 + */ + public List selectEquOrderList(EquOrder equOrder); + + /** + * 新增巡检记录 + * + * @param equOrder 巡检记录 + * @return 结果 + */ + public int insertEquOrder(EquOrder equOrder); + + /** + * 修改巡检记录 + * + * @param equOrder 巡检记录 + * @return 结果 + */ + public int updateEquOrder(EquOrder equOrder); + + /** + * 批量删除巡检记录 + * + * @param orderIds 需要删除的巡检记录主键集合 + * @return 结果 + */ + public int deleteEquOrderByOrderIds(String[] orderIds); + + /** + * 删除巡检记录信息 + * + * @param orderId 巡检记录主键 + * @return 结果 + */ + public int deleteEquOrderByOrderId(String orderId); +} diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java new file mode 100644 index 000000000..873d91c1e --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java @@ -0,0 +1,145 @@ +package com.op.device.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.web.domain.AjaxResult; +import com.op.device.domain.*; +import com.op.device.domain.vo.InspectionWorkVO; +import com.op.device.mapper.*; +import com.op.device.service.IInspectionWorkService; + +import java.util.List; +import com.op.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.op.device.service.IEquOrderService; + +import static com.op.common.core.web.domain.AjaxResult.success; + +/** + * 巡检记录Service业务层处理 + * + * @author wws + * @date 2023-11-07 + */ +@Service +public class InspectionWorkServiceImpl implements IInspectionWorkService { + @Autowired + private EquOrderMapper equOrderMapper; + @Autowired + private EquipmentMapper equipmentMapper; + @Autowired + private EquOrderDetailMapper equOrderDetailMapper; + @Autowired + private EquOrderStandardMapper equOrderStandardMapper; + @Autowired + private EquPlanMapper equPlanMapper; + + /** + * 查询巡检记录 + * + * @param orderId 巡检记录主键 + * @return 巡检记录 + */ + @Override + @DS("#header.poolName") + public AjaxResult selectEquOrderByOrderId(String orderId) { + InspectionWorkVO workVO = new InspectionWorkVO(); + EquOrder order = equOrderMapper.selectEquOrderByOrderId(orderId); + // 设置计划名称 + EquPlan equPlan = equPlanMapper.selectEquPlanByPlanCode(order.getPlanCode()); + order.setPlanName(equPlan.getPlanName()); + // 替换循环周期 + order.setPlanLoopType(equOrderMapper.changeLoopType(order.getPlanLoopType())); + + Equipment equipment = equipmentMapper.selectEquipmentByEquipmentCode(order.getEquipmentCode()); + + List detailList = equOrderDetailMapper.selectEquOrderDetailByOrderCode(order.getOrderCode()); + for (EquOrderDetail detail : detailList) { + List standardList = equOrderStandardMapper.selectEquOrderStandardByParentCode(detail.getCode()); + for (EquOrderStandard standard : standardList) { + if (standard.getStandardType().equals("quantify")){ + standard.setStandardTypeName("定量"); + }else { + standard.setStandardTypeName("定性"); + } + + if (standard.getDetailReach() != null) { + if (standard.getDetailReach().equals("0")){ + standard.setDetailReach("未达标"); + }else { + standard.setDetailReach("达标"); + } + } + } + detail.setStandardList(standardList); + } + workVO.setOrder(order); + workVO.setEqu(equipment); + workVO.setDetailList(detailList); + + return success(workVO); + } + + /** + * 查询巡检记录列表 + * + * @param equOrder 巡检记录 + * @return 巡检记录 + */ + @Override + @DS("#header.poolName") + public List selectEquOrderList(EquOrder equOrder) { + return equOrderMapper.selectEquOrderList(equOrder); + } + + /** + * 新增巡检记录 + * + * @param equOrder 巡检记录 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertEquOrder(EquOrder equOrder) { + equOrder.setCreateTime(DateUtils.getNowDate()); + return equOrderMapper.insertEquOrder(equOrder); + } + + /** + * 修改巡检记录 + * + * @param equOrder 巡检记录 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateEquOrder(EquOrder equOrder) { + equOrder.setUpdateTime(DateUtils.getNowDate()); + return equOrderMapper.updateEquOrder(equOrder); + } + + /** + * 批量删除巡检记录 + * + * @param orderIds 需要删除的巡检记录主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteEquOrderByOrderIds(String[] orderIds) { + return equOrderMapper.deleteEquOrderByOrderIds(orderIds); + } + + /** + * 删除巡检记录信息 + * + * @param orderId 巡检记录主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteEquOrderByOrderId(String orderId) { + return equOrderMapper.deleteEquOrderByOrderId(orderId); + } + +} diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderDetailMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderDetailMapper.xml index 2ca628837..9146edf76 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderDetailMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderDetailMapper.xml @@ -57,6 +57,11 @@ where parent_code = #{parentCode} + + insert into equ_order_detail diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml index a68120338..9f3741f23 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml @@ -70,9 +70,9 @@ and attr3 = #{attr3} and del_flag = #{delFlag} and create_by like concat('%', #{createBy}, '%') - and create_time = #{createTime} + and CONVERT(date,create_time) = #{createTime} and update_by like concat('%', #{updateBy}, '%') - and update_time = #{updateTime} + and CONVERT(date,update_time) = #{updateTime} and upkeep = #{upkeep} and calculation_rule = #{calculationRule} and shut_down = #{shutDown} @@ -119,7 +119,11 @@ WHERE CONVERT(date, GETDATE()) = CONVERT(date,create_time) and del_flag = '0' - + + + insert into equ_order order_id, diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquipmentMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquipmentMapper.xml new file mode 100644 index 000000000..b69d3672a --- /dev/null +++ b/op-modules/op-device/src/main/resources/mapper/device/EquipmentMapper.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select equipment_id, equipment_code, equipment_name, equipment_brand, equipment_spec, equipment_type_id, equipment_type_code, equipment_type_name, workshop_id, workshop_code, workshop_name, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, workshop_section, equipment_location, hourly_unit_price, equipment_barcode, equipment_barcode_image, manufacturer, supplier, use_life, buy_time, asset_original_value, net_asset_value, asset_head, fixed_asset_code, department, unit_working_hours, plc_ip, plc_port, del_flag, sap_asset from base_equipment + + + + + \ No newline at end of file From 362a8ac15a385105cc836640903be222aafcc190 Mon Sep 17 00:00:00 2001 From: wws <18630710203@163.com> Date: Tue, 7 Nov 2023 17:36:07 +0800 Subject: [PATCH 05/32] =?UTF-8?q?=E6=8A=A5=E8=A1=A8-=E4=BF=9D=E5=85=BB?= =?UTF-8?q?=E8=AE=B0=E5=BD=95init?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/device/service/impl/InspectionWorkServiceImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java index 873d91c1e..52b514aec 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java @@ -47,7 +47,10 @@ public class InspectionWorkServiceImpl implements IInspectionWorkService { EquOrder order = equOrderMapper.selectEquOrderByOrderId(orderId); // 设置计划名称 EquPlan equPlan = equPlanMapper.selectEquPlanByPlanCode(order.getPlanCode()); - order.setPlanName(equPlan.getPlanName()); + if (equPlan != null) { + order.setPlanName(equPlan.getPlanName()); + } + // 替换循环周期 order.setPlanLoopType(equOrderMapper.changeLoopType(order.getPlanLoopType())); From 15157dd26e11b7679c2407c18596b55e4ffacb40 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Wed, 8 Nov 2023 09:05:14 +0800 Subject: [PATCH 06/32] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E6=B3=A8=E5=86=8C=E4=B8=AD=E5=BF=83=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/api/domain/mes/BaseTeamTDTO.java | 342 ++++++++++++++++++ op-auth/src/main/resources/bootstrap.yml | 4 +- op-gateway/src/main/resources/bootstrap.yml | 6 +- .../src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- .../op-file/src/main/resources/bootstrap.yml | 4 +- .../op-gen/src/main/resources/bootstrap.yml | 4 +- .../op-job/src/main/resources/bootstrap.yml | 4 +- .../MesReportWorkConsumeController.java | 9 + .../mapper/MesReportWorkConsumeMapper.java | 3 + .../service/IMesReportWorkConsumeService.java | 3 + .../impl/MesReportWorkConsumeServiceImpl.java | 6 + .../op-mes/src/main/resources/bootstrap.yml | 4 +- .../mapper/mes/MesReportWorkConsumeMapper.xml | 8 +- .../op-plan/src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- .../quality/QcCheckReportIncomeMapper.xml | 5 +- .../op-sap/src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- .../resources/mapper/system/SysMenuMapper.xml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- .../op-wms/src/main/resources/bootstrap.yml | 4 +- 23 files changed, 407 insertions(+), 35 deletions(-) create mode 100644 op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/BaseTeamTDTO.java diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/BaseTeamTDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/BaseTeamTDTO.java new file mode 100644 index 000000000..03f501028 --- /dev/null +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/BaseTeamTDTO.java @@ -0,0 +1,342 @@ +package com.op.system.api.domain.mes; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; +import java.util.List; + +/** + * 班组对象 base_team_t + * + * @author Open Platform + * @date 2023-07-05 + */ +public class BaseTeamTDTO extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 班组主键 */ + private String teamId; + + /** 组织机构主键 */ + @Excel(name = "组织机构主键") + private String orgId; + + /** 班组编码 */ + @Excel(name = "班组编码") + private String teamCode; + + /** 班组简称 */ + @Excel(name = "班组简称") + private String teamDesc; + + /** 班组通用名称 */ + @Excel(name = "班组通用名称") + private String teamDescGlobal; + + /** 班组扩展名称 */ + @Excel(name = "班组扩展名称") + private String teamDescExtended; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date createDate; + + /** 最后更新人 */ + @Excel(name = "最后更新人") + private String lastUpdateBy; + + /** 最后更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date lastUpdateDate; + + /** 可用标识 */ + @Excel(name = "可用标识") + private String Active; + + /** 企业主键 */ + @Excel(name = "企业主键") + private String enterpriseId; + + /** 企业编码 */ + @Excel(name = "企业编码") + private String enterpriseCode; + + /** 工厂主键 */ + @Excel(name = "工厂主键") + private String siteId; + + /** 工厂编码 */ + @Excel(name = "工厂编码") + private String siteCode; + + /** 线体编码 */ + @Excel(name = "线体编码") + private String productionLineCode; + + /** 班组长编码 */ + @Excel(name = "班组长编码") + private String teamLeaderCode; + + /** 班组长编码 */ + @Excel(name = "班组长编码") + private String teamLeaderName; + + /** 定编岗位数量 */ + @Excel(name = "定编岗位数量") + private Integer planPostQuantity; + + /** 已分配岗位数量 */ + @Excel(name = "已分配岗位数量") + private Integer actualPostQuantity; + + /** 薪酬类型(0:总装;1:小时节点筹; */ + @Excel(name = "薪酬类型(0:总装;1:小时节点筹;") + private String salaryType; + + /** 班组属性 */ + @Excel(name = "班组属性") + private String teamProperties; + + /** 应出勤人数 */ + @Excel(name = "应出勤人数") + private Integer attendanceQuantity; + + /** 已分配人数 */ + @Excel(name = "已分配人数") + private Integer assignedQuantity; + + /** 班组类型 */ + @Excel(name = "班组类型") + private String teamType; + + private List rightData; + + /** 删除标志 */ + @Excel(name = "删除标志") + private String delFlag; + + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + public String getDelFlag() { + return delFlag; + } + + public void setRightData(List rightData) { + this.rightData = rightData; + } + + public List getRightData() { + return rightData; + } + + public void setTeamType(String teamType) { + this.teamType = teamType; + } + + public String getTeamType() { + return teamType; + } + + public void setTeamId(String teamId) { + this.teamId = teamId; + } + + public String getTeamId() { + return teamId; + } + public void setOrgId(String orgId) { + this.orgId = orgId; + } + + public String getOrgId() { + return orgId; + } + public void setTeamCode(String teamCode) { + this.teamCode = teamCode; + } + + public String getTeamCode() { + return teamCode; + } + public void setTeamDesc(String teamDesc) { + this.teamDesc = teamDesc; + } + + public String getTeamDesc() { + return teamDesc; + } + public void setTeamDescGlobal(String teamDescGlobal) { + this.teamDescGlobal = teamDescGlobal; + } + + public String getTeamDescGlobal() { + return teamDescGlobal; + } + public void setTeamDescExtended(String teamDescExtended) { + this.teamDescExtended = teamDescExtended; + } + + public String getTeamDescExtended() { + return teamDescExtended; + } + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + public Date getCreateDate() { + return createDate; + } + public void setLastUpdateBy(String lastUpdateBy) { + this.lastUpdateBy = lastUpdateBy; + } + + public String getLastUpdateBy() { + return lastUpdateBy; + } + public void setLastUpdateDate(Date lastUpdateDate) { + this.lastUpdateDate = lastUpdateDate; + } + + public Date getLastUpdateDate() { + return lastUpdateDate; + } + public void setActive(String Active) { + this.Active = Active; + } + + public String getActive() { + return Active; + } + public void setEnterpriseId(String enterpriseId) { + this.enterpriseId = enterpriseId; + } + + public String getEnterpriseId() { + return enterpriseId; + } + public void setEnterpriseCode(String enterpriseCode) { + this.enterpriseCode = enterpriseCode; + } + + public String getEnterpriseCode() { + return enterpriseCode; + } + public void setSiteId(String siteId) { + this.siteId = siteId; + } + + public String getSiteId() { + return siteId; + } + public void setSiteCode(String siteCode) { + this.siteCode = siteCode; + } + + public String getSiteCode() { + return siteCode; + } + public void setProductionLineCode(String productionLineCode) { + this.productionLineCode = productionLineCode; + } + + public String getProductionLineCode() { + return productionLineCode; + } + public void setTeamLeaderCode(String teamLeaderCode) { + this.teamLeaderCode = teamLeaderCode; + } + + public String getTeamLeaderCode() { + return teamLeaderCode; + } + + public void setTeamLeaderName(String teamLeaderName) { + this.teamLeaderName = teamLeaderName; + } + + public String getTeamLeaderName() { + return teamLeaderName; + } + + public void setPlanPostQuantity(Integer planPostQuantity) { + this.planPostQuantity = planPostQuantity; + } + + public Integer getPlanPostQuantity() { + return planPostQuantity; + } + public void setActualPostQuantity(Integer actualPostQuantity) { + this.actualPostQuantity = actualPostQuantity; + } + + public Integer getActualPostQuantity() { + return actualPostQuantity; + } + public void setSalaryType(String salaryType) { + this.salaryType = salaryType; + } + + public String getSalaryType() { + return salaryType; + } + public void setTeamProperties(String teamProperties) { + this.teamProperties = teamProperties; + } + + public String getTeamProperties() { + return teamProperties; + } + public void setAttendanceQuantity(Integer attendanceQuantity) { + this.attendanceQuantity = attendanceQuantity; + } + + public Integer getAttendanceQuantity() { + return attendanceQuantity; + } + public void setAssignedQuantity(Integer assignedQuantity) { + this.assignedQuantity = assignedQuantity; + } + + public Integer getAssignedQuantity() { + return assignedQuantity; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("teamId", getTeamId()) + .append("orgId", getOrgId()) + .append("teamCode", getTeamCode()) + .append("teamDesc", getTeamDesc()) + .append("teamDescGlobal", getTeamDescGlobal()) + .append("teamDescExtended", getTeamDescExtended()) + .append("createBy", getCreateBy()) + .append("createDate", getCreateDate()) + .append("lastUpdateBy", getLastUpdateBy()) + .append("lastUpdateDate", getLastUpdateDate()) + .append("Active", getActive()) + .append("enterpriseId", getEnterpriseId()) + .append("enterpriseCode", getEnterpriseCode()) + .append("siteId", getSiteId()) + .append("siteCode", getSiteCode()) + .append("productionLineCode", getProductionLineCode()) + .append("teamLeaderCode", getTeamLeaderCode()) + .append("teamLeaderName", getTeamLeaderName()) + .append("planPostQuantity", getPlanPostQuantity()) + .append("actualPostQuantity", getActualPostQuantity()) + .append("salaryType", getSalaryType()) + .append("teamProperties", getTeamProperties()) + .append("attendanceQuantity", getAttendanceQuantity()) + .append("assignedQuantity", getAssignedQuantity()) + .append("teamType", getTeamType()) + .append("delFlag", getDelFlag()) + .toString(); + } +} diff --git a/op-auth/src/main/resources/bootstrap.yml b/op-auth/src/main/resources/bootstrap.yml index 068f4b57c..b83233e24 100644 --- a/op-auth/src/main/resources/bootstrap.yml +++ b/op-auth/src/main/resources/bootstrap.yml @@ -19,13 +19,13 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: #命名空间 namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-gateway/src/main/resources/bootstrap.yml b/op-gateway/src/main/resources/bootstrap.yml index bd1f68ead..8103b4a8e 100644 --- a/op-gateway/src/main/resources/bootstrap.yml +++ b/op-gateway/src/main/resources/bootstrap.yml @@ -19,13 +19,13 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: #命名空间 namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 @@ -41,7 +41,7 @@ spring: datasource: ds1: nacos: - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 dataId: sentinel-op-gateway groupId: DEFAULT_GROUP data-type: json diff --git a/op-modules/op-device/src/main/resources/bootstrap.yml b/op-modules/op-device/src/main/resources/bootstrap.yml index b166ed595..efdd19ba2 100644 --- a/op-modules/op-device/src/main/resources/bootstrap.yml +++ b/op-modules/op-device/src/main/resources/bootstrap.yml @@ -16,12 +16,12 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-energy/src/main/resources/bootstrap.yml b/op-modules/op-energy/src/main/resources/bootstrap.yml index 57f1f21a1..5565492d4 100644 --- a/op-modules/op-energy/src/main/resources/bootstrap.yml +++ b/op-modules/op-energy/src/main/resources/bootstrap.yml @@ -16,12 +16,12 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-file/src/main/resources/bootstrap.yml b/op-modules/op-file/src/main/resources/bootstrap.yml index 4761653f0..87f14b591 100644 --- a/op-modules/op-file/src/main/resources/bootstrap.yml +++ b/op-modules/op-file/src/main/resources/bootstrap.yml @@ -16,13 +16,13 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: # 配置中心地址 namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-gen/src/main/resources/bootstrap.yml b/op-modules/op-gen/src/main/resources/bootstrap.yml index 8bbf1fa73..75c3c997a 100644 --- a/op-modules/op-gen/src/main/resources/bootstrap.yml +++ b/op-modules/op-gen/src/main/resources/bootstrap.yml @@ -16,13 +16,13 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: #命名空间 namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-job/src/main/resources/bootstrap.yml b/op-modules/op-job/src/main/resources/bootstrap.yml index 6c487c9e7..e2706f6da 100644 --- a/op-modules/op-job/src/main/resources/bootstrap.yml +++ b/op-modules/op-job/src/main/resources/bootstrap.yml @@ -16,12 +16,12 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java index 4794e8700..d40096287 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java @@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletResponse; import com.op.common.core.utils.uuid.IdUtils; import com.op.system.api.domain.dto.BaseBomDTO; import com.op.system.api.domain.mes.BaseProductDTO; +import com.op.system.api.domain.mes.BaseTeamTDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -119,4 +120,12 @@ public class MesReportWorkConsumeController extends BaseController { List list = mesReportWorkConsumeService.getMesListBom(dto); return getDataTable(list); } + + /**获取班组**/ + @GetMapping("/getTeamList") + public List getTeamList(BaseTeamTDTO dto) { + startPage(); + List list = mesReportWorkConsumeService.getTeamList(dto); + return list; + } } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java index 1113aea8d..befe9fda6 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java @@ -4,6 +4,7 @@ import java.util.List; import com.op.mes.domain.MesReportWorkConsume; import com.op.system.api.domain.dto.BaseBomDTO; +import com.op.system.api.domain.mes.BaseTeamTDTO; /** * 生产报工物料消耗Mapper接口 @@ -63,4 +64,6 @@ public interface MesReportWorkConsumeMapper { List selectMesReportWorkConsumeListById(MesReportWorkConsume mesReportWorkConsume); List getMesListBom(BaseBomDTO dto); + + List getTeamList(BaseTeamTDTO dto); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java index 61b93cdd0..ba8fd9d61 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java @@ -4,6 +4,7 @@ import java.util.List; import com.op.mes.domain.MesReportWorkConsume; import com.op.system.api.domain.dto.BaseBomDTO; import com.op.system.api.domain.mes.BaseProductDTO; +import com.op.system.api.domain.mes.BaseTeamTDTO; /** * 生产报工物料消耗Service接口 @@ -69,4 +70,6 @@ public interface IMesReportWorkConsumeService { public int deleteMesReportWorkConsumeByRecordId(String recordId); public List getMesListBom(BaseBomDTO dto); + + public List getTeamList(BaseTeamTDTO dto); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java index 06677fa3e..449590259 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java @@ -7,6 +7,7 @@ import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.system.api.domain.dto.BaseBomDTO; import com.op.system.api.domain.mes.BaseProductDTO; +import com.op.system.api.domain.mes.BaseTeamTDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.mes.mapper.MesReportWorkConsumeMapper; @@ -117,5 +118,10 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer return mesReportWorkConsumeMapper.getMesListBom(dto); } + @Override + public List getTeamList(BaseTeamTDTO dto) { + return mesReportWorkConsumeMapper.getTeamList(dto); + } + } diff --git a/op-modules/op-mes/src/main/resources/bootstrap.yml b/op-modules/op-mes/src/main/resources/bootstrap.yml index 014cd085c..a4dc0dd0f 100644 --- a/op-modules/op-mes/src/main/resources/bootstrap.yml +++ b/op-modules/op-mes/src/main/resources/bootstrap.yml @@ -16,12 +16,12 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml index 2b003bf2c..57853cf05 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml @@ -75,8 +75,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bp.product_group like concat('%', #{productGroup}, '%') and bp.product_group_name like concat('%', #{productGroupName}, '%') + - + insert into mes_report_work_consume record_id, diff --git a/op-modules/op-plan/src/main/resources/bootstrap.yml b/op-modules/op-plan/src/main/resources/bootstrap.yml index 3f029c5d0..39d689e46 100644 --- a/op-modules/op-plan/src/main/resources/bootstrap.yml +++ b/op-modules/op-plan/src/main/resources/bootstrap.yml @@ -16,12 +16,12 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-quality/src/main/resources/bootstrap.yml b/op-modules/op-quality/src/main/resources/bootstrap.yml index d9eea330a..b73385328 100644 --- a/op-modules/op-quality/src/main/resources/bootstrap.yml +++ b/op-modules/op-quality/src/main/resources/bootstrap.yml @@ -16,12 +16,12 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml index bc241d47f..70b71de01 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml @@ -36,7 +36,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select record_id, check_no, income_batch_no, order_no, material_code, material_name, quality, unit, supplier_code, supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name, check_time, check_result, status, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, factory_code, del_flag from qc_check_task + select record_id, check_no, income_batch_no, order_no, material_code, material_name, quality, unit, + supplier_code, supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name, + check_time, check_result, status, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, + factory_code, del_flag from qc_check_task + + insert into equ_order_equ_spare From 749c2cf67db9d36a48dc97641dcbda75896ada22 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Wed, 8 Nov 2023 11:27:48 +0800 Subject: [PATCH 08/32] =?UTF-8?q?mes=E4=B8=8A=E4=BD=8D=E6=9C=BA=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=BF=81=E7=A7=BBscada?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QcCheckReportIncomeController.java | 12 +- .../QcCheckReportProduceController.java | 186 ++++++++++++++++ .../QcCheckReportProductController.java | 186 ++++++++++++++++ .../service/IQcCheckReportProduceService.java | 77 +++++++ .../service/IQcCheckReportProductService.java | 77 +++++++ .../QcCheckReportProduceServiceImpl.java | 203 ++++++++++++++++++ .../QcCheckReportProductServiceImpl.java | 203 ++++++++++++++++++ .../op/scada/controller/ScadaController.java | 50 +++++ .../java/com/op/scada/mapper/ScadaMapper.java | 27 +++ .../com/op/scada/service/ScadaService.java | 18 ++ .../scada/service/impl/ScadaServiceImpl.java | 147 +++++++++++++ .../op-scada/src/main/resources/bootstrap.yml | 8 +- .../resources/mapper/scada/ScadaMapper.xml | 49 +++++ 13 files changed, 1233 insertions(+), 10 deletions(-) create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProduceController.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProductController.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProduceService.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProductService.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportProduceServiceImpl.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportProductServiceImpl.java create mode 100644 op-modules/op-scada/src/main/java/com/op/scada/controller/ScadaController.java create mode 100644 op-modules/op-scada/src/main/java/com/op/scada/mapper/ScadaMapper.java create mode 100644 op-modules/op-scada/src/main/java/com/op/scada/service/ScadaService.java create mode 100644 op-modules/op-scada/src/main/java/com/op/scada/service/impl/ScadaServiceImpl.java create mode 100644 op-modules/op-scada/src/main/resources/mapper/scada/ScadaMapper.xml diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportIncomeController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportIncomeController.java index e428cd029..2117a8646 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportIncomeController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportIncomeController.java @@ -39,7 +39,7 @@ public class QcCheckReportIncomeController extends BaseController { /** * 查询来料检验列表 */ - @RequiresPermissions("quality:qcIncomeReport:list") + @RequiresPermissions("quality:incomeReport:list") @GetMapping("/list") public TableDataInfo list(QcCheckReportIncome qcCheckReportIncome) { @@ -66,7 +66,7 @@ public class QcCheckReportIncomeController extends BaseController { /** * 导出来料检验列表 */ - @RequiresPermissions("quality:qcIncomeReport:export") + @RequiresPermissions("quality:incomeReport:export") @Log(title = "来料检验", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, QcCheckReportIncome qcCheckReportIncome) { @@ -94,7 +94,7 @@ public class QcCheckReportIncomeController extends BaseController { /** * 获取来料检验详细信息 */ - @RequiresPermissions("quality:qcIncomeReport:query") + @RequiresPermissions("quality:incomeReport:query") @GetMapping(value = "/{recordId}") public AjaxResult getInfo(@PathVariable("recordId") String recordId) { return success(qcCheckReportIncomeService.selectQcCheckReportIncomeByRecordId(recordId)); @@ -103,7 +103,7 @@ public class QcCheckReportIncomeController extends BaseController { /** * 新增来料检验 */ - @RequiresPermissions("quality:qcIncomeReport:add") + @RequiresPermissions("quality:incomeReport:add") @Log(title = "来料检验", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody QcCheckReportIncome qcCheckReportIncome) { @@ -117,7 +117,7 @@ public class QcCheckReportIncomeController extends BaseController { /** * 修改来料检验 */ - @RequiresPermissions("quality:qcIncomeReport:edit") + @RequiresPermissions("quality:incomeReport:edit") @Log(title = "来料检验", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody QcCheckReportIncome qcCheckReportIncome) { @@ -127,7 +127,7 @@ public class QcCheckReportIncomeController extends BaseController { /** * 删除来料检验 */ - @RequiresPermissions("quality:qcIncomeReport:remove") + @RequiresPermissions("quality:incomeReport:remove") @Log(title = "来料检验", businessType = BusinessType.DELETE) @DeleteMapping("/{recordIds}") public AjaxResult remove(@PathVariable String[] recordIds) { diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProduceController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProduceController.java new file mode 100644 index 000000000..c8996b40a --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProduceController.java @@ -0,0 +1,186 @@ +package com.op.quality.controller; + +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.web.page.TableDataInfo; +import com.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.common.security.utils.SecurityUtils; +import com.op.quality.domain.QcBomComponent; +import com.op.quality.domain.QcCheckReportIncome; +import com.op.quality.domain.QcCheckTaskDetail; +import com.op.quality.domain.QcSupplier; +import com.op.quality.service.IQcCheckReportProduceService; +import com.op.system.api.domain.SysUser; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.List; + +/** + * 来料检验Controller + * + * @author Open Platform + * @date 2023-10-19 + */ +@RestController +@RequestMapping("/qcProduceReport") +public class QcCheckReportProduceController extends BaseController { + @Autowired + private IQcCheckReportProduceService qcCheckReportProduceService; + + /** + * 查询来料检验列表 + */ + @RequiresPermissions("quality:produceReport:list") + @GetMapping("/list") + public TableDataInfo list(QcCheckReportIncome qcCheckReportIncome) { + + //默认时间范围T 00:00:00~T+1 00:00:00 + /*if(StringUtils.isEmpty(qcCheckReportIncome.getIncomeTimeStart())){ + qcCheckReportIncome.setIncomeTimeStart(DateUtils.getDate()+" 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; + qcCheckReportIncome.setIncomeTimeEnd(dateEndStr);//end + }*/ + +// if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){ +// qcCheckReportIncome.setCheckTimeStart(qcCheckReportIncome.getIncomeTimeStart());//start +// qcCheckReportIncome.setCheckTimeEnd(qcCheckReportIncome.getIncomeTimeStart());//end +// } + + startPage(); + List list = qcCheckReportProduceService.selectQcCheckReportIncomeList(qcCheckReportIncome); + return getDataTable(list); + } + + /** + * 导出来料检验列表 + */ + @RequiresPermissions("quality:produceReport:export") + @Log(title = "来料检验", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, QcCheckReportIncome qcCheckReportIncome) { + + //默认时间范围T 00:00:00~T+1 00:00:00 + if(StringUtils.isEmpty(qcCheckReportIncome.getIncomeTimeStart())){ + qcCheckReportIncome.setIncomeTimeStart(DateUtils.getDate()+" 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; + qcCheckReportIncome.setIncomeTimeEnd(dateEndStr);//end + } + +// if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){ +// qcCheckReportIncome.setCheckTimeStart(qcCheckReportIncome.getIncomeTimeStart());//start +// qcCheckReportIncome.setCheckTimeEnd(qcCheckReportIncome.getIncomeTimeStart());//end +// } + + List list = qcCheckReportProduceService.selectQcCheckReportIncomeList(qcCheckReportIncome); + ExcelUtil util = new ExcelUtil(QcCheckReportIncome.class); + util.exportExcel(response, list, "来料检验数据"); + } + + /** + * 获取来料检验详细信息 + */ + @RequiresPermissions("quality:produceReport:query") + @GetMapping(value = "/{recordId}") + public AjaxResult getInfo(@PathVariable("recordId") String recordId) { + return success(qcCheckReportProduceService.selectQcCheckReportIncomeByRecordId(recordId)); + } + + /** + * 新增来料检验 + */ + @RequiresPermissions("quality:produceReport:add") + @Log(title = "来料检验", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody QcCheckReportIncome qcCheckReportIncome) { + int r = qcCheckReportProduceService.insertQcCheckReportIncome(qcCheckReportIncome); + if(r>0){ + return toAjax(r); + } + return error("添加失败:请检查物料的关联检测项"); + } + + /** + * 修改来料检验 + */ + @RequiresPermissions("quality:produceReport:edit") + @Log(title = "来料检验", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody QcCheckReportIncome qcCheckReportIncome) { + return toAjax(qcCheckReportProduceService.updateQcCheckReportIncome(qcCheckReportIncome)); + } + + /** + * 删除来料检验 + */ + @RequiresPermissions("quality:produceReport:remove") + @Log(title = "来料检验", businessType = BusinessType.DELETE) + @DeleteMapping("/{recordIds}") + public AjaxResult remove(@PathVariable String[] recordIds) { + return toAjax(qcCheckReportProduceService.deleteQcCheckReportIncomeByRecordIds(recordIds)); + } + + /** + * 查询BOM物料管理列表 + */ + @GetMapping("/getQcListBom") + public TableDataInfo getQcListBom(QcBomComponent bomComponent) { + startPage(); + List list = qcCheckReportProduceService.getQcListBom(bomComponent); + return getDataTable(list); + } + /** + * 查询供应商列表 + */ + @GetMapping("/getQcListSupplier") + public TableDataInfo getQcListSupplier(QcSupplier qcSupplier) { + startPage(); + List list = qcCheckReportProduceService.getQcListSupplier(qcSupplier); + return getDataTable(list); + } + /** + * 查询人员列表 + */ + @GetMapping("/getQcListUser") + public TableDataInfo getQcListUser(SysUser sysUser) { + startPage(); + List list = qcCheckReportProduceService.getQcListUser(sysUser); + return getDataTable(list); + } + + /** + * 状态修改 + */ + @PutMapping("/changeIncomeStatus") + public AjaxResult changeIncomeStatus(@RequestBody QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setUpdateBy(SecurityUtils.getUsername()); + qcCheckReportIncome.setUpdateTime(DateUtils.getNowDate()); + return toAjax(qcCheckReportProduceService.updateIncomeStatus(qcCheckReportIncome)); + } + + /** + * 检验项目弹窗列表 + * @param + * @return + */ + @GetMapping("/getCkeckProjectList") + public TableDataInfo getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) { + startPage(); + List list = qcCheckReportProduceService.getCkeckProjectList(qcCheckTaskDetail); + return getDataTable(list); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProductController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProductController.java new file mode 100644 index 000000000..1a8ac1e64 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProductController.java @@ -0,0 +1,186 @@ +package com.op.quality.controller; + +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.web.page.TableDataInfo; +import com.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.common.security.utils.SecurityUtils; +import com.op.quality.domain.QcBomComponent; +import com.op.quality.domain.QcCheckReportIncome; +import com.op.quality.domain.QcCheckTaskDetail; +import com.op.quality.domain.QcSupplier; +import com.op.quality.service.IQcCheckReportProductService; +import com.op.system.api.domain.SysUser; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.List; + +/** + * 来料检验Controller + * + * @author Open Platform + * @date 2023-10-19 + */ +@RestController +@RequestMapping("/qcProductReport") +public class QcCheckReportProductController extends BaseController { + @Autowired + private IQcCheckReportProductService qcCheckReportProductService; + + /** + * 查询来料检验列表 + */ + @RequiresPermissions("quality:productReport:list") + @GetMapping("/list") + public TableDataInfo list(QcCheckReportIncome qcCheckReportIncome) { + + //默认时间范围T 00:00:00~T+1 00:00:00 + /*if(StringUtils.isEmpty(qcCheckReportIncome.getIncomeTimeStart())){ + qcCheckReportIncome.setIncomeTimeStart(DateUtils.getDate()+" 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; + qcCheckReportIncome.setIncomeTimeEnd(dateEndStr);//end + }*/ + +// if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){ +// qcCheckReportIncome.setCheckTimeStart(qcCheckReportIncome.getIncomeTimeStart());//start +// qcCheckReportIncome.setCheckTimeEnd(qcCheckReportIncome.getIncomeTimeStart());//end +// } + + startPage(); + List list = qcCheckReportProductService.selectQcCheckReportIncomeList(qcCheckReportIncome); + return getDataTable(list); + } + + /** + * 导出来料检验列表 + */ + @RequiresPermissions("quality:productReport:export") + @Log(title = "来料检验", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, QcCheckReportIncome qcCheckReportIncome) { + + //默认时间范围T 00:00:00~T+1 00:00:00 + if(StringUtils.isEmpty(qcCheckReportIncome.getIncomeTimeStart())){ + qcCheckReportIncome.setIncomeTimeStart(DateUtils.getDate()+" 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; + qcCheckReportIncome.setIncomeTimeEnd(dateEndStr);//end + } + +// if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){ +// qcCheckReportIncome.setCheckTimeStart(qcCheckReportIncome.getIncomeTimeStart());//start +// qcCheckReportIncome.setCheckTimeEnd(qcCheckReportIncome.getIncomeTimeStart());//end +// } + + List list = qcCheckReportProductService.selectQcCheckReportIncomeList(qcCheckReportIncome); + ExcelUtil util = new ExcelUtil(QcCheckReportIncome.class); + util.exportExcel(response, list, "来料检验数据"); + } + + /** + * 获取来料检验详细信息 + */ + @RequiresPermissions("quality:productReport:query") + @GetMapping(value = "/{recordId}") + public AjaxResult getInfo(@PathVariable("recordId") String recordId) { + return success(qcCheckReportProductService.selectQcCheckReportIncomeByRecordId(recordId)); + } + + /** + * 新增来料检验 + */ + @RequiresPermissions("quality:productReport:add") + @Log(title = "来料检验", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody QcCheckReportIncome qcCheckReportIncome) { + int r = qcCheckReportProductService.insertQcCheckReportIncome(qcCheckReportIncome); + if(r>0){ + return toAjax(r); + } + return error("添加失败:请检查物料的关联检测项"); + } + + /** + * 修改来料检验 + */ + @RequiresPermissions("quality:productReport:edit") + @Log(title = "来料检验", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody QcCheckReportIncome qcCheckReportIncome) { + return toAjax(qcCheckReportProductService.updateQcCheckReportIncome(qcCheckReportIncome)); + } + + /** + * 删除来料检验 + */ + @RequiresPermissions("quality:productReport:remove") + @Log(title = "来料检验", businessType = BusinessType.DELETE) + @DeleteMapping("/{recordIds}") + public AjaxResult remove(@PathVariable String[] recordIds) { + return toAjax(qcCheckReportProductService.deleteQcCheckReportIncomeByRecordIds(recordIds)); + } + + /** + * 查询BOM物料管理列表 + */ + @GetMapping("/getQcListBom") + public TableDataInfo getQcListBom(QcBomComponent bomComponent) { + startPage(); + List list = qcCheckReportProductService.getQcListBom(bomComponent); + return getDataTable(list); + } + /** + * 查询供应商列表 + */ + @GetMapping("/getQcListSupplier") + public TableDataInfo getQcListSupplier(QcSupplier qcSupplier) { + startPage(); + List list = qcCheckReportProductService.getQcListSupplier(qcSupplier); + return getDataTable(list); + } + /** + * 查询人员列表 + */ + @GetMapping("/getQcListUser") + public TableDataInfo getQcListUser(SysUser sysUser) { + startPage(); + List list = qcCheckReportProductService.getQcListUser(sysUser); + return getDataTable(list); + } + + /** + * 状态修改 + */ + @PutMapping("/changeIncomeStatus") + public AjaxResult changeIncomeStatus(@RequestBody QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setUpdateBy(SecurityUtils.getUsername()); + qcCheckReportIncome.setUpdateTime(DateUtils.getNowDate()); + return toAjax(qcCheckReportProductService.updateIncomeStatus(qcCheckReportIncome)); + } + + /** + * 检验项目弹窗列表 + * @param + * @return + */ + @GetMapping("/getCkeckProjectList") + public TableDataInfo getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) { + startPage(); + List list = qcCheckReportProductService.getCkeckProjectList(qcCheckTaskDetail); + return getDataTable(list); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProduceService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProduceService.java new file mode 100644 index 000000000..d3adf69af --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProduceService.java @@ -0,0 +1,77 @@ +package com.op.quality.service; + +import com.op.quality.domain.QcBomComponent; +import com.op.quality.domain.QcCheckReportIncome; +import com.op.quality.domain.QcCheckTaskDetail; +import com.op.quality.domain.QcSupplier; +import com.op.system.api.domain.SysUser; + +import java.util.List; + +/** + * 生产过程报告Service接口 + * + * @author Open Platform + * @date 2023-10-19 + */ +public interface IQcCheckReportProduceService { + /** + * 查询生产过程报告 + * + * @param recordId 生产过程报告主键 + * @return 生产过程检验 + */ + public QcCheckReportIncome selectQcCheckReportIncomeByRecordId(String recordId); + + /** + * 查询生产过程报告列表 + * + * @param qcCheckReportIncome 生产过程报告 + * @return 生产过程检验集合 + */ + public List selectQcCheckReportIncomeList(QcCheckReportIncome qcCheckReportIncome); + + /** + * 新增生产过程报告 + * + * @param qcCheckReportIncome 生产过程报告 + * @return 结果 + */ + public int insertQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome); + + /** + * 修改生产过程报告 + * + * @param qcCheckReportIncome 生产过程报告 + * @return 结果 + */ + public int updateQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome); + + /** + * 批量删除生产过程报告 + * + * @param recordIds 需要删除的生产过程报告主键集合 + * @return 结果 + */ + public int deleteQcCheckReportIncomeByRecordIds(String[] recordIds); + + /** + * 删除生产过程报告信息 + * + * @param recordId 生产过程报告主键 + * @return 结果 + */ + public int deleteQcCheckReportIncomeByRecordId(String recordId); + + public List getQcListBom(QcBomComponent bomComponent); + + public List getQcListSupplier(QcSupplier qcSupplier); + + public List getQcListUser(SysUser sysUser); + + int updateIncomeStatus(QcCheckReportIncome qcCheckReportIncome); + + List getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail); + + public List getPrintData(QcCheckReportIncome qcCheckReportIncome); +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProductService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProductService.java new file mode 100644 index 000000000..136def0c2 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProductService.java @@ -0,0 +1,77 @@ +package com.op.quality.service; + +import com.op.quality.domain.QcBomComponent; +import com.op.quality.domain.QcCheckReportIncome; +import com.op.quality.domain.QcCheckTaskDetail; +import com.op.quality.domain.QcSupplier; +import com.op.system.api.domain.SysUser; + +import java.util.List; + +/** + * 成品入库报告Service接口 + * + * @author Open Platform + * @date 2023-10-19 + */ +public interface IQcCheckReportProductService { + /** + * 查询成品入库报告 + * + * @param recordId 成品入库报告主键 + * @return 成品入库检验 + */ + public QcCheckReportIncome selectQcCheckReportIncomeByRecordId(String recordId); + + /** + * 查询成品入库报告列表 + * + * @param qcCheckReportIncome 成品入库报告 + * @return 成品入库检验集合 + */ + public List selectQcCheckReportIncomeList(QcCheckReportIncome qcCheckReportIncome); + + /** + * 新增成品入库报告 + * + * @param qcCheckReportIncome 成品入库报告 + * @return 结果 + */ + public int insertQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome); + + /** + * 修改成品入库报告 + * + * @param qcCheckReportIncome 成品入库报告 + * @return 结果 + */ + public int updateQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome); + + /** + * 批量删除成品入库报告 + * + * @param recordIds 需要删除的成品入库报告主键集合 + * @return 结果 + */ + public int deleteQcCheckReportIncomeByRecordIds(String[] recordIds); + + /** + * 删除成品入库报告信息 + * + * @param recordId 成品入库报告主键 + * @return 结果 + */ + public int deleteQcCheckReportIncomeByRecordId(String recordId); + + public List getQcListBom(QcBomComponent bomComponent); + + public List getQcListSupplier(QcSupplier qcSupplier); + + public List getQcListUser(SysUser sysUser); + + int updateIncomeStatus(QcCheckReportIncome qcCheckReportIncome); + + List getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail); + + public List getPrintData(QcCheckReportIncome qcCheckReportIncome); +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportProduceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportProduceServiceImpl.java new file mode 100644 index 000000000..6dc406d33 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportProduceServiceImpl.java @@ -0,0 +1,203 @@ +package com.op.quality.service.serviceImpl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.common.security.utils.SecurityUtils; +import com.op.quality.domain.*; +import com.op.quality.mapper.QcCheckReportIncomeMapper; +import com.op.quality.mapper.QcCheckTaskDetailMapper; +import com.op.quality.mapper.QcCheckTypeProjectMapper; +import com.op.quality.mapper.QcMaterialGroupDetailMapper; +import com.op.quality.service.IQcCheckReportProduceService; +import com.op.system.api.domain.SysUser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import java.util.Date; +import java.util.List; + +/** + * 来料检验Service业务层处理 + * + * @author Open Platform + * @date 2023-10-19 + */ +@Service +public class QcCheckReportProduceServiceImpl implements IQcCheckReportProduceService { + @Autowired + private QcCheckReportIncomeMapper qcCheckReportIncomeMapper; + + @Autowired + private QcCheckTypeProjectMapper qcCheckTypeProjectMapper; + + @Autowired + private QcMaterialGroupDetailMapper qcMaterialGroupDetailMapper; + + @Autowired + private QcCheckTaskDetailMapper qcCheckTaskDetailMapper; + + /** + * 查询来料检验 + * + * @param recordId 来料检验主键 + * @return 来料检验 + */ + @Override + @DS("#header.poolName") + public QcCheckReportIncome selectQcCheckReportIncomeByRecordId(String recordId) { + return qcCheckReportIncomeMapper.selectQcCheckReportIncomeByRecordId(recordId); + } + + /** + * 查询来料检验列表 + * + * @param qcCheckReportIncome 来料检验 + * @return 来料检验 + */ + @Override + @DS("#header.poolName") + public List selectQcCheckReportIncomeList(QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setDelFlag("0"); + return qcCheckReportIncomeMapper.selectQcCheckReportIncomeList(qcCheckReportIncome); + } + + /** + * 新增来料检验 + * + * @param qcCheckReportIncome 来料检验 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome) { + + String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate()); + int liushuiNum = qcCheckReportIncomeMapper.getTodayMaxNum(qcCheckReportIncome); + String liushuiStr = String.format("%04d", liushuiNum); + + String createBy = SecurityUtils.getUsername(); + Date nowDate= DateUtils.getNowDate(); + //获取当前所选工厂 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + String factoryCode = request.getHeader(key.substring(8)).replace("ds_",""); + + qcCheckReportIncome.setCheckNo(bpDD+liushuiStr); + + /**qc_check_task_income**/ + String beLongId = IdUtils.fastSimpleUUID(); + qcCheckReportIncome.setRecordId(beLongId); + qcCheckReportIncome.setFactoryCode(factoryCode); + qcCheckReportIncome.setCreateTime(nowDate); + qcCheckReportIncomeMapper.insertQcCheckReportIncome(qcCheckReportIncome); + + /**取检测项**/ + QcCheckTypeProject qctp= new QcCheckTypeProject(); + qctp.setTypeId(qcCheckReportIncome.getCheckType());//生产过程检验 + qctp.setMaterialCode(qcCheckReportIncome.getMaterialCode());//特性 + /**qc_check_type_project**/ + List items = qcCheckTypeProjectMapper.getTPByTypeMaterial(qctp); + if(CollectionUtils.isEmpty(items)){ + /**qc_material_group_detail**/ + QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckReportIncome.getMaterialCode()); + if(group == null){ + return 0;//没有找到检测项目 + } + qctp.setGroupId(group.getGroupId());//共性 + items = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp); + } + + /**qc_check_task_detail**/ + if(CollectionUtils.isEmpty(items)){ + return 0;//没有找到检测项目 + } + + for(QcCheckTaskDetail item:items){ + item.setRecordId(IdUtils.fastSimpleUUID()); + item.setBelongTo(beLongId); + item.setCreateTime(nowDate); + item.setCreateBy(createBy); + item.setFactoryCode(factoryCode); + item.setStatus("N"); + } + return qcCheckTaskDetailMapper.addBatch(items); + } + + /** + * 修改来料检验 + * + * @param qcCheckReportIncome 来料检验 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setUpdateTime(DateUtils.getNowDate()); + return qcCheckReportIncomeMapper.updateQcCheckReportIncome(qcCheckReportIncome); + } + + /** + * 批量删除来料检验 + * + * @param recordIds 需要删除的来料检验主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcCheckReportIncomeByRecordIds(String[] recordIds) { + return qcCheckReportIncomeMapper.deleteQcCheckReportIncomeByRecordIds(recordIds); + } + + /** + * 删除来料检验信息 + * + * @param recordId 来料检验主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcCheckReportIncomeByRecordId(String recordId) { + return qcCheckReportIncomeMapper.deleteQcCheckReportIncomeByRecordId(recordId); + } + + @Override + @DS("#header.poolName") + public List getQcListBom(QcBomComponent bomComponent) { + return qcCheckReportIncomeMapper.getQcListBom(bomComponent); + } + + @Override + @DS("#header.poolName") + public List getQcListSupplier(QcSupplier qcSupplier) { + return qcCheckReportIncomeMapper.getQcListSupplier(qcSupplier); + } + + //在公共库里不需要切库 + @Override + public List getQcListUser(SysUser sysUser) { + return qcCheckReportIncomeMapper.getQcListUser(sysUser); + } + + @Override + @DS("#header.poolName") + public int updateIncomeStatus(QcCheckReportIncome qcCheckReportIncome) { + return qcCheckReportIncomeMapper.updateQcCheckReportIncome(qcCheckReportIncome); + } + + @Override + @DS("#header.poolName") + public List getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) { + return qcCheckReportIncomeMapper.getCkeckProjectList(qcCheckTaskDetail); + } + + @Override + public List getPrintData(QcCheckReportIncome qcCheckReportIncome) { + return null; + } + +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportProductServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportProductServiceImpl.java new file mode 100644 index 000000000..230b35ebd --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportProductServiceImpl.java @@ -0,0 +1,203 @@ +package com.op.quality.service.serviceImpl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.common.security.utils.SecurityUtils; +import com.op.quality.domain.*; +import com.op.quality.mapper.QcCheckReportIncomeMapper; +import com.op.quality.mapper.QcCheckTaskDetailMapper; +import com.op.quality.mapper.QcCheckTypeProjectMapper; +import com.op.quality.mapper.QcMaterialGroupDetailMapper; +import com.op.quality.service.IQcCheckReportProductService; +import com.op.system.api.domain.SysUser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import java.util.Date; +import java.util.List; + +/** + * 来料检验Service业务层处理 + * + * @author Open Platform + * @date 2023-10-19 + */ +@Service +public class QcCheckReportProductServiceImpl implements IQcCheckReportProductService { + @Autowired + private QcCheckReportIncomeMapper qcCheckReportIncomeMapper; + + @Autowired + private QcCheckTypeProjectMapper qcCheckTypeProjectMapper; + + @Autowired + private QcMaterialGroupDetailMapper qcMaterialGroupDetailMapper; + + @Autowired + private QcCheckTaskDetailMapper qcCheckTaskDetailMapper; + + /** + * 查询来料检验 + * + * @param recordId 来料检验主键 + * @return 来料检验 + */ + @Override + @DS("#header.poolName") + public QcCheckReportIncome selectQcCheckReportIncomeByRecordId(String recordId) { + return qcCheckReportIncomeMapper.selectQcCheckReportIncomeByRecordId(recordId); + } + + /** + * 查询来料检验列表 + * + * @param qcCheckReportIncome 来料检验 + * @return 来料检验 + */ + @Override + @DS("#header.poolName") + public List selectQcCheckReportIncomeList(QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setDelFlag("0"); + return qcCheckReportIncomeMapper.selectQcCheckReportIncomeList(qcCheckReportIncome); + } + + /** + * 新增来料检验 + * + * @param qcCheckReportIncome 来料检验 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome) { + + String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate()); + int liushuiNum = qcCheckReportIncomeMapper.getTodayMaxNum(qcCheckReportIncome); + String liushuiStr = String.format("%04d", liushuiNum); + + String createBy = SecurityUtils.getUsername(); + Date nowDate= DateUtils.getNowDate(); + //获取当前所选工厂 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + String factoryCode = request.getHeader(key.substring(8)).replace("ds_",""); + + qcCheckReportIncome.setCheckNo(bpDD+liushuiStr); + + /**qc_check_task_income**/ + String beLongId = IdUtils.fastSimpleUUID(); + qcCheckReportIncome.setRecordId(beLongId); + qcCheckReportIncome.setFactoryCode(factoryCode); + qcCheckReportIncome.setCreateTime(nowDate); + qcCheckReportIncomeMapper.insertQcCheckReportIncome(qcCheckReportIncome); + + /**取检测项**/ + QcCheckTypeProject qctp= new QcCheckTypeProject(); + qctp.setTypeId(qcCheckReportIncome.getCheckType());//生产过程检验 + qctp.setMaterialCode(qcCheckReportIncome.getMaterialCode());//特性 + /**qc_check_type_project**/ + List items = qcCheckTypeProjectMapper.getTPByTypeMaterial(qctp); + if(CollectionUtils.isEmpty(items)){ + /**qc_material_group_detail**/ + QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckReportIncome.getMaterialCode()); + if(group == null){ + return 0;//没有找到检测项目 + } + qctp.setGroupId(group.getGroupId());//共性 + items = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp); + } + + /**qc_check_task_detail**/ + if(CollectionUtils.isEmpty(items)){ + return 0;//没有找到检测项目 + } + + for(QcCheckTaskDetail item:items){ + item.setRecordId(IdUtils.fastSimpleUUID()); + item.setBelongTo(beLongId); + item.setCreateTime(nowDate); + item.setCreateBy(createBy); + item.setFactoryCode(factoryCode); + item.setStatus("N"); + } + return qcCheckTaskDetailMapper.addBatch(items); + } + + /** + * 修改来料检验 + * + * @param qcCheckReportIncome 来料检验 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setUpdateTime(DateUtils.getNowDate()); + return qcCheckReportIncomeMapper.updateQcCheckReportIncome(qcCheckReportIncome); + } + + /** + * 批量删除来料检验 + * + * @param recordIds 需要删除的来料检验主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcCheckReportIncomeByRecordIds(String[] recordIds) { + return qcCheckReportIncomeMapper.deleteQcCheckReportIncomeByRecordIds(recordIds); + } + + /** + * 删除来料检验信息 + * + * @param recordId 来料检验主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcCheckReportIncomeByRecordId(String recordId) { + return qcCheckReportIncomeMapper.deleteQcCheckReportIncomeByRecordId(recordId); + } + + @Override + @DS("#header.poolName") + public List getQcListBom(QcBomComponent bomComponent) { + return qcCheckReportIncomeMapper.getQcListBom(bomComponent); + } + + @Override + @DS("#header.poolName") + public List getQcListSupplier(QcSupplier qcSupplier) { + return qcCheckReportIncomeMapper.getQcListSupplier(qcSupplier); + } + + //在公共库里不需要切库 + @Override + public List getQcListUser(SysUser sysUser) { + return qcCheckReportIncomeMapper.getQcListUser(sysUser); + } + + @Override + @DS("#header.poolName") + public int updateIncomeStatus(QcCheckReportIncome qcCheckReportIncome) { + return qcCheckReportIncomeMapper.updateQcCheckReportIncome(qcCheckReportIncome); + } + + @Override + @DS("#header.poolName") + public List getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) { + return qcCheckReportIncomeMapper.getCkeckProjectList(qcCheckTaskDetail); + } + + @Override + public List getPrintData(QcCheckReportIncome qcCheckReportIncome) { + return null; + } + +} diff --git a/op-modules/op-scada/src/main/java/com/op/scada/controller/ScadaController.java b/op-modules/op-scada/src/main/java/com/op/scada/controller/ScadaController.java new file mode 100644 index 000000000..65df08394 --- /dev/null +++ b/op-modules/op-scada/src/main/java/com/op/scada/controller/ScadaController.java @@ -0,0 +1,50 @@ +package com.op.scada.controller; + +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.StringUtils; +import com.op.common.core.web.controller.BaseController; +import com.op.scada.service.ScadaService; +import com.op.system.api.domain.dto.WCSDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * mes上位机专属 + * + * @author sf + * @date 2023-05-18 + */ +@RestController +@RequestMapping("/scadaInterface") +public class ScadaController extends BaseController { + + @Autowired + private ScadaService scadaService; + + + /** + * 下一工序机台集合获取 + * •接口描述:成型机码垛完、暂存区、WCS 请求 MES 获取目的地集合 + * •触发时机:托盘到达 AGV 接驳口 + * @param + * @return + */ + //"下一工序机台集合获取" + @PostMapping("/requestDestinationStations") + public WCSDTO requestDestinationStations(@RequestBody WCSDTO wcsdto) { + if(StringUtils.isBlank(wcsdto.getFactory())){ + wcsdto.setCode("1"); + wcsdto.setMessage("factory is not null"); + return wcsdto; + } + return scadaService.requestDestinationStations(wcsdto); + } + + + public static void main(String args[]){ + System.out.println(DateUtils.getDate()); + } +} diff --git a/op-modules/op-scada/src/main/java/com/op/scada/mapper/ScadaMapper.java b/op-modules/op-scada/src/main/java/com/op/scada/mapper/ScadaMapper.java new file mode 100644 index 000000000..1775385b2 --- /dev/null +++ b/op-modules/op-scada/src/main/java/com/op/scada/mapper/ScadaMapper.java @@ -0,0 +1,27 @@ +package com.op.scada.mapper; + +import com.op.system.api.domain.mes.ProRfidProcessDetail; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 生产rfid流程Mapper接口 + * + * @author Open Platform + * @date 2023-08-18 + */ +@Mapper +public interface ScadaMapper { + + public ProRfidProcessDetail getRfidInfo(String rfidNo); + + public String getStationType(String equipmentCode); + + Integer getEquipNum(String machineCode); + + String getEquipStatus(String machineCode); + + String getEquipMode(String machineCode); +} + diff --git a/op-modules/op-scada/src/main/java/com/op/scada/service/ScadaService.java b/op-modules/op-scada/src/main/java/com/op/scada/service/ScadaService.java new file mode 100644 index 000000000..49f072043 --- /dev/null +++ b/op-modules/op-scada/src/main/java/com/op/scada/service/ScadaService.java @@ -0,0 +1,18 @@ +package com.op.scada.service; + +import com.op.system.api.domain.dto.WCSDTO; + +import java.util.List; +import java.util.Map; + +/** + * 订单Service接口 + * + * @author Open Platform + * @date 2023-07-13 + */ +public interface ScadaService { + + WCSDTO requestDestinationStations(WCSDTO wcsdto); + +} diff --git a/op-modules/op-scada/src/main/java/com/op/scada/service/impl/ScadaServiceImpl.java b/op-modules/op-scada/src/main/java/com/op/scada/service/impl/ScadaServiceImpl.java new file mode 100644 index 000000000..f1756488e --- /dev/null +++ b/op-modules/op-scada/src/main/java/com/op/scada/service/impl/ScadaServiceImpl.java @@ -0,0 +1,147 @@ +package com.op.scada.service.impl; + +import com.alibaba.fastjson2.JSONArray; +import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; +import com.op.common.core.utils.bean.BeanUtils; +import com.op.scada.mapper.ScadaMapper; +import com.op.scada.service.ScadaService; +import com.op.system.api.domain.dto.WCSDTO; +import com.op.system.api.domain.dto.WCSDataDTO; +import com.op.system.api.domain.mes.ProRfidProcessDetail; +import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.util.*; +import java.util.stream.Collectors; + +/** + * wcs接口业务层处理 + * + * @author Open Platform + * @date 2023-07-13 + */ +@Service +public class ScadaServiceImpl implements ScadaService { + protected Logger logger = LoggerFactory.getLogger(getClass()); + + @Autowired + private ScadaMapper scadaMapper; + + + /**下一工序机台集合获取 + * JSON + * { + * "reqCode": "eb7f8e9f-d1e8-499e-9bcb-e72d3ac195b0", //请求ID + * "reqTime": "2023-06-30 21:24:04", //请求时间, + * "rfidNo": "r12345" //rfid编号 + * "factory" + * } + * + * JSON + * { + * "reqCode": "eb7f8e9f-d1e8-499e-9bcb-e72d3ac195b0", //请求ID + * "code": 0, //返回代码 + * "message": "OK", //返回信息 + * "stationType": "2", //目的机台类型 2烘房 3收坯机 + * "sku": "sku01", //物料编码 + * "spec": "150", //规格 + * "productionState": "K01", //当前工艺状态 + * "stationNos": [ + * { + * "stationNo": "F1", //目的站台编号 + * "qty": 2 //针对于烘房前面的当前筛盘车的数量,如果数量大于2就不会往改烘房分配 + * }, + * { + * "stationNo": "F3", //目的站台编号 + * "qty": 2 //针对于烘房前面的当前筛盘车的数量,如果数量大于2就不会往改烘房分配 + * }, + * { + * "stationNo": "F3", //目的站台编号 + * "qty": 2 //针对于烘房前面的当前筛盘车的数量,如果数量大于2就不会往改烘房分配 + * } + * ], + * } + * @param wcsdto + * @return + */ + @Override + public WCSDTO requestDestinationStations(WCSDTO wcsdto) { + + DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory()); + WCSDTO dto = new WCSDTO();//最终结果 + try { + BeanUtils.copyBeanProp(dto, wcsdto); + //根据rfid跟工单绑定,成型机跟工单绑定,获取对应工艺。 + ProRfidProcessDetail rfidInfo = scadaMapper.getRfidInfo(wcsdto.getRfidNo()); + //获取设备类型 + if (rfidInfo != null && StringUtils.isNotBlank(rfidInfo.getMachineCode())) { + //设备-工艺路线的设备大范围 + String[] machineCodes0 = rfidInfo.getMachineCode().split(","); + String stationType = scadaMapper.getStationType(machineCodes0[0]); + if (StringUtils.isNotBlank(stationType)) { + dto.setStationType(stationType); + } + //设备-根据工单获取实际规划设备路线 + String machinecode = rfidInfo.getProdLineCode();//scadaMapper.getActuaEquips(rfidInfo); + JSONArray codeArray = JSONArray.parseArray(machinecode); + List list2 = new ArrayList<>(); + for (int c1 = 0; c1 < codeArray.size(); c1++) { + String equipCode0 = codeArray.getJSONArray(c1).getString(1); + list2.add(equipCode0); + } + + //取交集 + List list1 = Arrays.asList(machineCodes0); + List machineArray = list1.stream() + .filter(u1 -> list2.contains(u1)) + .collect(Collectors.toList()); + + dto.setSku(rfidInfo.getProductCode()); + dto.setSpec(rfidInfo.getProductModel()); + dto.setProductionState(rfidInfo.getNowProcessId()); + List stationNos = new ArrayList<>(); + WCSDataDTO wCSDataDTO = null; + for (String machineCode : machineArray) { + wCSDataDTO = new WCSDataDTO(); + if (StringUtils.isNotBlank(machineCode)) { + //设备是否正常 + String status = scadaMapper.getEquipStatus(machineCode); + if(StringUtils.isNotBlank(status) && "1".equals(status)){//正常设备且没被删除 + wCSDataDTO.setStationNo(machineCode); + if ("2".equals(stationType)) { + Integer qty = scadaMapper.getEquipNum(machineCode); + wCSDataDTO.setQty(qty == null ? 0 : qty); + String mode = scadaMapper.getEquipMode(machineCode); + wCSDataDTO.setFlag(mode); + } + stationNos.add(wCSDataDTO); + } + } + } + dto.setStationNos(stationNos); + dto.setCode("0"); + }else{ + dto.setCode("1"); + dto.setMessage("MES管理系统接口调用异常:数据缺失"); + } + }catch (Exception e){ + dto.setCode("1"); + dto.setMessage("MES管理系统接口调用失败"); + } + return dto; + } + + public static void main(String args[]){ + DateTimeFormatter ymdhms = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate today = LocalDate.now(); + LocalDate lastMonth3 = today.plus(-3, ChronoUnit.MONTHS); + + System.out.println("7天之前的日期为:"+lastMonth3.getYear()); + } +} diff --git a/op-modules/op-scada/src/main/resources/bootstrap.yml b/op-modules/op-scada/src/main/resources/bootstrap.yml index 72888f58b..196b279bb 100644 --- a/op-modules/op-scada/src/main/resources/bootstrap.yml +++ b/op-modules/op-scada/src/main/resources/bootstrap.yml @@ -14,16 +14,16 @@ spring: nacos: discovery: namespace: lanju-op - group: prod-new + group: zxl # 服务注册地址 - server-addr: 192.168.202.20:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op - group: prod-new + group: zxl #命名空间 #group: local # 配置中心地址 - server-addr: 192.168.202.20:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-scada/src/main/resources/mapper/scada/ScadaMapper.xml b/op-modules/op-scada/src/main/resources/mapper/scada/ScadaMapper.xml new file mode 100644 index 000000000..b30a2f5b0 --- /dev/null +++ b/op-modules/op-scada/src/main/resources/mapper/scada/ScadaMapper.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + From 86effcdbfb473f8776c6a9975b309cadfcdf4bba Mon Sep 17 00:00:00 2001 From: wws <18630710203@163.com> Date: Wed, 8 Nov 2023 13:20:11 +0800 Subject: [PATCH 09/32] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/op/device/domain/EquOrder.java | 10 ++++++++++ .../java/com/op/device/domain/EquOrderStandard.java | 10 ++++++++++ .../main/resources/mapper/device/EquOrderMapper.xml | 7 ++++++- .../resources/mapper/device/EquOrderStandardMapper.xml | 7 ++++++- 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java index dcd6febd9..f56175d85 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java @@ -142,6 +142,16 @@ public class EquOrder extends BaseEntity { private String orderInspect; + private String repairCode; + + public String getRepairCode() { + return repairCode; + } + + public void setRepairCode(String repairCode) { + this.repairCode = repairCode; + } + public String getOrderInspect() { return orderInspect; } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java index f7a5e2ef4..7cdaadde8 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java @@ -86,6 +86,16 @@ public class EquOrderStandard extends BaseEntity { private String standardTypeName; + private String errorFlag; + + public String getErrorFlag() { + return errorFlag; + } + + public void setErrorFlag(String errorFlag) { + this.errorFlag = errorFlag; + } + public String getStandardTypeName() { return standardTypeName; } diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml index 9f3741f23..e9b0ebe5e 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml @@ -37,10 +37,11 @@ + - select order_id, plan_id, plan_code, plan_type, order_code, plan_workshop, plan_prod_line, plan_loop, plan_loop_type, plan_loop_start, plan_loop_end, order_start, order_end, equipment_code, order_status, order_cost, plan_person, order_cost_time, order_sign_person, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,upkeep,calculation_rule,shut_down,order_inspect from equ_order + select order_id, plan_id, plan_code, plan_type, order_code, plan_workshop, plan_prod_line, plan_loop, plan_loop_type, plan_loop_start, plan_loop_end, order_start, order_end, equipment_code, order_status, order_cost, plan_person, order_cost_time, order_sign_person, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,upkeep,calculation_rule,shut_down,order_inspect,repair_code from equ_order @@ -158,6 +160,7 @@ calculation_rule, shut_down, order_inspect, + repair_code, #{orderId}, @@ -192,6 +195,7 @@ #{calculationRule}, #{shutDown}, #{orderInspect}, + #{repairCode}, @@ -229,6 +233,7 @@ calculation_rule = #{calculationRule}, shut_down = #{shutDown}, order_inspect = #{orderInspect}, + repair_code = #{repairCode}, where order_id = #{orderId} diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml index 0aaa77396..d6fb3c570 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml @@ -27,10 +27,11 @@ + - select id, code, parent_code, order_code, standard_type, standard_name, detail_up_limit, detail_down_limit, detail_unit, detail_reach, actual_value, detail_error, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,picture_path from equ_order_standard + select id, code, parent_code, order_code, standard_type, standard_name, detail_up_limit, detail_down_limit, detail_unit, detail_reach, actual_value, detail_error, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,picture_path,error_flag from equ_order_standard @@ -90,6 +92,7 @@ update_by, update_time, picture_path, + error_flag, #{id}, @@ -114,6 +117,7 @@ #{updateBy}, #{updateTime}, #{picturePath}, + #{errorFlag}, @@ -157,6 +161,7 @@ update_by = #{updateBy}, update_time = #{updateTime}, picture_path = #{picturePath}, + error_flag = #{errorFlag}, where id = #{id} From f9696193233ad702e708300aa03f14c0e0924261 Mon Sep 17 00:00:00 2001 From: A0010407 Date: Wed, 8 Nov 2023 14:24:44 +0800 Subject: [PATCH 10/32] =?UTF-8?q?=E6=8A=A5=E4=BF=AE+=E7=BB=B4=E4=BF=AE+?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=8F=AD=E7=BB=84+=E5=A7=94=E5=A4=96+PDA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DevicePDAController.java | 50 +++++- .../EquRepairWorkOrderController.java | 7 +- .../controller/EquSpareApplyController.java | 12 ++ .../device/controller/EquTeamController.java | 16 +- .../java/com/op/device/domain/EquFile.java | 123 ++++++++++++++ .../com/op/device/domain/EquRepairOrder.java | 19 +++ .../op/device/domain/EquRepairWorkOrder.java | 12 ++ .../com/op/device/domain/EquSpareApply.java | 38 ++++- .../java/com/op/device/domain/EquTeam.java | 19 +++ .../com/op/device/domain/EquTeamUser.java | 107 ++++++++++++ .../op/device/domain/SparePartsLedger.java | 16 +- .../com/op/device/mapper/EquFileMapper.java | 77 +++++++++ .../device/mapper/EquRepairOrderMapper.java | 2 + .../mapper/EquRepairWorkOrderMapper.java | 6 +- .../op/device/mapper/EquSpareApplyMapper.java | 4 + .../com/op/device/mapper/EquTeamMapper.java | 14 ++ .../op/device/mapper/EquTeamUserMapper.java | 79 +++++++++ .../op/device/service/IDevicePDAService.java | 40 ++++- .../service/IEquRepairWorkOrderService.java | 4 +- .../device/service/IEquSpareApplyService.java | 5 + .../op/device/service/IEquTeamService.java | 10 +- .../service/impl/DevicePDAServiceImpl.java | 139 +++++++++++++++- .../impl/EquRepairOrderServiceImpl.java | 68 ++++++-- .../impl/EquRepairWorkOrderServiceImpl.java | 7 +- .../impl/EquSpareApplyServiceImpl.java | 18 ++ .../service/impl/EquTeamServiceImpl.java | 100 ++++++++++- .../resources/mapper/device/EquFileMapper.xml | 157 ++++++++++++++++++ .../mapper/device/EquOutsourceWorkMapper.xml | 8 +- .../mapper/device/EquRepairOrderMapper.xml | 12 +- .../device/EquRepairWorkOrderMapper.xml | 12 +- .../mapper/device/EquSpareApplyMapper.xml | 36 +++- .../resources/mapper/device/EquTeamMapper.xml | 28 +++- .../mapper/device/EquTeamUserMapper.xml | 144 ++++++++++++++++ .../mapper/device/SparePartsLedgerMapper.xml | 33 +++- 34 files changed, 1359 insertions(+), 63 deletions(-) create mode 100644 op-modules/op-device/src/main/java/com/op/device/domain/EquFile.java create mode 100644 op-modules/op-device/src/main/java/com/op/device/domain/EquTeamUser.java create mode 100644 op-modules/op-device/src/main/java/com/op/device/mapper/EquFileMapper.java create mode 100644 op-modules/op-device/src/main/java/com/op/device/mapper/EquTeamUserMapper.java create mode 100644 op-modules/op-device/src/main/resources/mapper/device/EquFileMapper.xml create mode 100644 op-modules/op-device/src/main/resources/mapper/device/EquTeamUserMapper.xml diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java index a1c14d221..76a8b0166 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java @@ -1,8 +1,10 @@ package com.op.device.controller; import com.op.common.core.web.domain.AjaxResult; -import com.op.device.domain.EquOrder; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.device.domain.*; import com.op.device.service.IDevicePDAService; +import com.op.device.service.IEquRepairOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -19,6 +21,9 @@ public class DevicePDAController { @Autowired private IDevicePDAService devicePDAService; + @Autowired + private IEquRepairOrderService equRepairOrderService; + /** * 获取今日巡检任务工单list * @param userId @@ -58,4 +63,47 @@ public class DevicePDAController { public AjaxResult updateInspectionRecord(@RequestBody EquOrder equOrder) { return devicePDAService.updateInspectionRecord(equOrder); } + + //报修 + /** + * 新增手持报修记录 + * @param equRepairOrder + * @return + */ + @PostMapping("/addRepairRecord") + public AjaxResult addRepairRecord(@RequestBody EquRepairOrder equRepairOrder) { + return devicePDAService.addRepairRecord(equRepairOrder); + } + + //维修 + /** + * 获取维修记录(待处理和已经维修完成) + * + * @param equRepairWorkOrder + * @return + */ + @GetMapping("/getMaintenanceRecords") + public AjaxResult getMaintenanceRecords(EquRepairWorkOrder equRepairWorkOrder) { + return devicePDAService.getMaintenanceRecords(equRepairWorkOrder); + } + + /** + * 是否停机维修 + * + * @param equRepairWorkOrder + * @return + */ + @PutMapping("/updateDowntime") + public AjaxResult updateDowntime(@RequestBody EquRepairWorkOrder equRepairWorkOrder) { + return devicePDAService.updateDowntime(equRepairWorkOrder); + } + + + /** + * 获取设备管理详细信息 + */ +// @GetMapping(value = "/{equipmentId}") +// public AjaxResult queryEquipment(@PathVariable("equipmentId") Long equipmentId) { +// return devicePDAService.selectBaseEquipmentByEquipmentId(equipmentId); +// } } diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquRepairWorkOrderController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquRepairWorkOrderController.java index c5fffdc76..f047e7ff6 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquRepairWorkOrderController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquRepairWorkOrderController.java @@ -3,8 +3,7 @@ package com.op.device.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; -import com.op.device.domain.EquEquipment; -import com.op.device.domain.EquOutsourceWork; +import com.op.device.domain.EquTeamUser; import com.op.device.service.IEquOutsourceWorkService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -123,9 +122,9 @@ public class EquRepairWorkOrderController extends BaseController { //获取维修人员列表 @GetMapping("/getMaintenancePersonList") - public TableDataInfo getMaintenancePersonList(EquEquipment equEquipment) { + public TableDataInfo getMaintenancePersonList(EquTeamUser equTeamUser) { startPage(); - List list = equRepairWorkOrderService.getMaintenancePersonList(equEquipment); + List list = equRepairWorkOrderService.getMaintenancePersonList(equTeamUser); return getDataTable(list); } } diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquSpareApplyController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquSpareApplyController.java index 6db2647aa..b67b4da2c 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquSpareApplyController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquSpareApplyController.java @@ -2,6 +2,8 @@ package com.op.device.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.op.device.domain.EquRepairWorkOrder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -94,4 +96,14 @@ public class EquSpareApplyController extends BaseController { public AjaxResult remove(@PathVariable String[] applyIds) { return toAjax(equSpareApplyService.deleteEquSpareApplyByApplyIds(applyIds)); } + + /** + * 查询申领记录列表 + */ + @GetMapping("/listRepairSparePartsRecord") + public TableDataInfo listRepairSparePartsRecord(EquRepairWorkOrder equRepairWorkOrder) { + startPage(); + List list = equSpareApplyService.selectRepairSparePartsRecord(equRepairWorkOrder); + return getDataTable(list); + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquTeamController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquTeamController.java index a59342981..52d46da29 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquTeamController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquTeamController.java @@ -2,6 +2,8 @@ package com.op.device.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.op.device.domain.EquTeamUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -72,7 +74,7 @@ public class EquTeamController extends BaseController { @Log(title = "设备班组维护", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody EquTeam equTeam) { - return toAjax(equTeamService.insertEquTeam(equTeam)); + return equTeamService.insertEquTeam(equTeam); } /** @@ -82,7 +84,7 @@ public class EquTeamController extends BaseController { @Log(title = "设备班组维护", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody EquTeam equTeam) { - return toAjax(equTeamService.updateEquTeam(equTeam)); + return equTeamService.updateEquTeam(equTeam); } /** @@ -102,4 +104,14 @@ public class EquTeamController extends BaseController { List list = equTeamService.getMaintenanceTeamList(equTeam); return getDataTable(list); } + + /** + * 查询班组人员列表 + */ + @GetMapping("/listTeamMembers") + public TableDataInfo listTeamMembers(EquTeamUser equTeamUser) { + startPage(); + List list = equTeamService.selectTeamMembers(equTeamUser); + return getDataTable(list); + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquFile.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquFile.java new file mode 100644 index 000000000..c53d5dd3f --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquFile.java @@ -0,0 +1,123 @@ +package com.op.device.domain; + +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 附件对象 base_file + * + * @author Open Platform + * @date 2023-07-10 + */ +public class EquFile extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 附件ID */ + private String fileId; + + /** 附件名称 */ + @Excel(name = "附件名称") + private String fileName; + + /** 附件地址 */ + @Excel(name = "附件地址") + private String fileAddress; + + /** 数据来源 */ + @Excel(name = "数据来源") + private String sourceId; + + /** 预留字段1 */ + @Excel(name = "预留字段1") + private String attr1; + + /** 预留字段2 */ + @Excel(name = "预留字段2") + private String attr2; + + /** 预留字段3 */ + @Excel(name = "预留字段3") + private Long attr3; + + /** 预留字段4 */ + @Excel(name = "预留字段4") + private Long attr4; + + public void setFileId(String fileId) { + this.fileId = fileId; + } + + public String getFileId() { + return fileId; + } + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileName() { + return fileName; + } + public void setFileAddress(String fileAddress) { + this.fileAddress = fileAddress; + } + + public String getFileAddress() { + return fileAddress; + } + public void setSourceId(String sourceId) { + this.sourceId = sourceId; + } + + public String getSourceId() { + return sourceId; + } + public void setAttr1(String attr1) { + this.attr1 = attr1; + } + + public String getAttr1() { + return attr1; + } + public void setAttr2(String attr2) { + this.attr2 = attr2; + } + + public String getAttr2() { + return attr2; + } + public void setAttr3(Long attr3) { + this.attr3 = attr3; + } + + public Long getAttr3() { + return attr3; + } + public void setAttr4(Long attr4) { + this.attr4 = attr4; + } + + public Long getAttr4() { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("fileId", getFileId()) + .append("fileName", getFileName()) + .append("fileAddress", getFileAddress()) + .append("sourceId", getSourceId()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairOrder.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairOrder.java index c0a3b409d..18d96105c 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairOrder.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairOrder.java @@ -1,6 +1,8 @@ package com.op.device.domain; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -164,6 +166,23 @@ public class EquRepairOrder extends BaseEntity { @Excel(name = "原因") private String outSourceReason; + //图片文件 + private String fileList; + private List files; + + //图片文件 + public String getFileList() { + return fileList; + } + public void setFileList(String fileList) { + this.fileList = fileList; + } + public List getFiles() { + return files; + } + public void setFiles(List files) { + this.files = files; + } //委外 public void setWorkId(String workId) { diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java index 28068b087..5f72c08a0 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java @@ -206,6 +206,10 @@ public class EquRepairWorkOrder extends BaseEntity { /** 联系方式 */ private String workConnection; + //手持 + //用户id + private String userId; + //报修 public void setOrderDesc(String orderDesc) { @@ -563,6 +567,14 @@ public class EquRepairWorkOrder extends BaseEntity { return workConnection; } + //手持 用户userId + public void setUserId(String userId) { + this.userId = userId; + } + public String getUserId() { + return userId; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquSpareApply.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquSpareApply.java index fc645678f..682394d66 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquSpareApply.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquSpareApply.java @@ -50,8 +50,8 @@ public class EquSpareApply extends BaseEntity { private String spareUseEquipment; /** 领用时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "领用时间", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "领用时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date applyTime; /** 申领人 */ @@ -90,6 +90,14 @@ public class EquSpareApply extends BaseEntity { // 创建日期结束 private String applyTimeEnd; + //新增字段 + /** 工单编码 */ + private String workCode ; + /** 关联上级code(保养) */ + private String parentCode ; + /** 领用类型 */ + private String applyType ; + public List getApplyTimeArray() { return applyTimeArray; } @@ -227,6 +235,32 @@ public class EquSpareApply extends BaseEntity { return factoryCode; } + //新增 + /** 主工单编码(保养) */ + public String getWorkCode(){ + return this.workCode; + } + /** 主工单编码(保养) */ + public void setWorkCode(String workCode){ + this.workCode=workCode; + } + /** 关联上级code(保养) */ + public String getParentCode(){ + return this.parentCode; + } + /** 关联上级code(保养) */ + public void setParentCode(String parentCode){ + this.parentCode=parentCode; + } + /** 领用类型 */ + public String getApplyType(){ + return this.applyType; + } + /** 领用类型 */ + public void setApplyType(String applyType){ + this.applyType=applyType; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquTeam.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquTeam.java index d73977a4d..57295974d 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquTeam.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquTeam.java @@ -5,6 +5,8 @@ import org.apache.commons.lang3.builder.ToStringStyle; import com.op.common.core.annotation.Excel; import com.op.common.core.web.domain.BaseEntity; +import java.util.List; + /** * 设备班组维护对象 equ_team * @@ -40,6 +42,23 @@ public class EquTeam extends BaseEntity { @Excel(name = "工厂号") private String factoryCode; + //班组右边数据列表 + private List rightData; + public void setRightData(List rightData) { + this.rightData = rightData; + } + public List getRightData() { + return rightData; + } + + private List selectedData; + public void setSelectedData(List selectedData) { + this.selectedData = selectedData; + } + public List getSelectedData() { + return selectedData; + } + public void setId(String id) { this.id = id; } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquTeamUser.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquTeamUser.java new file mode 100644 index 000000000..dd1c8e929 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquTeamUser.java @@ -0,0 +1,107 @@ +package com.op.device.domain; + +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 班组人员对象 equ_team_user + * + * @author Open Platform + * @date 2023-08-29 + */ +public class EquTeamUser extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 主键 */ + private String id; + + /** 班组id */ + @Excel(name = "班组id") + private String teamId; + + /** 班组编码 */ + @Excel(name = "班组编码") + private String teamCode; + + /** 人员id */ + @Excel(name = "人员id") + private String userId; + + /** 人员名字编号 */ + @Excel(name = "人员名字") + private String userName; + + /** 人员名字 */ + @Excel(name = "人员名字") + private String nickName; + + /** 人员拼接名字 */ + @Excel(name = "人员拼接名字") + private String teamUserName; + + public void setId(String id) { + this.id = id; + } + + public String getId() { + return id; + } + public void setTeamId(String teamId) { + this.teamId = teamId; + } + + public String getTeamId() { + return teamId; + } + public void setTeamCode(String teamCode) { + this.teamCode = teamCode; + } + + public String getTeamCode() { + return teamCode; + } + public void setUserId(String userId) { + this.userId = userId; + } + + public String getUserId() { + return userId; + } + public void setUserName(String userName) { + this.userName = userName; + } + public String getUserName() { + return userName; + } + + public String getNickName() { + return nickName; + } + public void setNickName(String nickName) { + this.nickName = nickName; + } + + public String getTeamUserName() { + return teamUserName; + } + public void setTeamUserName(String teamUserName) { + this.teamUserName = teamUserName; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("teamId", getTeamId()) + .append("teamCode", getTeamCode()) + .append("userId", getUserId()) + .append("userName", getUserName()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/SparePartsLedger.java b/op-modules/op-device/src/main/java/com/op/device/domain/SparePartsLedger.java index 3db761278..1f4ea83a4 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/SparePartsLedger.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/SparePartsLedger.java @@ -57,6 +57,11 @@ public class SparePartsLedger extends BaseEntity { @Excel(name = "冻结数量", readConverterExp = "预=留") private BigDecimal storageAmount; + //虚拟字段 + /** 库存可用数量 */ +// @Excel(name = "库存可用数量") +// private BigDecimal availableQuantity; + /** 占用数量 */ @Excel(name = "占用数量") private BigDecimal occupyAmount; @@ -200,11 +205,9 @@ public class SparePartsLedger extends BaseEntity { // 领用数量-保养备件领用使用 private BigDecimal applyNum; - public BigDecimal getApplyNum() { return applyNum; } - public void setApplyNum(BigDecimal applyNum) { this.applyNum = applyNum; } @@ -287,6 +290,15 @@ public class SparePartsLedger extends BaseEntity { public BigDecimal getStorageAmount() { return storageAmount; } + + //库存可用数量 虚拟字段 +// public void setAvailableQuantity(BigDecimal availableQuantity) { +// this.availableQuantity = availableQuantity; +// } +// public BigDecimal getAvailableQuantity() { +// return availableQuantity; +// } + public void setOccupyAmount(BigDecimal occupyAmount) { this.occupyAmount = occupyAmount; } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquFileMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquFileMapper.java new file mode 100644 index 000000000..7b6d3fde5 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquFileMapper.java @@ -0,0 +1,77 @@ +package com.op.device.mapper; + +import com.op.common.core.domain.BaseFileData; +import com.op.device.domain.EquFile; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 附件Mapper接口 + * + * @author Open Platform + * @date 2023-07-10 + */ +@Mapper +public interface EquFileMapper { + /** + * 查询附件 + * + * @param fileId 附件主键 + * @return 附件 + */ + public EquFile selectEquFileByFileId(String fileId); + + /** + * 查询附件列表 + * + * @param equFile 附件 + * @return 附件集合 + */ + public List selectEquFileList(EquFile equFile); + + /** + * 新增附件 + * + * @param equFile 附件 + * @return 结果 + */ + public int insertEquFile(EquFile equFile); + + /** + * 修改附件 + * + * @param equFile 附件 + * @return 结果 + */ + public int updateEquFile(EquFile equFile); + + /** + * 删除附件 + * + * @param fileId 附件主键 + * @return 结果 + */ + public int deleteEquFileByFileId(String fileId); + + /** + * 批量删除附件 + * + * @param fileIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteEquFileByFileIds(String[] fileIds); + + /** + * 上传图片 + * @param equFiles + */ + public Boolean insertEquFileBatch(@Param("baseFiles") List equFiles); + + //查询图片 + public List getEquFileBatch(String orderId); + + //删除照图片 + public void deleteEquFileBySourceId(String orderId); +} diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairOrderMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairOrderMapper.java index 3a3c3b99f..83166c0d3 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairOrderMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairOrderMapper.java @@ -3,8 +3,10 @@ package com.op.device.mapper; import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.domain.BaseFileData; import com.op.device.domain.EquEquipment; import com.op.device.domain.EquRepairOrder; +import org.apache.ibatis.annotations.Param; /** * 故障报修Mapper接口 diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairWorkOrderMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairWorkOrderMapper.java index 1ec279f65..30d70d593 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairWorkOrderMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairWorkOrderMapper.java @@ -2,8 +2,9 @@ package com.op.device.mapper; import java.util.List; -import com.op.device.domain.EquEquipment; +import com.baomidou.dynamic.datasource.annotation.DS; import com.op.device.domain.EquRepairWorkOrder; +import com.op.device.domain.EquTeamUser; /** * 维修工单Mapper接口 @@ -67,5 +68,6 @@ public interface EquRepairWorkOrderMapper { void updateWorkOutsource(EquRepairWorkOrder equRepairWorkOrder); //获取维修人员列表 - public List getMaintenancePersonList(EquEquipment equEquipment); + @DS("master") + public List getMaintenancePersonList(EquTeamUser equTeamUser); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquSpareApplyMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquSpareApplyMapper.java index e9b74390d..090a21ed4 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquSpareApplyMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquSpareApplyMapper.java @@ -2,6 +2,7 @@ package com.op.device.mapper; import java.util.List; +import com.op.device.domain.EquRepairWorkOrder; import com.op.device.domain.EquSpareApply; /** @@ -58,4 +59,7 @@ public interface EquSpareApplyMapper { * @return 结果 */ public int deleteEquSpareApplyByApplyIds(String[] applyIds); + + //查询维修工单对应的备件申领记录 + public List selectRepairSparePartsRecord(EquRepairWorkOrder equRepairWorkOrder); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquTeamMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquTeamMapper.java index 828fb06b8..a70eb5ee6 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquTeamMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquTeamMapper.java @@ -2,7 +2,9 @@ package com.op.device.mapper; import java.util.List; +import com.baomidou.dynamic.datasource.annotation.DS; import com.op.device.domain.EquTeam; +import com.op.device.domain.EquTeamUser; /** * 设备班组维护Mapper接口 @@ -61,4 +63,16 @@ public interface EquTeamMapper { //查询设备维修组列表 public List getMaintenanceTeamList(EquTeam equTeam); + + //查询设备维修组人员 + @DS("master") + public List getMaintenancePerson(EquTeamUser equTeamUser); + + //查询所有人员 + @DS("master") + public List selectTeamMembers(EquTeamUser equTeamUser); + + //查询特定人员 + @DS("master") + public EquTeamUser selectTeamMember(EquTeamUser equTeamUser); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquTeamUserMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquTeamUserMapper.java new file mode 100644 index 000000000..f982f897a --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquTeamUserMapper.java @@ -0,0 +1,79 @@ +package com.op.device.mapper; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.device.domain.EquTeamUser; + +import java.util.List; + +/** + * 班组人员Mapper接口 + * + * @author Open Platform + * @date 2023-08-29 + */ +public interface EquTeamUserMapper { + /** + * 查询班组人员 + * + * @param id 班组人员主键 + * @return 班组人员 + */ + public EquTeamUser selectEquTeamUserById(String id); + + /** + * 查询班组人员列表 + * + * @param equTeamUser 班组人员 + * @return 班组人员集合 + */ + public List selectEquTeamUserList(EquTeamUser equTeamUser); + + /** + * 新增班组人员 + * + * @param equTeamUser 班组人员 + * @return 结果 + */ + public int insertEquTeamUser(EquTeamUser equTeamUser); + + /** + * 修改班组人员 + * + * @param equTeamUser 班组人员 + * @return 结果 + */ + public int updateEquTeamUser(EquTeamUser equTeamUser); + + /** + * 删除班组人员 + * + * @param id 班组人员主键 + * @return 结果 + */ + public int deleteEquTeamUserById(String id); + + /** + * 批量删除班组人员 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteEquTeamUserByIds(String[] ids); + + //查询人员 + @DS("master") + public List selectTeamMembers(EquTeamUser equTeamUser); + + //查询人员对应名字 + public List selectTeamMembersIds(EquTeamUser equTeamUser); + + //查询人员ID + public String selectId(EquTeamUser equTeamUser); + + @DS("master") + public String selectUserName(EquTeamUser equTeamUser); + + //批量删除 + public void deleteEquTeamUserByTeamId(String teamId); + void deleteEquTeamUserByTeamIds(String[] teamIds); +} diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java b/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java index f4782cc4b..40c9efcf0 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java @@ -1,7 +1,7 @@ package com.op.device.service; import com.op.common.core.web.domain.AjaxResult; -import com.op.device.domain.EquOrder; +import com.op.device.domain.*; /** * PDAService @@ -37,4 +37,42 @@ public interface IDevicePDAService { * @return */ AjaxResult updateInspectionRecord(EquOrder equOrder); + + //报修 + /** + * 手持新增报修记录 + * @param equRepairOrder + * @return + */ + public AjaxResult addRepairRecord(EquRepairOrder equRepairOrder); + + //维修 + /** + * 手持查询维修记录 (待处理和已经维修完成) + * @param equRepairWorkOrder + * @return + */ + public AjaxResult getMaintenanceRecords(EquRepairWorkOrder equRepairWorkOrder); + + //班组 + /** + * 维修班组 + * @param equTeamUser + * @return + */ + public AjaxResult getMaintenancePerson(EquTeamUser equTeamUser); + + /** + * 手持是否停机 + * @param equRepairWorkOrder + * @return + */ + public AjaxResult updateDowntime(EquRepairWorkOrder equRepairWorkOrder); + + /** + * 手持是否停机 + * @param equRepairWorkOrder + * @return + */ +// AjaxResult selectBaseEquipmentByEquipmentId(Long equipmentId); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IEquRepairWorkOrderService.java b/op-modules/op-device/src/main/java/com/op/device/service/IEquRepairWorkOrderService.java index fe2c50775..71ff46df0 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IEquRepairWorkOrderService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IEquRepairWorkOrderService.java @@ -2,8 +2,8 @@ package com.op.device.service; import java.util.List; -import com.op.device.domain.EquEquipment; import com.op.device.domain.EquRepairWorkOrder; +import com.op.device.domain.EquTeamUser; /** * 维修工单Service接口 @@ -61,7 +61,7 @@ public interface IEquRepairWorkOrderService { public int deleteEquRepairWorkOrderByWorkId(String workId); //获取维修人员列表 - public List getMaintenancePersonList(EquEquipment equEquipment); + public List getMaintenancePersonList(EquTeamUser equTeamUser); //委外申请 public int applyEquOutsourceWork(EquRepairWorkOrder equRepairWorkOrder); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IEquSpareApplyService.java b/op-modules/op-device/src/main/java/com/op/device/service/IEquSpareApplyService.java index 27569b554..6d4d67829 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IEquSpareApplyService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IEquSpareApplyService.java @@ -1,6 +1,8 @@ package com.op.device.service; import java.util.List; + +import com.op.device.domain.EquRepairWorkOrder; import com.op.device.domain.EquSpareApply; /** @@ -57,4 +59,7 @@ public interface IEquSpareApplyService { * @return 结果 */ public int deleteEquSpareApplyByApplyId(String applyId); + + //查询维修工单对应备件申领记录 + public List selectRepairSparePartsRecord(EquRepairWorkOrder equRepairWorkOrder); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IEquTeamService.java b/op-modules/op-device/src/main/java/com/op/device/service/IEquTeamService.java index 2c80041c5..7fcae2d08 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IEquTeamService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IEquTeamService.java @@ -1,7 +1,10 @@ package com.op.device.service; import java.util.List; + +import com.op.common.core.web.domain.AjaxResult; import com.op.device.domain.EquTeam; +import com.op.device.domain.EquTeamUser; /** * 设备班组维护Service接口 @@ -32,7 +35,7 @@ public interface IEquTeamService { * @param equTeam 设备班组维护 * @return 结果 */ - public int insertEquTeam(EquTeam equTeam); + public AjaxResult insertEquTeam(EquTeam equTeam); /** * 修改设备班组维护 @@ -40,7 +43,7 @@ public interface IEquTeamService { * @param equTeam 设备班组维护 * @return 结果 */ - public int updateEquTeam(EquTeam equTeam); + public AjaxResult updateEquTeam(EquTeam equTeam); /** * 批量删除设备班组维护 @@ -60,4 +63,7 @@ public interface IEquTeamService { //维修组列表 List getMaintenanceTeamList(EquTeam equTeam); + + //查询所有人员信息 + List selectTeamMembers(EquTeamUser equTeamUser); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java index 692677ba8..c151df269 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java @@ -8,17 +8,20 @@ import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.utils.SecurityUtils; -import com.op.device.domain.EquOrder; -import com.op.device.domain.EquOrderDetail; -import com.op.device.domain.EquOrderEqu; -import com.op.device.domain.EquOrderStandard; +import com.op.device.domain.*; import com.op.device.mapper.*; import com.op.device.service.IDevicePDAService; import com.op.system.api.domain.SysUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import javax.servlet.http.HttpServletRequest; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Calendar; import java.util.Date; import java.util.List; @@ -46,6 +49,12 @@ public class DevicePDAServiceImpl implements IDevicePDAService { private EquOrderPersonMapper equOrderPersonMapper; @Autowired private PersonMapper personMapper; + @Autowired + private EquRepairOrderMapper equRepairOrderMapper; + @Autowired + private EquRepairWorkOrderMapper equRepairWorkOrderMapper; + @Autowired + private EquTeamMapper equTeamMapper; /** @@ -158,11 +167,9 @@ public class DevicePDAServiceImpl implements IDevicePDAService { } equOrderStandardMapper.insertBaseFileBatch(files); } - // 更新标准 standard.setUpdateTime(DateUtils.getNowDate()); equOrderStandardMapper.updateEquOrderStandard(standard); - } } @@ -171,8 +178,128 @@ public class DevicePDAServiceImpl implements IDevicePDAService { equOrder.setUpdateTime(DateUtils.getNowDate()); equOrder.setUpdateBy(SecurityContextHolder.getUserName()); equOrder.setPlanPerson(SecurityContextHolder.getUserName()); + + // 获取故障报修流水号 + EquRepairOrder equRepairOrder = new EquRepairOrder(); + String serialNum = String.format("%03d", equRepairOrderMapper.selectOrderCodeSerialNumber()); + String equipmentCode = equOrder.getEquipmentCode(); + //报修单号 + equRepairOrder.setOrderCode("BX"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + equipmentCode + serialNum); + //在主表中存入报修单号信息 + equOrder.setRepairCode(equRepairOrder.getOrderCode()); equOrderMapper.updateEquOrder(equOrder); + //新增报修记录 + equRepairOrder.setOrderId(IdUtils.fastSimpleUUID()); + equRepairOrder.setCreateTime(DateUtils.getNowDate()); + equRepairOrder.setCreateBy(SecurityUtils.getUsername()); + equRepairOrder.setOrderStatus("待审核"); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); + equRepairOrderMapper.insertEquRepairOrder(equRepairOrder); return success(equOrder); } + + //////////////////////报修 + /** + * 新增报修记录 + * + * @param equRepairOrder + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult addRepairRecord(EquRepairOrder equRepairOrder) { + try { + equRepairOrder.setOrderId(IdUtils.fastSimpleUUID()); + // 获取故障报修流水号 + String serialNum = String.format("%03d", equRepairOrderMapper.selectOrderCodeSerialNumber()); + String equipmentCode = equRepairOrder.getEquipmentCode(); + //报修单号 + equRepairOrder.setOrderCode("BX"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + equipmentCode + serialNum); + equRepairOrder.setCreateTime(DateUtils.getNowDate()); + equRepairOrder.setCreateBy(SecurityUtils.getUsername()); + equRepairOrder.setOrderStatus("待审核"); +// HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); +// String key = "#header.poolName"; +// equRepairOrder.setFactory(request.getHeader(key.substring(8)).replace("ds_","")); + return success("新增报修记录成功!"); + } catch (Exception e) { + return error(); + } + } + + /** + * 获取维修记录 + * + * @param equRepairWorkOrder + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult getMaintenanceRecords(EquRepairWorkOrder equRepairWorkOrder) { + try { + if (equRepairWorkOrder.getWorkPlanTimeArray() != null) { + // 设置创建日期开始和结束值 + if (equRepairWorkOrder.getWorkPlanTimeArray().size() == 2) { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + equRepairWorkOrder.setWorkPlanTimeStart(formatter.format(equRepairWorkOrder.getWorkPlanTimeArray().get(0))); + equRepairWorkOrder.setWorkPlanTimeEnd(formatter.format(equRepairWorkOrder.getWorkPlanTimeArray().get(1))); + } + } + if (equRepairWorkOrder.getWorkPlanDownTimeArray() != null) { + // 设置更新日期开始和结束 + if (equRepairWorkOrder.getWorkPlanDownTimeArray().size() == 2) { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + equRepairWorkOrder.setWorkPlanDownTimeStart(formatter.format(equRepairWorkOrder.getWorkPlanDownTimeArray().get(0))); + equRepairWorkOrder.setWorkPlanDownTimeEnd(formatter.format(equRepairWorkOrder.getWorkPlanDownTimeArray().get(1))); + } + } + + List list = equRepairWorkOrderMapper.selectEquRepairWorkOrderList(equRepairWorkOrder); + return success(list); + } catch (Exception e) { + return error(); + } + } + + /** + * 获取维修记录 + * + * @param equTeamUser + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult getMaintenancePerson(EquTeamUser equTeamUser) { + try { + List list = equRepairWorkOrderMapper.getMaintenancePersonList(equTeamUser); + return success(list); + } catch (Exception e) { + return error(); + } + } + + /** + * 手持提交是否停机维修 停机维修的开始时间 + * + * @param equRepairWorkOrder + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult updateDowntime(EquRepairWorkOrder equRepairWorkOrder) { + try { + if(equRepairWorkOrder.getWorkDownMachine().equals("0")){ + equRepairWorkOrder.setWorkPlanDownTime(null); + } + equRepairWorkOrder.setUpdateBy(SecurityUtils.getUsername()); + equRepairWorkOrder.setUpdateTime(DateUtils.getNowDate()); + equRepairWorkOrderMapper.updateEquRepairWorkOrder(equRepairWorkOrder); + return success("提交成功,开始维修!"); + } catch (Exception e) { + return error(); + } + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairOrderServiceImpl.java index 0fbbf8a45..f741d8a74 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairOrderServiceImpl.java @@ -1,22 +1,21 @@ package com.op.device.service.impl; +import java.util.ArrayList; +import java.util.Date; import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.domain.BaseFileData; 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.common.security.utils.SecurityUtils; -import com.op.device.domain.EquEquipment; -import com.op.device.domain.EquOutsourceWork; -import com.op.device.domain.EquRepairWorkOrder; -import com.op.device.mapper.EquEquipmentMapper; -import com.op.device.mapper.EquOutsourceWorkMapper; -import com.op.device.mapper.EquRepairWorkOrderMapper; +import com.op.device.domain.*; +import com.op.device.mapper.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.op.device.mapper.EquRepairOrderMapper; -import com.op.device.domain.EquRepairOrder; import com.op.device.service.IEquRepairOrderService; +import org.springframework.util.CollectionUtils; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -41,6 +40,9 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService { @Autowired private EquOutsourceWorkMapper equOutsourceWorkMapper; + + @Autowired + private EquFileMapper equFileMapper; /** * 查询故障报修 * @@ -50,7 +52,12 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService { @Override @DS("#header.poolName") public EquRepairOrder selectEquRepairOrderByOrderId(String orderId) { - return equRepairOrderMapper.selectEquRepairOrderByOrderId(orderId); + EquRepairOrder list = equRepairOrderMapper.selectEquRepairOrderByOrderId(orderId); + List files = equFileMapper.getEquFileBatch(orderId); + if (!CollectionUtils.isEmpty(files)) { + list.setFiles(files); + } + return list; } /** @@ -83,9 +90,28 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService { equRepairOrder.setCreateTime(DateUtils.getNowDate()); equRepairOrder.setCreateBy(SecurityUtils.getUsername()); equRepairOrder.setOrderStatus("待审核"); -// HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); -// String key = "#header.poolName"; -// equRepairOrder.setFactory(request.getHeader(key.substring(8)).replace("ds_","")); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); + + //设备报修上传图片 + if (StringUtils.isNotEmpty(equRepairOrder.getFileList())) { + String[] ids = equRepairOrder.getFileList().split(","); + List files = new ArrayList<>(); + BaseFileData file = null; + for (String id : ids) { + file = new BaseFileData(); + file.setFileId(IdUtils.fastSimpleUUID()); + file.setFileName(id.split("&fileName=")[1]); + file.setFileAddress(id); + file.setSourceId(equRepairOrder.getOrderId()); + file.setCreateBy(SecurityUtils.getUsername()); + file.setCreateTime(new Date()); + files.add(file); + } + equFileMapper.insertEquFileBatch(files); + } + return equRepairOrderMapper.insertEquRepairOrder(equRepairOrder); } @@ -173,6 +199,24 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService { @Override @DS("#header.poolName") public int updateEquRepairOrder(EquRepairOrder equRepairOrder) { + equFileMapper.deleteEquFileBySourceId(equRepairOrder.getOrderId()); + //上传附件 + if (StringUtils.isNotEmpty(equRepairOrder.getFileList())) { + String[] ids = equRepairOrder.getFileList().split(","); + List files = new ArrayList<>(); + BaseFileData file = null; + for (String id : ids) { + file = new BaseFileData(); + file.setFileId(IdUtils.fastSimpleUUID()); + file.setFileAddress(id); + file.setFileName(id.split("&fileName=")[1]); + file.setSourceId(equRepairOrder.getOrderId()); + file.setCreateBy(SecurityUtils.getUsername()); + file.setCreateTime(new Date()); + files.add(file); + } + equFileMapper.insertEquFileBatch(files); + } equRepairOrder.setUpdateTime(DateUtils.getNowDate()); equRepairOrder.setUpdateBy(SecurityUtils.getUsername()); return equRepairOrderMapper.updateEquRepairOrder(equRepairOrder); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java index be3f3be3a..2a172e84e 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java @@ -7,8 +7,8 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.security.utils.SecurityUtils; -import com.op.device.domain.EquEquipment; import com.op.device.domain.EquOutsourceWork; +import com.op.device.domain.EquTeamUser; import com.op.device.mapper.EquOutsourceWorkMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -90,7 +90,6 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService //维修单号 equRepairWorkOrder.setOrderCode("无"); equRepairWorkOrder.setOutWorkCode("无"); - equRepairWorkOrder.setWorkStatus("待维修"); equRepairWorkOrder.setWorkCode("WX"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + equipmentCode + serialNum); equRepairWorkOrder.setCreateBy(SecurityUtils.getUsername()); equRepairWorkOrder.setCreateTime(DateUtils.getNowDate()); @@ -144,8 +143,8 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService //获取维人员列表 @Override - public List getMaintenancePersonList(EquEquipment equEquipment) { - return equRepairWorkOrderMapper.getMaintenancePersonList(equEquipment); + public List getMaintenancePersonList(EquTeamUser equTeamUser) { + return equRepairWorkOrderMapper.getMaintenancePersonList(equTeamUser); } //委外申请 diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquSpareApplyServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquSpareApplyServiceImpl.java index 11a3b01d6..e94737765 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquSpareApplyServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquSpareApplyServiceImpl.java @@ -7,11 +7,16 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.security.utils.SecurityUtils; +import com.op.device.domain.EquRepairWorkOrder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.device.mapper.EquSpareApplyMapper; import com.op.device.domain.EquSpareApply; import com.op.device.service.IEquSpareApplyService; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; /** * 申领记录Service业务层处理 @@ -66,6 +71,10 @@ public class EquSpareApplyServiceImpl implements IEquSpareApplyService { @DS("#header.poolName") public int insertEquSpareApply(EquSpareApply equSpareApply) { equSpareApply.setApplyId(IdUtils.fastSimpleUUID()); + //工厂号 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + equSpareApply.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); equSpareApply.setCreateTime(DateUtils.getNowDate()); equSpareApply.setCreateBy(SecurityUtils.getUsername()); return equSpareApplyMapper.insertEquSpareApply(equSpareApply); @@ -108,4 +117,13 @@ public class EquSpareApplyServiceImpl implements IEquSpareApplyService { public int deleteEquSpareApplyByApplyId(String applyId) { return equSpareApplyMapper.deleteEquSpareApplyByApplyId(applyId); } + + /** + * 查询维修单对应的申领记录列表 + */ + @Override + @DS("#header.poolName") + public List selectRepairSparePartsRecord(EquRepairWorkOrder equRepairWorkOrder) { + return equSpareApplyMapper.selectRepairSparePartsRecord(equRepairWorkOrder); + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquTeamServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquTeamServiceImpl.java index d4d76a1f7..df8779159 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquTeamServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquTeamServiceImpl.java @@ -1,16 +1,29 @@ package com.op.device.service.impl; +import java.util.ArrayList; import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.uuid.IdUtils; +import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.utils.SecurityUtils; +import com.op.device.domain.EquTeamUser; +import com.op.device.mapper.EquTeamUserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.device.mapper.EquTeamMapper; import com.op.device.domain.EquTeam; import com.op.device.service.IEquTeamService; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import com.op.common.core.web.domain.AjaxResult; + +import javax.servlet.http.HttpServletRequest; + +import static com.op.common.core.web.domain.AjaxResult.error; +import static com.op.common.core.web.domain.AjaxResult.success; /** * 设备班组维护Service业务层处理 @@ -22,6 +35,8 @@ import com.op.device.service.IEquTeamService; public class EquTeamServiceImpl implements IEquTeamService { @Autowired private EquTeamMapper equTeamMapper; + @Autowired + private EquTeamUserMapper equTeamUserMapper; /** * 查询设备班组维护 @@ -32,6 +47,11 @@ public class EquTeamServiceImpl implements IEquTeamService { @Override @DS("#header.poolName") public EquTeam selectEquTeamById(String id) { + EquTeamUser equTeamUser = new EquTeamUser(); + equTeamUser.setTeamId(id); + List equTeamUser1 = equTeamUserMapper.selectEquTeamUserList(equTeamUser); + EquTeam equTeam = equTeamMapper.selectEquTeamById(id); + equTeam.setSelectedData(equTeamUser1); return equTeamMapper.selectEquTeamById(id); } @@ -54,12 +74,40 @@ public class EquTeamServiceImpl implements IEquTeamService { * @return 结果 */ @Override + @Transactional @DS("#header.poolName") - public int insertEquTeam(EquTeam equTeam) { - equTeam.setId(IdUtils.fastSimpleUUID()); - equTeam.setCreateTime(DateUtils.getNowDate()); - equTeam.setCreateBy(SecurityUtils.getUsername()); - return equTeamMapper.insertEquTeam(equTeam); + public AjaxResult insertEquTeam(EquTeam equTeam) { + try{ + equTeam.setId(IdUtils.fastSimpleUUID()); + equTeam.setCreateTime(DateUtils.getNowDate()); + equTeam.setCreateBy(SecurityUtils.getUsername()); + //工厂号 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + equTeam.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); + equTeamMapper.insertEquTeam(equTeam); + //新增设备班组人员信息 + String teamId = equTeam.getId(); + for(int i = 0 ; i < equTeam.getRightData().size() ; i++){ + EquTeamUser equTeamUser = new EquTeamUser(); + equTeamUser.setCreateBy(SecurityUtils.getUsername()); + equTeamUser.setCreateTime(DateUtils.getNowDate()); + equTeamUser.setTeamId(teamId); + equTeamUser.setTeamCode(equTeam.getTeamCode()); + equTeamUser.setId(IdUtils.fastSimpleUUID()); + List list = new ArrayList<>(); + list = equTeam.getRightData(); + String userId = list.get(i); + equTeamUser.setUserId(userId); + EquTeamUser memberList = equTeamMapper.selectTeamMember(equTeamUser); + equTeamUser.setUserName(memberList.getUserName()); + equTeamUser.setNickName(memberList.getNickName()); + equTeamUserMapper.insertEquTeamUser(equTeamUser); + } + return success("新增设备班组成功!"); + }catch (Exception e) { + return error(); + } } /** @@ -70,10 +118,32 @@ public class EquTeamServiceImpl implements IEquTeamService { */ @Override @DS("#header.poolName") - public int updateEquTeam(EquTeam equTeam) { - equTeam.setUpdateTime(DateUtils.getNowDate()); - equTeam.setUpdateBy(SecurityUtils.getUsername()); - return equTeamMapper.updateEquTeam(equTeam); + @Transactional + public AjaxResult updateEquTeam(EquTeam equTeam) { + try{ + equTeam.setUpdateTime(DateUtils.getNowDate()); + equTeam.setUpdateBy(SecurityUtils.getUsername()); + equTeamMapper.updateEquTeam(equTeam); + for(int i = 0;i list = new ArrayList<>(); + list = equTeam.getRightData(); + String userId = list.get(i); + equTeamUser.setUserId(userId); + String userName = equTeamUserMapper.selectUserName(equTeamUser); + //判断班组人员有没有变动 挨个遍历 + equTeamUser.setUserName(userName); + equTeamUserMapper.insertEquTeamUser(equTeamUser); + } + return success("修改设备班组成功!"); + }catch (Exception e) { + return error(); + } } /** @@ -108,4 +178,16 @@ public class EquTeamServiceImpl implements IEquTeamService { public List getMaintenanceTeamList(EquTeam equTeam) { return equTeamMapper.getMaintenanceTeamList(equTeam); } + + /** + * 查询所有人员列表 + * + * @param equTeamUser 班组人员 + * @return 班组人员 + */ + @Override + @DS("#master") + public List selectTeamMembers(EquTeamUser equTeamUser){ + return equTeamMapper.selectTeamMembers(equTeamUser); + } } diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquFileMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquFileMapper.xml new file mode 100644 index 000000000..ef5150b67 --- /dev/null +++ b/op-modules/op-device/src/main/resources/mapper/device/EquFileMapper.xml @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + select file_id, file_name, file_address, source_id, remark, attr1, + attr2, attr3, attr4, create_by, create_time, update_by, + update_time,image_type from base_file + + + + + + + + + + + + + + + insert into base_file + + file_id, + file_name, + file_address, + source_id, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + image_type, + + + #{fileId}, + #{fileName}, + #{fileAddress}, + #{sourceId}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + {imageType}, + + + + + INSERT INTO base_file(file_id, file_name, file_address, source_id, remark, create_by, create_time) + VALUES + + ( + #{baseFile.fileId}, + #{baseFile.fileName}, + #{baseFile.fileAddress}, + #{baseFile.sourceId}, + #{baseFile.remark}, + #{baseFile.createBy}, + #{baseFile.createTime} + ) + + + + + update base_file + + file_name = #{fileName}, + file_address = #{fileAddress}, + source_id = #{sourceId}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where file_id = #{fileId} + + + + delete from base_file where file_id = #{fileId} + + + + delete from base_file where file_id in + + #{fileId} + + + + + delete from base_file where source_id = #{sourceId} + + + diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOutsourceWorkMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOutsourceWorkMapper.xml index b835a9c9d..c127939ae 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOutsourceWorkMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOutsourceWorkMapper.xml @@ -175,11 +175,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from equ_outsource_work where work_id = #{workId} + update equ_outsource_work + set del_flag = '1' + where work_id = #{workId} - delete from equ_outsource_work where work_id in + update equ_outsource_work + set del_flag = '1' + where work_id in #{workId} diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml index 090182f4d..501acfb88 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml @@ -203,12 +203,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where order_id = #{orderId} + - delete from equ_repair_order where order_id = #{orderId} + update equ_repair_order + set del_flag = '1' + where order_id = #{orderId} + - delete from equ_repair_order where order_id in + update equ_repair_order + set del_flag = '1' + where order_id in #{orderId} @@ -221,7 +227,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and del_flag = '0' - select user_id AS userId, user_name AS userName, diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquRepairWorkOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquRepairWorkOrderMapper.xml index e2899f249..6647de50b 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquRepairWorkOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquRepairWorkOrderMapper.xml @@ -306,12 +306,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and del_flag = '0' + - delete from equ_repair_work_order where work_id = #{workId} + update equ_repair_work_order + set del_flag = '1' + where work_id = #{workId} + - delete from equ_repair_work_order where work_id in + update equ_repair_work_order + set del_flag = '1' + where work_id in #{workId} @@ -323,7 +329,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where del_flag = '0' - select su.user_id AS userId, su.user_name AS userName, diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquSpareApplyMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquSpareApplyMapper.xml index c2f28cb46..6a4a162b5 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquSpareApplyMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquSpareApplyMapper.xml @@ -7,7 +7,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + @@ -25,16 +28,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select apply_id, apply_code, spare_code, spare_name, spare_model, spare_quantity, spare_group_line, spare_use_equipment, apply_time, apply_people, apply_approve_people, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time, factory_code from equ_spare_apply + select apply_id, apply_code, work_code,parent_code,apply_type,spare_code, spare_name, spare_model, spare_quantity, spare_group_line, spare_use_equipment, apply_time, apply_people, apply_approve_people, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time, factory_code from equ_spare_apply + + where del_flag = '0' + and work_code = #{workCode} + ORDER BY apply_time DESC + + \ No newline at end of file diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquTeamMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquTeamMapper.xml index 7611f4067..b21528abe 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquTeamMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquTeamMapper.xml @@ -89,11 +89,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from equ_team where id = #{id} + update equ_team + set del_flag = '1' + where id = #{id} - delete from equ_team where id in + update equ_team + set del_flag = '1' + where id in #{id} @@ -105,4 +109,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and team_type = '维修班组' + + + + \ No newline at end of file diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquTeamUserMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquTeamUserMapper.xml new file mode 100644 index 000000000..dae6a04cd --- /dev/null +++ b/op-modules/op-device/src/main/resources/mapper/device/EquTeamUserMapper.xml @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + select id, team_id, team_code, user_id, user_name, create_by, create_time, update_by, update_time from equ_team_user + + + + + + + + insert into equ_team_user + + id, + team_id, + team_code, + user_id, + user_name, + create_by, + create_time, + update_by, + update_time, + + + #{id}, + #{teamId}, + #{teamCode}, + #{userId}, + #{userName}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update equ_team_user + + team_id = #{teamId}, + team_code = #{teamCode}, + user_id = #{userId}, + user_name = #{userName}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from equ_team_user where id = #{id} + + + + delete from equ_team_user where team_id = #{teamId} + + + + delete from equ_team_user where id in + + #{id} + + + + + + + + + + + + + + + + + delete from equ_team_user where team_id in + + #{teamId} + + + + \ No newline at end of file diff --git a/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml index dd5b16320..08d5b972e 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml @@ -5,9 +5,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + @@ -32,7 +35,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select storage_type, material_code, material_desc, amount,sap_factory_code, wl_name, del_flag, spare_use_life, spare_name, spare_mode, spare_manufacturer, spare_supplier, spare_replacement_cycle, spare_measurement_unit, spare_conversion_unit, spare_conversion_ratio, spare_inventory_floor, spare_inventory_upper,spare_type,create_by, gmt_create, last_modified_by, gmt_modified, active_flag, factory_code from wms_ods_mate_storage_news + select + storage_id, + storage_type, + material_code, + material_desc, + amount, + storage_amount, + sap_factory_code, + wl_name, + del_flag, + spare_use_life, + spare_name, + spare_mode, + spare_manufacturer, + spare_supplier, + spare_replacement_cycle, + spare_measurement_unit, + spare_conversion_unit, + spare_conversion_ratio, + spare_inventory_floor, + spare_inventory_upper, + spare_type, + create_by, + gmt_create, + last_modified_by, + gmt_modified, + active_flag, + factory_code + from wms_ods_mate_storage_news - + select qct.record_id, qct.check_no, qct.income_batch_no, + qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit, + qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_loc, qct.check_status, + qct.check_man_code, qct.check_man_name,qct.check_time, qct.check_result, qct.status, + qct.create_by,qct.create_time, qct.update_by, qct.update_time,qct.check_type, + q.type_code + from qc_check_task qct + left join qc_check_type q on q.id = qct.check_type - and check_no = #{checkNo} - and income_batch_no = #{incomeBatchNo} - and order_no = #{orderNo} - and material_code = #{materialCode} - and material_name like concat('%', #{materialName}, '%') - and quality = #{quality} - and unit = #{unit} - and supplier_code = #{supplierCode} - and supplier_name like concat('%', #{supplierName}, '%') - and income_time = #{incomeTime} - and check_loc = #{checkLoc} - and check_status = #{checkStatus} - and check_man_code = #{checkManCode} - and check_man_name like concat('%', #{checkManName}, '%') - and check_time = #{checkTime} - and check_result = #{checkResult} - and status = #{status} - and del_flag = #{delFlag} - and attr1 = #{attr1} - and attr2 = #{attr2} - and attr3 = #{attr3} - and attr4 = #{attr4} - and factory_code = #{factoryCode} - and CONVERT(varchar(30),income_time, 120) >= #{incomeTimeStart} - and #{incomeTimeEnd} > CONVERT(varchar(30),income_time, 120) - and CONVERT(varchar(30),check_time, 120) >= #{checkTimeStart} - and #{checkTimeEnd} > CONVERT(varchar(30),check_time, 120) + and qct.check_no = #{checkNo} + and qct.income_batch_no = #{incomeBatchNo} + and qct.order_no = #{orderNo} + and qct.material_code = #{materialCode} + and qct.material_name like concat('%', #{materialName}, '%') + and qct.supplier_code = #{supplierCode} + and qct.supplier_name like concat('%', #{supplierName}, '%') + and qct.check_loc = #{checkLoc} + and qct.check_status = #{checkStatus} + and qct.check_man_code = #{checkManCode} + and qct.check_man_name like concat('%', #{checkManName}, '%') + and qct.check_result = #{checkResult} + and qct.status = #{status} + and qct.del_flag = #{delFlag} + and CONVERT(varchar(30),qct.income_time, 120) >= #{incomeTimeStart} + and #{incomeTimeEnd} > CONVERT(varchar(30),qct.income_time, 120) + and CONVERT(varchar(30),qct.check_time, 120) >= #{checkTimeStart} + and #{checkTimeEnd} > CONVERT(varchar(30),qct.check_time, 120) + and q.type_code = #{typeCode} diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml index 5e8e7fa5c..bb18a8d59 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml @@ -45,36 +45,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml index 4625f31d3..627e7d626 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml @@ -7,7 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -37,7 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select record_id, check_no, batch_no, order_no, material_code, material_name, + select record_id, check_no, income_batch_no, order_no, material_code, material_name, quality, unit, supplier_code, supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name, check_time, check_result, status, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, @@ -46,36 +46,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -107,7 +108,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" record_id, check_no, - batch_no, + income_batch_no, order_no, material_code, material_name, @@ -115,7 +116,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" unit, supplier_code, supplier_name, - income_time, + income_time, check_loc, check_status, check_man_code, @@ -138,7 +139,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{recordId}, #{checkNo}, - #{batchNo}, + #{incomeBatchNo}, #{orderNo}, #{materialCode}, #{materialName}, @@ -146,7 +147,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{unit}, #{supplierCode}, #{supplierName}, - #{produceDate}, + #{incomeTime}, #{checkLoc}, #{checkStatus}, #{checkManCode}, @@ -172,7 +173,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update qc_check_task check_no = #{checkNo}, - batch_no = #{batchNo}, + income_batch_no = #{incomeBatchNo}, order_no = #{orderNo}, material_code = #{materialCode}, material_name = #{materialName}, @@ -180,7 +181,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" unit = #{unit}, supplier_code = #{supplierCode}, supplier_name = #{supplierName}, - income_time = #{produceDate}, + income_time = #{incomeTime}, check_loc = #{checkLoc}, check_status = #{checkStatus}, check_man_code = #{checkManCode}, diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml index 05e4a7a2a..6def797c1 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml @@ -7,7 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -37,44 +37,46 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select record_id, check_no, batch_no, order_no, material_code, + select record_id, check_no, income_batch_no, order_no, material_code, material_name, quality, unit, supplier_code, supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name, - check_time, check_result, status, attr1, attr2, attr3, attr4, create_by, - create_time, update_by, update_time, factory_code, del_flag , check_type + check_time, check_result, status, create_by, + create_time, update_by, update_time, check_type from qc_check_task @@ -99,7 +101,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" record_id, check_no, - batch_no, + income_batch_no, order_no, material_code, material_name, @@ -130,7 +132,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{recordId}, #{checkNo}, - #{batchNo}, + #{incomeBatchNo}, #{orderNo}, #{materialCode}, #{materialName}, @@ -164,7 +166,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update qc_check_task check_no = #{checkNo}, - batch_no = #{batchNo}, + income_batch_no = #{incomeBatchNo}, order_no = #{orderNo}, material_code = #{materialCode}, material_name = #{materialName}, From eef550d5ae13561ad344db78ab38f0cfca2e642c Mon Sep 17 00:00:00 2001 From: wws <18630710203@163.com> Date: Wed, 8 Nov 2023 17:53:47 +0800 Subject: [PATCH 14/32] =?UTF-8?q?=E5=AE=9E=E4=BD=93=E7=B1=BB=E5=90=8C?= =?UTF-8?q?=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/device/domain/EquOrderStandard.java | 40 +++++++++++++++++++ .../mapper/device/EquOrderStandardMapper.xml | 22 +++++++++- 2 files changed, 61 insertions(+), 1 deletion(-) diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java index 7cdaadde8..1a64a8ce3 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java @@ -88,6 +88,46 @@ public class EquOrderStandard extends BaseEntity { private String errorFlag; + private String faultType; + + private String repairReach; + + private BigDecimal repairValue; + + private String repairPicture; + + public String getRepairPicture() { + return repairPicture; + } + + public void setRepairPicture(String repairPicture) { + this.repairPicture = repairPicture; + } + + public BigDecimal getRepairValue() { + return repairValue; + } + + public void setRepairValue(BigDecimal repairValue) { + this.repairValue = repairValue; + } + + public String getRepairReach() { + return repairReach; + } + + public void setRepairReach(String repairReach) { + this.repairReach = repairReach; + } + + public String getFaultType() { + return faultType; + } + + public void setFaultType(String faultType) { + this.faultType = faultType; + } + public String getErrorFlag() { return errorFlag; } diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml index d6fb3c570..8ef092950 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml @@ -28,10 +28,14 @@ + + + + - select id, code, parent_code, order_code, standard_type, standard_name, detail_up_limit, detail_down_limit, detail_unit, detail_reach, actual_value, detail_error, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,picture_path,error_flag from equ_order_standard + select id, code, parent_code, order_code, standard_type, standard_name, detail_up_limit, detail_down_limit, detail_unit, detail_reach, actual_value, detail_error, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,picture_path,error_flag,fault_type,repair_reach,repair_value,repair_picture from equ_order_standard @@ -93,6 +101,10 @@ update_time, picture_path, error_flag, + fault_type, + repair_reach, + repair_value, + repair_picture, #{id}, @@ -118,6 +130,10 @@ #{updateTime}, #{picturePath}, #{errorFlag}, + #{faultType}, + #{repairReach}, + #{repairValue}, + #{repairPicture}, @@ -162,6 +178,10 @@ update_time = #{updateTime}, picture_path = #{picturePath}, error_flag = #{errorFlag}, + fault_type = #{faultType}, + repair_reach = #{repairReach}, + repair_value = #{repairValue}, + repair_picture = #{repairPicture}, where id = #{id} From d04c1068f89e7d531b17cc9eab1e63cd341bf84c Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Wed, 8 Nov 2023 18:21:14 +0800 Subject: [PATCH 15/32] =?UTF-8?q?=E6=A3=80=E9=AA=8C=E6=8A=A5=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/QcStaticTableController.java | 72 ++++++++++ .../com/op/quality/domain/QcStaticTable.java | 123 ++++++++++++++++++ .../quality/mapper/QcStaticTableMapper.java | 25 ++++ .../service/IQcStaticTableService.java | 22 ++++ .../impl/QcStaticTableServiceImpl.java | 36 +++++ .../mapper/quality/QcStaticTableMapper.xml | 12 ++ op-modules/op-scada/push-scada.bat | 41 ++++++ 7 files changed, 331 insertions(+) create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java create mode 100644 op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml create mode 100644 op-modules/op-scada/push-scada.bat diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java new file mode 100644 index 000000000..d5edb2a2c --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java @@ -0,0 +1,72 @@ +package com.op.quality.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.quality.domain.QcStaticTable; +import com.op.quality.service.IQcStaticTableService; +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; + +/** + * 质量系统报Controller + * + * @author Open Platform + * @date 2023-11-08 + */ +@RestController +@RequestMapping("/staticTable") +public class QcStaticTableController extends BaseController { + @Autowired + private IQcStaticTableService qcStaticTableService; + + /** + * 来料质量报表 + */ + @RequiresPermissions("quality:qcTableIncome:list") + @GetMapping("/getIncomeTableList") + public TableDataInfo getIncomeTableList(QcStaticTable qcStaticTable) { + startPage(); + List list = qcStaticTableService.selectQcStaticTableList(qcStaticTable); + return getDataTable(list); + } + @RequiresPermissions("quality:qcTableIncome:list") + @Log(title = "质量系统报", businessType = BusinessType.EXPORT) + @PostMapping("/exportIncomeTableList") + public void exportIncomeTableList(HttpServletResponse response, QcStaticTable qcStaticTable) { + List list = qcStaticTableService.selectQcStaticTableList(qcStaticTable); + ExcelUtil util = new ExcelUtil(QcStaticTable.class); + util.exportExcel(response, list, "质量系统报数据"); + } + /** + * 生产过程质量报表 + */ + @RequiresPermissions("quality:gcTableProduce:list") + @GetMapping("/getProduceTableList") + public TableDataInfo getProduceList(QcStaticTable qcStaticTable) { + startPage(); + List list = qcStaticTableService.selectQcStaticTableList(qcStaticTable); + return getDataTable(list); + } + @RequiresPermissions("quality:gcTableProduce:list") + @Log(title = "质量系统报", businessType = BusinessType.EXPORT) + @PostMapping("/exportTableList") + public void exportTableList(HttpServletResponse response, QcStaticTable qcStaticTable) { + List list = qcStaticTableService.selectQcStaticTableList(qcStaticTable); + ExcelUtil util = new ExcelUtil(QcStaticTable.class); + util.exportExcel(response, list, "质量系统报数据"); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java new file mode 100644 index 000000000..742f7b0b3 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java @@ -0,0 +1,123 @@ +package com.op.quality.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; + +/** + * 质量系统报对象 qc_static_table + * + * @author Open Platform + * @date 2023-11-08 + */ +public class QcStaticTable extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** ID */ + private String id; + + /** 文件名称 */ + @Excel(name = "文件名称") + private String fileName; + + /** 文件地址 */ + @Excel(name = "文件地址") + private String fileAddress; + + /** 版本号 */ + @Excel(name = "版本号") + private String version; + + /** 备用1 */ + @Excel(name = "备用1") + private String attr1; + + /** 备用2 */ + @Excel(name = "备用2") + private String attr2; + + /** 备用3 */ + @Excel(name = "备用3") + private String attr3; + + /** 备用4 */ + @Excel(name = "备用4") + private String attr4; + + public void setId(String id) { + this.id = id; + } + + public String getId() { + return id; + } + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileName() { + return fileName; + } + public void setFileAddress(String fileAddress) { + this.fileAddress = fileAddress; + } + + public String getFileAddress() { + return fileAddress; + } + public void setVersion(String version) { + this.version = version; + } + + public String getVersion() { + return version; + } + public void setAttr1(String attr1) { + this.attr1 = attr1; + } + + public String getAttr1() { + return attr1; + } + public void setAttr2(String attr2) { + this.attr2 = attr2; + } + + public String getAttr2() { + return attr2; + } + public void setAttr3(String attr3) { + this.attr3 = attr3; + } + + public String getAttr3() { + return attr3; + } + public void setAttr4(String attr4) { + this.attr4 = attr4; + } + + public String getAttr4() { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("fileName", getFileName()) + .append("fileAddress", getFileAddress()) + .append("version", getVersion()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java new file mode 100644 index 000000000..29c1483d6 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java @@ -0,0 +1,25 @@ +package com.op.quality.mapper; + +import java.util.List; + +import com.op.quality.domain.QcStaticTable; +import org.apache.ibatis.annotations.Mapper; + +/** + * 质量系统报Mapper接口 + * + * @author Open Platform + * @date 2023-11-08 + */ +@Mapper +public interface QcStaticTableMapper { + + /** + * 查询质量系统报列表 + * + * @param qcStaticTable 质量系统报 + * @return 质量系统报集合 + */ + public List selectQcStaticTableList(QcStaticTable qcStaticTable); + +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java new file mode 100644 index 000000000..964656039 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java @@ -0,0 +1,22 @@ +package com.op.quality.service; + +import java.util.List; +import com.op.quality.domain.QcStaticTable; + +/** + * 质量系统报Service接口 + * + * @author Open Platform + * @date 2023-11-08 + */ +public interface IQcStaticTableService { + + /** + * 查询质量系统报列表 + * + * @param qcStaticTable 质量系统报 + * @return 质量系统报集合 + */ + public List selectQcStaticTableList(QcStaticTable qcStaticTable); + +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java new file mode 100644 index 000000000..b9621b4d6 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java @@ -0,0 +1,36 @@ +package com.op.quality.service.impl; + +import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.op.quality.mapper.QcStaticTableMapper; +import com.op.quality.domain.QcStaticTable; +import com.op.quality.service.IQcStaticTableService; + +/** + * 质量系统报Service业务层处理 + * + * @author Open Platform + * @date 2023-11-08 + */ +@Service +public class QcStaticTableServiceImpl implements IQcStaticTableService { + @Autowired + private QcStaticTableMapper qcStaticTableMapper; + + /** + * 查询质量系统报列表 + * + * @param qcStaticTable 质量系统报 + * @return 质量系统报 + */ + @Override + @DS("#header.poolName") + public List selectQcStaticTableList(QcStaticTable qcStaticTable) { + return qcStaticTableMapper.selectQcStaticTableList(qcStaticTable); + } + +} diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml new file mode 100644 index 000000000..7d51383b8 --- /dev/null +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/op-modules/op-scada/push-scada.bat b/op-modules/op-scada/push-scada.bat new file mode 100644 index 000000000..416436861 --- /dev/null +++ b/op-modules/op-scada/push-scada.bat @@ -0,0 +1,41 @@ +@echo off +echo --------------------------------Զǰ޸-------------------------------------- +set jarName=op-modules-scada.jar +set profile=dev +set imageURI=192.168.202.36:30002/op-lanju/op-scada +rem echo ȡǰַ +for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c +rem echo ȡǰʱַ +for /f "tokens=1,2 delims=:." %%a in ("%time%") do @set T=%%a%%b +rem echo 統ǰСʱС10ո滻Ϊ0 +set T=%T: =0% +rem echo ʾʱַ +set imageVersion=%D%%T% +::Ϣ +echo jar:%jarName% +echo :%profile% +echo ַ:%imageURI% +echo 汾:%imageVersion% + +echo --------------------------------mvn package...-------------------------------- +::call mvn clean package -Dmaven.test.skip=true + +cd .\target +SET df=Dockerfile +if exist %df% ( + del /f /s /q .\Dockerfile +) +echo --------------------------------Dockerfile-------------------------------- +echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo RUN apk add --update font-adobe-100dpi ttf-dejavu fontconfig +echo COPY %jarName% /application.jar >> Dockerfile +echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile +echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile +dir +echo --------------------------------docker login...------------------------------- +docker login 192.168.202.36:30002 -u deploy -p Deploy@2023 +echo --------------------------------docker build...------------------------------- +docker build -t %imageURI%:%imageVersion% . +echo --------------------------------docker push...-------------------------------- +docker push %imageURI%:%imageVersion% +@pause \ No newline at end of file From 77742e3c2fab838dbadb8667a11e6f350f1a49f1 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 9 Nov 2023 09:26:08 +0800 Subject: [PATCH 16/32] =?UTF-8?q?scada=E6=9C=8D=E5=8A=A1=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/scada/config/DestinationManager.java | 74 +++++++++++++++++++ .../op/scada/config/DynamicDatasource.java | 51 +++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 op-modules/op-scada/src/main/java/com/op/scada/config/DestinationManager.java create mode 100644 op-modules/op-scada/src/main/java/com/op/scada/config/DynamicDatasource.java diff --git a/op-modules/op-scada/src/main/java/com/op/scada/config/DestinationManager.java b/op-modules/op-scada/src/main/java/com/op/scada/config/DestinationManager.java new file mode 100644 index 000000000..8f860aa36 --- /dev/null +++ b/op-modules/op-scada/src/main/java/com/op/scada/config/DestinationManager.java @@ -0,0 +1,74 @@ +package com.op.scada.config; + + +import com.sap.conn.jco.ext.DestinationDataProvider; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.io.File; +import java.io.FileOutputStream; +import java.util.Properties; + + +@Configuration +public class DestinationManager { + @Value("${sap.ashost}") + private String ashost; + + @Value("${sap.sysnr}") + private String sysnr; + + @Value("${sap.client}") + private String client; + + @Value("${sap.user}") + private String user; + + @Value("${sap.passwd}") + private String passwd; + + @Value("${sap.lang}") + private String lang; + + @Value("${sap.pool_capacity}") + private String pool_capacity; + + @Value("${sap.peak_limit}") + private String peak_limit; + + @Value("${sap.saprouter}") + private String saprouter; + + private static final String ABAP_AS_POOLED = "ABAP_AS_WITH_POOL"; + @Bean + public void CreateABAP(){ + + Properties connectProperties = new Properties(); + connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, ashost); + connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, sysnr); + connectProperties.setProperty(DestinationDataProvider.JCO_USER, user); + connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, passwd); + connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, client); + connectProperties.setProperty(DestinationDataProvider.JCO_LANG, lang); + connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT,peak_limit); + connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY,pool_capacity); + connectProperties.setProperty(DestinationDataProvider.JCO_SAPROUTER,saprouter); + createDataFile(ABAP_AS_POOLED,"jcoDestination",connectProperties); + } + private static void createDataFile(String name, String suffix, Properties properties) { + // TODO Auto-generated method stub + File cfg = new File(name + "." + suffix); + if (cfg.exists()) { + cfg.deleteOnExit(); + } + try { + FileOutputStream fos = new FileOutputStream(cfg,false); + properties.store(fos, "for test only!"); + } catch (Exception e) { + // TODO: handle exception +// System.out.println("Create Data file fault,error msg:" + e.toString()); + throw new RuntimeException("无法创建目标文件" + cfg.getName()); + } + } +} diff --git a/op-modules/op-scada/src/main/java/com/op/scada/config/DynamicDatasource.java b/op-modules/op-scada/src/main/java/com/op/scada/config/DynamicDatasource.java new file mode 100644 index 000000000..68c1e50fc --- /dev/null +++ b/op-modules/op-scada/src/main/java/com/op/scada/config/DynamicDatasource.java @@ -0,0 +1,51 @@ +package com.op.scada.config; + +import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty; +import com.op.common.core.domain.R; +import com.op.common.datasource.creator.DynamicDatasourceCreator; +import com.op.system.api.RemoteUserService; +import com.op.system.api.domain.SysUser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +/** + * 初始化动态数据源 + * + * @ClassName: DynamicDatasource + * @Description: TODO + * @author shichangzhou + * @date 2023年4月19日 下午1:01:30 + */ +@Component +public class DynamicDatasource { + + @Resource + private DynamicDatasourceCreator dynamicDatasourceCreator; + @Autowired + private RemoteUserService remoteUserService; + + @PostConstruct + public void init() { + // 加载sf-cloud库的sys_datasource + SysUser sysUser = new SysUser(); + sysUser.setUserId(1L); + R>> dateSources0 = remoteUserService.getPoolNameList(sysUser); + List> dateSources = dateSources0.getData(); + for (Map dateSource : dateSources) { + DataSourceProperty sdp = new DataSourceProperty(); + sdp.setUrl(dateSource.get("url")); + sdp.setUsername(dateSource.get("userName")); + sdp.setPassword(dateSource.get("password")); + sdp.setDriverClassName(dateSource.get("driveClassName")); + sdp.setPoolName(dateSource.get("poolName"));// 这是数据源的key + sdp.setLazy(false); + dynamicDatasourceCreator.createDynamicDataSource(sdp); + } + + } +} From 9b58911bfa38850e98c74f54b92be754432758c9 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 9 Nov 2023 09:29:03 +0800 Subject: [PATCH 17/32] =?UTF-8?q?scada=E6=9C=8D=E5=8A=A1=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/scada/config/DestinationManager.java | 74 ------------------- 1 file changed, 74 deletions(-) delete mode 100644 op-modules/op-scada/src/main/java/com/op/scada/config/DestinationManager.java diff --git a/op-modules/op-scada/src/main/java/com/op/scada/config/DestinationManager.java b/op-modules/op-scada/src/main/java/com/op/scada/config/DestinationManager.java deleted file mode 100644 index 8f860aa36..000000000 --- a/op-modules/op-scada/src/main/java/com/op/scada/config/DestinationManager.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.op.scada.config; - - -import com.sap.conn.jco.ext.DestinationDataProvider; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.io.File; -import java.io.FileOutputStream; -import java.util.Properties; - - -@Configuration -public class DestinationManager { - @Value("${sap.ashost}") - private String ashost; - - @Value("${sap.sysnr}") - private String sysnr; - - @Value("${sap.client}") - private String client; - - @Value("${sap.user}") - private String user; - - @Value("${sap.passwd}") - private String passwd; - - @Value("${sap.lang}") - private String lang; - - @Value("${sap.pool_capacity}") - private String pool_capacity; - - @Value("${sap.peak_limit}") - private String peak_limit; - - @Value("${sap.saprouter}") - private String saprouter; - - private static final String ABAP_AS_POOLED = "ABAP_AS_WITH_POOL"; - @Bean - public void CreateABAP(){ - - Properties connectProperties = new Properties(); - connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, ashost); - connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, sysnr); - connectProperties.setProperty(DestinationDataProvider.JCO_USER, user); - connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, passwd); - connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, client); - connectProperties.setProperty(DestinationDataProvider.JCO_LANG, lang); - connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT,peak_limit); - connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY,pool_capacity); - connectProperties.setProperty(DestinationDataProvider.JCO_SAPROUTER,saprouter); - createDataFile(ABAP_AS_POOLED,"jcoDestination",connectProperties); - } - private static void createDataFile(String name, String suffix, Properties properties) { - // TODO Auto-generated method stub - File cfg = new File(name + "." + suffix); - if (cfg.exists()) { - cfg.deleteOnExit(); - } - try { - FileOutputStream fos = new FileOutputStream(cfg,false); - properties.store(fos, "for test only!"); - } catch (Exception e) { - // TODO: handle exception -// System.out.println("Create Data file fault,error msg:" + e.toString()); - throw new RuntimeException("无法创建目标文件" + cfg.getName()); - } - } -} From 59a3fcd4edd1cd697ed6d6f0ee2b09377909c7a1 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 9 Nov 2023 10:28:43 +0800 Subject: [PATCH 18/32] =?UTF-8?q?=E6=8D=A2jdk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- op-modules/op-technology/push-technology.bat | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/op-modules/op-technology/push-technology.bat b/op-modules/op-technology/push-technology.bat index 5ba367d85..24eff561d 100644 --- a/op-modules/op-technology/push-technology.bat +++ b/op-modules/op-technology/push-technology.bat @@ -26,7 +26,8 @@ if exist %df% ( del /f /s /q .\Dockerfile ) echo --------------------------------Dockerfile-------------------------------- -echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile echo COPY %jarName% /application.jar >> Dockerfile echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile From 2aa1ad4f2e8e1d627b776c4f55543afb694f23ca Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 9 Nov 2023 11:35:59 +0800 Subject: [PATCH 19/32] =?UTF-8?q?bat=E6=8D=A2jdk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- op-auth/push-auth.bat | 3 +- op-gateway/push-gate.bat | 3 +- op-modules/op-device/push-device.bat | 3 +- op-modules/op-job/push-job.bat | 41 +++++++++++++++++++ op-modules/op-mes/push-mes.bat | 3 +- op-modules/op-plan/push-plan.bat | 3 +- .../service/impl/ProOrderServiceImpl.java | 13 ++++-- op-modules/op-quality/push-quality.bat | 3 +- op-modules/op-scada/push-scada.bat | 3 +- op-modules/op-system/push-system.bat | 41 +++++++++++++++++++ op-modules/op-wms/push-wms.bat | 3 +- 11 files changed, 108 insertions(+), 11 deletions(-) create mode 100644 op-modules/op-job/push-job.bat create mode 100644 op-modules/op-system/push-system.bat diff --git a/op-auth/push-auth.bat b/op-auth/push-auth.bat index 9ff3fa506..0795d2657 100644 --- a/op-auth/push-auth.bat +++ b/op-auth/push-auth.bat @@ -26,7 +26,8 @@ if exist %df% ( del /f /s /q .\Dockerfile ) echo --------------------------------Dockerfile-------------------------------- -echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile echo COPY %jarName% /application.jar >> Dockerfile echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile diff --git a/op-gateway/push-gate.bat b/op-gateway/push-gate.bat index f7efe0d69..82f33186e 100644 --- a/op-gateway/push-gate.bat +++ b/op-gateway/push-gate.bat @@ -26,7 +26,8 @@ if exist %df% ( del /f /s /q .\Dockerfile ) echo --------------------------------Dockerfile-------------------------------- -echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile echo COPY %jarName% /application.jar >> Dockerfile echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile diff --git a/op-modules/op-device/push-device.bat b/op-modules/op-device/push-device.bat index 20d4d5b76..e96795b15 100644 --- a/op-modules/op-device/push-device.bat +++ b/op-modules/op-device/push-device.bat @@ -26,7 +26,8 @@ if exist %df% ( del /f /s /q .\Dockerfile ) echo --------------------------------Dockerfile-------------------------------- -echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile echo COPY %jarName% /application.jar >> Dockerfile echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile diff --git a/op-modules/op-job/push-job.bat b/op-modules/op-job/push-job.bat new file mode 100644 index 000000000..8d786148c --- /dev/null +++ b/op-modules/op-job/push-job.bat @@ -0,0 +1,41 @@ +@echo off +echo --------------------------------Զǰ޸-------------------------------------- +set jarName=op-modules-job.jar +set profile=dev +set imageURI=192.168.202.36:30002/op-lanju/op-job +rem echo ȡǰַ +for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c +rem echo ȡǰʱַ +for /f "tokens=1,2 delims=:." %%a in ("%time%") do @set T=%%a%%b +rem echo 統ǰСʱС10ո滻Ϊ0 +set T=%T: =0% +rem echo ʾʱַ +set imageVersion=%D%%T% +::Ϣ +echo jar:%jarName% +echo :%profile% +echo ַ:%imageURI% +echo 汾:%imageVersion% + +echo --------------------------------mvn package...-------------------------------- +::call mvn clean package -Dmaven.test.skip=true + +cd .\target +SET df=Dockerfile +if exist %df% ( + del /f /s /q .\Dockerfile +) +echo --------------------------------Dockerfile-------------------------------- +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile +echo COPY %jarName% /application.jar >> Dockerfile +echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile +echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile +dir +echo --------------------------------docker login...------------------------------- +docker login 192.168.202.36:30002 -u deploy -p Deploy@2023 +echo --------------------------------docker build...------------------------------- +docker build -t %imageURI%:%imageVersion% . +echo --------------------------------docker push...-------------------------------- +docker push %imageURI%:%imageVersion% +@pause \ No newline at end of file diff --git a/op-modules/op-mes/push-mes.bat b/op-modules/op-mes/push-mes.bat index e95aae000..9fe496e12 100644 --- a/op-modules/op-mes/push-mes.bat +++ b/op-modules/op-mes/push-mes.bat @@ -26,7 +26,8 @@ if exist %df% ( del /f /s /q .\Dockerfile ) echo --------------------------------Dockerfile-------------------------------- -echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile echo RUN apk add --update font-adobe-100dpi ttf-dejavu fontconfig echo COPY %jarName% /application.jar >> Dockerfile echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile diff --git a/op-modules/op-plan/push-plan.bat b/op-modules/op-plan/push-plan.bat index 645c29218..8fb7d0cf6 100644 --- a/op-modules/op-plan/push-plan.bat +++ b/op-modules/op-plan/push-plan.bat @@ -26,7 +26,8 @@ if exist %df% ( del /f /s /q .\Dockerfile ) echo --------------------------------Dockerfile-------------------------------- -echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile echo RUN apk add --update font-adobe-100dpi ttf-dejavu fontconfig echo COPY %jarName% /application.jar >> Dockerfile echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java index e4ad84173..ab3704ed7 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java @@ -448,8 +448,14 @@ public class ProOrderServiceImpl implements IProOrderService { public String syncImportFunc(List newOrders){ String failOrder = ""; for (ProOrder proOrder:newOrders) { - proOrder.setProdType("white");//只有白坯有导入 - failOrder += syncFunc(proOrder)+","; + //prodType->@Excel(name = "产品类型", readConverterExp = "white=白坯,prod=成品") + proOrder.setCreateBy(SecurityUtils.getUsername()); + proOrder.setSyncUser("import"); + proOrder.setPlanFactoryCode(proOrder.getFactoryCode()); + String msg = syncFunc(proOrder); + if(StringUtils.isNotBlank(msg)){ + failOrder += msg+","; + } } return failOrder; } @@ -987,7 +993,7 @@ public class ProOrderServiceImpl implements IProOrderService { // 循环遍历校验数据是否为空 for (ProOrder proOrder : orderList) { // 计划工厂 - if (proOrder.getPlanFactoryCode().isEmpty() || proOrder.getPlanFactoryCode() == null) { + if (proOrder.getFactoryCode().isEmpty() || proOrder.getFactoryCode() == null) { return error(500, "计划工厂信息不能为空!信息导入失败!"); } // 订单号 @@ -1026,6 +1032,7 @@ public class ProOrderServiceImpl implements IProOrderService { if (proOrder.getPlanComplete() == null || StringUtils.isNull(proOrder.getPlanComplete())) { return error(500, "计划完成日期不能为空!信息导入失败!"); } + } return success(); } diff --git a/op-modules/op-quality/push-quality.bat b/op-modules/op-quality/push-quality.bat index e53c0253a..d690a5411 100644 --- a/op-modules/op-quality/push-quality.bat +++ b/op-modules/op-quality/push-quality.bat @@ -26,7 +26,8 @@ if exist %df% ( del /f /s /q .\Dockerfile ) echo --------------------------------Dockerfile-------------------------------- -echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile echo COPY %jarName% /application.jar >> Dockerfile echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile diff --git a/op-modules/op-scada/push-scada.bat b/op-modules/op-scada/push-scada.bat index 416436861..f0e9c1336 100644 --- a/op-modules/op-scada/push-scada.bat +++ b/op-modules/op-scada/push-scada.bat @@ -26,7 +26,8 @@ if exist %df% ( del /f /s /q .\Dockerfile ) echo --------------------------------Dockerfile-------------------------------- -echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile echo RUN apk add --update font-adobe-100dpi ttf-dejavu fontconfig echo COPY %jarName% /application.jar >> Dockerfile echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile diff --git a/op-modules/op-system/push-system.bat b/op-modules/op-system/push-system.bat new file mode 100644 index 000000000..9f041629f --- /dev/null +++ b/op-modules/op-system/push-system.bat @@ -0,0 +1,41 @@ +@echo off +echo --------------------------------Զǰ޸-------------------------------------- +set jarName=op-modules-system.jar +set profile=dev +set imageURI=192.168.202.36:30002/op-lanju/op-system +rem echo ȡǰַ +for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c +rem echo ȡǰʱַ +for /f "tokens=1,2 delims=:." %%a in ("%time%") do @set T=%%a%%b +rem echo 統ǰСʱС10ո滻Ϊ0 +set T=%T: =0% +rem echo ʾʱַ +set imageVersion=%D%%T% +::Ϣ +echo jar:%jarName% +echo :%profile% +echo ַ:%imageURI% +echo 汾:%imageVersion% + +echo --------------------------------mvn package...-------------------------------- +::call mvn clean package -Dmaven.test.skip=true + +cd .\target +SET df=Dockerfile +if exist %df% ( + del /f /s /q .\Dockerfile +) +echo --------------------------------Dockerfile-------------------------------- +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile +echo COPY %jarName% /application.jar >> Dockerfile +echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile +echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile +dir +echo --------------------------------docker login...------------------------------- +docker login 192.168.202.36:30002 -u deploy -p Deploy@2023 +echo --------------------------------docker build...------------------------------- +docker build -t %imageURI%:%imageVersion% . +echo --------------------------------docker push...-------------------------------- +docker push %imageURI%:%imageVersion% +@pause \ No newline at end of file diff --git a/op-modules/op-wms/push-wms.bat b/op-modules/op-wms/push-wms.bat index 080ce1b82..8e87e6d48 100644 --- a/op-modules/op-wms/push-wms.bat +++ b/op-modules/op-wms/push-wms.bat @@ -26,7 +26,8 @@ if exist %df% ( del /f /s /q .\Dockerfile ) echo --------------------------------Dockerfile-------------------------------- -echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile echo COPY %jarName% /application.jar >> Dockerfile echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile From a3199b61c1a74119220a3f2b9cabb14aea324b76 Mon Sep 17 00:00:00 2001 From: A0010407 Date: Thu, 9 Nov 2023 15:10:03 +0800 Subject: [PATCH 20/32] =?UTF-8?q?=E6=89=8B=E6=8C=81=E6=8A=A5=E4=BF=AE?= =?UTF-8?q?=E7=BB=B4=E4=BF=AE=20=E5=90=8E=E7=AB=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DevicePDAController.java | 27 +++++- .../java/com/op/device/domain/EquOrder.java | 12 ++- .../op/device/domain/EquOrderStandard.java | 11 +++ .../op/device/domain/EquRepairWorkOrder.java | 19 ++++- .../op/device/mapper/EquEquipmentMapper.java | 2 +- .../device/mapper/EquOrderStandardMapper.java | 8 ++ .../op/device/service/IDevicePDAService.java | 18 +++- .../service/impl/DevicePDAServiceImpl.java | 85 +++++++++++++++++++ .../impl/EquRepairOrderServiceImpl.java | 5 ++ .../mapper/device/EquOrderMapper.xml | 8 +- .../mapper/device/EquOrderStandardMapper.xml | 25 ++++++ .../mapper/device/EquSpareApplyMapper.xml | 6 +- 12 files changed, 214 insertions(+), 12 deletions(-) diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java index 76a8b0166..4223d5c63 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java @@ -102,8 +102,27 @@ public class DevicePDAController { /** * 获取设备管理详细信息 */ -// @GetMapping(value = "/{equipmentId}") -// public AjaxResult queryEquipment(@PathVariable("equipmentId") Long equipmentId) { -// return devicePDAService.selectBaseEquipmentByEquipmentId(equipmentId); -// } + @GetMapping(value = "/queryEquipment/{equipmentId}") + public AjaxResult queryEquipment(@PathVariable("equipmentId") Long equipmentId) { + return devicePDAService.selectEquEquipmentByEquEquipmentId(equipmentId); + } + + /** + * 获取维修详情 + */ + @GetMapping(value = "/selectPdaRepairWorkOrderDetails/{workId}") + public AjaxResult selectPdaRepairWorkOrderDetails(@PathVariable("workId") String workId) { + return devicePDAService.selectPdaRepairWorkOrderDetails(workId); + } + + /** + * 填写维修记录 + * @param equRepairWorkOrder + * @return + */ + @PutMapping("/updateMaintenanceRecords") + public AjaxResult updateMaintenanceRecords(@RequestBody EquRepairWorkOrder equRepairWorkOrder) { + return devicePDAService.updateMaintenanceRecords(equRepairWorkOrder); + } + } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java index f56175d85..4bd9de6d1 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java @@ -142,16 +142,26 @@ public class EquOrder extends BaseEntity { private String orderInspect; + //报修单号 private String repairCode; + //维修单号 + private String workCode; + public String getRepairCode() { return repairCode; } - public void setRepairCode(String repairCode) { this.repairCode = repairCode; } + public String getWorkCode() { + return workCode; + } + public void setWorkCode(String workCode) { + this.workCode = workCode; + } + public String getOrderInspect() { return orderInspect; } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java index 1a64a8ce3..1071d4dea 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java @@ -96,6 +96,9 @@ public class EquOrderStandard extends BaseEntity { private String repairPicture; + //检查项检查方法 + private String itemMethod; + public String getRepairPicture() { return repairPicture; } @@ -272,6 +275,14 @@ public class EquOrderStandard extends BaseEntity { return delFlag; } + //检查项检查方法 + public void setItemMethod(String itemMethod) { + this.itemMethod = itemMethod; + } + public String getItemMethod() { + return itemMethod; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java index 5f72c08a0..f5c53c28e 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java @@ -209,7 +209,10 @@ public class EquRepairWorkOrder extends BaseEntity { //手持 //用户id private String userId; - + //检查项列表 + private List checkList; + //申领单列表 + private List applyList; //报修 public void setOrderDesc(String orderDesc) { @@ -575,6 +578,20 @@ public class EquRepairWorkOrder extends BaseEntity { return userId; } + public List getCheckList() { + return checkList; + } + public void setCheckList(List checkList) { + this.checkList = checkList; + } + + public List getApplyList() { + return applyList; + } + public void setApplyList(List applyList) { + this.applyList = applyList; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquEquipmentMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquEquipmentMapper.java index 4e826420f..9165576eb 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquEquipmentMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquEquipmentMapper.java @@ -18,7 +18,7 @@ public interface EquEquipmentMapper { * @param equipmentId 设备管理主键 * @return 设备管理 */ - public EquEquipment selectEquEquipmentByEquipmentId(Long equipmentId); + public EquEquipment selectEquEquipmentByEquEquipmentId(Long equipmentId); /** * 查询设备管理列表 diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderStandardMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderStandardMapper.java index f2ae00591..b1ef62a5e 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderStandardMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderStandardMapper.java @@ -3,6 +3,7 @@ package com.op.device.mapper; import java.util.List; import com.op.common.core.domain.BaseFileData; +import com.op.device.domain.EquOrder; import com.op.device.domain.EquOrderStandard; /** @@ -72,4 +73,11 @@ public interface EquOrderStandardMapper { * @param files */ void insertBaseFileBatch(List files); + + /** + * 手持维修工单关联检查项信息 + * @param equOrder + * @return + */ + public List selectPdaEquOrderList(EquOrder equOrder); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java b/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java index 40c9efcf0..b55238adc 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java @@ -70,9 +70,23 @@ public interface IDevicePDAService { public AjaxResult updateDowntime(EquRepairWorkOrder equRepairWorkOrder); /** - * 手持是否停机 + * 查询设备详细信息 + * @param equipmentId + * @return + */ + public AjaxResult selectEquEquipmentByEquEquipmentId(Long equipmentId); + + /** + * 查询维修工单 + * @param workId + * @return + */ + public AjaxResult selectPdaRepairWorkOrderDetails(String workId); + + /** + * 填写维修工单 * @param equRepairWorkOrder * @return */ -// AjaxResult selectBaseEquipmentByEquipmentId(Long equipmentId); + public AjaxResult updateMaintenanceRecords(EquRepairWorkOrder equRepairWorkOrder); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java index 9bce7eefa..d8fa5f0ec 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java @@ -14,6 +14,7 @@ import com.op.device.service.IDevicePDAService; import com.op.system.api.domain.SysUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -56,6 +57,10 @@ public class DevicePDAServiceImpl implements IDevicePDAService { private EquRepairWorkOrderMapper equRepairWorkOrderMapper; @Autowired private EquTeamMapper equTeamMapper; + @Autowired + private EquEquipmentMapper equEquipmentMapper; + @Autowired + private EquSpareApplyMapper equSpareApplyMapper; /** @@ -325,4 +330,84 @@ public class DevicePDAServiceImpl implements IDevicePDAService { return error(); } } + + /** + * 手持提交是否停机维修 停机维修的开始时间 + * + * @param equipmentId + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult selectEquEquipmentByEquEquipmentId(Long equipmentId) { + try { + EquEquipment list = equEquipmentMapper.selectEquEquipmentByEquEquipmentId(equipmentId); + return success(list); + } catch (Exception e) { + return error(); + } + } + + /** + * 查询维修工单详情 + * + * @param workId 维修工单主键 + * @return 维修工单 + */ + @Override + @DS("#header.poolName") + public AjaxResult selectPdaRepairWorkOrderDetails(String workId) { + try { + EquRepairWorkOrder list = equRepairWorkOrderMapper.selectEquRepairWorkOrderByWorkId(workId); + //查询对应检查项信息 + EquOrder equOrder = new EquOrder(); + equOrder.setWorkCode(list.getWorkCode()); + List checkLists = equOrderStandardMapper.selectPdaEquOrderList(equOrder); + list.setCheckList(checkLists); + //备件申领单 + EquRepairWorkOrder equRepairWorkOrder = new EquRepairWorkOrder(); + equRepairWorkOrder.setWorkCode(list.getWorkCode()); + List applyLists = equSpareApplyMapper.selectRepairSparePartsRecord(equRepairWorkOrder); + list.setApplyList(applyLists); + return success(list); + } catch (Exception e) { + return error(); + } + } + + /** + * 填写维修工单 + * + * @param equRepairWorkOrder + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult updateMaintenanceRecords(EquRepairWorkOrder equRepairWorkOrder) { + try { + //更新每一项点检/巡检检查项信息 + List equOrderStandards = equRepairWorkOrder.getCheckList(); + for(EquOrderStandard equOrderStandard:equOrderStandards){ + equOrderStandard.setUpdateBy(SecurityUtils.getUsername()); + equOrderStandard.setUpdateTime(DateUtils.getNowDate()); + equOrderStandardMapper.updateEquOrderStandard(equOrderStandard); + } + //新建申领单 缺少code + List equSpareApplies = equRepairWorkOrder.getApplyList(); + for(EquSpareApply equSpareApply:equSpareApplies){ + equSpareApply.setApplyId(IdUtils.fastSimpleUUID()); + equSpareApply.setCreateBy(SecurityUtils.getUsername()); + equSpareApply.setCreateTime(DateUtils.getNowDate()); + equSpareApply.setApplyTime(DateUtils.getNowDate()); + equSpareApplyMapper.insertEquSpareApply(equSpareApply); + } + //维修人员名字????前端能够提供吗??? + equRepairWorkOrder.setUpdateBy(SecurityUtils.getUsername()); + equRepairWorkOrder.setUpdateTime(DateUtils.getNowDate()); + equRepairWorkOrderMapper.updateEquRepairWorkOrder(equRepairWorkOrder); + return success("提交成功,维修完成!"); + } catch (Exception e) { + return error(); + } + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairOrderServiceImpl.java index f741d8a74..ba5e35e42 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairOrderServiceImpl.java @@ -138,6 +138,8 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService { //不委外 equRepairWorkOrder.setWorkOutsource("0"); equRepairWorkOrder.setOutWorkCode("无"); + //是否立即维修 1是 0 否 + equRepairWorkOrder.setWorkHandle("0"); //计划维修时间 equRepairWorkOrder.setWorkPlanTime(equRepairOrder.getWorkPlanTime()); //是否停机维修 停机维修时间 @@ -183,6 +185,9 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService { equRepairOrder.setOrderStatus("审核通过"); }else if(equRepairOrder.getRepairDestination().equals("立即维修")){ //立即维修 + //是否立即维修 1是 0 否 + EquRepairWorkOrder equRepairWorkOrder = new EquRepairWorkOrder(); + equRepairWorkOrder.setWorkHandle("0"); equRepairOrder.setOrderStatus("审核通过"); } equRepairOrder.setUpdateTime(DateUtils.getNowDate()); diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml index e9b0ebe5e..aa425b224 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml @@ -38,10 +38,11 @@ + - select order_id, plan_id, plan_code, plan_type, order_code, plan_workshop, plan_prod_line, plan_loop, plan_loop_type, plan_loop_start, plan_loop_end, order_start, order_end, equipment_code, order_status, order_cost, plan_person, order_cost_time, order_sign_person, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,upkeep,calculation_rule,shut_down,order_inspect,repair_code from equ_order + select order_id, plan_id, plan_code, plan_type, order_code, plan_workshop, plan_prod_line, plan_loop, plan_loop_type, plan_loop_start, plan_loop_end, order_start, order_end, equipment_code, order_status, order_cost, plan_person, order_cost_time, order_sign_person, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,upkeep,calculation_rule,shut_down,order_inspect,repair_code,work_code from equ_order @@ -161,6 +163,8 @@ shut_down, order_inspect, repair_code, + repair_code, + work_code, #{orderId}, @@ -196,6 +200,7 @@ #{shutDown}, #{orderInspect}, #{repairCode}, + #{workCode}, @@ -234,6 +239,7 @@ shut_down = #{shutDown}, order_inspect = #{orderInspect}, repair_code = #{repairCode}, + work_code = #{workCode}, where order_id = #{orderId} diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml index 8ef092950..0393de79e 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml @@ -32,6 +32,9 @@ + + + @@ -196,4 +199,26 @@ #{id} + + + \ No newline at end of file diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquSpareApplyMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquSpareApplyMapper.xml index 6a4a162b5..78e454e3d 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquSpareApplyMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquSpareApplyMapper.xml @@ -169,8 +169,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" From 15581ac8a3abd51dd1d0d4187d46e5df175f99fb Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 9 Nov 2023 16:44:23 +0800 Subject: [PATCH 21/32] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=EF=BC=8C=E5=8E=BB=E6=8E=89scada=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/domain/mes/MesReportWorkDTO.java | 609 ++++++++++++++++++ .../controller/WCSInterfaceController.java | 5 + .../mapper/mes/MesReportWorkMapper.xml | 2 +- op-modules/{op-scada => op-open}/pom.xml | 4 +- .../push-scada.bat => op-open/push-open.bat} | 5 +- .../java/com/op/open/OpenApplication.java} | 10 +- .../op/open}/config/DynamicDatasource.java | 2 +- .../op/open/controller/OpenController.java | 63 ++ .../java/com/op/open/mapper/OpenMapper.java | 42 ++ .../java/com/op/open/service/OpenService.java | 18 + .../open/service/impl/OpenServiceImpl.java} | 111 +++- .../src/main/resources/banner.txt | 0 .../src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/logback.xml | 0 .../main/resources/mapper/open/OpenMapper.xml | 112 ++++ .../java/com/op/scada/mapper/ScadaMapper.java | 27 - .../com/op/scada/service/ScadaService.java | 18 - .../resources/mapper/scada/ScadaMapper.xml | 49 -- .../security}/controller/ScadaController.java | 8 +- op-modules/pom.xml | 2 +- 20 files changed, 963 insertions(+), 128 deletions(-) create mode 100644 op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/MesReportWorkDTO.java rename op-modules/{op-scada => op-open}/pom.xml (97%) rename op-modules/{op-scada/push-scada.bat => op-open/push-open.bat} (91%) rename op-modules/{op-scada/src/main/java/com/op/scada/ScadaApplication.java => op-open/src/main/java/com/op/open/OpenApplication.java} (84%) rename op-modules/{op-scada/src/main/java/com/op/scada => op-open/src/main/java/com/op/open}/config/DynamicDatasource.java (98%) create mode 100644 op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java create mode 100644 op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java create mode 100644 op-modules/op-open/src/main/java/com/op/open/service/OpenService.java rename op-modules/{op-scada/src/main/java/com/op/scada/service/impl/ScadaServiceImpl.java => op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java} (54%) rename op-modules/{op-scada => op-open}/src/main/resources/banner.txt (100%) rename op-modules/{op-scada => op-open}/src/main/resources/bootstrap.yml (95%) rename op-modules/{op-scada => op-open}/src/main/resources/logback.xml (100%) create mode 100644 op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml delete mode 100644 op-modules/op-scada/src/main/java/com/op/scada/mapper/ScadaMapper.java delete mode 100644 op-modules/op-scada/src/main/java/com/op/scada/service/ScadaService.java delete mode 100644 op-modules/op-scada/src/main/resources/mapper/scada/ScadaMapper.xml rename op-modules/{op-scada/src/main/java/com/op/scada => op-security/src/main/java/com/op/security}/controller/ScadaController.java (87%) diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/MesReportWorkDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/MesReportWorkDTO.java new file mode 100644 index 000000000..af864d580 --- /dev/null +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/MesReportWorkDTO.java @@ -0,0 +1,609 @@ +package com.op.system.api.domain.mes; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 报工报表对象 mes_report_work + * + * @author Open Platform + * @date 2023-08-24 + */ +public class MesReportWorkDTO extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 记录id */ + private String id; + + /** 报工单编号 */ + @Excel(name = "报工单编号") + private String reportCode; + + /** 报工类型,报工类型:SELF自行报工、UNI统一报工 */ + @Excel(name = "报工类型,报工类型:SELF上位机报工、UNI系统报工") + private String reportType; + + /** 生产工单编码 */ + @Excel(name = "生产工单编码") + private String workorderCode; + + /** 产品编码 */ + @Excel(name = "产品编码") + private String productCode; + + /** 产品名称 */ + @Excel(name = "产品名称") + private String productName; + + /** 规格型号 */ + @Excel(name = "规格型号") + private String spec; + + /** 单位 */ + @Excel(name = "单位") + private String unit; + + /** 排产数量 */ + @Excel(name = "排产数量") + private BigDecimal quantity; + + /** 本次报工数量 */ + @Excel(name = "本次报工数量") + private BigDecimal quantityFeedback; + + /** 合格数量 */ + //@Excel(name = "合格数量") + private BigDecimal quantityQualified; + + /** 不合格数量 */ + //@Excel(name = "不合格数量") + private BigDecimal quantityUnqualified; + + /** 报工人员 */ + @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; + + /** 录入人员 */ + @Excel(name = "录入人员") + private String recordUser; + + /** 状态 */ + @Excel(name = "状态") + private String status; + + /** 工时 */ + @Excel(name = "工时") + private Long workTime; + + /** 线体编码 */ + @Excel(name = "线体编码") + private String machineCode; + + /** 线体名称 */ + @Excel(name = "线体名称") + private String machineName; + + /** 班组编码 */ + @Excel(name = "班组编码") + private String teamCode; + + /** 班次编码 */ + @Excel(name = "班次编码") + private String shiftCode; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "SAP报工时间") + private Date uploadTime; + @Excel(name = "SAP报工状态0待报工1成功2失败") + private String uploadStatus; + @Excel(name = "SAP报工信息") + private String uploadMsg; + /** 预留字段1 */ + //@Excel(name = "预留字段1") + private String attr1; + + /** 预留字段2 */ + //@Excel(name = "预留字段2") + private String attr2; + + /** 预留字段3 */ + //@Excel(name = "预留字段3") + private String attr3; + + /** 预留字段4 */ + //@Excel(name = "预留字段4") + private String attr4; + @Excel(name = "计划生产日期") + private String productDate; + private String productDateStart; + private String productDateEnd; + @Excel(name = "订单编号") + private String orderCode; + @Excel(name = "规格型号") + private String productSpc; + @Excel(name = "工序名称") + private String processName; + @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; + private String sac3; + private String sac4; + private String sac5; + private String sac6; + private String prodType; + private String createTimeStart; + private String createTimeEnd; + private String feedbackTimeStart; + private String feedbackTimeEnd; + + public String getFeedbackTimeStart() { + return feedbackTimeStart; + } + + public void setFeedbackTimeStart(String feedbackTimeStart) { + this.feedbackTimeStart = feedbackTimeStart; + } + + public String getFeedbackTimeEnd() { + return feedbackTimeEnd; + } + + public void setFeedbackTimeEnd(String feedbackTimeEnd) { + this.feedbackTimeEnd = feedbackTimeEnd; + } + + public String getCreateTimeStart() { + return createTimeStart; + } + + public void setCreateTimeStart(String createTimeStart) { + this.createTimeStart = createTimeStart; + } + + public String getCreateTimeEnd() { + return createTimeEnd; + } + + public void setCreateTimeEnd(String createTimeEnd) { + this.createTimeEnd = createTimeEnd; + } + + public String getProdType() { + return prodType; + } + + public void setProdType(String prodType) { + this.prodType = prodType; + } + + public String getWorkorderCodeSap() { + return workorderCodeSap; + } + + public void setWorkorderCodeSap(String workorderCodeSap) { + this.workorderCodeSap = workorderCodeSap; + } + + public String getRouteCode() { + return routeCode; + } + + public void setRouteCode(String routeCode) { + this.routeCode = routeCode; + } + + public String getSac1() { + return sac1; + } + + public void setSac1(String sac1) { + this.sac1 = sac1; + } + + public String getSac2() { + return sac2; + } + + public void setSac2(String sac2) { + this.sac2 = sac2; + } + + public String getSac3() { + return sac3; + } + + public void setSac3(String sac3) { + this.sac3 = sac3; + } + + public String getSac4() { + return sac4; + } + + public void setSac4(String sac4) { + this.sac4 = sac4; + } + + public String getSac5() { + return sac5; + } + + public void setSac5(String sac5) { + this.sac5 = sac5; + } + + public String getSac6() { + return sac6; + } + + public void setSac6(String sac6) { + this.sac6 = sac6; + } + + public Date getUploadTime() { + return uploadTime; + } + + public void setUploadTime(Date uploadTime) { + this.uploadTime = uploadTime; + } + + public String getUploadStatus() { + return uploadStatus; + } + + public void setUploadStatus(String uploadStatus) { + this.uploadStatus = uploadStatus; + } + + public String getUploadMsg() { + return uploadMsg; + } + + public void setUploadMsg(String uploadMsg) { + this.uploadMsg = uploadMsg; + } + + public String getFactoryCode() { + return factoryCode; + } + + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getCarCode() { + return carCode; + } + + public void setCarCode(String carCode) { + this.carCode = carCode; + } + + public String getCarName() { + return carName; + } + + public void setCarName(String carName) { + this.carName = carName; + } + + public String getProcessCode() { + return processCode; + } + + public void setProcessCode(String processCode) { + this.processCode = processCode; + } + + public String getProductDateStart() { + return productDateStart; + } + + public void setProductDateStart(String productDateStart) { + this.productDateStart = productDateStart; + } + + public String getProductDateEnd() { + return productDateEnd; + } + + public void setProductDateEnd(String productDateEnd) { + this.productDateEnd = productDateEnd; + } + + public void setId(String id) { + this.id = id; + } + + public String getId() { + return id; + } + + public void setReportType(String reportType) { + this.reportType = reportType; + } + public String getReportType() { + return reportType; + } + + public void setReportCode(String reportCode) { + this.reportCode = reportCode; + } + public String getReportCode() { + return reportCode; + } + + public void setWorkorderCode(String workorderCode) { + this.workorderCode = workorderCode; + } + + public String getWorkorderCode() { + return workorderCode; + } + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductCode() { + return productCode; + } + public void setProductName(String productName) { + this.productName = productName; + } + + public String getProductName() { + return productName; + } + public void setSpec(String spec) { + this.spec = spec; + } + + public String getSpec() { + return spec; + } + public void setUnit(String unit) { + this.unit = unit; + } + + public String getUnit() { + return unit; + } + public void setQuantity(BigDecimal quantity) { + this.quantity = quantity; + } + + public BigDecimal getQuantity() { + return quantity; + } + public void setQuantityFeedback(BigDecimal quantityFeedback) { + this.quantityFeedback = quantityFeedback; + } + + public BigDecimal getQuantityFeedback() { + return quantityFeedback; + } + public void setQuantityQualified(BigDecimal quantityQualified) { + this.quantityQualified = quantityQualified; + } + + public BigDecimal getQuantityQualified() { + return quantityQualified; + } + public void setQuantityUnqualified(BigDecimal quantityUnqualified) { + this.quantityUnqualified = quantityUnqualified; + } + + public BigDecimal getQuantityUnqualified() { + return quantityUnqualified; + } + public void setUserName(String userName) { + this.userName = userName; + } + + public String getUserName() { + return userName; + } + public void setNickName(String nickName) { + this.nickName = nickName; + } + + public String getNickName() { + return nickName; + } + public void setFeedbackChannel(String feedbackChannel) { + this.feedbackChannel = feedbackChannel; + } + + public String getFeedbackChannel() { + return feedbackChannel; + } + public void setFeedbackTime(Date feedbackTime) { + this.feedbackTime = feedbackTime; + } + + public Date getFeedbackTime() { + return feedbackTime; + } + public void setRecordUser(String recordUser) { + this.recordUser = recordUser; + } + + public String getRecordUser() { + return recordUser; + } + public void setStatus(String status) { + this.status = status; + } + + public String getStatus() { + return status; + } + public void setWorkTime(Long workTime) { + this.workTime = workTime; + } + + public Long getWorkTime() { + return workTime; + } + public void setMachineCode(String machineCode) { + this.machineCode = machineCode; + } + + public String getMachineCode() { + return machineCode; + } + public void setMachineName(String machineName) { + this.machineName = machineName; + } + + public String getMachineName() { + return machineName; + } + public void setTeamCode(String teamCode) { + this.teamCode = teamCode; + } + + public String getTeamCode() { + return teamCode; + } + public void setShiftCode(String shiftCode) { + this.shiftCode = shiftCode; + } + + public String getShiftCode() { + return shiftCode; + } + public void setAttr1(String attr1) { + this.attr1 = attr1; + } + + public String getAttr1() { + return attr1; + } + public void setAttr2(String attr2) { + this.attr2 = attr2; + } + + public String getAttr2() { + return attr2; + } + public void setAttr3(String attr3) { + this.attr3 = attr3; + } + + public String getAttr3() { + return attr3; + } + public void setAttr4(String attr4) { + this.attr4 = attr4; + } + + public String getAttr4() { + return attr4; + } + + public String getProductDate() { + return productDate; + } + + public void setProductDate(String productDate) { + this.productDate = productDate; + } + + public String getOrderCode() { + return orderCode; + } + + public void setOrderCode(String orderCode) { + this.orderCode = orderCode; + } + + public String getProductSpc() { + return productSpc; + } + + public void setProductSpc(String productSpc) { + this.productSpc = productSpc; + } + + public String getProcessName() { + return processName; + } + + public void setProcessName(String processName) { + this.processName = processName; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("reportType", getReportType()) + .append("reportCode", getReportCode()) + .append("workorderCode", getWorkorderCode()) + .append("productCode", getProductCode()) + .append("productName", getProductName()) + .append("spec", getSpec()) + .append("unit", getUnit()) + .append("quantity", getQuantity()) + .append("quantityFeedback", getQuantityFeedback()) + .append("quantityQualified", getQuantityQualified()) + .append("quantityUnqualified", getQuantityUnqualified()) + .append("userName", getUserName()) + .append("nickName", getNickName()) + .append("feedbackChannel", getFeedbackChannel()) + .append("feedbackTime", getFeedbackTime()) + .append("recordUser", getRecordUser()) + .append("status", getStatus()) + .append("remark", getRemark()) + .append("workTime", getWorkTime()) + .append("machineCode", getMachineCode()) + .append("machineName", getMachineName()) + .append("teamCode", getTeamCode()) + .append("shiftCode", getShiftCode()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("updateBy", getUpdateBy()) + .toString(); + } +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java index 45ba3d3a2..3b731e6ed 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java @@ -114,6 +114,11 @@ public class WCSInterfaceController extends BaseController { if(StringUtils.isBlank(mesReportWork.getReportCode())){ return error("[reportCode] is null"); } + + if(mesReportWork.getFactoryCode().indexOf("ds")<0){ + mesReportWork.setFactoryCode("ds_"+mesReportWork.getFactoryCode()); + } + return success(wCInterfaceService.reportWork(mesReportWork)); } 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 291fe4f9c..3c14d59ad 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 @@ -412,7 +412,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" s.Shift_Desc shiftName from pro_order_workorder pow left join base_shifts_t s on pow.shift_id = s.Shift_Id - where pow.del_flag = '0' and pow.status != 'w3' and pow.end_flag ='1' + where pow.del_flag = '0' and pow.status = 'w2' and pow.end_flag ='1' order by pow.product_date desc and pow.workorder_code like concat('%', #{workorderCode}, '%') diff --git a/op-modules/op-scada/pom.xml b/op-modules/op-open/pom.xml similarity index 97% rename from op-modules/op-scada/pom.xml rename to op-modules/op-open/pom.xml index 2d99eba55..4dfb4924f 100644 --- a/op-modules/op-scada/pom.xml +++ b/op-modules/op-open/pom.xml @@ -9,10 +9,10 @@ 4.0.0 - op-modules-scada + op-modules-open - op-modules-scada系统模块 + op-modules-open接口模块 diff --git a/op-modules/op-scada/push-scada.bat b/op-modules/op-open/push-open.bat similarity index 91% rename from op-modules/op-scada/push-scada.bat rename to op-modules/op-open/push-open.bat index f0e9c1336..70672bb89 100644 --- a/op-modules/op-scada/push-scada.bat +++ b/op-modules/op-open/push-open.bat @@ -1,8 +1,8 @@ @echo off echo --------------------------------Զǰ޸-------------------------------------- -set jarName=op-modules-scada.jar +set jarName=op-modules-open.jar set profile=dev -set imageURI=192.168.202.36:30002/op-lanju/op-scada +set imageURI=192.168.202.36:30002/op-lanju/op-open rem echo ȡǰַ for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c rem echo ȡǰʱַ @@ -28,7 +28,6 @@ if exist %df% ( echo --------------------------------Dockerfile-------------------------------- ::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile -echo RUN apk add --update font-adobe-100dpi ttf-dejavu fontconfig echo COPY %jarName% /application.jar >> Dockerfile echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile diff --git a/op-modules/op-scada/src/main/java/com/op/scada/ScadaApplication.java b/op-modules/op-open/src/main/java/com/op/open/OpenApplication.java similarity index 84% rename from op-modules/op-scada/src/main/java/com/op/scada/ScadaApplication.java rename to op-modules/op-open/src/main/java/com/op/open/OpenApplication.java index 2a62c303b..ecb00c84a 100644 --- a/op-modules/op-scada/src/main/java/com/op/scada/ScadaApplication.java +++ b/op-modules/op-open/src/main/java/com/op/open/OpenApplication.java @@ -1,4 +1,4 @@ -package com.op.wms; +package com.op.open; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -7,7 +7,7 @@ import com.op.common.security.annotation.EnableRyFeignClients; import com.op.common.swagger.annotation.EnableCustomSwagger2; /** - * 系统模块 + * 接口模块 * * @author OP */ @@ -15,10 +15,10 @@ import com.op.common.swagger.annotation.EnableCustomSwagger2; @EnableCustomSwagger2 @EnableRyFeignClients @SpringBootApplication -public class ScadaApplication { +public class OpenApplication { public static void main(String[] args) { - SpringApplication.run(ScadaApplication.class, args); - System.err.println("Scada服务启动成功\n" + SpringApplication.run(OpenApplication.class, args); + System.err.println("OPEN接口服务启动成功\n" + " | | \r\n" + " ___ _ __ ______ ___ _ _ ___| |_ ___ _ __ ___ \r\n" + " / _ \\| '_ \\______/ __| | | / __| __/ _ \\ '_ ` _ \\ \r\n" diff --git a/op-modules/op-scada/src/main/java/com/op/scada/config/DynamicDatasource.java b/op-modules/op-open/src/main/java/com/op/open/config/DynamicDatasource.java similarity index 98% rename from op-modules/op-scada/src/main/java/com/op/scada/config/DynamicDatasource.java rename to op-modules/op-open/src/main/java/com/op/open/config/DynamicDatasource.java index 68c1e50fc..b3242fbf5 100644 --- a/op-modules/op-scada/src/main/java/com/op/scada/config/DynamicDatasource.java +++ b/op-modules/op-open/src/main/java/com/op/open/config/DynamicDatasource.java @@ -1,4 +1,4 @@ -package com.op.scada.config; +package com.op.open.config; import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty; import com.op.common.core.domain.R; diff --git a/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java b/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java new file mode 100644 index 000000000..3af445eb0 --- /dev/null +++ b/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java @@ -0,0 +1,63 @@ +package com.op.open.controller; + +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.StringUtils; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.open.service.OpenService; +import com.op.system.api.domain.dto.WCSDTO; +import com.op.system.api.domain.mes.MesReportWorkDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * mes上位机专属 + * + * @author sf + * @date 2023-05-18 + */ +@RestController +@RequestMapping("/openInterface") +public class OpenController extends BaseController { + + @Autowired + private OpenService openService; + + + /** + * 下一工序机台集合获取 + * •接口描述:成型机码垛完、暂存区、WCS 请求 MES 获取目的地集合 + * •触发时机:托盘到达 AGV 接驳口 + * @param + * @return + */ + //"下一工序机台集合获取" + @PostMapping("/requestDestinationStations") + public WCSDTO requestDestinationStations(@RequestBody WCSDTO wcsdto) { + if(StringUtils.isBlank(wcsdto.getFactory())){ + wcsdto.setCode("1"); + wcsdto.setMessage("factory is not null"); + return wcsdto; + } + return openService.requestDestinationStations(wcsdto); + } + /**上位机报工**/ + @PostMapping("/reportWork") + public AjaxResult reportWork(@RequestBody MesReportWorkDTO mesReportWork) { + if(StringUtils.isBlank(mesReportWork.getFactoryCode())){ + return error("[factoryCode] is null"); + } + if(StringUtils.isBlank(mesReportWork.getReportCode())){ + return error("[reportCode] is null"); + } + + return success(openService.reportWork(mesReportWork)); + } + + public static void main(String args[]){ + System.out.println(DateUtils.getDate()); + } +} diff --git a/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java new file mode 100644 index 000000000..9b7462dd1 --- /dev/null +++ b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java @@ -0,0 +1,42 @@ +package com.op.open.mapper; + +import com.op.system.api.domain.SysSapLog; +import com.op.system.api.domain.mes.MesReportWorkDTO; +import com.op.system.api.domain.mes.ProOrderWorkorderDTO; +import com.op.system.api.domain.mes.ProRfidProcessDetail; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 生产rfid流程Mapper接口 + * + * @author Open Platform + * @date 2023-08-18 + */ +@Mapper +public interface OpenMapper { + + public ProRfidProcessDetail getRfidInfo(String rfidNo); + + public String getStationType(String equipmentCode); + + Integer getEquipNum(String machineCode); + + String getEquipStatus(String machineCode); + + String getEquipMode(String machineCode); + + List getReportWorkList(MesReportWorkDTO mesReportWork); + + void addSapLog(SysSapLog sysSapLog); + + void updateSyncSapStatus(MesReportWorkDTO work); + + MesReportWorkDTO getProdResult(MesReportWorkDTO work); + + void updateWorkOrderStatus(MesReportWorkDTO work); + + ProOrderWorkorderDTO getOrderByCode(String workorderCode); +} + diff --git a/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java b/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java new file mode 100644 index 000000000..8a069cca9 --- /dev/null +++ b/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java @@ -0,0 +1,18 @@ +package com.op.open.service; + +import com.op.common.core.domain.R; +import com.op.system.api.domain.dto.WCSDTO; +import com.op.system.api.domain.mes.MesReportWorkDTO; + +/** + * 订单Service接口 + * + * @author Open Platform + * @date 2023-07-13 + */ +public interface OpenService { + + WCSDTO requestDestinationStations(WCSDTO wcsdto); + + R reportWork(MesReportWorkDTO mesReportWork); +} diff --git a/op-modules/op-scada/src/main/java/com/op/scada/service/impl/ScadaServiceImpl.java b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java similarity index 54% rename from op-modules/op-scada/src/main/java/com/op/scada/service/impl/ScadaServiceImpl.java rename to op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java index f1756488e..c07376b4f 100644 --- a/op-modules/op-scada/src/main/java/com/op/scada/service/impl/ScadaServiceImpl.java +++ b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java @@ -1,23 +1,35 @@ -package com.op.scada.service.impl; +package com.op.open.service.impl; import com.alibaba.fastjson2.JSONArray; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; +import com.op.common.core.domain.R; +import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.bean.BeanUtils; -import com.op.scada.mapper.ScadaMapper; -import com.op.scada.service.ScadaService; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.open.mapper.OpenMapper; +import com.op.open.service.OpenService; +import com.op.system.api.RemoteSapService; +import com.op.system.api.domain.SysSapLog; import com.op.system.api.domain.dto.WCSDTO; import com.op.system.api.domain.dto.WCSDataDTO; +import com.op.system.api.domain.mes.MesReportWorkDTO; +import com.op.system.api.domain.mes.ProOrderWorkorderDTO; import com.op.system.api.domain.mes.ProRfidProcessDetail; +import com.op.system.api.domain.sap.SapRFW; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.stream.Collectors; /** @@ -27,12 +39,13 @@ import java.util.stream.Collectors; * @date 2023-07-13 */ @Service -public class ScadaServiceImpl implements ScadaService { +public class OpenServiceImpl implements OpenService { protected Logger logger = LoggerFactory.getLogger(getClass()); @Autowired - private ScadaMapper scadaMapper; - + private OpenMapper openMapper; + @Autowired + private RemoteSapService remoteSapService; /**下一工序机台集合获取 * JSON @@ -78,17 +91,17 @@ public class ScadaServiceImpl implements ScadaService { try { BeanUtils.copyBeanProp(dto, wcsdto); //根据rfid跟工单绑定,成型机跟工单绑定,获取对应工艺。 - ProRfidProcessDetail rfidInfo = scadaMapper.getRfidInfo(wcsdto.getRfidNo()); + ProRfidProcessDetail rfidInfo = openMapper.getRfidInfo(wcsdto.getRfidNo()); //获取设备类型 if (rfidInfo != null && StringUtils.isNotBlank(rfidInfo.getMachineCode())) { //设备-工艺路线的设备大范围 String[] machineCodes0 = rfidInfo.getMachineCode().split(","); - String stationType = scadaMapper.getStationType(machineCodes0[0]); + String stationType = openMapper.getStationType(machineCodes0[0]); if (StringUtils.isNotBlank(stationType)) { dto.setStationType(stationType); } //设备-根据工单获取实际规划设备路线 - String machinecode = rfidInfo.getProdLineCode();//scadaMapper.getActuaEquips(rfidInfo); + String machinecode = rfidInfo.getProdLineCode();//openMapper.getActuaEquips(rfidInfo); JSONArray codeArray = JSONArray.parseArray(machinecode); List list2 = new ArrayList<>(); for (int c1 = 0; c1 < codeArray.size(); c1++) { @@ -111,13 +124,13 @@ public class ScadaServiceImpl implements ScadaService { wCSDataDTO = new WCSDataDTO(); if (StringUtils.isNotBlank(machineCode)) { //设备是否正常 - String status = scadaMapper.getEquipStatus(machineCode); + String status = openMapper.getEquipStatus(machineCode); if(StringUtils.isNotBlank(status) && "1".equals(status)){//正常设备且没被删除 wCSDataDTO.setStationNo(machineCode); if ("2".equals(stationType)) { - Integer qty = scadaMapper.getEquipNum(machineCode); + Integer qty = openMapper.getEquipNum(machineCode); wCSDataDTO.setQty(qty == null ? 0 : qty); - String mode = scadaMapper.getEquipMode(machineCode); + String mode = openMapper.getEquipMode(machineCode); wCSDataDTO.setFlag(mode); } stationNos.add(wCSDataDTO); @@ -137,6 +150,78 @@ public class ScadaServiceImpl implements ScadaService { return dto; } + @Override + public R reportWork(MesReportWorkDTO mesReportWork) { + DynamicDataSourceContextHolder.push("ds_"+mesReportWork.getFactoryCode());// 这是数据源的key + + mesReportWork.setUploadStatus("1");//除了1报工成功的,都需要报工 + mesReportWork.setProdType("prod"); + List reportWorks = openMapper.getReportWorkList(mesReportWork); + if(CollectionUtils.isEmpty(reportWorks)){ + return R.fail("未查询到报工单"); + } + + MesReportWorkDTO work = reportWorks.get(0); + SapRFW sapRFW = new SapRFW(); + sapRFW.setAufnr(work.getWorkorderCodeSap());//虚拟工单号 + sapRFW.setGamng(work.getQuantityFeedback().toString());//报工数量 + SapRFW.lt_gs ltgs = sapRFW.new lt_gs();//生产订单报工工时修改 + ltgs.setConf_activity1(work.getSac1());//人工 + ltgs.setConf_activity2(work.getSac2()); + ltgs.setConf_activity3(work.getSac3());//机器 + ltgs.setConf_activity4(work.getSac4()); + ltgs.setConf_activity5(work.getSac5());//折旧 + ltgs.setConf_activity6(work.getSac6()); + sapRFW.setLt_gs(ltgs); + SapRFW.lt_hw lthw = sapRFW.new lt_hw();//MES生产订单报工货物移动修改 + lthw.setEntry_qnt(work.getQuantityFeedback().toString());//TODO; + lthw.setMaterial(work.getProcessCode()); + sapRFW.setLt_hw(lthw); + //添加调用sap日志 + SysSapLog sysSapLog = new SysSapLog(); + sysSapLog.setId(IdUtils.fastSimpleUUID()); + sysSapLog.setMesssge(sapRFW.toString()); + sysSapLog.setMethod("reportWork"); + sysSapLog.setReqcode("请求"); + sysSapLog.setCreateTime(DateUtils.getNowDate()); + openMapper.addSapLog(sysSapLog); + + R r = remoteSapService.sapRFWOrder(sapRFW); + //上传成功,更改mes_report_work状态 + if (r.getCode() == 200) { + work.setUploadStatus("1"); + } else { + work.setUploadStatus("2"); + work.setUploadMsg(r.getMsg()); + } + work.setUploadTime(DateUtils.getNowDate()); + openMapper.updateSyncSapStatus(work); + //工单完成数量>工单数量:关闭订单 + MesReportWorkDTO proResult = openMapper.getProdResult(work); + ProOrderWorkorderDTO topOrder = this.getTopOrder(work.getWorkorderCode()); + if(proResult.getQuantityFeedback().compareTo(new BigDecimal(topOrder.getQuantitySplit()))>=0){ + //工单完成,关闭工单 + remoteSapService.sapCloseOrder(work.getWorkorderCodeSap()); + work.setStatus("w3"); + work.setUpdateTime(DateUtils.getNowDate()); + //pro_work_order status->w4报工 + openMapper.updateWorkOrderStatus(work); + } + return R.ok(); + } + + //根据工单子单编码获取最顶级订单的母单 + private ProOrderWorkorderDTO getTopOrder(String workorderCode) { + //pro_order_workorder + ProOrderWorkorderDTO topOrder = openMapper.getOrderByCode(workorderCode); + while (!"0".equals(topOrder.getParentOrder()) && StringUtils.isNotEmpty(topOrder.getParentOrder())) { + //pro_order_workorder + topOrder = openMapper.getOrderByCode(topOrder.getParentOrder()); + } + return topOrder; + } + + public static void main(String args[]){ DateTimeFormatter ymdhms = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDate today = LocalDate.now(); diff --git a/op-modules/op-scada/src/main/resources/banner.txt b/op-modules/op-open/src/main/resources/banner.txt similarity index 100% rename from op-modules/op-scada/src/main/resources/banner.txt rename to op-modules/op-open/src/main/resources/banner.txt diff --git a/op-modules/op-scada/src/main/resources/bootstrap.yml b/op-modules/op-open/src/main/resources/bootstrap.yml similarity index 95% rename from op-modules/op-scada/src/main/resources/bootstrap.yml rename to op-modules/op-open/src/main/resources/bootstrap.yml index 196b279bb..f032dd8bc 100644 --- a/op-modules/op-scada/src/main/resources/bootstrap.yml +++ b/op-modules/op-open/src/main/resources/bootstrap.yml @@ -1,12 +1,12 @@ # Tomcat server: - port: 9211 + port: 9214 # Spring spring: application: # 应用名称 - name: op-scada + name: op-open profiles: # 环境配置 active: dev diff --git a/op-modules/op-scada/src/main/resources/logback.xml b/op-modules/op-open/src/main/resources/logback.xml similarity index 100% rename from op-modules/op-scada/src/main/resources/logback.xml rename to op-modules/op-open/src/main/resources/logback.xml diff --git a/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml b/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml new file mode 100644 index 000000000..e54f05f89 --- /dev/null +++ b/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml @@ -0,0 +1,112 @@ + + + + + insert into sys_sap_log + (id,messsge,create_time,reqcode,method,remark,status) + values( + #{id},#{messsge}, #{createTime}, #{reqcode},#{method},#{remark},#{status}) + + + update mes_report_work + + upload_time = #{uploadTime}, + upload_status = #{uploadStatus}, + upload_msg = #{uploadMsg}, + + where 1=1 + + and id = #{id} + + + and report_code = #{reportCode} + + + + update pro_order_workorder set status = #{status} where workorder_code = #{workorderCode} + + + + + + + + + + + + + + diff --git a/op-modules/op-scada/src/main/java/com/op/scada/mapper/ScadaMapper.java b/op-modules/op-scada/src/main/java/com/op/scada/mapper/ScadaMapper.java deleted file mode 100644 index 1775385b2..000000000 --- a/op-modules/op-scada/src/main/java/com/op/scada/mapper/ScadaMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.op.scada.mapper; - -import com.op.system.api.domain.mes.ProRfidProcessDetail; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * 生产rfid流程Mapper接口 - * - * @author Open Platform - * @date 2023-08-18 - */ -@Mapper -public interface ScadaMapper { - - public ProRfidProcessDetail getRfidInfo(String rfidNo); - - public String getStationType(String equipmentCode); - - Integer getEquipNum(String machineCode); - - String getEquipStatus(String machineCode); - - String getEquipMode(String machineCode); -} - diff --git a/op-modules/op-scada/src/main/java/com/op/scada/service/ScadaService.java b/op-modules/op-scada/src/main/java/com/op/scada/service/ScadaService.java deleted file mode 100644 index 49f072043..000000000 --- a/op-modules/op-scada/src/main/java/com/op/scada/service/ScadaService.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.op.scada.service; - -import com.op.system.api.domain.dto.WCSDTO; - -import java.util.List; -import java.util.Map; - -/** - * 订单Service接口 - * - * @author Open Platform - * @date 2023-07-13 - */ -public interface ScadaService { - - WCSDTO requestDestinationStations(WCSDTO wcsdto); - -} diff --git a/op-modules/op-scada/src/main/resources/mapper/scada/ScadaMapper.xml b/op-modules/op-scada/src/main/resources/mapper/scada/ScadaMapper.xml deleted file mode 100644 index b30a2f5b0..000000000 --- a/op-modules/op-scada/src/main/resources/mapper/scada/ScadaMapper.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - diff --git a/op-modules/op-scada/src/main/java/com/op/scada/controller/ScadaController.java b/op-modules/op-security/src/main/java/com/op/security/controller/ScadaController.java similarity index 87% rename from op-modules/op-scada/src/main/java/com/op/scada/controller/ScadaController.java rename to op-modules/op-security/src/main/java/com/op/security/controller/ScadaController.java index 65df08394..3b420579c 100644 --- a/op-modules/op-scada/src/main/java/com/op/scada/controller/ScadaController.java +++ b/op-modules/op-security/src/main/java/com/op/security/controller/ScadaController.java @@ -1,9 +1,8 @@ -package com.op.scada.controller; +package com.op.security.controller; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.StringUtils; import com.op.common.core.web.controller.BaseController; -import com.op.scada.service.ScadaService; import com.op.system.api.domain.dto.WCSDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -21,9 +20,6 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/scadaInterface") public class ScadaController extends BaseController { - @Autowired - private ScadaService scadaService; - /** * 下一工序机台集合获取 @@ -40,7 +36,7 @@ public class ScadaController extends BaseController { wcsdto.setMessage("factory is not null"); return wcsdto; } - return scadaService.requestDestinationStations(wcsdto); + return null; } diff --git a/op-modules/pom.xml b/op-modules/pom.xml index 11d40a183..185134ecf 100644 --- a/op-modules/pom.xml +++ b/op-modules/pom.xml @@ -21,8 +21,8 @@ op-device op-energy op-quality - op-scada op-security + op-open op-modules From 20efabdfd18d86a59f23a0435fb7ad14c38695f1 Mon Sep 17 00:00:00 2001 From: wws <18630710203@163.com> Date: Thu, 9 Nov 2023 17:26:23 +0800 Subject: [PATCH 22/32] =?UTF-8?q?=E7=82=B9=E6=A3=80-=E5=B7=A1=E6=A3=80-?= =?UTF-8?q?=E4=BF=9D=E5=85=BB-=E6=A3=80=E6=9F=A5=E9=A1=B9=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/device/mapper/EquPlanDetailMapper.java | 7 ++ .../device/mapper/EquPlanEquSpareMapper.java | 6 + .../device/mapper/EquPlanStandardMapper.java | 7 ++ .../service/impl/DevicePDAServiceImpl.java | 34 ++++-- .../service/impl/EquOrderServiceImpl.java | 105 ++++++++++++++++-- .../service/impl/EquPlanServiceImpl.java | 16 +-- .../impl/EquUpkeepOrderServiceImpl.java | 18 --- .../service/impl/EquUpkeepServiceImpl.java | 4 +- .../mapper/device/EquOrderDetailMapper.xml | 7 +- .../mapper/device/EquOrderEquMapper.xml | 7 +- .../mapper/device/EquOrderEquSpareMapper.xml | 9 +- .../mapper/device/EquOrderMapper.xml | 4 +- .../mapper/device/EquOrderPersonMapper.xml | 7 +- .../mapper/device/EquOrderStandardMapper.xml | 7 +- .../mapper/device/EquPlanDetailMapper.xml | 13 ++- .../mapper/device/EquPlanEquMapper.xml | 2 +- .../mapper/device/EquPlanEquSpareMapper.xml | 5 + .../mapper/device/EquPlanStandardMapper.xml | 8 +- 18 files changed, 197 insertions(+), 69 deletions(-) diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanDetailMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanDetailMapper.java index 6253ac2b6..57f8330fd 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanDetailMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanDetailMapper.java @@ -77,4 +77,11 @@ public interface EquPlanDetailMapper { * @param planCode */ void delEquPlanDetailByPlanCode(String planCode); + + /** + * 通过parentCode查询检查项信息 + * @param code + * @return + */ + List selectEquPlanDetailListByParentCode(String code); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanEquSpareMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanEquSpareMapper.java index e2c839f32..aaef78e50 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanEquSpareMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanEquSpareMapper.java @@ -64,4 +64,10 @@ public interface EquPlanEquSpareMapper { * @param planCode */ void deleteEquPlanEquSpareByPlanCode(String planCode); + + /** + * 逻辑删除 + * @param planCode + */ + void delEquPlanEquSpareByPlanCode(String planCode); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanStandardMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanStandardMapper.java index 561ba1643..962d8ff28 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanStandardMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanStandardMapper.java @@ -77,4 +77,11 @@ public interface EquPlanStandardMapper { * @param planCode */ void delEquPlanStandardByPlanCode(String planCode); + + /** + * 通过parentCode获取标准信息 + * @param code + * @return + */ + List selectEquPlanStandardListByParentCode(String code); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java index 9bce7eefa..e443d1d02 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java @@ -59,7 +59,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService { /** - * 获取今日巡检任务工单list + * 获取今日巡检任务工单list-状态不为已完成 * * @return */ @@ -145,7 +145,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService { @DS("#header.poolName") public AjaxResult updateInspectionRecord(EquOrder equOrder) { - boolean checkRepair = false; + boolean hasError = false; EquOrderEqu equ = equOrder.getEqu(); List detailList = equ.getDetailList(); @@ -176,12 +176,12 @@ public class DevicePDAServiceImpl implements IDevicePDAService { int up = standard.getActualValue().compareTo(standard.getDetailUpLimit()); int down = standard.getActualValue().compareTo(standard.getDetailDownLimit()); if (!(up != 1 && down != -1)) { - checkRepair = true; + hasError = true; } }else { - // 未达标 + // TODO 未达标 if (standard.getDetailReach().equals("1")) { - checkRepair = true; + hasError = true; } } @@ -198,7 +198,17 @@ public class DevicePDAServiceImpl implements IDevicePDAService { equOrder.setPlanPerson(SecurityContextHolder.getUserName()); equOrder.setPlanPerson(SecurityContextHolder.getUserName()); - if (checkRepair) { + boolean checkRepair = false; + + if (equOrder.getRepairCode() == null){ + checkRepair = true; + }else { + if (equOrder.getRepairCode().isEmpty()){ + checkRepair = true; + } + } + + if (checkRepair && hasError) { // 获取故障报修流水号 EquRepairOrder equRepairOrder = new EquRepairOrder(); String serialNum = String.format("%03d", equRepairOrderMapper.selectOrderCodeSerialNumber()); @@ -213,6 +223,16 @@ public class DevicePDAServiceImpl implements IDevicePDAService { equRepairOrder.setCreateTime(DateUtils.getNowDate()); equRepairOrder.setCreateBy(SecurityUtils.getUsername()); equRepairOrder.setOrderStatus("待审核"); + // 报修来源 + if (equOrder.getPlanType().equals("inspection")){ + equRepairOrder.setOrderSource("巡检"); + } + if (equOrder.getPlanType().equals("spotInspection")){ + equRepairOrder.setOrderSource("点检"); + } + if (equOrder.getPlanType().equals("maintenance")){ + equRepairOrder.setOrderSource("保养"); + } HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String key = "#header.poolName"; equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); @@ -221,7 +241,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService { // 更新工单信息 equOrderMapper.updateEquOrder(equOrder); - return success(equOrder); + return success(); } //////////////////////报修 diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java index 6511b4b25..53a1923bc 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java @@ -6,14 +6,22 @@ import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.context.SecurityContextHolder; +import com.op.common.core.domain.BaseFileData; 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.common.core.web.domain.AjaxResult; +import com.op.common.security.utils.SecurityUtils; import com.op.device.domain.*; import com.op.device.mapper.*; import com.op.system.api.domain.SysUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.device.service.IEquOrderService; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; import static com.op.common.core.web.domain.AjaxResult.success; @@ -39,6 +47,8 @@ public class EquOrderServiceImpl implements IEquOrderService { private PersonMapper personMapper; @Autowired private EquOrderEquSpareMapper equOrderEquSpareMapper; + @Autowired + private EquRepairOrderMapper equRepairOrderMapper; /** * 查询计划工单 @@ -125,25 +135,102 @@ public class EquOrderServiceImpl implements IEquOrderService { @Override @DS("#header.poolName") public AjaxResult updateEquOrder(EquOrder equOrder) { - // 更新工单信息 - equOrder.setOrderStart(equOrder.getTimeArray().get(0)); - equOrder.setOrderEnd(equOrder.getTimeArray().get(1)); - equOrder.setUpdateTime(DateUtils.getNowDate()); - equOrder.setUpdateBy(SecurityContextHolder.getUserName()); - equOrder.setPlanPerson(SecurityContextHolder.getUserName()); - equOrderMapper.updateEquOrder(equOrder); + boolean hasError = false; - // 更新标准信息 EquOrderEqu equ = equOrder.getEqu(); List detailList = equ.getDetailList(); for (EquOrderDetail detail : detailList) { List standardList = detail.getStandardList(); for (EquOrderStandard standard : standardList) { - standard.setUpdateBy(SecurityContextHolder.getUserName()); + + //上传附件 + if (StringUtils.isNotEmpty(standard.getPicturePath())) { + String[] ids = standard.getPicturePath().split(","); + List files = new ArrayList<>(); + BaseFileData file = null; + for (String id : ids) { + file = new BaseFileData(); + file.setFileId(IdUtils.fastSimpleUUID()); + file.setFileName(id.split("&fileName=")[1]); + file.setFileAddress(id); + file.setSourceId(standard.getId()); + file.setCreateBy(SecurityUtils.getUsername()); + file.setCreateTime(new Date()); + files.add(file); + } + equOrderStandardMapper.insertBaseFileBatch(files); + } + + // 校验标准信息-是否申请报修 + if (standard.getStandardType().equals("quantify")) { + int up = standard.getActualValue().compareTo(standard.getDetailUpLimit()); + int down = standard.getActualValue().compareTo(standard.getDetailDownLimit()); + if (!(up != 1 && down != -1)) { + hasError = true; + } + }else { + // TODO 未达标 + if (standard.getDetailReach().equals("1")) { + hasError = true; + } + } + + // 更新标准 standard.setUpdateTime(DateUtils.getNowDate()); equOrderStandardMapper.updateEquOrderStandard(standard); } } + + // 更新工单信息 + equOrder.setOrderStatus("1"); // 状态为已完成 + equOrder.setUpdateTime(DateUtils.getNowDate()); + equOrder.setUpdateBy(SecurityContextHolder.getUserName()); + equOrder.setPlanPerson(SecurityContextHolder.getUserName()); + equOrder.setPlanPerson(SecurityContextHolder.getUserName()); + + boolean checkRepair = false; + + if (equOrder.getRepairCode() == null){ + checkRepair = true; + }else { + if (equOrder.getRepairCode().isEmpty()){ + checkRepair = true; + } + } + + if (checkRepair && hasError ) { + // 获取故障报修流水号 + EquRepairOrder equRepairOrder = new EquRepairOrder(); + String serialNum = String.format("%03d", equRepairOrderMapper.selectOrderCodeSerialNumber()); + String equipmentCode = equOrder.getEquipmentCode(); + //报修单号 + equRepairOrder.setOrderCode("BX"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + equipmentCode + serialNum); + //在主表中存入报修单号信息 + equOrder.setRepairCode(equRepairOrder.getOrderCode()); + + //新增报修记录 + equRepairOrder.setOrderId(IdUtils.fastSimpleUUID()); + equRepairOrder.setCreateTime(DateUtils.getNowDate()); + equRepairOrder.setCreateBy(SecurityUtils.getUsername()); + // 报修来源 + if (equOrder.getPlanType().equals("inspection")){ + equRepairOrder.setOrderSource("巡检"); + } + if (equOrder.getPlanType().equals("spotInspection")){ + equRepairOrder.setOrderSource("点检"); + } + if (equOrder.getPlanType().equals("maintenance")){ + equRepairOrder.setOrderSource("保养"); + } + equRepairOrder.setOrderStatus("待审核"); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); + equRepairOrderMapper.insertEquRepairOrder(equRepairOrder); + } + + // 更新工单信息 + equOrderMapper.updateEquOrder(equOrder); return success(); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java index 2dbc138a7..3ec0f2e78 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java @@ -202,6 +202,8 @@ public class EquPlanServiceImpl implements IEquPlanService { equPlanDetailMapper.delEquPlanDetailByPlanCode(equPlan.getPlanCode()); equPlanEquMapper.delEquPlanEquByPlanCode(equPlan.getPlanCode()); equPlanStandardMapper.delEquPlanStandardByPlanCode(equPlan.getPlanCode()); + // TODO 有问题没有删除成功 + equPlanEquSpareMapper.delEquPlanEquSpareByPlanCode(equPlan.getPlanCode()); } return success(); } @@ -343,16 +345,10 @@ public class EquPlanServiceImpl implements IEquPlanService { for (EquPlanEqu equipment : equipmentList) { // 获取检查项list - EquPlanDetail selectDetail = new EquPlanDetail(); - selectDetail.setParentCode(equipment.getCode()); - selectDetail.setPlanCode(equPlan.getPlanCode()); - List detailList = equPlanDetailMapper.selectEquPlanDetailList(selectDetail); + List detailList = equPlanDetailMapper.selectEquPlanDetailListByParentCode(equipment.getCode()); for (EquPlanDetail detail : detailList) { // 获取标准list - EquPlanStandard selectStandard = new EquPlanStandard(); - selectStandard.setParentCode(detail.getCode()); - selectStandard.setPlanCode(equPlan.getPlanCode()); - List standardList = equPlanStandardMapper.selectEquPlanStandardList(selectStandard); + List standardList = equPlanStandardMapper.selectEquPlanStandardListByParentCode(detail.getCode()); for (EquPlanStandard standard : standardList) { standard.setShowFlag(true); } @@ -433,7 +429,7 @@ public class EquPlanServiceImpl implements IEquPlanService { if (item != null) { item.setId(IdUtils.fastSimpleUUID()); item.setPlanCode(equPlan.getPlanCode()); - item.setCode("C" + equPlan.getPlanCode() + String.format("%02d", ++itemCodeTemp)); + item.setCode("C" + equipment.getCode() + String.format("%02d", ++itemCodeTemp)); item.setParentCode(equipment.getCode()); item.setCreateBy(SecurityContextHolder.getUserName()); item.setCreateTime(DateUtils.getNowDate()); @@ -458,7 +454,7 @@ public class EquPlanServiceImpl implements IEquPlanService { standard.setId(IdUtils.fastSimpleUUID()); standard.setParentCode(item.getCode()); standard.setPlanCode(equPlan.getPlanCode()); - standard.setCode("D" + equPlan.getPlanCode() + String.format("%02d", ++detailCodeTemp)); + standard.setCode("D" + item.getCode() + String.format("%02d", ++detailCodeTemp)); standard.setCreateBy(SecurityContextHolder.getUserName()); standard.setCreateTime(DateUtils.getNowDate()); standard.setUpdateBy(SecurityContextHolder.getUserName()); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java index c76e5cef6..62c92cb85 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java @@ -209,24 +209,6 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { @Override @DS("#header.poolName") public AjaxResult updateEquOrder(EquOrder equOrder) { - // 更新保养工单信息 - equOrder.setOrderStart(equOrder.getTimeArray().get(0)); - equOrder.setOrderEnd(equOrder.getTimeArray().get(1)); - equOrder.setUpdateBy(SecurityContextHolder.getUserName()); - equOrder.setUpdateTime(DateUtils.getNowDate()); - equOrderMapper.updateEquOrder(equOrder); - - // 更新标准信息 - EquOrderEqu equ = equOrder.getEqu(); - List detailList = equ.getDetailList(); - for (EquOrderDetail detail : detailList) { - List standardList = detail.getStandardList(); - for (EquOrderStandard standard : standardList) { - standard.setUpdateBy(SecurityContextHolder.getUserName()); - standard.setUpdateTime(DateUtils.getNowDate()); - equOrderStandardMapper.updateEquOrderStandard(standard); - } - } return success(); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java index bf0be342b..090c41eaa 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java @@ -265,7 +265,7 @@ public class EquUpkeepServiceImpl implements IEquUpkeepService { if (item != null) { item.setId(IdUtils.fastSimpleUUID()); item.setPlanCode(equPlan.getPlanCode()); - item.setCode("C" + equPlan.getPlanCode() + String.format("%02d", ++itemCodeTemp)); + item.setCode("C" + equipment.getCode() + String.format("%02d", ++itemCodeTemp)); item.setParentCode(equipment.getCode()); item.setCreateBy(SecurityContextHolder.getUserName()); item.setCreateTime(DateUtils.getNowDate()); @@ -290,7 +290,7 @@ public class EquUpkeepServiceImpl implements IEquUpkeepService { standard.setId(IdUtils.fastSimpleUUID()); standard.setParentCode(item.getCode()); standard.setPlanCode(equPlan.getPlanCode()); - standard.setCode("D" + equPlan.getPlanCode() + String.format("%02d", ++detailCodeTemp)); + standard.setCode("D" + item.getCode() + String.format("%02d", ++detailCodeTemp)); standard.setCreateBy(SecurityContextHolder.getUserName()); standard.setCreateTime(DateUtils.getNowDate()); standard.setUpdateBy(SecurityContextHolder.getUserName()); diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderDetailMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderDetailMapper.xml index 9146edf76..969eb0fa5 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderDetailMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderDetailMapper.xml @@ -44,22 +44,23 @@ and attr1 = #{attr1} and attr2 = #{attr2} and attr3 = #{attr3} + and del_flag = '0' diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquMapper.xml index 13a9e0d3c..1461f6530 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquMapper.xml @@ -38,17 +38,18 @@ and attr1 = #{attr1} and attr2 = #{attr2} and attr3 = #{attr3} + and del_flag = '0' @@ -107,7 +108,7 @@ update_by = #{updateBy}, update_time = #{updateTime}, - where id = #{id} + where id = #{id} and del_flag = '0' diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquSpareMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquSpareMapper.xml index d37718130..33e4447f5 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquSpareMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquSpareMapper.xml @@ -42,22 +42,23 @@ and attr1 = #{attr1} and attr2 = #{attr2} and attr3 = #{attr3} + and del_flag = '0' @@ -122,7 +123,7 @@ update_by = #{updateBy}, update_time = #{updateTime}, - where id = #{id} + where id = #{id} and del_flag = '0' diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml index e9b0ebe5e..e445d71b7 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml @@ -85,7 +85,7 @@ - where order_id = #{orderId} + where order_id = #{orderId} and del_flag = '0' @@ -96,7 +97,7 @@ update_by = #{updateBy}, update_time = #{updateTime}, - where id = #{id} + where id = #{id} and del_flag = '0' diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml index 8ef092950..34cd2420f 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml @@ -62,17 +62,18 @@ and repair_reach = #{repairReach} and repair_value = #{repairValue} and repair_picture = #{repairPicture} + and del_flag = '0' @@ -183,7 +184,7 @@ repair_value = #{repairValue}, repair_picture = #{repairPicture}, - where id = #{id} + where id = #{id} and del_flag = '0' diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquPlanDetailMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquPlanDetailMapper.xml index 15ffb1ebc..7ab78a503 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquPlanDetailMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquPlanDetailMapper.xml @@ -48,17 +48,24 @@ and attr1 = #{attr1} and attr2 = #{attr2} and attr3 = #{attr3} + and del_flag = '0' + ORDER BY item_name + + @@ -132,7 +139,7 @@ update_by = #{updateBy}, update_time = #{updateTime}, - where id = #{id} + where id = #{id} and del_flag = '0' diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquMapper.xml index a8e0cfec8..4db0ccfbd 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquMapper.xml @@ -108,7 +108,7 @@ update_by = #{updateBy}, update_time = #{updateTime}, - where id = #{id} + where id = #{id} and del_flag = '0' diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquSpareMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquSpareMapper.xml index e61970900..25e17ae8e 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquSpareMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquSpareMapper.xml @@ -129,4 +129,9 @@ delete from equ_plan_equ_spare where plan_code = #{planCode} + + + update equ_plan_equ_spare set del_flag = '1' where plan_code = #{planCode} and del_flag = '0' + + \ No newline at end of file diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquPlanStandardMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquPlanStandardMapper.xml index 621b0a0c5..759f2caf5 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquPlanStandardMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquPlanStandardMapper.xml @@ -48,6 +48,7 @@ and attr3 = #{attr3} and del_flag = '0' + ORDER BY standard_name - where plan_code = #{planCode} and del_flag ='0' + where plan_code = #{planCode} and del_flag ='0' ORDER BY standard_name + + + From 184a5541ce1b6cb412db84e2d923fae8c3fa401a Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Fri, 10 Nov 2023 10:38:24 +0800 Subject: [PATCH 23/32] test --- .../src/main/java/com/op/open/service/impl/OpenServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java index c07376b4f..8f7d5ceee 100644 --- a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java +++ b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java @@ -204,7 +204,7 @@ public class OpenServiceImpl implements OpenService { remoteSapService.sapCloseOrder(work.getWorkorderCodeSap()); work.setStatus("w3"); work.setUpdateTime(DateUtils.getNowDate()); - //pro_work_order status->w4报工 + //pro_work_order status->w3报工 openMapper.updateWorkOrderStatus(work); } return R.ok(); From 8637740293d5e9524749ec3cbac30adce9557699 Mon Sep 17 00:00:00 2001 From: wws <18630710203@163.com> Date: Fri, 10 Nov 2023 13:42:35 +0800 Subject: [PATCH 24/32] =?UTF-8?q?=E7=82=B9=E6=A3=80=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=89=8D=E5=90=8E=E7=AB=AF=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/mapper/EquRepairOrderMapper.java | 13 ++++++ .../service/impl/EquOrderServiceImpl.java | 41 ++++++++++++++++++- .../mapper/device/EquRepairOrderMapper.xml | 9 ++++ 3 files changed, 61 insertions(+), 2 deletions(-) diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairOrderMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairOrderMapper.java index 83166c0d3..61116121b 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairOrderMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairOrderMapper.java @@ -72,4 +72,17 @@ public interface EquRepairOrderMapper { //查询报修人员列表 @DS("master") List getRepairPersonList(EquEquipment equEquipment); + + /** + * 通过报修code查询报修单信息 + * @param repairCode + * @return + */ + EquRepairOrder selectEquRepairOrderByRepairCode(String repairCode); + + /** + * 通过报修code删除报修单信息-彻底删除! + * @param repairCode + */ + void deleteEquRepairOrderByRepairCode(String repairCode); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java index 53a1923bc..9d87fa5b3 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; +import static com.op.common.core.web.domain.AjaxResult.error; import static com.op.common.core.web.domain.AjaxResult.success; /** @@ -67,7 +68,7 @@ public class EquOrderServiceImpl implements IEquOrderService { timeArray.add(order.getOrderEnd()); order.setTimeArray(timeArray); - order.setPlanName(equOrderMapper.selectPlanNameByPlanCode(orderCode)); + order.setPlanName(equOrderMapper.selectPlanNameByPlanCode(order.getPlanCode())); order.setWorkCenterName(equOrderMapper.selectCenterNameByCenterCode(order.getPlanWorkshop())); @@ -135,6 +136,21 @@ public class EquOrderServiceImpl implements IEquOrderService { @Override @DS("#header.poolName") public AjaxResult updateEquOrder(EquOrder equOrder) { + + // 检验如果审核通过则不允许修改记录 + if (equOrder.getRepairCode() != null) { + if (!equOrder.getRepairCode().isEmpty()) { + EquRepairOrder repairOrder = equRepairOrderMapper.selectEquRepairOrderByRepairCode(equOrder.getRepairCode()); + if (repairOrder==null) { + return error(500,"未查询到报修单信息!"); + }else { + if (!repairOrder.getOrderStatus().equals("待审核")){ + return error(500,"报修单已审核,不可修改记录!"); + } + } + } + } + boolean hasError = false; EquOrderEqu equ = equOrder.getEqu(); @@ -165,13 +181,19 @@ public class EquOrderServiceImpl implements IEquOrderService { if (standard.getStandardType().equals("quantify")) { int up = standard.getActualValue().compareTo(standard.getDetailUpLimit()); int down = standard.getActualValue().compareTo(standard.getDetailDownLimit()); + standard.setDetailReach("1"); + standard.setErrorFlag("0"); if (!(up != 1 && down != -1)) { hasError = true; + standard.setErrorFlag("1"); + standard.setDetailReach("0"); } }else { // TODO 未达标 - if (standard.getDetailReach().equals("1")) { + standard.setErrorFlag("0"); + if (standard.getDetailReach().equals("0")) { hasError = true; + standard.setErrorFlag("1"); } } @@ -187,6 +209,10 @@ public class EquOrderServiceImpl implements IEquOrderService { equOrder.setUpdateBy(SecurityContextHolder.getUserName()); equOrder.setPlanPerson(SecurityContextHolder.getUserName()); equOrder.setPlanPerson(SecurityContextHolder.getUserName()); + if (equOrder.getTimeArray().size() > 0) { + equOrder.setOrderStart(equOrder.getTimeArray().get(0)); + equOrder.setOrderEnd(equOrder.getTimeArray().get(1)); + } boolean checkRepair = false; @@ -198,6 +224,7 @@ public class EquOrderServiceImpl implements IEquOrderService { } } + // 报修信息 if (checkRepair && hasError ) { // 获取故障报修流水号 EquRepairOrder equRepairOrder = new EquRepairOrder(); @@ -229,6 +256,16 @@ public class EquOrderServiceImpl implements IEquOrderService { equRepairOrderMapper.insertEquRepairOrder(equRepairOrder); } + if (!hasError) { + // TODO 删除报修单 + if (equOrder.getRepairCode() != null) { + if (!equOrder.getRepairCode().isEmpty()) { + equRepairOrderMapper.deleteEquRepairOrderByRepairCode(equOrder.getRepairCode()); + equOrder.setRepairCode(""); + } + } + } + // 更新工单信息 equOrderMapper.updateEquOrder(equOrder); return success(); diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml index 501acfb88..275997613 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml @@ -220,6 +220,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + delete from equ_repair_order where order_code = #{repairCode} and del_flag = '0' + + + + \ No newline at end of file From 0e6a6286f62da1141cbf8fbd32678f40446b2b9e Mon Sep 17 00:00:00 2001 From: wws <18630710203@163.com> Date: Fri, 10 Nov 2023 18:03:56 +0800 Subject: [PATCH 25/32] =?UTF-8?q?=E7=82=B9=E6=A3=80=E5=B7=A1=E6=A3=80?= =?UTF-8?q?=E4=BF=9D=E5=85=BB=E6=89=8B=E6=8C=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DevicePDAController.java | 13 ++--- .../device/controller/EquPlanController.java | 14 ++--- .../java/com/op/device/domain/dto/PDADTO.java | 23 ++++++++ .../com/op/device/mapper/EquOrderMapper.java | 18 ++++--- .../op/device/service/IDevicePDAService.java | 7 +-- .../service/impl/DevicePDAServiceImpl.java | 52 ++++++++++++++++--- .../mapper/device/EquOrderMapper.xml | 28 +++++----- 7 files changed, 110 insertions(+), 45 deletions(-) create mode 100644 op-modules/op-device/src/main/java/com/op/device/domain/dto/PDADTO.java diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java index 4223d5c63..83cb43f66 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java @@ -3,6 +3,7 @@ package com.op.device.controller; import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.annotation.RequiresPermissions; import com.op.device.domain.*; +import com.op.device.domain.dto.PDADTO; import com.op.device.service.IDevicePDAService; import com.op.device.service.IEquRepairOrderService; import org.springframework.beans.factory.annotation.Autowired; @@ -26,22 +27,22 @@ public class DevicePDAController { /** * 获取今日巡检任务工单list - * @param userId + * @param pdadto * @return */ @GetMapping("/getTodayTask") - public AjaxResult getTodayTask(int userId) { - return devicePDAService.getTodayTask(userId); + public AjaxResult getTodayTask(PDADTO pdadto) { + return devicePDAService.getTodayTask(pdadto); } /** * 获取巡检记录 - * @param userId + * @param pdadto * @return */ @GetMapping("/getTaskRecord") - public AjaxResult getTaskRecord(int userId) { - return devicePDAService.getTaskRecord(userId); + public AjaxResult getTaskRecord(PDADTO pdadto) { + return devicePDAService.getTaskRecord(pdadto); } /** diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquPlanController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquPlanController.java index 6e4177a6e..026a10b6a 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquPlanController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquPlanController.java @@ -84,7 +84,7 @@ public class EquPlanController extends BaseController { * @param equEquipment * @return */ - @RequiresPermissions("device:plan:list") + @RequiresPermissions("device:inspectionPlan:list") @GetMapping("/getEquList") public TableDataInfo getEquList(EquEquipment equEquipment) { startPage(); @@ -95,7 +95,7 @@ public class EquPlanController extends BaseController { /** * 查询计划列表 */ - @RequiresPermissions("device:plan:list") + @RequiresPermissions("device:inspectionPlan:list") @GetMapping("/list") public TableDataInfo list(EquPlan equPlan) { startPage(); @@ -106,7 +106,7 @@ public class EquPlanController extends BaseController { /** * 导出计划列表 */ - @RequiresPermissions("device:plan:export") + @RequiresPermissions("device:inspectionPlan:export") @Log(title = "计划", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, EquPlan equPlan) { @@ -118,7 +118,7 @@ public class EquPlanController extends BaseController { /** * 获取计划详细信息 */ - @RequiresPermissions("device:plan:query") + @RequiresPermissions("device:inspectionPlan:query") @GetMapping(value = "/{planId}") public AjaxResult getInfo(@PathVariable("planId") String planId) { return success(equPlanService.selectEquPlanByPlanId(planId)); @@ -127,7 +127,7 @@ public class EquPlanController extends BaseController { /** * 新增计划 */ - @RequiresPermissions("device:plan:add") + @RequiresPermissions("device:inspectionPlan:add") @Log(title = "计划", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody EquPlan equPlan) { @@ -137,7 +137,7 @@ public class EquPlanController extends BaseController { /** * 修改计划 */ - @RequiresPermissions("device:plan:edit") + @RequiresPermissions("device:inspectionPlan:edit") @Log(title = "计划", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody EquPlan equPlan) { @@ -147,7 +147,7 @@ public class EquPlanController extends BaseController { /** * 删除计划 */ - @RequiresPermissions("device:plan:remove") + @RequiresPermissions("device:inspectionPlan:remove") @Log(title = "计划", businessType = BusinessType.DELETE) @DeleteMapping("/{planIds}") public AjaxResult remove(@PathVariable String[] planIds) { diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/dto/PDADTO.java b/op-modules/op-device/src/main/java/com/op/device/domain/dto/PDADTO.java new file mode 100644 index 000000000..591d88a67 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/dto/PDADTO.java @@ -0,0 +1,23 @@ +package com.op.device.domain.dto; + +// 手持传参dto +public class PDADTO { + private String userId; + private String planType; + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getPlanType() { + return planType; + } + + public void setPlanType(String planType) { + this.planType = planType; + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java index 23c57844f..2f4e54d28 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java @@ -4,6 +4,8 @@ import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; import com.op.device.domain.EquOrder; +import com.op.device.domain.dto.PDADTO; +import org.apache.ibatis.annotations.Param; /** * 计划工单Mapper接口 @@ -74,18 +76,13 @@ public interface EquOrderMapper { */ String selectCenterNameByCenterCode(String planWorkshop); - /** - * 获取今日巡检工单list - * @return - */ - List selectTodayTask(int userId); /** * 获取巡检记录 - * @param userId + * @param pdadto * @return */ - List selectTaskRecord(int userId); + List selectTaskRecord(PDADTO pdadto); /** * 通过id查询工单信息 @@ -107,4 +104,11 @@ public interface EquOrderMapper { */ @DS("#master") String changeLoopType(String planLoopType); + + /** + * 获取今日任务list + * @param pdadto + * @return + */ + List selectTodayTask(PDADTO pdadto); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java b/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java index b55238adc..ffe359e4a 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java @@ -2,6 +2,7 @@ package com.op.device.service; import com.op.common.core.web.domain.AjaxResult; import com.op.device.domain.*; +import com.op.device.domain.dto.PDADTO; /** * PDAService @@ -15,14 +16,14 @@ public interface IDevicePDAService { * 获取今日巡检任务工单list * @return */ - AjaxResult getTodayTask(int userId); + AjaxResult getTodayTask(PDADTO pdadto); /** * 获取巡检记录 - * @param userId + * @param pdadto * @return */ - AjaxResult getTaskRecord(int userId); + AjaxResult getTaskRecord(PDADTO pdadto); /** * 获取任务详情 diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java index f146cefb4..ec7ea9cf1 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java @@ -9,6 +9,7 @@ import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.utils.SecurityUtils; import com.op.device.domain.*; +import com.op.device.domain.dto.PDADTO; import com.op.device.mapper.*; import com.op.device.service.IDevicePDAService; import com.op.system.api.domain.SysUser; @@ -70,21 +71,21 @@ public class DevicePDAServiceImpl implements IDevicePDAService { */ @Override @DS("#header.poolName") - public AjaxResult getTodayTask(int userId) { - List orderList = equOrderMapper.selectTodayTask(userId); + public AjaxResult getTodayTask(PDADTO pdadto) { + List orderList = equOrderMapper.selectTodayTask(pdadto); return success(orderList); } /** * 获取巡检记录 * - * @param userId + * @param pdadto * @return */ @Override @DS("#header.poolName") - public AjaxResult getTaskRecord(int userId) { - List orderList = equOrderMapper.selectTaskRecord(userId); + public AjaxResult getTaskRecord(PDADTO pdadto) { + List orderList = equOrderMapper.selectTaskRecord(pdadto); return success(orderList); } @@ -150,6 +151,20 @@ public class DevicePDAServiceImpl implements IDevicePDAService { @DS("#header.poolName") public AjaxResult updateInspectionRecord(EquOrder equOrder) { + // 检验如果审核通过则不允许修改记录 + if (equOrder.getRepairCode() != null) { + if (!equOrder.getRepairCode().isEmpty()) { + EquRepairOrder repairOrder = equRepairOrderMapper.selectEquRepairOrderByRepairCode(equOrder.getRepairCode()); + if (repairOrder==null) { + return error(500,"未查询到报修单信息!"); + }else { + if (!repairOrder.getOrderStatus().equals("待审核")){ + return error(500,"报修单已审核,不可修改记录!"); + } + } + } + } + boolean hasError = false; EquOrderEqu equ = equOrder.getEqu(); @@ -180,13 +195,19 @@ public class DevicePDAServiceImpl implements IDevicePDAService { if (standard.getStandardType().equals("quantify")) { int up = standard.getActualValue().compareTo(standard.getDetailUpLimit()); int down = standard.getActualValue().compareTo(standard.getDetailDownLimit()); + standard.setDetailReach("1"); + standard.setErrorFlag("0"); if (!(up != 1 && down != -1)) { hasError = true; + standard.setErrorFlag("1"); + standard.setDetailReach("0"); } }else { // TODO 未达标 - if (standard.getDetailReach().equals("1")) { + standard.setErrorFlag("0"); + if (standard.getDetailReach().equals("0")) { hasError = true; + standard.setErrorFlag("1"); } } @@ -202,6 +223,10 @@ public class DevicePDAServiceImpl implements IDevicePDAService { equOrder.setUpdateBy(SecurityContextHolder.getUserName()); equOrder.setPlanPerson(SecurityContextHolder.getUserName()); equOrder.setPlanPerson(SecurityContextHolder.getUserName()); + if (equOrder.getTimeArray().size() > 0) { + equOrder.setOrderStart(equOrder.getTimeArray().get(0)); + equOrder.setOrderEnd(equOrder.getTimeArray().get(1)); + } boolean checkRepair = false; @@ -213,7 +238,8 @@ public class DevicePDAServiceImpl implements IDevicePDAService { } } - if (checkRepair && hasError) { + // 报修信息 + if (checkRepair && hasError ) { // 获取故障报修流水号 EquRepairOrder equRepairOrder = new EquRepairOrder(); String serialNum = String.format("%03d", equRepairOrderMapper.selectOrderCodeSerialNumber()); @@ -227,7 +253,6 @@ public class DevicePDAServiceImpl implements IDevicePDAService { equRepairOrder.setOrderId(IdUtils.fastSimpleUUID()); equRepairOrder.setCreateTime(DateUtils.getNowDate()); equRepairOrder.setCreateBy(SecurityUtils.getUsername()); - equRepairOrder.setOrderStatus("待审核"); // 报修来源 if (equOrder.getPlanType().equals("inspection")){ equRepairOrder.setOrderSource("巡检"); @@ -238,12 +263,23 @@ public class DevicePDAServiceImpl implements IDevicePDAService { if (equOrder.getPlanType().equals("maintenance")){ equRepairOrder.setOrderSource("保养"); } + equRepairOrder.setOrderStatus("待审核"); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String key = "#header.poolName"; equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); equRepairOrderMapper.insertEquRepairOrder(equRepairOrder); } + if (!hasError) { + // TODO 删除报修单 + if (equOrder.getRepairCode() != null) { + if (!equOrder.getRepairCode().isEmpty()) { + equRepairOrderMapper.deleteEquRepairOrderByRepairCode(equOrder.getRepairCode()); + equOrder.setRepairCode(""); + } + } + } + // 更新工单信息 equOrderMapper.updateEquOrder(equOrder); return success(); diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml index 2889a8019..de3106608 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml @@ -98,20 +98,6 @@ select top 1 workshop_name from base_equipment where del_flag = '0' and workshop_code = #{planWorkshop} - - - - + + + + insert into equ_order From 3262f842a36b37f0d01d3d1e7a59c4b2473b860f Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Sat, 11 Nov 2023 00:55:52 +0800 Subject: [PATCH 26/32] =?UTF-8?q?=E6=88=90=E5=93=81bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/system/api/RemoteDeviceService.java | 24 +++++++ .../op/system/api/domain/dto/BaseBomDTO.java | 9 +++ .../api/domain/mes/MesReportWorkDTO.java | 10 ++- .../factory/RemoteDeviceFallbackFactory.java | 33 +++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + .../core/constant/ServiceNameConstants.java | 5 ++ .../common/core/utils/poi/ExcelMapUtil.java | 48 ++++++++----- .../controller/DeviceTaskController.java | 43 ++++++++++++ .../java/com/op/device/domain/EquOrder.java | 9 +++ .../java/com/op/device/domain/EquPlan.java | 2 +- .../op/device/mapper/DeviceTaskMapper.java | 24 +++++++ .../com/op/device/mapper/EquOrderMapper.java | 21 ++++-- .../op/device/service/IDeviceTaskService.java | 16 +++++ .../service/impl/DeviceTaskServiceImpl.java | 69 +++++++++++++++++++ .../mapper/device/DeviceTaskMapper.xml | 33 +++++++++ .../src/main/java/com/op/job/task/RyTask.java | 10 +++ .../MesReportWorkConsumeController.java | 7 ++ .../controller/WCSInterfaceController.java | 17 ----- .../java/com/op/mes/domain/MesReportWork.java | 10 ++- .../mapper/MesReportWorkConsumeMapper.java | 3 + .../service/IMesReportWorkConsumeService.java | 2 + .../service/impl/IWCInterfaceServiceImpl.java | 24 +++---- .../impl/MesReportWorkConsumeServiceImpl.java | 13 +++- .../impl/MesReportWorkServiceImpl.java | 35 +++++----- .../mapper/mes/MesReportWorkConsumeMapper.xml | 14 +++- .../mapper/mes/MesReportWorkMapper.xml | 8 ++- .../op/open/service/impl/OpenServiceImpl.java | 36 +++++----- .../main/resources/mapper/open/OpenMapper.xml | 1 + .../plan/controller/ProOrderController.java | 58 +++++++++------- .../com/op/plan/domain/ProOrderWorkorder.java | 21 ++++-- .../com/op/plan/mapper/BaseProductMapper.java | 2 + .../com/op/plan/mapper/ProOrderMapper.java | 2 +- .../service/impl/ProOrderServiceImpl.java | 34 +++++++-- .../impl/ProOrderWorkorderServiceImpl.java | 6 +- .../impl/ProWhiteOrderServiceImpl.java | 6 +- .../resources/mapper/plan/ProOrderMapper.xml | 5 +- 36 files changed, 523 insertions(+), 138 deletions(-) create mode 100644 op-api/op-api-system/src/main/java/com/op/system/api/RemoteDeviceService.java create mode 100644 op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteDeviceFallbackFactory.java create mode 100644 op-modules/op-device/src/main/java/com/op/device/controller/DeviceTaskController.java create mode 100644 op-modules/op-device/src/main/java/com/op/device/mapper/DeviceTaskMapper.java create mode 100644 op-modules/op-device/src/main/java/com/op/device/service/IDeviceTaskService.java create mode 100644 op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java create mode 100644 op-modules/op-device/src/main/resources/mapper/device/DeviceTaskMapper.xml diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteDeviceService.java b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteDeviceService.java new file mode 100644 index 000000000..cbdf96f30 --- /dev/null +++ b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteDeviceService.java @@ -0,0 +1,24 @@ +package com.op.system.api; + +import com.op.common.core.constant.ServiceNameConstants; +import com.op.common.core.domain.R; +import com.op.system.api.factory.RemoteDeviceFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +import java.util.List; + +/** + * 用户服务 + * + * @author OP + */ +@FeignClient(contextId = "remoteDeviceService", value = ServiceNameConstants.DEVICE_SERVICE, fallbackFactory = RemoteDeviceFallbackFactory.class) + + + +public interface RemoteDeviceService { + + @PostMapping("/deviceTask/createSpotCheckPlanTask") + public R createSpotCheckPlanTask(); +} diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/BaseBomDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/BaseBomDTO.java index 82d3b7207..2f4ea9c69 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/BaseBomDTO.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/BaseBomDTO.java @@ -102,6 +102,15 @@ public class BaseBomDTO extends BaseEntity { private String productGroup; private String productGroupName; private String productCode; + private String workorderCode; + + public String getWorkorderCode() { + return workorderCode; + } + + public void setWorkorderCode(String workorderCode) { + this.workorderCode = workorderCode; + } public String getProductCode() { return productCode; diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/MesReportWorkDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/MesReportWorkDTO.java index af864d580..6f1ea8644 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/MesReportWorkDTO.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/MesReportWorkDTO.java @@ -52,7 +52,7 @@ public class MesReportWorkDTO extends BaseEntity { /** 排产数量 */ @Excel(name = "排产数量") private BigDecimal quantity; - + private BigDecimal quantitySplit; /** 本次报工数量 */ @Excel(name = "本次报工数量") private BigDecimal quantityFeedback; @@ -162,6 +162,14 @@ public class MesReportWorkDTO extends BaseEntity { private String feedbackTimeStart; private String feedbackTimeEnd; + public BigDecimal getQuantitySplit() { + return quantitySplit; + } + + public void setQuantitySplit(BigDecimal quantitySplit) { + this.quantitySplit = quantitySplit; + } + public String getFeedbackTimeStart() { return feedbackTimeStart; } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteDeviceFallbackFactory.java b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteDeviceFallbackFactory.java new file mode 100644 index 000000000..cdebef4b6 --- /dev/null +++ b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteDeviceFallbackFactory.java @@ -0,0 +1,33 @@ +package com.op.system.api.factory; + + +import com.op.common.core.domain.R; +import com.op.system.api.RemoteDeviceService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 用户服务降级处理 + * + * @author OP + */ +@Component +public class RemoteDeviceFallbackFactory implements FallbackFactory { + private static final Logger log = LoggerFactory.getLogger(RemoteDeviceFallbackFactory.class); + + @Override + public RemoteDeviceService create(Throwable throwable) { + log.error("Device服务调用失败:{}", throwable.getMessage()); + return new RemoteDeviceService() { + @Override + public R createSpotCheckPlanTask() { + return R.fail("点检计划创建失败:" + throwable.getMessage()); + } + }; + } +} + diff --git a/op-api/op-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/op-api/op-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index a44565e77..d8e2009be 100644 --- a/op-api/op-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/op-api/op-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -5,3 +5,4 @@ com.op.system.api.factory.RemoteMesFallbackFactory com.op.system.api.factory.RemotePlanFallbackFactory com.op.system.api.factory.RemoteTechnologyFallbackFactory com.op.system.api.factory.RemoteSapFallbackFactory +com.op.system.api.factory.RemoteDeviceFallbackFactory diff --git a/op-common/op-common-core/src/main/java/com/op/common/core/constant/ServiceNameConstants.java b/op-common/op-common-core/src/main/java/com/op/common/core/constant/ServiceNameConstants.java index 12e65b7af..6fa1d7dcc 100644 --- a/op-common/op-common-core/src/main/java/com/op/common/core/constant/ServiceNameConstants.java +++ b/op-common/op-common-core/src/main/java/com/op/common/core/constant/ServiceNameConstants.java @@ -43,4 +43,9 @@ public class ServiceNameConstants { * 工艺模块的serviceid */ public static final String TECH_SERVICE = "op-technology"; + + /** + * 设备模块的serviceid + */ + public static final String DEVICE_SERVICE = "op-device"; } diff --git a/op-common/op-common-core/src/main/java/com/op/common/core/utils/poi/ExcelMapUtil.java b/op-common/op-common-core/src/main/java/com/op/common/core/utils/poi/ExcelMapUtil.java index 62af95270..993912269 100644 --- a/op-common/op-common-core/src/main/java/com/op/common/core/utils/poi/ExcelMapUtil.java +++ b/op-common/op-common-core/src/main/java/com/op/common/core/utils/poi/ExcelMapUtil.java @@ -2,9 +2,11 @@ package com.op.common.core.utils.poi; import com.alibaba.fastjson2.JSONObject; import com.op.common.core.domain.ExcelCol; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.multipart.MultipartFile; @@ -53,37 +55,49 @@ public class ExcelMapUtil { //将data中的值填充到excel int rowNum = sheet.getLastRowNum()+1; - Iterator iterator = data.iterator(); - //遍历数据 - for (;iterator.hasNext();){ - Row dataRow = sheet.createRow(rowNum);//创建行 - T obj = iterator.next();//获取当前行对应的数据 - JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(obj)); - for (int i = 0 ; i < colSize ; i++ ){ - Cell dataCell = dataRow.createCell(i); - dataCell.setCellStyle(getDataFont(workbook)); - if(i>=2){ - dataCell.setCellValue(getValueNum(jsonObject.get(excelCol.get(i).getField()))); - }else{ - dataCell.setCellValue(getValue(jsonObject.get(excelCol.get(i).getField()))); - } + if(!CollectionUtils.isEmpty(data)){ + Iterator iterator = data.iterator(); + //遍历数据 + for (;iterator.hasNext();){ + Row dataRow = sheet.createRow(rowNum);//创建行 + T obj = iterator.next();//获取当前行对应的数据 + JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(obj)); + for (int i = 0 ; i < colSize ; i++ ){ + Cell dataCell = dataRow.createCell(i); + dataCell.setCellStyle(getDataFont(workbook)); + if(i>=2){ + dataCell.setCellValue(getValueNum(jsonObject.get(excelCol.get(i).getField()))); + }else{ + dataCell.setCellValue(getValue(jsonObject.get(excelCol.get(i).getField()))); + } + } + iterator.remove(); + rowNum++; } - iterator.remove(); - rowNum++; } + return workbook; } //标题样式 public static CellStyle getHeaderFont(Workbook workbook){ Font font = workbook.createFont(); - font.setFontHeightInPoints((short) 16);//字体大小 + font.setFontHeightInPoints((short) 15);//字体大小 font.setBold(true);//加粗 CellStyle cellStyle = workbook.createCellStyle(); cellStyle.setFont(font); cellStyle.setAlignment(HorizontalAlignment.CENTER_SELECTION);//设置水平居中 cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//设置垂直居中 + // 设置上边框 + cellStyle.setBorderTop(BorderStyle.THIN); + // 设置下边框 + cellStyle.setBorderBottom(BorderStyle.THIN); + // 设置左边框 + cellStyle.setBorderLeft(BorderStyle.THIN); + // 设置右边框 + cellStyle.setBorderRight(BorderStyle.THIN); + return cellStyle; } diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/DeviceTaskController.java b/op-modules/op-device/src/main/java/com/op/device/controller/DeviceTaskController.java new file mode 100644 index 000000000..33050ad05 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/controller/DeviceTaskController.java @@ -0,0 +1,43 @@ +package com.op.device.controller; + +import com.op.common.core.domain.R; +import com.op.common.core.web.domain.AjaxResult; +import com.op.device.domain.EquOrder; +import com.op.device.domain.EquPlan; +import com.op.device.domain.EquRepairOrder; +import com.op.device.domain.EquRepairWorkOrder; +import com.op.device.service.IDevicePDAService; +import com.op.device.service.IDeviceTaskService; +import com.op.device.service.IEquRepairOrderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * DeviceTaskController + * + * @author wws + * @date 2023-10-23 + */ +@RestController +@RequestMapping("/deviceTask") +public class DeviceTaskController { + + @Autowired + private IDeviceTaskService taskService; + + /** + * 点检计划生成 + * @return + */ + @PostMapping("/createSpotCheckPlanTask") + public R createSpotCheckPlanTask() { + EquPlan equPlan = new EquPlan(); + AjaxResult result = taskService.createSpotCheckPlanTask(equPlan); + if(result.isSuccess()){ + return R.ok("点检计划生成成功"); + } + return R.fail("点检计划生成失败"); + } + + +} diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java index 4bd9de6d1..1390c4d22 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java @@ -147,6 +147,15 @@ public class EquOrder extends BaseEntity { //维修单号 private String workCode; + private int days; + + public int getDays() { + return days; + } + + public void setDays(int days) { + this.days = days; + } public String getRepairCode() { return repairCode; diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java index 9b94d3304..5cb5a04bf 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java @@ -12,7 +12,7 @@ import com.op.common.core.web.domain.BaseEntity; /** * 计划对象 equ_plan - * + * * @author Open Platform * @date 2023-10-16 */ diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceTaskMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceTaskMapper.java new file mode 100644 index 000000000..b78756b2c --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceTaskMapper.java @@ -0,0 +1,24 @@ +package com.op.device.mapper; + +import com.op.common.core.domain.BaseFileData; +import com.op.device.domain.EquFile; +import com.op.device.domain.EquOrder; +import com.op.device.domain.EquPlan; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 附件Mapper接口 + * + * @author Open Platform + * @date 2023-07-10 + */ +@Mapper +public interface DeviceTaskMapper { + + List getPlans(EquPlan equPlan); + + EquOrder getNewTaskOrder(EquOrder equOrder); +} diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java index 2f4e54d28..0cb79b490 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java @@ -5,18 +5,20 @@ import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; import com.op.device.domain.EquOrder; import com.op.device.domain.dto.PDADTO; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; /** * 计划工单Mapper接口 - * + * * @author wws * @date 2023-10-23 */ +@Mapper public interface EquOrderMapper { /** * 查询计划工单 - * + * * @param orderCode 计划工单主键 * @return 计划工单 */ @@ -24,7 +26,7 @@ public interface EquOrderMapper { /** * 查询计划工单列表 - * + * * @param equOrder 计划工单 * @return 计划工单集合 */ @@ -32,7 +34,7 @@ public interface EquOrderMapper { /** * 新增计划工单 - * + * * @param equOrder 计划工单 * @return 结果 */ @@ -40,7 +42,7 @@ public interface EquOrderMapper { /** * 修改计划工单 - * + * * @param equOrder 计划工单 * @return 结果 */ @@ -48,7 +50,7 @@ public interface EquOrderMapper { /** * 删除计划工单 - * + * * @param orderId 计划工单主键 * @return 结果 */ @@ -56,7 +58,7 @@ public interface EquOrderMapper { /** * 批量删除计划工单 - * + * * @param orderIds 需要删除的数据主键集合 * @return 结果 */ @@ -76,6 +78,11 @@ public interface EquOrderMapper { */ String selectCenterNameByCenterCode(String planWorkshop); + /** + * 获取今日巡检工单list + * @return + */ + List selectTodayTask(int userId); /** * 获取巡检记录 diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IDeviceTaskService.java b/op-modules/op-device/src/main/java/com/op/device/service/IDeviceTaskService.java new file mode 100644 index 000000000..69e8e9fd8 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/service/IDeviceTaskService.java @@ -0,0 +1,16 @@ +package com.op.device.service; + +import com.op.common.core.domain.R; +import com.op.common.core.web.domain.AjaxResult; +import com.op.device.domain.EquPlan; + +/** + * TaskService + * + * @author wws + * @date 2023-10-23 + */ +public interface IDeviceTaskService { + + AjaxResult createSpotCheckPlanTask(EquPlan equPlan); +} diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java new file mode 100644 index 000000000..a4962019f --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java @@ -0,0 +1,69 @@ +package com.op.device.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.security.utils.SecurityUtils; +import com.op.device.domain.*; +import com.op.device.mapper.*; +import com.op.device.service.IDeviceTaskService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +import static com.op.common.core.web.domain.AjaxResult.error; +import static com.op.common.core.web.domain.AjaxResult.success; + +/** + * TaskService实现类 + * + * @author wws + * @date 2023-10-23 + */ +@Service +public class DeviceTaskServiceImpl implements IDeviceTaskService { + + @Autowired + private DeviceTaskMapper deviceTaskMapper; + + @Autowired + private EquOrderMapper equOrderMapper; + + /** + * 根据点检计划生成点检任务 + * **/ + @Override + @DS("#header.poolName") + public AjaxResult createSpotCheckPlanTask(EquPlan equPlan) { + /**equ_plan equ_plan_equ**/ + equPlan.setPlanType("spotInspection"); + List plans = deviceTaskMapper.getPlans(equPlan); + for(EquPlan plan:plans){ + if("day".equals(plan.getPlanLoopType())){ + EquOrder order = new EquOrder(); + order.setPlanType("spotInspection"); + EquOrder hasTask = deviceTaskMapper.getNewTaskOrder(order); + if(hasTask==null || Integer.parseInt(plan.getPlanLoop())<= hasTask.getDays()){ + //生成点检计划 + this.createSpotCheckPlan(plan); + } + } + } + + return success(); + } + + private int createSpotCheckPlan(EquPlan plan){ + /**equ_order**/ + EquOrder order = new EquOrder(); + BeanUtils.copyProperties(plan,order); + equOrderMapper.insertEquOrder(order); + /**equ_order_detail**/ + List details = new ArrayList<>(); + + return 0; + } +} diff --git a/op-modules/op-device/src/main/resources/mapper/device/DeviceTaskMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/DeviceTaskMapper.xml new file mode 100644 index 000000000..be468d21f --- /dev/null +++ b/op-modules/op-device/src/main/resources/mapper/device/DeviceTaskMapper.xml @@ -0,0 +1,33 @@ + + + + + + + diff --git a/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java b/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java index a1afab778..4a26c4cde 100644 --- a/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java +++ b/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java @@ -1,5 +1,6 @@ package com.op.job.task; +import com.op.system.api.RemoteDeviceService; import com.op.system.api.RemoteMesService; import com.op.system.api.RemotePlanService; import com.op.system.api.RemoteSapService; @@ -31,6 +32,9 @@ public class RyTask { @Autowired private RemotePlanService remotePlanService; + @Autowired + private RemoteDeviceService remoteDeviceService; + public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) { System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i)); } @@ -117,4 +121,10 @@ public class RyTask { logger.info("++数据库备份的数据+开始++dataBKTask+++++"); remoteMesService.dataBKTask(); } + + /**每日点检计划生成**/ + public void createSpotCheckPlanTask(){ + logger.info("++点检计划+开始++createSpotCheckPlanTask+++++"); + remoteDeviceService.createSpotCheckPlanTask(); + } } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java index d40096287..fc68b8da3 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java @@ -80,6 +80,13 @@ public class MesReportWorkConsumeController extends BaseController { return toAjax(mesReportWorkConsumeService.insertMesReportWorkConsume(mesReportWorkConsume)); } + @PostMapping("/addConsumes") + public AjaxResult addConsumes(@RequestBody List mesReportWorkConsumes) { + return toAjax(mesReportWorkConsumeService.insertMesReportWorkConsumes(mesReportWorkConsumes)); + } + + + /** * 修改生产报工物料消耗 */ diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java index 3b731e6ed..8dbc717d4 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java @@ -105,23 +105,6 @@ public class WCSInterfaceController extends BaseController { return success(wCInterfaceService.getMesBoardEquProductionToday(boardDTO)); } - /**上位机报工**/ - @PostMapping("/reportWork") - public AjaxResult reportWork(@RequestBody MesReportWork mesReportWork) { - if(StringUtils.isBlank(mesReportWork.getFactoryCode())){ - return error("[factoryCode] is null"); - } - if(StringUtils.isBlank(mesReportWork.getReportCode())){ - return error("[reportCode] is null"); - } - - if(mesReportWork.getFactoryCode().indexOf("ds")<0){ - mesReportWork.setFactoryCode("ds_"+mesReportWork.getFactoryCode()); - } - - return success(wCInterfaceService.reportWork(mesReportWork)); - } - /************************************************************/ /****************************数据库清理************************/ /************************************************************/ 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 0f9e9ade1..f96f4b222 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 @@ -51,7 +51,7 @@ public class MesReportWork extends BaseEntity { /** 排产数量 */ @Excel(name = "排产数量") private BigDecimal quantity; - + private BigDecimal quantitySplit; /** 本次报工数量 */ @Excel(name = "本次报工数量") private BigDecimal quantityFeedback; @@ -161,6 +161,14 @@ public class MesReportWork extends BaseEntity { private String feedbackTimeStart; private String feedbackTimeEnd; + public BigDecimal getQuantitySplit() { + return quantitySplit; + } + + public void setQuantitySplit(BigDecimal quantitySplit) { + this.quantitySplit = quantitySplit; + } + public String getFeedbackTimeStart() { return feedbackTimeStart; } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java index befe9fda6..4a8e3e988 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java @@ -5,6 +5,7 @@ import java.util.List; import com.op.mes.domain.MesReportWorkConsume; import com.op.system.api.domain.dto.BaseBomDTO; import com.op.system.api.domain.mes.BaseTeamTDTO; +import org.apache.ibatis.annotations.Param; /** * 生产报工物料消耗Mapper接口 @@ -66,4 +67,6 @@ public interface MesReportWorkConsumeMapper { List getMesListBom(BaseBomDTO dto); List getTeamList(BaseTeamTDTO dto); + + int insertMesReportWorkConsumes(@Param("list") List mesReportWorkConsumes); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java index ba8fd9d61..adcf46e47 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java @@ -72,4 +72,6 @@ public interface IMesReportWorkConsumeService { public List getMesListBom(BaseBomDTO dto); public List getTeamList(BaseTeamTDTO dto); + + int insertMesReportWorkConsumes(List mesReportWorkConsumes); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java index 6ee2091d1..1ee927248 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java @@ -319,8 +319,8 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { mesReportWorkMapper.updateSyncSapStatus(work); //工单完成数量>工单数量:关闭订单 MesReportWork proResult = mesReportWorkMapper.getProdResult(work); - ProOrderWorkorder topOrder = this.getTopOrder(work.getWorkorderCode()); - if(proResult.getQuantityFeedback().compareTo(new BigDecimal(topOrder.getQuantitySplit()))>=0){ + //ProOrderWorkorder topOrder = this.getTopOrder(work.getWorkorderCode()); + if(proResult.getQuantityFeedback().compareTo(work.getQuantitySplit())>=0){ //工单完成,关闭工单 remoteSapService.sapCloseOrder(work.getWorkorderCodeSap()); work.setStatus("w3"); @@ -331,16 +331,16 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { return R.ok(); } - //根据工单子单编码获取最顶级订单的母单 - private ProOrderWorkorder getTopOrder(String workorderCode) { - //pro_order_workorder - ProOrderWorkorder topOrder = mesReportWorkMapper.getOrderByCode(workorderCode); - while (!"0".equals(topOrder.getParentOrder()) && StringUtils.isNotEmpty(topOrder.getParentOrder())) { - //pro_order_workorder - topOrder = mesReportWorkMapper.getOrderByCode(topOrder.getParentOrder()); - } - return topOrder; - } +// //根据工单子单编码获取最顶级订单的母单 +// private ProOrderWorkorder getTopOrder(String workorderCode) { +// //pro_order_workorder +// ProOrderWorkorder topOrder = mesReportWorkMapper.getOrderByCode(workorderCode); +// while (!"0".equals(topOrder.getParentOrder()) && StringUtils.isNotEmpty(topOrder.getParentOrder())) { +// //pro_order_workorder +// topOrder = mesReportWorkMapper.getOrderByCode(topOrder.getParentOrder()); +// } +// return topOrder; +// } public void dateBKFunc(String poolName,List tables){ diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java index 449590259..9549454e6 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java @@ -75,6 +75,18 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer return mesReportWorkConsumeMapper.insertMesReportWorkConsume(mesReportWorkConsume); } + + @Override + @DS("#header.poolName") + public int insertMesReportWorkConsumes(List mesReportWorkConsumes) { + for(MesReportWorkConsume mesReportWorkConsume:mesReportWorkConsumes){ + mesReportWorkConsume.setRecordId(IdUtils.fastSimpleUUID()); + mesReportWorkConsume.setCreateTime(DateUtils.getNowDate()); + } + + return mesReportWorkConsumeMapper.insertMesReportWorkConsumes(mesReportWorkConsumes); + } + /** * 修改生产报工物料消耗 * @@ -123,5 +135,4 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer return mesReportWorkConsumeMapper.getTeamList(dto); } - } 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 0a9a4707d..586c82c8b 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 @@ -63,9 +63,9 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { public List selectMesReportWorkList(MesReportWork mesReportWork) { List dtos = mesReportWorkMapper.selectMesReportWorkList(mesReportWork); for(MesReportWork dto:dtos){ - ProOrderWorkorder topOrder = this.getTopOrder(dto.getWorkorderCode()); - dto.setQuantity(new BigDecimal(topOrder.getQuantitySplit())); - dto.setUnit(topOrder.getUnit()); +// ProOrderWorkorder topOrder = this.getTopOrder(dto.getWorkorderCode()); +// dto.setQuantity(new BigDecimal(topOrder.getQuantitySplit())); +// dto.setUnit(topOrder.getUnit()); if("1".equals(dto.getUploadStatus())){ dto.setUploadStatus("sap报工成功"); }else if("2".equals(dto.getUploadStatus())){ @@ -78,16 +78,16 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { return dtos; } - //根据工单子单编码获取最顶级订单的母单 - private ProOrderWorkorder getTopOrder(String workorderCode) { - //pro_order_workorder - ProOrderWorkorder topOrder = mesReportWorkMapper.getOrderByCode(workorderCode); - while (!"0".equals(topOrder.getParentOrder()) && StringUtils.isNotEmpty(topOrder.getParentOrder())) { - //pro_order_workorder - topOrder = mesReportWorkMapper.getOrderByCode(topOrder.getParentOrder()); - } - return topOrder; - } +// //根据工单子单编码获取最顶级订单的母单 +// private ProOrderWorkorder getTopOrder(String workorderCode) { +// //pro_order_workorder +// ProOrderWorkorder topOrder = mesReportWorkMapper.getOrderByCode(workorderCode); +// while (!"0".equals(topOrder.getParentOrder()) && StringUtils.isNotEmpty(topOrder.getParentOrder())) { +// //pro_order_workorder +// topOrder = mesReportWorkMapper.getOrderByCode(topOrder.getParentOrder()); +// } +// return topOrder; +// } /** * 新增报工报表 @@ -370,6 +370,7 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { @Override @DS("#header.poolName") public List getMesListWorkOrder(ProOrderWorkorderDTO proOrderWorkorderDTO) { + //母单 List dtos = mesReportWorkMapper.getMesListWorkOrder(proOrderWorkorderDTO); for(ProOrderWorkorderDTO dto:dtos){ StringBuilder prodLineName = new StringBuilder(""); @@ -387,10 +388,10 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { } dto.setProdLineCode(prodLineName.toString()); - //把母单的排产数量搞出来 - ProOrderWorkorder topOrder = this.getTopOrder(dto.getWorkorderCode()); - dto.setQuantitySplit(topOrder.getQuantitySplit()); - dto.setUnit(topOrder.getUnit()); +// //把母单的排产数量搞出来 +// ProOrderWorkorder topOrder = this.getTopOrder(dto.getWorkorderCode()); +// dto.setQuantitySplit(topOrder.getQuantitySplit()); +// dto.setUnit(topOrder.getUnit()); } return dtos; } diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml index 57853cf05..2d3b3e14b 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml @@ -68,8 +68,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bp.product_group_name productGroupName from base_bom_component bbc left join base_product bp on SUBSTRING(bp.product_code, 8, 12) = bbc.component + left join mes_report_work_consume wc on wc.material_code = bbc.component and wc.workorder_code = #{workorderCode} where bbc.product_code = SUBSTRING(#{productCode}, 8, 12) - and bp.del_flag = '0' + and bp.del_flag = '0' and wc.material_code is null and bbc.component like concat('%', #{component}, '%') bp.product_desc_zh like concat('%', #{componentName}, '%') and bp.product_group like concat('%', #{productGroup}, '%') @@ -125,6 +126,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{factoryCode}, + + insert into mes_report_work_consume + (record_id, workorder_code, material_code, material_name, material_spc, + quantity, unit,create_by, create_time,report_code) + VALUES + + (#{item.recordId},#{item.workorderCode},#{item.materialCode},#{item.materialName},#{item.materialSpc}, + #{item.quantity},#{item.unit},#{item.createBy},#{item.createTime},#{item.reportCode}) + + + update mes_report_work_consume 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 3c14d59ad..dc72daf7a 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 @@ -95,7 +95,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mrw.feedback_time, mrw.record_user, mrw.status, mrw.remark, mrw.work_time, mrw.machine_code, mrw.machine_name, mrw.team_code, mrw.shift_code, mrw.create_by, mrw.create_time,mrw.upload_time,mrw.upload_status,mrw.upload_msg, - pow.order_code + pow.order_code,pow.quantity_split from mes_report_work mrw left join pro_order_workorder pow on mrw.workorder_code = pow.workorder_code @@ -211,10 +211,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and #{productDateEnd} >= CONVERT(varchar(10),mrw.feedback_time, 120) - + SELECT powb.batch_code batchCode, + powb.batch_quantity batchQuantity FROM pro_order_workorder_batch powb LEFT JOIN pro_order_workorder pow ON powb.workorder_id = pow.workorder_id From 4f2b0c6e01f4ba43b8794c73ecb9051a96a23c87 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 13 Nov 2023 13:47:16 +0800 Subject: [PATCH 27/32] =?UTF-8?q?=E6=88=90=E5=93=81bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/op/device/domain/EquPlan.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java index 5cb5a04bf..f2c9f5edf 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java @@ -143,6 +143,15 @@ public class EquPlan extends BaseEntity { // 是否停机保养 private String shutDown; + private String planEquCode; + + public String getPlanEquCode() { + return planEquCode; + } + + public void setPlanEquCode(String planEquCode) { + this.planEquCode = planEquCode; + } public String getUpkeep() { return upkeep; From 8874da06bcdc739b992d691a3b856fb1ec886403 Mon Sep 17 00:00:00 2001 From: wws <18630710203@163.com> Date: Mon, 13 Nov 2023 13:47:59 +0800 Subject: [PATCH 28/32] =?UTF-8?q?=E5=A4=87=E4=BB=B6=E4=BF=A1=E6=81=AF-?= =?UTF-8?q?=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/op/device/domain/EquPlanEquSpare.java | 10 ++++++++++ .../com/op/device/mapper/SparePartsLedgerMapper.java | 9 +++++++++ .../com/op/device/service/impl/EquPlanServiceImpl.java | 9 +++++++++ .../resources/mapper/device/SparePartsLedgerMapper.xml | 6 +++++- 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquPlanEquSpare.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquPlanEquSpare.java index a222e0ada..f53e4e8db 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquPlanEquSpare.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquPlanEquSpare.java @@ -65,6 +65,16 @@ public class EquPlanEquSpare extends BaseEntity { /** 删除标识 */ private String delFlag; + private BigDecimal amount; + + public BigDecimal getAmount() { + return amount; + } + + public void setAmount(BigDecimal amount) { + this.amount = amount; + } + public void setId(String id) { this.id = id; } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/SparePartsLedgerMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/SparePartsLedgerMapper.java index 01568182d..70d7de075 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/SparePartsLedgerMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/SparePartsLedgerMapper.java @@ -1,5 +1,6 @@ package com.op.device.mapper; +import java.math.BigDecimal; import java.util.List; import com.op.device.domain.SparePartsLedger; @@ -58,4 +59,12 @@ public interface SparePartsLedgerMapper { * @return 结果 */ public int deleteSparePartsLedgerByStorageIds(String[] storageIds); + + /** + * 通过备件编码获取备件真实库存(总数量-冻结数量) + * @param materialCode + * @return + */ + BigDecimal selectRealAmountByMaterialCode(String materialCode); + } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java index 3ec0f2e78..850cb8f01 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java @@ -1,5 +1,6 @@ package com.op.device.service.impl; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -53,6 +54,9 @@ public class EquPlanServiceImpl implements IEquPlanService { private EquPlanEquMapper equPlanEquMapper; @Autowired private EquPlanEquSpareMapper equPlanEquSpareMapper; + // 备件mapper + @Autowired + private SparePartsLedgerMapper sparePartsLedgerMapper; /** * 查询计划 @@ -362,8 +366,13 @@ public class EquPlanServiceImpl implements IEquPlanService { EquPlanEquSpare spare = new EquPlanEquSpare(); spare.setParentCode(equipment.getCode()); + // 备件信息 List spareList = equPlanEquSpareMapper.selectEquPlanEquSpareList(spare); if (spareList.size() > 0) { + for (EquPlanEquSpare equSpare : spareList) { + // 通过备件编码查询备件库存信息(总量-冻结) + equSpare.setAmount(sparePartsLedgerMapper.selectRealAmountByMaterialCode(equSpare.getMaterialCode())); + } equipment.setSpareList(spareList); } diff --git a/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml index 08d5b972e..336af1e00 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml @@ -123,7 +123,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and del_flag = '0' and storage_tpye = 'SP' - + + + insert into wms_ods_mate_storage_news From 6e236cb58dbc8075e1b2a09e594b25caa75f28f5 Mon Sep 17 00:00:00 2001 From: wws <18630710203@163.com> Date: Mon, 13 Nov 2023 15:24:02 +0800 Subject: [PATCH 29/32] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=A0=87=E5=87=86code?= =?UTF-8?q?=E3=80=81=E5=A4=87=E4=BB=B6code=E5=AD=97=E6=AE=B5=E3=80=81?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91=E5=8F=98?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/op/device/domain/EquOrder.java | 10 +++ .../service/impl/DevicePDAServiceImpl.java | 2 +- .../service/impl/EquOrderServiceImpl.java | 84 ++++++++++--------- .../service/impl/EquPlanServiceImpl.java | 4 - .../impl/EquUpkeepOrderServiceImpl.java | 3 - .../service/impl/EquUpkeepServiceImpl.java | 5 -- .../impl/InspectionWorkServiceImpl.java | 4 +- .../mapper/device/EquOrderMapper.xml | 9 +- 8 files changed, 67 insertions(+), 54 deletions(-) diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java index 1390c4d22..f8cbc97ad 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java @@ -149,6 +149,16 @@ public class EquOrder extends BaseEntity { private String workCode; private int days; + private String equipmentName; + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + public int getDays() { return days; } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java index ec7ea9cf1..418cab094 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java @@ -243,7 +243,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService { // 获取故障报修流水号 EquRepairOrder equRepairOrder = new EquRepairOrder(); String serialNum = String.format("%03d", equRepairOrderMapper.selectOrderCodeSerialNumber()); - String equipmentCode = equOrder.getEquipmentCode(); + String equipmentCode = equOrder.getEqu().getEquipmentCode(); //报修单号 equRepairOrder.setOrderCode("BX"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + equipmentCode + serialNum); //在主表中存入报修单号信息 diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java index 9d87fa5b3..77ceb6140 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java @@ -82,7 +82,7 @@ public class EquOrderServiceImpl implements IEquOrderService { equ.setDetailList(detailList); List spareList = equOrderEquSpareMapper.selectEquOrderEquSpareByParentCode(equ.getCode()); - if (spareList.size()>0) { + if (spareList.size() > 0) { equ.setSpareList(spareList); } @@ -111,7 +111,13 @@ public class EquOrderServiceImpl implements IEquOrderService { @Override @DS("#header.poolName") public List selectEquOrderList(EquOrder equOrder) { - return equOrderMapper.selectEquOrderList(equOrder); + List orderList = equOrderMapper.selectEquOrderList(equOrder); + for (EquOrder order : orderList) { + EquOrderEqu equ = equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderCode()); + order.setEquipmentCode(equ.getEquipmentCode()); + order.setEquipmentName(equ.getEquipmentName()); + } + return orderList; } /** @@ -141,11 +147,11 @@ public class EquOrderServiceImpl implements IEquOrderService { if (equOrder.getRepairCode() != null) { if (!equOrder.getRepairCode().isEmpty()) { EquRepairOrder repairOrder = equRepairOrderMapper.selectEquRepairOrderByRepairCode(equOrder.getRepairCode()); - if (repairOrder==null) { - return error(500,"未查询到报修单信息!"); - }else { - if (!repairOrder.getOrderStatus().equals("待审核")){ - return error(500,"报修单已审核,不可修改记录!"); + if (repairOrder == null) { + return error(500, "未查询到报修单信息!"); + } else { + if (!repairOrder.getOrderStatus().equals("待审核")) { + return error(500, "报修单已审核,不可修改记录!"); } } } @@ -188,7 +194,7 @@ public class EquOrderServiceImpl implements IEquOrderService { standard.setErrorFlag("1"); standard.setDetailReach("0"); } - }else { + } else { // TODO 未达标 standard.setErrorFlag("0"); if (standard.getDetailReach().equals("0")) { @@ -216,44 +222,44 @@ public class EquOrderServiceImpl implements IEquOrderService { boolean checkRepair = false; - if (equOrder.getRepairCode() == null){ + if (equOrder.getRepairCode() == null) { checkRepair = true; - }else { - if (equOrder.getRepairCode().isEmpty()){ + } else { + if (equOrder.getRepairCode().isEmpty()) { checkRepair = true; } } // 报修信息 - if (checkRepair && hasError ) { - // 获取故障报修流水号 - EquRepairOrder equRepairOrder = new EquRepairOrder(); - String serialNum = String.format("%03d", equRepairOrderMapper.selectOrderCodeSerialNumber()); - String equipmentCode = equOrder.getEquipmentCode(); - //报修单号 - equRepairOrder.setOrderCode("BX"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + equipmentCode + serialNum); - //在主表中存入报修单号信息 - equOrder.setRepairCode(equRepairOrder.getOrderCode()); + if (checkRepair && hasError) { + // 获取故障报修流水号 + EquRepairOrder equRepairOrder = new EquRepairOrder(); + String serialNum = String.format("%03d", equRepairOrderMapper.selectOrderCodeSerialNumber()); + String equipmentCode = equOrder.getEqu().getEquipmentCode(); + //报修单号 + equRepairOrder.setOrderCode("BX" + DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + equipmentCode + serialNum); + //在主表中存入报修单号信息 + equOrder.setRepairCode(equRepairOrder.getOrderCode()); - //新增报修记录 - equRepairOrder.setOrderId(IdUtils.fastSimpleUUID()); - equRepairOrder.setCreateTime(DateUtils.getNowDate()); - equRepairOrder.setCreateBy(SecurityUtils.getUsername()); - // 报修来源 - if (equOrder.getPlanType().equals("inspection")){ - equRepairOrder.setOrderSource("巡检"); - } - if (equOrder.getPlanType().equals("spotInspection")){ - equRepairOrder.setOrderSource("点检"); - } - if (equOrder.getPlanType().equals("maintenance")){ - equRepairOrder.setOrderSource("保养"); - } - equRepairOrder.setOrderStatus("待审核"); - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - String key = "#header.poolName"; - equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); - equRepairOrderMapper.insertEquRepairOrder(equRepairOrder); + //新增报修记录 + equRepairOrder.setOrderId(IdUtils.fastSimpleUUID()); + equRepairOrder.setCreateTime(DateUtils.getNowDate()); + equRepairOrder.setCreateBy(SecurityUtils.getUsername()); + // 报修来源 + if (equOrder.getPlanType().equals("inspection")) { + equRepairOrder.setOrderSource("巡检"); + } + if (equOrder.getPlanType().equals("spotInspection")) { + equRepairOrder.setOrderSource("点检"); + } + if (equOrder.getPlanType().equals("maintenance")) { + equRepairOrder.setOrderSource("保养"); + } + equRepairOrder.setOrderStatus("待审核"); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", "")); + equRepairOrderMapper.insertEquRepairOrder(equRepairOrder); } if (!hasError) { diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java index 850cb8f01..94bdcfe9d 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java @@ -448,9 +448,6 @@ public class EquPlanServiceImpl implements IEquPlanService { // 处理标准 List standardList = item.getEquPlanStandardList(); - // 检查项详情流水号 - int detailCodeTemp = 0; - // 判断是否插入检查项 boolean checkInsert = false; @@ -463,7 +460,6 @@ public class EquPlanServiceImpl implements IEquPlanService { standard.setId(IdUtils.fastSimpleUUID()); standard.setParentCode(item.getCode()); standard.setPlanCode(equPlan.getPlanCode()); - standard.setCode("D" + item.getCode() + String.format("%02d", ++detailCodeTemp)); standard.setCreateBy(SecurityContextHolder.getUserName()); standard.setCreateTime(DateUtils.getNowDate()); standard.setUpdateBy(SecurityContextHolder.getUserName()); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java index 62c92cb85..4c904715c 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java @@ -127,7 +127,6 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { EquOrderEquSpare spareTemp = new EquOrderEquSpare(); BeanUtils.copyProperties(spare,spareTemp); spareTemp.setId(IdUtils.fastSimpleUUID()); - spareTemp.setCode("S"+equOrder.getOrderCode()+String.format("%03d",++spareSerialNum)); spareTemp.setOrderCode(equOrder.getOrderCode()); spareTemp.setParentCode(equ.getCode()); spareTemp.setFactoryCode(factory); @@ -163,12 +162,10 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { // 插入检查项信息 equOrderDetailMapper.insertEquOrderDetail(equOrderDetail); - int standardSerialNum = 0; for (EquPlanStandard standard : standardList) { EquOrderStandard orderStandard = new EquOrderStandard(); BeanUtils.copyProperties(standard,orderStandard); orderStandard.setId(IdUtils.fastSimpleUUID()); - orderStandard.setCode("S"+equOrder.getOrderCode()+String.format("%03d",++standardSerialNum)); orderStandard.setParentCode(equOrderDetail.getCode()); orderStandard.setOrderCode(equOrder.getOrderCode()); orderStandard.setCreateBy(SecurityContextHolder.getUserName()); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java index 090c41eaa..92528f17a 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java @@ -275,9 +275,6 @@ public class EquUpkeepServiceImpl implements IEquUpkeepService { // 处理标准 List standardList = item.getEquPlanStandardList(); - // 检查项详情流水号 - int detailCodeTemp = 0; - // 判断是否插入检查项 boolean checkInsert = false; @@ -290,7 +287,6 @@ public class EquUpkeepServiceImpl implements IEquUpkeepService { standard.setId(IdUtils.fastSimpleUUID()); standard.setParentCode(item.getCode()); standard.setPlanCode(equPlan.getPlanCode()); - standard.setCode("D" + item.getCode() + String.format("%02d", ++detailCodeTemp)); standard.setCreateBy(SecurityContextHolder.getUserName()); standard.setCreateTime(DateUtils.getNowDate()); standard.setUpdateBy(SecurityContextHolder.getUserName()); @@ -321,7 +317,6 @@ public class EquUpkeepServiceImpl implements IEquUpkeepService { if (spareList != null) { for (EquPlanEquSpare spare : spareList) { spare.setId(IdUtils.fastSimpleUUID()); - spare.setCode("S" + equPlan.getPlanCode() + String.format("%02d", ++spareCodeTemp)); spare.setPlanCode(equPlan.getPlanCode()); spare.setParentCode(equipment.getCode()); spare.setFactoryCode(factory); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java index 1c2279e69..be809e0a2 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java @@ -35,6 +35,8 @@ public class InspectionWorkServiceImpl implements IInspectionWorkService { private EquPlanMapper equPlanMapper; @Autowired private EquOrderEquSpareMapper equOrderEquSpareMapper; + @Autowired + private EquOrderEquMapper equOrderEquMapper; /** * 查询巡检记录 @@ -60,7 +62,7 @@ public class InspectionWorkServiceImpl implements IInspectionWorkService { // 替换循环周期 order.setPlanLoopType(equOrderMapper.changeLoopType(order.getPlanLoopType())); - Equipment equipment = equipmentMapper.selectEquipmentByEquipmentCode(order.getEquipmentCode()); + Equipment equipment = equipmentMapper.selectEquipmentByEquipmentCode(equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderCode()).getEquipmentCode()); // 查询检查项、标准 List detailList = equOrderDetailMapper.selectEquOrderDetailByOrderCode(order.getOrderCode()); diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml index de3106608..9ac2d48bf 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml @@ -60,7 +60,6 @@ and plan_loop_end = #{planLoopEnd} and order_start = #{orderStart} and order_end = #{orderEnd} - and equipment_code = #{equipmentCode} and order_status = #{orderStatus} and order_cost = #{orderCost} and plan_person like concat('%', #{planPerson}, '%') @@ -82,6 +81,14 @@ and repair_code = #{repairCode} and work_code = #{workCode} and del_flag = '0' + + and order_code in ( + select order_code from equ_order_equ + where equ_order.order_code = equ_order_equ.order_code + and equ_order_equ.equipment_code like concat('%', #{equipmentCode}, '%') + and equ_order_equ.equipment_name like concat('%', #{equipmentName}, '%') + ) + From 5ff08114f2f23a20e5aa912d37e9306a7f40d820 Mon Sep 17 00:00:00 2001 From: wws <18630710203@163.com> Date: Mon, 13 Nov 2023 17:03:50 +0800 Subject: [PATCH 30/32] =?UTF-8?q?=E8=AE=A1=E5=88=92=E6=96=B0=E5=A2=9E-pare?= =?UTF-8?q?ntCode=E5=AD=98=E6=94=BE=E4=B8=8A=E7=BA=A7id=EF=BC=88=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=9F=A5=E8=AF=A2=E6=9C=AA=E5=AE=8C=E5=96=84=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/device/service/impl/EquPlanServiceImpl.java | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java index 94bdcfe9d..815c8ce8d 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java @@ -413,14 +413,10 @@ public class EquPlanServiceImpl implements IEquPlanService { // 处理计划1-n设备信息 List equipmentItemList = equPlan.getEquipmentItem(); - // 计划-设备流水号 - int equipmentCodeTemp = 0; - for (EquPlanEqu equipment : equipmentItemList) { equipment.setId(IdUtils.fastSimpleUUID()); equipment.setPlanCode(equPlan.getPlanCode()); - equipment.setCode("E" + equPlan.getPlanCode() + String.format("%02d", ++equipmentCodeTemp)); - equipment.setParentCode(equPlan.getPlanCode()); + equipment.setParentCode(equPlan.getPlanId()); equipment.setFactoryCode(factory); equipment.setCreateBy(SecurityContextHolder.getUserName()); equipment.setCreateTime(DateUtils.getNowDate()); @@ -430,16 +426,13 @@ public class EquPlanServiceImpl implements IEquPlanService { // 处理检查项信息 List detailList = equipment.getEquPlanDetailList(); if (detailList != null) { - // 计划检查项流水号 - int itemCodeTemp = 0; for (EquPlanDetail item : detailList) { if (item != null) { item.setId(IdUtils.fastSimpleUUID()); item.setPlanCode(equPlan.getPlanCode()); - item.setCode("C" + equipment.getCode() + String.format("%02d", ++itemCodeTemp)); - item.setParentCode(equipment.getCode()); + item.setParentCode(equipment.getId()); item.setCreateBy(SecurityContextHolder.getUserName()); item.setCreateTime(DateUtils.getNowDate()); item.setUpdateBy(SecurityContextHolder.getUserName()); @@ -458,7 +451,7 @@ public class EquPlanServiceImpl implements IEquPlanService { checkInsert = true; standard.setId(IdUtils.fastSimpleUUID()); - standard.setParentCode(item.getCode()); + standard.setParentCode(item.getId()); standard.setPlanCode(equPlan.getPlanCode()); standard.setCreateBy(SecurityContextHolder.getUserName()); standard.setCreateTime(DateUtils.getNowDate()); From 5bf82796170a2cc1ddfc5543e97f5a617bf0c4a9 Mon Sep 17 00:00:00 2001 From: wws <18630710203@163.com> Date: Tue, 14 Nov 2023 09:43:46 +0800 Subject: [PATCH 31/32] =?UTF-8?q?=E8=AE=A1=E5=88=92=E6=96=B0=E5=A2=9E-pare?= =?UTF-8?q?ntCode=E5=AD=98=E6=94=BE=E4=B8=8A=E7=BA=A7id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/service/impl/DevicePDAServiceImpl.java | 6 +++--- .../op/device/service/impl/EquOrderServiceImpl.java | 10 +++++----- .../op/device/service/impl/EquPlanServiceImpl.java | 6 +++--- .../service/impl/EquUpkeepOrderServiceImpl.java | 13 ++++--------- .../device/service/impl/EquUpkeepServiceImpl.java | 8 ++++---- .../service/impl/InspectionWorkServiceImpl.java | 4 ++-- .../mapper/device/EquOrderStandardMapper.xml | 7 +------ 7 files changed, 22 insertions(+), 32 deletions(-) diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java index 418cab094..37d7f0a8f 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java @@ -116,11 +116,11 @@ public class DevicePDAServiceImpl implements IDevicePDAService { order.setWorkCenterName(equOrderMapper.selectCenterNameByCenterCode(order.getPlanWorkshop())); - EquOrderEqu equ = equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderCode()); + EquOrderEqu equ = equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderId()); - List detailList = equOrderDetailMapper.selectEquOrderDetailByParentCode(equ.getCode()); + List detailList = equOrderDetailMapper.selectEquOrderDetailByParentCode(equ.getId()); for (EquOrderDetail detail : detailList) { - List standardList = equOrderStandardMapper.selectEquOrderStandardByParentCode(detail.getCode()); + List standardList = equOrderStandardMapper.selectEquOrderStandardByParentCode(detail.getId()); detail.setStandardList(standardList); } equ.setDetailList(detailList); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java index 77ceb6140..8ee805c8e 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java @@ -72,16 +72,16 @@ public class EquOrderServiceImpl implements IEquOrderService { order.setWorkCenterName(equOrderMapper.selectCenterNameByCenterCode(order.getPlanWorkshop())); - EquOrderEqu equ = equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderCode()); + EquOrderEqu equ = equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderId()); - List detailList = equOrderDetailMapper.selectEquOrderDetailByParentCode(equ.getCode()); + List detailList = equOrderDetailMapper.selectEquOrderDetailByParentCode(equ.getId()); for (EquOrderDetail detail : detailList) { - List standardList = equOrderStandardMapper.selectEquOrderStandardByParentCode(detail.getCode()); + List standardList = equOrderStandardMapper.selectEquOrderStandardByParentCode(detail.getId()); detail.setStandardList(standardList); } equ.setDetailList(detailList); - List spareList = equOrderEquSpareMapper.selectEquOrderEquSpareByParentCode(equ.getCode()); + List spareList = equOrderEquSpareMapper.selectEquOrderEquSpareByParentCode(equ.getId()); if (spareList.size() > 0) { equ.setSpareList(spareList); } @@ -113,7 +113,7 @@ public class EquOrderServiceImpl implements IEquOrderService { public List selectEquOrderList(EquOrder equOrder) { List orderList = equOrderMapper.selectEquOrderList(equOrder); for (EquOrder order : orderList) { - EquOrderEqu equ = equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderCode()); + EquOrderEqu equ = equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderId()); order.setEquipmentCode(equ.getEquipmentCode()); order.setEquipmentName(equ.getEquipmentName()); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java index 815c8ce8d..a42b3e812 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java @@ -349,10 +349,10 @@ public class EquPlanServiceImpl implements IEquPlanService { for (EquPlanEqu equipment : equipmentList) { // 获取检查项list - List detailList = equPlanDetailMapper.selectEquPlanDetailListByParentCode(equipment.getCode()); + List detailList = equPlanDetailMapper.selectEquPlanDetailListByParentCode(equipment.getId()); for (EquPlanDetail detail : detailList) { // 获取标准list - List standardList = equPlanStandardMapper.selectEquPlanStandardListByParentCode(detail.getCode()); + List standardList = equPlanStandardMapper.selectEquPlanStandardListByParentCode(detail.getId()); for (EquPlanStandard standard : standardList) { standard.setShowFlag(true); } @@ -365,7 +365,7 @@ public class EquPlanServiceImpl implements IEquPlanService { equipment.setEquPlanDetailList(detailList); EquPlanEquSpare spare = new EquPlanEquSpare(); - spare.setParentCode(equipment.getCode()); + spare.setParentCode(equipment.getId()); // 备件信息 List spareList = equPlanEquSpareMapper.selectEquPlanEquSpareList(spare); if (spareList.size() > 0) { diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java index 4c904715c..06405fa3a 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java @@ -111,8 +111,7 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { EquPlanEqu equPlanEqu = equPlanEquList.get(0); BeanUtils.copyProperties(equPlanEqu,equ); equ.setId(IdUtils.fastSimpleUUID()); - equ.setCode("E"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD)+"001"); - equ.setParentCode(equOrder.getOrderCode()); + equ.setParentCode(equOrder.getOrderId()); equ.setOrderCode(equOrder.getOrderCode()); equ.setFactoryCode(factory); equ.setAttr1(""); @@ -122,13 +121,12 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { // 生成工单-备件 List spareList = new ArrayList<>(); List equSpareList = equPlanEqu.getSpareList(); - int spareSerialNum = 0; for (EquPlanEquSpare spare : equSpareList) { EquOrderEquSpare spareTemp = new EquOrderEquSpare(); BeanUtils.copyProperties(spare,spareTemp); spareTemp.setId(IdUtils.fastSimpleUUID()); spareTemp.setOrderCode(equOrder.getOrderCode()); - spareTemp.setParentCode(equ.getCode()); + spareTemp.setParentCode(equ.getId()); spareTemp.setFactoryCode(factory); spareTemp.setCreateBy(SecurityContextHolder.getUserName()); spareTemp.setCreateTime(DateUtils.getNowDate()); @@ -143,16 +141,14 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { // 生成工单-设备-保养项 List detailList = equPlanEqu.getEquPlanDetailList(); - int detailSerialNum = 0; for (EquPlanDetail detail : detailList) { EquOrderDetail equOrderDetail = new EquOrderDetail(); List orderStandardList = new ArrayList<>(); List standardList = detail.getEquPlanStandardList(); BeanUtils.copyProperties(detail,equOrderDetail); equOrderDetail.setId(IdUtils.fastSimpleUUID()); - equOrderDetail.setCode("C"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD)+String.format("%03d",++detailSerialNum)); equOrderDetail.setOrderCode(equOrder.getOrderCode()); - equOrderDetail.setParentCode(equ.getCode()); + equOrderDetail.setParentCode(equ.getId()); equOrderDetail.setFactroyCode(factory); equOrderDetail.setStandardList(orderStandardList); equOrderDetail.setCreateBy(SecurityContextHolder.getUserName()); @@ -166,7 +162,7 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { EquOrderStandard orderStandard = new EquOrderStandard(); BeanUtils.copyProperties(standard,orderStandard); orderStandard.setId(IdUtils.fastSimpleUUID()); - orderStandard.setParentCode(equOrderDetail.getCode()); + orderStandard.setParentCode(equOrderDetail.getId()); orderStandard.setOrderCode(equOrder.getOrderCode()); orderStandard.setCreateBy(SecurityContextHolder.getUserName()); orderStandard.setCreateTime(DateUtils.getNowDate()); @@ -182,7 +178,6 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { for (SysUser user : personList) { EquOrderPerson equOrderPerson = new EquOrderPerson(); equOrderPerson.setId(IdUtils.fastSimpleUUID()); - // TODO 要改变编码格式 equOrderPerson.setOrderCode(equOrder.getOrderCode()); equOrderPerson.setFactoryCode(factory); equOrderPerson.setUserId(user.getUserId()); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java index 92528f17a..77c4783da 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java @@ -247,7 +247,7 @@ public class EquUpkeepServiceImpl implements IEquUpkeepService { equipment.setId(IdUtils.fastSimpleUUID()); equipment.setPlanCode(equPlan.getPlanCode()); equipment.setCode("E" + equPlan.getPlanCode() + String.format("%02d", ++equipmentCodeTemp)); - equipment.setParentCode(equPlan.getPlanCode()); + equipment.setParentCode(equPlan.getPlanId()); equipment.setFactoryCode(factory); equipment.setCreateBy(SecurityContextHolder.getUserName()); equipment.setCreateTime(DateUtils.getNowDate()); @@ -266,7 +266,7 @@ public class EquUpkeepServiceImpl implements IEquUpkeepService { item.setId(IdUtils.fastSimpleUUID()); item.setPlanCode(equPlan.getPlanCode()); item.setCode("C" + equipment.getCode() + String.format("%02d", ++itemCodeTemp)); - item.setParentCode(equipment.getCode()); + item.setParentCode(equipment.getId()); item.setCreateBy(SecurityContextHolder.getUserName()); item.setCreateTime(DateUtils.getNowDate()); item.setUpdateBy(SecurityContextHolder.getUserName()); @@ -285,7 +285,7 @@ public class EquUpkeepServiceImpl implements IEquUpkeepService { checkInsert = true; standard.setId(IdUtils.fastSimpleUUID()); - standard.setParentCode(item.getCode()); + standard.setParentCode(item.getId()); standard.setPlanCode(equPlan.getPlanCode()); standard.setCreateBy(SecurityContextHolder.getUserName()); standard.setCreateTime(DateUtils.getNowDate()); @@ -318,7 +318,7 @@ public class EquUpkeepServiceImpl implements IEquUpkeepService { for (EquPlanEquSpare spare : spareList) { spare.setId(IdUtils.fastSimpleUUID()); spare.setPlanCode(equPlan.getPlanCode()); - spare.setParentCode(equipment.getCode()); + spare.setParentCode(equipment.getId()); spare.setFactoryCode(factory); spare.setCreateBy(SecurityContextHolder.getUserName()); spare.setCreateTime(DateUtils.getNowDate()); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java index be809e0a2..f7fbc4d22 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java @@ -62,12 +62,12 @@ public class InspectionWorkServiceImpl implements IInspectionWorkService { // 替换循环周期 order.setPlanLoopType(equOrderMapper.changeLoopType(order.getPlanLoopType())); - Equipment equipment = equipmentMapper.selectEquipmentByEquipmentCode(equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderCode()).getEquipmentCode()); + Equipment equipment = equipmentMapper.selectEquipmentByEquipmentCode(equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderId()).getEquipmentCode()); // 查询检查项、标准 List detailList = equOrderDetailMapper.selectEquOrderDetailByOrderCode(order.getOrderCode()); for (EquOrderDetail detail : detailList) { - List standardList = equOrderStandardMapper.selectEquOrderStandardByParentCode(detail.getCode()); + List standardList = equOrderStandardMapper.selectEquOrderStandardByParentCode(detail.getId()); for (EquOrderStandard standard : standardList) { if (standard.getStandardType().equals("quantify")){ standard.setStandardTypeName("定量"); diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml index b5b67c745..46ef8be5f 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml @@ -26,7 +26,6 @@ - @@ -38,7 +37,7 @@ - select id, code, parent_code, order_code, standard_type, standard_name, detail_up_limit, detail_down_limit, detail_unit, detail_reach, actual_value, detail_error, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,picture_path,error_flag,fault_type,repair_reach,repair_value,repair_picture from equ_order_standard + select id, code, parent_code, order_code, standard_type, standard_name, detail_up_limit, detail_down_limit, detail_unit, detail_reach, actual_value, detail_error, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,error_flag,fault_type,repair_reach,repair_value,repair_picture from equ_order_standard