Merge remote-tracking branch 'origin/master'

master
Yangwl 11 months ago
commit efca5b85b2

@ -6,8 +6,10 @@ import com.op.common.core.web.page.TableDataInfo;
import com.op.common.security.annotation.RequiresPermissions; import com.op.common.security.annotation.RequiresPermissions;
import com.op.device.domain.*; import com.op.device.domain.*;
import com.op.device.domain.dto.PDADTO; import com.op.device.domain.dto.PDADTO;
import com.op.device.domain.dto.UpKeepOrderDTO;
import com.op.device.service.IDevicePDAService; import com.op.device.service.IDevicePDAService;
import com.op.device.service.IEquRepairOrderService; import com.op.device.service.IEquRepairOrderService;
import com.op.device.service.IEquRepairWorkOrderService;
import com.op.device.service.IEquSparepartsInOutService; import com.op.device.service.IEquSparepartsInOutService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -33,6 +35,9 @@ public class DevicePDAController extends BaseController {
@Autowired @Autowired
private IEquSparepartsInOutService equSparepartsInOutService; private IEquSparepartsInOutService equSparepartsInOutService;
@Autowired
private IEquRepairWorkOrderService equRepairWorkOrderService;
/** /**
* list * list
@ -215,4 +220,43 @@ public class DevicePDAController extends BaseController {
public AjaxResult sparePartsInOutStorage(@RequestBody EquSparepartsInOut equSparepartsInOut) { public AjaxResult sparePartsInOutStorage(@RequestBody EquSparepartsInOut equSparepartsInOut) {
return equSparepartsInOutService.insertEquSparepartsInOut(equSparepartsInOut); return equSparepartsInOutService.insertEquSparepartsInOut(equSparepartsInOut);
} }
//报修页面查询
@GetMapping("/getBXList")
public AjaxResult getBXList(EquRepairOrder equRepairOrder) {
return devicePDAService.getBXList(equRepairOrder);
}
/**
*
*/
@GetMapping(value = "/getBXDetail/{orderId}")
public AjaxResult getBXDetail(@PathVariable("orderId") String orderId) {
return success(equRepairOrderService.selectEquRepairOrderByOrderId(orderId));
}
/**
*
*/
@PutMapping("/checkBX")
public AjaxResult checkEquRepairOrder(@RequestBody EquRepairOrder equRepairOrder) {
return toAjax(equRepairOrderService.checkEquRepairOrder(equRepairOrder));
}
/**
*
*
* @param upKeepOrderDTO
* @return
*/
@PostMapping("/checkWX")
public AjaxResult checkWX(@RequestBody UpKeepOrderDTO upKeepOrderDTO) {
return equRepairWorkOrderService.checkRepairWorkOrder(upKeepOrderDTO);
}
//维修页面查询
@GetMapping("/getWXList")
public AjaxResult getWXList(EquRepairWorkOrder equRepairWorkOrder) {
return devicePDAService.getWXList(equRepairWorkOrder);
}
} }

@ -141,14 +141,14 @@ public class EquRepairWorkOrderController extends BaseController {
} }
/** /**
* *
* *
* @param upKeepOrderDTO * @param upKeepOrderDTO
* @return * @return
*/ */
@RequiresPermissions("device:repairOrder:inspect") @RequiresPermissions("device:repairOrder:check")
@PostMapping("/subInspect") @PostMapping("/checkRepairWorkOrder")
public AjaxResult subInspect(@RequestBody UpKeepOrderDTO upKeepOrderDTO) { public AjaxResult checkRepairWorkOrder(@RequestBody UpKeepOrderDTO upKeepOrderDTO) {
return equRepairWorkOrderService.subInspect(upKeepOrderDTO); return equRepairWorkOrderService.checkRepairWorkOrder(upKeepOrderDTO);
} }
} }

@ -37,7 +37,7 @@ public class EquUpkeepOrderController extends BaseController {
* @param upKeepOrderDTO * @param upKeepOrderDTO
* @return * @return
*/ */
@RequiresPermissions("device:upkeepOrder:add") @RequiresPermissions("device:upkeepOrder:check")
@PostMapping("/subInspect") @PostMapping("/subInspect")
public AjaxResult subInspect(@RequestBody UpKeepOrderDTO upKeepOrderDTO) { public AjaxResult subInspect(@RequestBody UpKeepOrderDTO upKeepOrderDTO) {
return equUpkeepOrderService.subInspect(upKeepOrderDTO); return equUpkeepOrderService.subInspect(upKeepOrderDTO);

@ -87,7 +87,7 @@ public class EquRepairOrder extends BaseEntity {
private String orderConnection; private String orderConnection;
/** /**
* *
*/ */
@Excel(name = "处理状态") @Excel(name = "处理状态")
private String orderStatus; private String orderStatus;
@ -176,6 +176,12 @@ public class EquRepairOrder extends BaseEntity {
@Excel(name = "报修去向") @Excel(name = "报修去向")
private String repairDestination; private String repairDestination;
/**
*
*/
@Excel(name = "审核意见")
private String auditOpinion;
/** /**
* *
*/ */
@ -628,7 +634,7 @@ public class EquRepairOrder extends BaseEntity {
this.orderTimeStart = orderTimeStart; this.orderTimeStart = orderTimeStart;
} }
public String getOrdeTimeEnd() { public String getOrderTimeEnd() {
return orderTimeEnd; return orderTimeEnd;
} }
@ -636,6 +642,14 @@ public class EquRepairOrder extends BaseEntity {
this.orderTimeEnd = orderTimeEnd; this.orderTimeEnd = orderTimeEnd;
} }
//审核意见
public String getAuditOpinion() {
return auditOpinion;
}
public void setAuditOpinion(String auditOpinion) {
this.auditOpinion = auditOpinion;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)

@ -135,9 +135,15 @@ public class EquRepairWorkOrder extends BaseEntity {
@Excel(name = "故障开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "故障开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date faultStartTime; private Date faultStartTime;
@Excel(name = "结果检验") @Excel(name = "结果检验")//也就是审核
private String resultInspect; private String resultInspect;
@Excel(name = "备注")
private String remark;
@Excel(name = "审核意见")
private String auditOpinion;
/////////////////////////////////////////////////////////设备表字段 /////////////////////////////////////////////////////////设备表字段
@Excel(name = "设备名称") @Excel(name = "设备名称")
private String equipmentName;//设备名称 private String equipmentName;//设备名称
@ -330,7 +336,6 @@ public class EquRepairWorkOrder extends BaseEntity {
return workshopName; return workshopName;
} }
//维修工单 //维修工单
public void setWorkId(String workId) { public void setWorkId(String workId) {
this.workId = workId; this.workId = workId;
@ -616,6 +621,18 @@ public class EquRepairWorkOrder extends BaseEntity {
public String getResultInspect() { return resultInspect; } public String getResultInspect() { return resultInspect; }
public void setResultInspect(String resultInspect) { this.resultInspect = resultInspect; } public void setResultInspect(String resultInspect) { this.resultInspect = resultInspect; }
//备注
public String getRemark() { return remark; }
public void setRemark(String remark) { this.remark = remark; }
//新增 审核意见
public String getAuditOpinion() {
return auditOpinion;
}
public void setAuditOpinion(String auditOpinion) {
this.auditOpinion = auditOpinion;
}
//委外 //委外
public void setOutSourceReason(String outSourceReason) { public void setOutSourceReason(String outSourceReason) {
this.outSourceReason = outSourceReason; this.outSourceReason = outSourceReason;

@ -24,93 +24,49 @@ public class EquSpareApply extends BaseEntity {
*/ */
private String applyId; private String applyId;
/** @Excel(name = "申领单号")
*
*/
@Excel(name = "单号")
private String applyCode; private String applyCode;
/**
*
*/
@Excel(name = "备品备件编码") @Excel(name = "备品备件编码")
private String spareCode; private String spareCode;
/**
*
*/
@Excel(name = "备品备件名称") @Excel(name = "备品备件名称")
private String spareName; private String spareName;
/**
*
*/
@Excel(name = "规格型号") @Excel(name = "规格型号")
private String spareModel; private String spareModel;
/**
*
*/
@Excel(name = "数量") @Excel(name = "数量")
private BigDecimal spareQuantity; private BigDecimal spareQuantity;
/**
* 使线
*/
@Excel(name = "使用组线") @Excel(name = "使用组线")
private String spareGroupLine; private String spareGroupLine;
/**
* 使
*/
@Excel(name = "使用设备") @Excel(name = "使用设备")
private String spareUseEquipment; private String spareUseEquipment;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "领用时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "领用时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date applyTime; private Date applyTime;
/**
*
*/
@Excel(name = "申领人") @Excel(name = "申领人")
private String applyPeople; private String applyPeople;
/**
*
*/
@Excel(name = "批准人") @Excel(name = "批准人")
private String applyApprovePeople; private String applyApprovePeople;
/**
* 1
*/
@Excel(name = "备用字段1") @Excel(name = "备用字段1")
private String attr1; private String attr1;
/**
* 2
*/
@Excel(name = "备用字段2") @Excel(name = "备用字段2")
private String attr2; private String attr2;
/**
* 3
*/
@Excel(name = "备用字段3") @Excel(name = "备用字段3")
private String attr3; private String attr3;
/** @Excel(name = "删除标志")
*
*/
private String delFlag; private String delFlag;
/**
*
*/
@Excel(name = "工厂号") @Excel(name = "工厂号")
private String factoryCode; private String factoryCode;
@ -123,59 +79,39 @@ public class EquSpareApply extends BaseEntity {
// 创建日期结束 // 创建日期结束
private String applyTimeEnd; private String applyTimeEnd;
//新增字段 //工单编码
/**
*
*/
private String workCode; private String workCode;
/**
* code() //关联上级code(保养)
*/
private String parentCode; private String parentCode;
/**
* //领用类型
*/
private String applyType; private String applyType;
//批量新增申领记录 //批量新增申领记录
private List<EquSpareApply> spareApplyLists; private List<EquSpareApply> spareApplyLists;
/**
* id //备品备件台账 主键id
*/
private String storageId; private String storageId;
/**
* //总数量
*/
private BigDecimal amount; private BigDecimal amount;
/** //物料号
*
*/
@Excel(name = "物料号")
private String materialCode; private String materialCode;
/** //物料描述
*
*/
@Excel(name = "物料描述")
private String materialDesc; private String materialDesc;
/** //单价
*
*/
@Excel(name = "单价")
private BigDecimal unitPrice; private BigDecimal unitPrice;
/** //总价
*
*/
@Excel(name = "总价")
private BigDecimal totalPrice; private BigDecimal totalPrice;
public void setUnitPrice(BigDecimal unitPrice) { public void setUnitPrice(BigDecimal unitPrice) {
this.unitPrice = unitPrice; this.unitPrice = unitPrice;
} }
public BigDecimal getUnitPrice() { public BigDecimal getUnitPrice() {
return unitPrice; return unitPrice;
} }
@ -183,7 +119,6 @@ public class EquSpareApply extends BaseEntity {
public void setTotalPrice(BigDecimal totalPrice) { public void setTotalPrice(BigDecimal totalPrice) {
this.totalPrice = totalPrice; this.totalPrice = totalPrice;
} }
public BigDecimal getTotalPrice() { public BigDecimal getTotalPrice() {
return totalPrice; return totalPrice;
} }
@ -191,7 +126,6 @@ public class EquSpareApply extends BaseEntity {
public void setMaterialCode(String materialCode) { public void setMaterialCode(String materialCode) {
this.materialCode = materialCode; this.materialCode = materialCode;
} }
public String getMaterialCode() { public String getMaterialCode() {
return materialCode; return materialCode;
} }
@ -199,7 +133,6 @@ public class EquSpareApply extends BaseEntity {
public void setMaterialDesc(String materialDesc) { public void setMaterialDesc(String materialDesc) {
this.materialDesc = materialDesc; this.materialDesc = materialDesc;
} }
public String getMaterialDesc() { public String getMaterialDesc() {
return materialDesc; return materialDesc;
} }
@ -207,7 +140,6 @@ public class EquSpareApply extends BaseEntity {
public List<Date> getApplyTimeArray() { public List<Date> getApplyTimeArray() {
return applyTimeArray; return applyTimeArray;
} }
public void setApplyTimeArray(List<Date> applyTimeArray) { public void setApplyTimeArray(List<Date> applyTimeArray) {
this.applyTimeArray = applyTimeArray; this.applyTimeArray = applyTimeArray;
} }
@ -215,7 +147,6 @@ public class EquSpareApply extends BaseEntity {
public String getApplyTimeStart() { public String getApplyTimeStart() {
return applyTimeStart; return applyTimeStart;
} }
public void setApplyTimeStart(String createTimeStart) { public void setApplyTimeStart(String createTimeStart) {
this.applyTimeStart = createTimeStart; this.applyTimeStart = createTimeStart;
} }
@ -223,7 +154,6 @@ public class EquSpareApply extends BaseEntity {
public String getApplyTimeEnd() { public String getApplyTimeEnd() {
return applyTimeEnd; return applyTimeEnd;
} }
public void setApplyTimeEnd(String applyTimeEnd) { public void setApplyTimeEnd(String applyTimeEnd) {
this.applyTimeEnd = applyTimeEnd; this.applyTimeEnd = applyTimeEnd;
} }
@ -231,7 +161,6 @@ public class EquSpareApply extends BaseEntity {
public void setApplyId(String applyId) { public void setApplyId(String applyId) {
this.applyId = applyId; this.applyId = applyId;
} }
public String getApplyId() { public String getApplyId() {
return applyId; return applyId;
} }
@ -239,7 +168,6 @@ public class EquSpareApply extends BaseEntity {
public void setApplyCode(String applyCode) { public void setApplyCode(String applyCode) {
this.applyCode = applyCode; this.applyCode = applyCode;
} }
public String getApplyCode() { public String getApplyCode() {
return applyCode; return applyCode;
} }
@ -247,7 +175,6 @@ public class EquSpareApply extends BaseEntity {
public void setSpareCode(String spareCode) { public void setSpareCode(String spareCode) {
this.spareCode = spareCode; this.spareCode = spareCode;
} }
public String getSpareCode() { public String getSpareCode() {
return spareCode; return spareCode;
} }
@ -255,7 +182,6 @@ public class EquSpareApply extends BaseEntity {
public void setSpareName(String spareName) { public void setSpareName(String spareName) {
this.spareName = spareName; this.spareName = spareName;
} }
public String getSpareName() { public String getSpareName() {
return spareName; return spareName;
} }
@ -263,7 +189,6 @@ public class EquSpareApply extends BaseEntity {
public void setSpareModel(String spareModel) { public void setSpareModel(String spareModel) {
this.spareModel = spareModel; this.spareModel = spareModel;
} }
public String getSpareModel() { public String getSpareModel() {
return spareModel; return spareModel;
} }
@ -271,7 +196,6 @@ public class EquSpareApply extends BaseEntity {
public void setSpareQuantity(BigDecimal spareQuantity) { public void setSpareQuantity(BigDecimal spareQuantity) {
this.spareQuantity = spareQuantity; this.spareQuantity = spareQuantity;
} }
public BigDecimal getSpareQuantity() { public BigDecimal getSpareQuantity() {
return spareQuantity; return spareQuantity;
} }
@ -279,7 +203,6 @@ public class EquSpareApply extends BaseEntity {
public void setSpareGroupLine(String spareGroupLine) { public void setSpareGroupLine(String spareGroupLine) {
this.spareGroupLine = spareGroupLine; this.spareGroupLine = spareGroupLine;
} }
public String getSpareGroupLine() { public String getSpareGroupLine() {
return spareGroupLine; return spareGroupLine;
} }
@ -287,7 +210,6 @@ public class EquSpareApply extends BaseEntity {
public void setSpareUseEquipment(String spareUseEquipment) { public void setSpareUseEquipment(String spareUseEquipment) {
this.spareUseEquipment = spareUseEquipment; this.spareUseEquipment = spareUseEquipment;
} }
public String getSpareUseEquipment() { public String getSpareUseEquipment() {
return spareUseEquipment; return spareUseEquipment;
} }
@ -295,7 +217,6 @@ public class EquSpareApply extends BaseEntity {
public void setApplyTime(Date applyTime) { public void setApplyTime(Date applyTime) {
this.applyTime = applyTime; this.applyTime = applyTime;
} }
public Date getApplyTime() { public Date getApplyTime() {
return applyTime; return applyTime;
} }
@ -303,7 +224,6 @@ public class EquSpareApply extends BaseEntity {
public void setApplyPeople(String applyPeople) { public void setApplyPeople(String applyPeople) {
this.applyPeople = applyPeople; this.applyPeople = applyPeople;
} }
public String getApplyPeople() { public String getApplyPeople() {
return applyPeople; return applyPeople;
} }
@ -311,7 +231,6 @@ public class EquSpareApply extends BaseEntity {
public void setApplyApprovePeople(String applyApprovePeople) { public void setApplyApprovePeople(String applyApprovePeople) {
this.applyApprovePeople = applyApprovePeople; this.applyApprovePeople = applyApprovePeople;
} }
public String getApplyApprovePeople() { public String getApplyApprovePeople() {
return applyApprovePeople; return applyApprovePeople;
} }
@ -319,7 +238,6 @@ public class EquSpareApply extends BaseEntity {
public void setAttr1(String attr1) { public void setAttr1(String attr1) {
this.attr1 = attr1; this.attr1 = attr1;
} }
public String getAttr1() { public String getAttr1() {
return attr1; return attr1;
} }
@ -327,7 +245,6 @@ public class EquSpareApply extends BaseEntity {
public void setAttr2(String attr2) { public void setAttr2(String attr2) {
this.attr2 = attr2; this.attr2 = attr2;
} }
public String getAttr2() { public String getAttr2() {
return attr2; return attr2;
} }
@ -335,7 +252,6 @@ public class EquSpareApply extends BaseEntity {
public void setAttr3(String attr3) { public void setAttr3(String attr3) {
this.attr3 = attr3; this.attr3 = attr3;
} }
public String getAttr3() { public String getAttr3() {
return attr3; return attr3;
} }
@ -343,7 +259,6 @@ public class EquSpareApply extends BaseEntity {
public void setDelFlag(String delFlag) { public void setDelFlag(String delFlag) {
this.delFlag = delFlag; this.delFlag = delFlag;
} }
public String getDelFlag() { public String getDelFlag() {
return delFlag; return delFlag;
} }
@ -351,81 +266,48 @@ public class EquSpareApply extends BaseEntity {
public void setFactoryCode(String factoryCode) { public void setFactoryCode(String factoryCode) {
this.factoryCode = factoryCode; this.factoryCode = factoryCode;
} }
public String getFactoryCode() { public String getFactoryCode() {
return factoryCode; return factoryCode;
} }
//新增
/**
* ()
*/
public String getWorkCode() { public String getWorkCode() {
return this.workCode; return this.workCode;
} }
/**
* ()
*/
public void setWorkCode(String workCode) { public void setWorkCode(String workCode) {
this.workCode = workCode; this.workCode = workCode;
} }
/**
* code()
*/
public String getParentCode() { public String getParentCode() {
return this.parentCode; return this.parentCode;
} }
/**
* code()
*/
public void setParentCode(String parentCode) { public void setParentCode(String parentCode) {
this.parentCode = parentCode; this.parentCode = parentCode;
} }
/**
*
*/
public String getApplyType() { public String getApplyType() {
return this.applyType; return this.applyType;
} }
/**
*
*/
public void setApplyType(String applyType) { public void setApplyType(String applyType) {
this.applyType = applyType; this.applyType = applyType;
} }
//批量新增申领记录
public List<EquSpareApply> getSpareApplyLists() { public List<EquSpareApply> getSpareApplyLists() {
return this.spareApplyLists; return this.spareApplyLists;
} }
/**
*
*/
public void setSpareApplyLists(List<EquSpareApply> spareApplyLists) { public void setSpareApplyLists(List<EquSpareApply> spareApplyLists) {
this.spareApplyLists = spareApplyLists; this.spareApplyLists = spareApplyLists;
} }
//id
public void setStorageId(String storageId) { public void setStorageId(String storageId) {
this.storageId = storageId; this.storageId = storageId;
} }
public String getStorageId() { public String getStorageId() {
return storageId; return storageId;
} }
//总数量
public void setAmount(BigDecimal amount) { public void setAmount(BigDecimal amount) {
this.amount = amount; this.amount = amount;
} }
public BigDecimal getAmount() { public BigDecimal getAmount() {
return amount; return amount;
} }

@ -1,5 +1,7 @@
package com.op.device.domain.dto; package com.op.device.domain.dto;
import com.op.common.core.annotation.Excel;
import java.util.List; import java.util.List;
// 保养工单DTO // 保养工单DTO
@ -10,6 +12,9 @@ public class UpKeepOrderDTO {
private String inspect; private String inspect;
//新增 审核意见
private String auditOpinion;
public String getInspect() { public String getInspect() {
return inspect; return inspect;
} }
@ -33,4 +38,13 @@ public class UpKeepOrderDTO {
public void setOrderCodes(List<String> orderCodes) { public void setOrderCodes(List<String> orderCodes) {
this.orderCodes = orderCodes; this.orderCodes = orderCodes;
} }
//新增 审核意见
public String getAuditOpinion() {
return auditOpinion;
}
public void setAuditOpinion(String auditOpinion) {
this.auditOpinion = auditOpinion;
}
} }

@ -118,4 +118,7 @@ public interface EquRepairWorkOrderMapper {
//更新结果检验 //更新结果检验
void updateResultInspect(EquRepairWorkOrder equRepairWorkOrder); void updateResultInspect(EquRepairWorkOrder equRepairWorkOrder);
//回退维修工单
void returnRepairWorkOrder(EquRepairWorkOrder dto);
} }

@ -3,6 +3,7 @@ package com.op.device.service;
import com.op.common.core.web.domain.AjaxResult; import com.op.common.core.web.domain.AjaxResult;
import com.op.device.domain.*; import com.op.device.domain.*;
import com.op.device.domain.dto.PDADTO; import com.op.device.domain.dto.PDADTO;
import com.op.device.domain.dto.UpKeepOrderDTO;
import java.util.List; import java.util.List;
@ -140,4 +141,12 @@ public interface IDevicePDAService {
AjaxResult selectEquFaultReasonList(EquFaultReason equFaultReason); AjaxResult selectEquFaultReasonList(EquFaultReason equFaultReason);
AjaxResult selectSpareDetailBySpareCode(String spareCode); AjaxResult selectSpareDetailBySpareCode(String spareCode);
//获取报修列表
AjaxResult getBXList(EquRepairOrder equRepairOrder);
AjaxResult getWXList(EquRepairWorkOrder equRepairWorkOrder);
//故障维修审核
// AjaxResult checkWX(UpKeepOrderDTO upKeepOrderDTO);
} }

@ -71,5 +71,6 @@ public interface IEquRepairWorkOrderService {
public int applyEquOutsourceWork(EquRepairWorkOrder equRepairWorkOrder); public int applyEquOutsourceWork(EquRepairWorkOrder equRepairWorkOrder);
//维修故障检验 //维修故障检验
AjaxResult subInspect(UpKeepOrderDTO upKeepOrderDTO); AjaxResult checkRepairWorkOrder(UpKeepOrderDTO upKeepOrderDTO);
} }

@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.context.SecurityContextHolder; import com.op.common.core.context.SecurityContextHolder;
import com.op.common.core.domain.BaseFileData; import com.op.common.core.domain.BaseFileData;
import com.op.common.core.exception.auth.NotLoginException;
import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.StringUtils;
import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.utils.uuid.IdUtils;
@ -269,7 +270,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
if (repairOrder == null) { if (repairOrder == null) {
return error(500, "未查询到报修单信息!"); return error(500, "未查询到报修单信息!");
} else { } else {
if (!repairOrder.getOrderStatus().equals("待审核")) { if (!repairOrder.getOrderStatus().equals("2")) {
return error(500, "报修单已审核,不可修改记录!"); return error(500, "报修单已审核,不可修改记录!");
} }
} }
@ -391,7 +392,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
if (equOrder.getPlanType().equals("maintenance")) { if (equOrder.getPlanType().equals("maintenance")) {
equRepairOrder.setOrderSource("保养"); equRepairOrder.setOrderSource("保养");
} }
equRepairOrder.setOrderStatus("待审核"); equRepairOrder.setOrderStatus("2");
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName"; String key = "#header.poolName";
equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", "")); equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", ""));
@ -562,7 +563,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
equRepairOrder.setCreateBy(SecurityUtils.getUsername()); equRepairOrder.setCreateBy(SecurityUtils.getUsername());
equRepairOrder.setOrderRepairmanCode(SecurityUtils.getUsername()); equRepairOrder.setOrderRepairmanCode(SecurityUtils.getUsername());
equRepairOrder.setOrderTime(DateUtils.getNowDate()); equRepairOrder.setOrderTime(DateUtils.getNowDate());
equRepairOrder.setOrderStatus("待审核"); equRepairOrder.setOrderStatus("2");
equRepairOrder.setOrderSource("手持PDA"); equRepairOrder.setOrderSource("手持PDA");
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName"; String key = "#header.poolName";
@ -809,22 +810,23 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
try { try {
//不停机 那么实际停机开始时间和实际停机结束时间都没有 //不停机 那么实际停机开始时间和实际停机结束时间都没有
//如果停机 那么实际停机时间就是传入的时间 //如果停机 那么实际停机时间就是传入的时间
//如果这是被驳回的维修单 维修单状态变为待维修 那么维修开始时间 实际停机时间 还是原来的那个
if(equRepairWorkOrder == null){
equRepairWorkOrder.setWorkStartTime(DateUtils.getNowDate()); equRepairWorkOrder.setWorkStartTime(DateUtils.getNowDate());
if (equRepairWorkOrder.getWorkDownMachine().equals("1")) { if (equRepairWorkOrder.getWorkDownMachine().equals("1")) {
equRepairWorkOrder.setActualDownStartTime(DateUtils.getNowDate()); equRepairWorkOrder.setActualDownStartTime(DateUtils.getNowDate());
} }
}
equRepairWorkOrder.setUpdateBy(SecurityUtils.getUsername()); equRepairWorkOrder.setUpdateBy(SecurityUtils.getUsername());
equRepairWorkOrder.setUpdateTime(DateUtils.getNowDate()); equRepairWorkOrder.setUpdateTime(DateUtils.getNowDate());
//维修中 //维修中
equRepairWorkOrder.setWorkStatus("2"); equRepairWorkOrder.setWorkStatus("2");
//维修工单里面的设备名 简化TODO
EquRepairWorkOrder list = equRepairWorkOrderMapper.selectEquRepairWorkOrderByWorkId(equRepairWorkOrder.getWorkId()); EquRepairWorkOrder list = equRepairWorkOrderMapper.selectEquRepairWorkOrderByWorkId(equRepairWorkOrder.getWorkId());
//修改设备状态 改为维修中 //修改设备状态 改为维修中
EquEquipment equEquipment = new EquEquipment(); EquEquipment equEquipment = new EquEquipment();
equEquipment.setEquipmentCode(list.getEquipmentCode()); equEquipment.setEquipmentCode(list.getEquipmentCode());
equEquipment.setEquipmentStatus("2"); equEquipment.setEquipmentStatus("2");
equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment); equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
equRepairWorkOrderMapper.updateEquRepairWorkOrder(equRepairWorkOrder); equRepairWorkOrderMapper.updateEquRepairWorkOrder(equRepairWorkOrder);
return success("提交成功,设备开始维修!"); return success("提交成功,设备开始维修!");
} catch (Exception e) { } catch (Exception e) {
@ -912,7 +914,12 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
@Override @Override
@DS("#header.poolName") @DS("#header.poolName")
public AjaxResult updateMaintenanceRecords(EquRepairWorkOrder equRepairWorkOrder) { public AjaxResult updateMaintenanceRecords(EquRepairWorkOrder equRepairWorkOrder) {
try { EquEquipment equ = equEquipmentMapper.selectEquEquipmentByEquEquipmentCode(equRepairWorkOrder.getEquipmentCode());
if (equ == null) {
//不应该用登录的 todo
throw new NotLoginException("设备表中不存在此设备,请确认!");
}
////0.时间 ////0.时间
Date date = DateUtils.getNowDate(); Date date = DateUtils.getNowDate();
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
@ -926,16 +933,16 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
equRepairWorkOrder.setWorkEndTime(date);//维修工单结束时间 equRepairWorkOrder.setWorkEndTime(date);//维修工单结束时间
//1.2判断字段里面是否为空,是空的用,用无替代 //1.2判断字段里面是否为空,是空的用,用无替代
if(equRepairWorkOrder.getWorkFaultDesc() == null || equRepairWorkOrder.getWorkFaultDesc().equals("")){//故障描述 if (equRepairWorkOrder.getWorkFaultDesc() == null || equRepairWorkOrder.getWorkFaultDesc().equals("")) {//故障描述
equRepairWorkOrder.setWorkFaultDesc("无"); equRepairWorkOrder.setWorkFaultDesc("无");
} }
if(equRepairWorkOrder.getWorkReason() == null || equRepairWorkOrder.getWorkFaultDesc().equals("")){ //故障原因 if (equRepairWorkOrder.getWorkReason() == null || equRepairWorkOrder.getWorkFaultDesc().equals("")) { //故障原因
equRepairWorkOrder.setWorkFaultDesc("无"); equRepairWorkOrder.setWorkFaultDesc("无");
} }
if(equRepairWorkOrder.getRepairMeasures() == null || equRepairWorkOrder.getRepairMeasures().equals("")){//故障措施 if (equRepairWorkOrder.getRepairMeasures() == null || equRepairWorkOrder.getRepairMeasures().equals("")) {//故障措施
equRepairWorkOrder.setRepairMeasures("无"); equRepairWorkOrder.setRepairMeasures("无");
} }
if(equRepairWorkOrder.getWorkPerson() == null || equRepairWorkOrder.getWorkPerson().equals("")){//维修人 if (equRepairWorkOrder.getWorkPerson() == null || equRepairWorkOrder.getWorkPerson().equals("")) {//维修人
equRepairWorkOrder.setWorkPerson("无"); equRepairWorkOrder.setWorkPerson("无");
} }
@ -951,14 +958,14 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
double workMinutes = ((workDateTime.until(workEnd, ChronoUnit.MINUTES) * 1.0) % 60) / 60; double workMinutes = ((workDateTime.until(workEnd, ChronoUnit.MINUTES) * 1.0) % 60) / 60;
double workSeconds = ((workDateTime.until(workEnd, ChronoUnit.SECONDS) * 1.0) % 3600) / 3600; double workSeconds = ((workDateTime.until(workEnd, ChronoUnit.SECONDS) * 1.0) % 3600) / 3600;
double workHour = BigDecimal.valueOf(workHours + workMinutes + workSeconds).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); double workHour = BigDecimal.valueOf(workHours + workMinutes + workSeconds).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
equRepairWorkOrder.setWorkCostTime(String.valueOf(workHour)+"小时"); //塞入维修用时 equRepairWorkOrder.setWorkCostTime(String.valueOf(workHour) + "小时"); //塞入维修用时
////2.2 计算故障停机时间差值 ////2.2 计算故障停机时间差值
//报修的故障时间 和 快速工单的故障开始时间 //报修的故障时间 和 快速工单的故障开始时间
Date downStartTime = new Date(); Date downStartTime = new Date();
if(list.getOrderBreakdownTime() != null){ if (list.getOrderBreakdownTime() != null) {
downStartTime = list.getOrderBreakdownTime(); downStartTime = list.getOrderBreakdownTime();
}else if(list.getFaultStartTime() != null){ } else if (list.getFaultStartTime() != null) {
downStartTime = list.getFaultStartTime(); downStartTime = list.getFaultStartTime();
} }
LocalDateTime downStart = LocalDateTime.ofInstant(downStartTime.toInstant(), zoneId); LocalDateTime downStart = LocalDateTime.ofInstant(downStartTime.toInstant(), zoneId);
@ -969,86 +976,88 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
double downMinutes = ((downDateTime.until(downEnd, ChronoUnit.MINUTES) * 1.0) % 60) / 60; double downMinutes = ((downDateTime.until(downEnd, ChronoUnit.MINUTES) * 1.0) % 60) / 60;
double downSeconds = ((downDateTime.until(downEnd, ChronoUnit.SECONDS) * 1.0) % 3600) / 3600; double downSeconds = ((downDateTime.until(downEnd, ChronoUnit.SECONDS) * 1.0) % 3600) / 3600;
double downHour = BigDecimal.valueOf(downHours + downMinutes + downSeconds).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); double downHour = BigDecimal.valueOf(downHours + downMinutes + downSeconds).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
equRepairWorkOrder.setFaultDownTime(String.valueOf(downHour)+"小时"); equRepairWorkOrder.setFaultDownTime(String.valueOf(downHour) + "小时");
}
//代码注释掉了 改了流程 之前是维修完成后,更改设备状态 和 设备运行报表 现在是审核通过之后,才会扣除
////完好率报表 ////完好率报表
////3.1查询当日完好率报表 ////3.1查询当日完好率报表
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String time = sdf.format(equRepairWorkOrder.getWorkEndTime()); // String time = sdf.format(equRepairWorkOrder.getWorkEndTime());
EquOperation equOperation = equOperationMapper.selectEquipmentIntegrityRate(time, equRepairWorkOrder.getEquipmentCode()); // EquOperation equOperation = equOperationMapper.selectEquipmentIntegrityRate(time, equRepairWorkOrder.getEquipmentCode());
////3.2修改完好率报表 ////3.2修改完好率报表
if (equOperation != null) { // if (equOperation != null) {
if (list.getWorkDownMachine().equals("1")) { // if (list.getWorkDownMachine().equals("1")) {
DecimalFormat df = new DecimalFormat("#.##"); // DecimalFormat df = new DecimalFormat("#.##");
double result = Double.parseDouble(equOperation.getActualOperationTime()) - downHour;//实际运行时间 = 实际运行时间 - 故障停机时间 // double result = Double.parseDouble(equOperation.getActualOperationTime()) - downHour;//实际运行时间 = 实际运行时间 - 故障停机时间
double faultTime = Double.parseDouble(equOperation.getFaultTime()) + downHour;//故障时间 = 原来的故障停机时间 + 这次的故障停机时间 // double faultTime = Double.parseDouble(equOperation.getFaultTime()) + downHour;//故障时间 = 原来的故障停机时间 + 这次的故障停机时间
BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障停机时间 // BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障停机时间
BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());//运行时间 // BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());//运行时间
equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间 // equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间
equOperation.setFaultTime(String.valueOf(faultTime));//故障停机时间 // equOperation.setFaultTime(String.valueOf(faultTime));//故障停机时间
equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD, 2, RoundingMode.HALF_UP).toString() + "%"); // equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD, 2, RoundingMode.HALF_UP).toString() + "%");
equOperation.setShutdownTimes(equOperation.getShutdownTimes() + 1);//故障停机次数加1 // equOperation.setShutdownTimes(equOperation.getShutdownTimes() + 1);//故障停机次数加1
} // }
equOperation.setFailureTimes(equOperation.getFailureTimes() + 1);//故障次数加1 // equOperation.setFailureTimes(equOperation.getFailureTimes() + 1);//故障次数加1
equOperation.setUpdateBy(SecurityUtils.getUsername()); // equOperation.setUpdateBy(SecurityUtils.getUsername());
equOperation.setUpdateTime(date); // equOperation.setUpdateTime(date);
//
String GZMS = equOperation.getFailureDescription();//故障描述 // String GZMS = equOperation.getFailureDescription();//故障描述
String GZYY = equOperation.getReasonAnalyze();//故障原因 // String GZYY = equOperation.getReasonAnalyze();//故障原因
String GZCS = equOperation.getHandlingMethod();//维修措施 // String GZCS = equOperation.getHandlingMethod();//维修措施
String WXR = equOperation.getRepairPerson();//维修人 // String WXR = equOperation.getRepairPerson();//维修人
if (GZMS != null) { // if (GZMS != null) {
equOperation.setFailureDescription(GZMS + formattedDate + ":" + equRepairWorkOrder.getWorkFaultDesc() + ";"); // equOperation.setFailureDescription(GZMS + formattedDate + ":" + equRepairWorkOrder.getWorkFaultDesc() + ";");
} else { // } else {
equOperation.setFailureDescription(formattedDate + ":" + equRepairWorkOrder.getWorkFaultDesc() + ";"); // equOperation.setFailureDescription(formattedDate + ":" + equRepairWorkOrder.getWorkFaultDesc() + ";");
} // }
if (GZYY != null) { // if (GZYY != null) {
equOperation.setReasonAnalyze(GZYY + formattedDate + ":" + equRepairWorkOrder.getWorkReason() + ";"); // equOperation.setReasonAnalyze(GZYY + formattedDate + ":" + equRepairWorkOrder.getWorkReason() + ";");
} else { // } else {
equOperation.setReasonAnalyze(formattedDate + ":" + equRepairWorkOrder.getWorkReason() + ";"); // equOperation.setReasonAnalyze(formattedDate + ":" + equRepairWorkOrder.getWorkReason() + ";");
} // }
if (GZCS != null) { // if (GZCS != null) {
equOperation.setHandlingMethod(GZCS + formattedDate + ":" + equRepairWorkOrder.getRepairMeasures() + ";"); // equOperation.setHandlingMethod(GZCS + formattedDate + ":" + equRepairWorkOrder.getRepairMeasures() + ";");
} else { // } else {
equOperation.setHandlingMethod(formattedDate + ":" + equRepairWorkOrder.getRepairMeasures() + ";"); // equOperation.setHandlingMethod(formattedDate + ":" + equRepairWorkOrder.getRepairMeasures() + ";");
} // }
if (WXR != null) { // if (WXR != null) {
equOperation.setRepairPerson(WXR + formattedDate + ":" + SecurityUtils.getUsername() + ";"); // equOperation.setRepairPerson(WXR + formattedDate + ":" + SecurityUtils.getUsername() + ";");
} else { // } else {
equOperation.setRepairPerson(formattedDate + ":" + SecurityUtils.getUsername() + ";"); // equOperation.setRepairPerson(formattedDate + ":" + SecurityUtils.getUsername() + ";");
} // }
//
////4.修改设备状态 由维修中改为正常运行 ;设备状态描述 由什么状态转为什么状态,修改设备状态 由维修中改为正常运行 // ////4.修改设备状态 由维修中改为正常运行 ;设备状态描述 由什么状态转为什么状态,修改设备状态 由维修中改为正常运行
EquEquipment equEquipment = new EquEquipment(); // EquEquipment equEquipment = new EquEquipment();
equEquipment.setEquipmentCode(list.getEquipmentCode()); // equEquipment.setEquipmentCode(list.getEquipmentCode());
EquEquipment equ = equEquipmentMapper.selectEquEquipmentByEquEquipmentCode(equEquipment.getEquipmentCode()); // EquEquipment equ = equEquipmentMapper.selectEquEquipmentByEquEquipmentCode(equEquipment.getEquipmentCode());
String equStatus = ""; // String equStatus = "";
if(equ.getEquipmentStatus().equals("0")){ // if(equ.getEquipmentStatus().equals("0")){
equStatus = "设备状态由故障转为正常运行;"; // equStatus = "设备状态由故障转为正常运行;";
}else if(equ.getEquipmentStatus().equals("2")){ // }else if(equ.getEquipmentStatus().equals("2")){
equStatus = "设备状态由维修中转为正常运行;"; // equStatus = "设备状态由维修中转为正常运行;";
} // }
else if(equ.getEquipmentStatus().equals("1")){ // else if(equ.getEquipmentStatus().equals("1")){
equStatus = "设备状态正常运行;"; // equStatus = "设备状态正常运行;";
} // }
// else if(equ.getEquipmentStatus().equals("4")){ // // else if(equ.getEquipmentStatus().equals("4")){
// equStatus = "设备状态由维修保养中转为保养中;"; // // equStatus = "设备状态由维修保养中转为保养中;";
// } // // }
//
if (equOperation.getEquStatusDes() == null || equOperation.getEquStatusDes().equals("")) { // if (equOperation.getEquStatusDes() == null || equOperation.getEquStatusDes().equals("")) {
equOperation.setEquStatusDes(formattedDate + ":" + equStatus); // equOperation.setEquStatusDes(formattedDate + ":" + equStatus);
} else { // } else {
equOperation.setEquStatusDes(equOperation.getEquStatusDes() + formattedDate + equStatus);//设备状态描述 // equOperation.setEquStatusDes(equOperation.getEquStatusDes() + formattedDate + equStatus);//设备状态描述
} // }
//
if(equ.getEquipmentStatus().equals("0") || equ.getEquipmentStatus().equals("2")){ // if(equ.getEquipmentStatus().equals("0") || equ.getEquipmentStatus().equals("2")){
equEquipment.setEquipmentStatus("1"); // equEquipment.setEquipmentStatus("1");
} // }
equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment); // equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
equOperationMapper.updateEquOperation(equOperation); // equOperationMapper.updateEquOperation(equOperation);
} // }
} // }
////5.更新每一项点检/巡检检查项信息 ////5.更新每一项点检/巡检检查项信息
if (StringUtils.isNotEmpty(equRepairWorkOrder.getDetailList())) { if (StringUtils.isNotEmpty(equRepairWorkOrder.getDetailList())) {
@ -1152,10 +1161,71 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
// BigDecimal sparePartsCost = equSpareApplyMapper.getSparePartsCost(equRepairWorkOrder.getOrderCode()); // BigDecimal sparePartsCost = equSpareApplyMapper.getSparePartsCost(equRepairWorkOrder.getOrderCode());
// BigDecimal orderCost = BigDecimal.valueOf(Double.valueOf(equRepairWorkOrder.getWorkCost())); // BigDecimal orderCost = BigDecimal.valueOf(Double.valueOf(equRepairWorkOrder.getWorkCost()));
// equRepairWorkOrder.setWorkCost(String.valueOf(sparePartsCost.add(orderCost))); // equRepairWorkOrder.setWorkCost(String.valueOf(sparePartsCost.add(orderCost)));
return success("提交成功,维修完成!");
} catch (Exception e) { ////9.发送微信提醒
return error("提交失败!"); //发企业微信--------------------开始(跟班组有关)
SimpleDateFormat myFmt = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
//规范时间格式
SysNoticeGroup noticeQo = new SysNoticeGroup();
noticeQo.setNoticeId(22L);
EquTeamUser equTeamUser = new EquTeamUser();
equTeamUser.setUserName(SecurityUtils.getUsername());
List<SysNoticeGroup> notices = equRepairOrderMapper.getNoticesGroup(noticeQo);
if (!CollectionUtils.isEmpty(notices)) {
List<WechartDTO> wecharts = new ArrayList<>();
List<String> userCodes = notices.stream()
.map(SysNoticeGroup::getUserCode)
.collect(Collectors.toList());
for (SysNoticeGroup noticeDto : notices) {
WechartDTO wechart0 = new WechartDTO();
wechart0.setUserId(noticeDto.getWxId());
String contentInfo = noticeDto.getNoticeContent();
contentInfo = contentInfo
.replace("${n}", "\n")
.replace("${workCode}", equRepairWorkOrder.getWorkCode() + "\n")//工单号
;
//设备编码
if (StringUtils.isNotEmpty(equRepairWorkOrder.getEquipmentCode())) {
contentInfo = contentInfo.replace("${equipmentCode}", equRepairWorkOrder.getEquipmentCode() + "\n");
} else {
contentInfo = contentInfo.replace("${equipmentCode}", "无" + "\n");
} }
//设备名称
if (StringUtils.isNotEmpty(equRepairWorkOrder.getEquipmentName())) {
contentInfo = contentInfo.replace("${equipmentName}", equRepairWorkOrder.getEquipmentName() + "\n");
} else {
contentInfo = contentInfo.replace("${equipmentName}", "无" + "\n");
}
//维修人
if (StringUtils.isNotEmpty(equRepairWorkOrder.getWorkPersonName())) {
contentInfo = contentInfo.replace("${workPersonName}", equRepairWorkOrder.getWorkPersonName() + "\n");
} else {
contentInfo = contentInfo.replace("${workPersonName}", "无" + "\n");
}
Pattern p = Pattern.compile("<[^>]+>");
Matcher m = p.matcher(contentInfo);
contentInfo = m.replaceAll("");
System.out.println(contentInfo);
wechart0.setText(contentInfo);
wecharts.add(wechart0);
}
logger.info("维修审核企业微信提醒请求:" + JSONObject.toJSONString(wecharts));
if (!CollectionUtils.isEmpty(wecharts)) {
new Thread(() -> {
AjaxResult wxResult = remoteOpenService.sendWeChartMessage(wecharts);
logger.info("维修审核企业微信提醒:" + JSONObject.toJSONString(wxResult));
}).start();
}
//发企业微信--------------------结束
}
return success("提交成功,维修完成!");
} }
/** /**
@ -1296,4 +1366,30 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
SparePartsLedger list = sparePartsLedgerMapper.selectSpareDetailBySpareCode(spareCode); SparePartsLedger list = sparePartsLedgerMapper.selectSpareDetailBySpareCode(spareCode);
return success(list); return success(list);
} }
/**
*
*
* @param
* @return
*/
@Override
@DS("#header.poolName")
public AjaxResult getBXList(EquRepairOrder equRepairOrder) {
List<EquRepairOrder> list = equRepairOrderMapper.selectEquRepairOrderList(equRepairOrder);
return success(list);
}
/**
*
*
* @param
* @return
*/
@Override
@DS("#header.poolName")
public AjaxResult getWXList(EquRepairWorkOrder equRepairWorkOrder) {
List<EquRepairWorkOrder> list = equRepairWorkOrderMapper.selectEquRepairWorkOrderList(equRepairWorkOrder);
return success(list);
}
} }

@ -149,7 +149,7 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService {
} }
/** /**
* *
**/ **/
@Override @Override
public AjaxResult createMaintenancePlanTask() { public AjaxResult createMaintenancePlanTask() {
@ -336,9 +336,9 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService {
String serialNum = String.format("%03d", equOrderMapper.selectSerialNumber()); String serialNum = String.format("%03d", equOrderMapper.selectSerialNumber());
String orderCode = "O" + DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + serialNum; String orderCode = "O" + DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + serialNum;
order.setOrderCode(orderCode); order.setOrderCode(orderCode);
//todo 工厂号
if ("1".equals(plan.getUpkeep())) {//1委外工单 if ("1".equals(plan.getUpkeep())) {//1委外工单
order.setOutsourceCode("BW" + orderCode); order.setOutsourceCode("WW" + orderCode);
} }
if(StringUtils.isNotEmpty(plan.getEquipmentCode())){ if(StringUtils.isNotEmpty(plan.getEquipmentCode())){

@ -233,7 +233,7 @@ public class EquOrderServiceImpl implements IEquOrderService {
if (repairOrder == null) { if (repairOrder == null) {
return error(500, "未查询到报修单信息!"); return error(500, "未查询到报修单信息!");
} else { } else {
if (!repairOrder.getOrderStatus().equals("待审核")) { if (!repairOrder.getOrderStatus().equals("2")) {
return error(500, "报修单已审核,不可修改记录!"); return error(500, "报修单已审核,不可修改记录!");
} }
} }
@ -368,7 +368,7 @@ public class EquOrderServiceImpl implements IEquOrderService {
if (equOrder.getPlanType().equals("maintenance")) { if (equOrder.getPlanType().equals("maintenance")) {
equRepairOrder.setOrderSource("保养"); equRepairOrder.setOrderSource("保养");
} }
equRepairOrder.setOrderStatus("待审核"); equRepairOrder.setOrderStatus("2");
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName"; String key = "#header.poolName";
equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", "")); equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", ""));

@ -9,12 +9,9 @@ import com.op.common.security.utils.SecurityUtils;
import com.op.device.domain.EquEquipment; import com.op.device.domain.EquEquipment;
import com.op.device.domain.EquRepairWorkOrder; import com.op.device.domain.EquRepairWorkOrder;
import com.op.device.domain.Equipment; import com.op.device.domain.Equipment;
import com.op.device.mapper.EquOrderMapper; import com.op.device.mapper.*;
import com.op.device.mapper.EquRepairWorkOrderMapper;
import com.op.device.mapper.EquipmentMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.op.device.mapper.EquOutsourceWorkMapper;
import com.op.device.domain.EquOutsourceWork; import com.op.device.domain.EquOutsourceWork;
import com.op.device.service.IEquOutsourceWorkService; import com.op.device.service.IEquOutsourceWorkService;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
@ -42,7 +39,6 @@ public class EquOutsourceWorkServiceImpl implements IEquOutsourceWorkService {
@Autowired @Autowired
private EquipmentMapper equipmentMapper; private EquipmentMapper equipmentMapper;
/** /**
* *
* *
@ -90,28 +86,85 @@ public class EquOutsourceWorkServiceImpl implements IEquOutsourceWorkService {
String key = "#header.poolName"; String key = "#header.poolName";
equOutsourceWork.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", "")); equOutsourceWork.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", ""));
////修改工单状态、设备状态 //todo 委外也需要审核
if (equOutsourceWork.getWorkStatus().equals("1") && equOutsourceWork.getWorkType().equals("0")) { //todo 故障
//更新维修工单状态 ////修改设备状态
equRepairWorkOrderMapper.updateWorkStatus(equOutsourceWork.getRepairCode());
//修改设备状态 改为正常运行
EquEquipment equEquipment = new EquEquipment();
equEquipment.setEquipmentCode(equOutsourceWork.getEquipmentCode());
equEquipment.setEquipmentStatus("1");
equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
} else if (equOutsourceWork.getWorkStatus().equals("1") && equOutsourceWork.getWorkType().equals("1")) {
//更新保养工单状态
equOrderMapper.updateEquOrderStatusComplete(equOutsourceWork.getRepairCode());
//修改设备状态 改为正常运行
//查找当前运行的设备信息 如果是维修中则不改 维修>保养
EquEquipment example = new EquEquipment(); EquEquipment example = new EquEquipment();
example.setEquipmentCode(equOutsourceWork.getEquipmentCode()); example.setEquipmentCode(equOutsourceWork.getEquipmentCode());
Equipment equipment = equipmentMapper.selectEquipmentByEquipmentCode(equOutsourceWork.getEquipmentCode()); Equipment equipment = equipmentMapper.selectEquipmentByEquipmentCode(equOutsourceWork.getEquipmentCode());
if (equipment.getEquipmentStatus().equals("3")) {
//如果未完成工单
if(equOutsourceWork.getWorkStatus().equals("0")){
//如果是委外维修
if (equOutsourceWork.getWorkType().equals("0")) {
//1.修改设备状态 正常运行1--->故障0
if (equipment.getEquipmentStatus().equals("1")) {
example.setEquipmentStatus("0");
equRepairWorkOrderMapper.updateEquipmentStatus(example);
//2.修改设备状态 保养中3---->维修保养中4
}else if (equipment.getEquipmentStatus().equals("3")) {
example.setEquipmentStatus("4");
equRepairWorkOrderMapper.updateEquipmentStatus(example);
}
//原来是故障0/维修中2/维修保养中4 什么都不改变
//如果是委外保养
} else if (equOutsourceWork.getWorkType().equals("1")) {
//1.修改设备状态维修中2----->维修保养中4
if (equipment.getEquipmentStatus().equals("2")) {
example.setEquipmentStatus("4");
equRepairWorkOrderMapper.updateEquipmentStatus(example);
//2.正常1--->保养中
}else if (equipment.getEquipmentStatus().equals("1")) {
example.setEquipmentStatus("3");
equRepairWorkOrderMapper.updateEquipmentStatus(example);
//3.故障0 和 维修---->维修保养中4
}else if (equipment.getEquipmentStatus().equals("0")) {
example.setEquipmentStatus("4");
equRepairWorkOrderMapper.updateEquipmentStatus(example);
}
//维修保养中不变 保养中不变
}
}
//如果完成工单
if (equOutsourceWork.getWorkStatus().equals("1") && equOutsourceWork.getWorkType().equals("0")) {
//1.如果是完成委外 查看是否存在维修单 存在的话改维修单状态 改设备状态 WorkType 0 维修委外
//1.1 更新维修工单状态
equRepairWorkOrderMapper.updateWorkStatus(equOutsourceWork.getRepairCode());
//todo 按照正常来说应该加一个审核再 修改设备状态 改为正常运行
//1.2 更新设备状态
//设备状态 故障0/维修中2--->正常运行1
if(equipment.getEquipmentStatus().equals("0") || equipment.getEquipmentStatus().equals("2")){
example.setEquipmentStatus("1"); example.setEquipmentStatus("1");
equRepairWorkOrderMapper.updateEquipmentStatus(example); equRepairWorkOrderMapper.updateEquipmentStatus(example);
//设备状态 维修保养中4--->保养中3
}else if(equipment.getEquipmentStatus().equals("4")){
example.setEquipmentStatus("3");
equRepairWorkOrderMapper.updateEquipmentStatus(example);
}
} else if (equOutsourceWork.getWorkStatus().equals("1") && equOutsourceWork.getWorkType().equals("1")) {
//2.如果是完成委外 查看是否存在保养 存在的话改保养单状态 改设备状态 WorkType 1 保养委外
//更新保养工单状态
equOrderMapper.updateEquOrderStatusComplete(equOutsourceWork.getRepairCode());
//todo 按照正常来说应该加一个审核再 修改设备状态 改为正常运行
//2.2 更新设备状态
//设备状态 保养中3--->正常运行1
if(equipment.getEquipmentStatus().equals("3")){
example.setEquipmentStatus("1");
equRepairWorkOrderMapper.updateEquipmentStatus(example);
//设备状态 维修保养中4--->维修中2
}else if(equipment.getEquipmentStatus().equals("4")){
example.setEquipmentStatus("2");
equRepairWorkOrderMapper.updateEquipmentStatus(example);
} }
} }
@ -127,28 +180,44 @@ public class EquOutsourceWorkServiceImpl implements IEquOutsourceWorkService {
@Override @Override
@DS("#header.poolName") @DS("#header.poolName")
public int updateEquOutsourceWork(EquOutsourceWork equOutsourceWork) { public int updateEquOutsourceWork(EquOutsourceWork equOutsourceWork) {
//1完成委外更新工单状态
if (equOutsourceWork.getWorkStatus().equals("1") && equOutsourceWork.getWorkType().equals("0")) {
//更新维修工单状态
equRepairWorkOrderMapper.updateWorkStatus(equOutsourceWork.getRepairCode());
//修改设备状态 改为正常运行
EquEquipment equEquipment = new EquEquipment(); EquEquipment equEquipment = new EquEquipment();
equEquipment.setEquipmentCode(equOutsourceWork.getEquipmentCode()); equEquipment.setEquipmentCode(equOutsourceWork.getEquipmentCode());
Equipment equipment = equipmentMapper.selectEquipmentByEquipmentCode(equOutsourceWork.getEquipmentCode());
if (equOutsourceWork.getWorkStatus().equals("1") && equOutsourceWork.getWorkType().equals("0")) {
//1.如果是完成委外 查看是否存在维修单 存在的话改维修单状态 改设备状态 WorkType 0 维修委外
//1.1 更新维修工单状态
equRepairWorkOrderMapper.updateWorkStatus(equOutsourceWork.getRepairCode());
//todo 按照正常来说应该加一个审核再 修改设备状态 改为正常运行
//1.2 更新设备状态
//设备状态 故障0/维修中2--->正常运行1
if(equipment.getEquipmentStatus().equals("0") || equipment.getEquipmentStatus().equals("2")){
equEquipment.setEquipmentStatus("1"); equEquipment.setEquipmentStatus("1");
equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment); equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
//设备状态 维修保养中4--->保养中3
}else if(equipment.getEquipmentStatus().equals("4")){
equEquipment.setEquipmentStatus("3");
equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
}
} else if (equOutsourceWork.getWorkStatus().equals("1") && equOutsourceWork.getWorkType().equals("1")) { } else if (equOutsourceWork.getWorkStatus().equals("1") && equOutsourceWork.getWorkType().equals("1")) {
//2.如果是完成委外 查看是否存在保养 存在的话改保养单状态 改设备状态 WorkType 1 保养委外
//更新保养工单状态 //更新保养工单状态
equOrderMapper.updateEquOrderStatusComplete(equOutsourceWork.getRepairCode()); equOrderMapper.updateEquOrderStatusComplete(equOutsourceWork.getRepairCode());
//todo 按照正常来说应该加一个审核再 修改设备状态 改为正常运行
//修改设备状态 改为正常运行 //2.2 更新设备状态
//查找当前运行的设备信息 如果是维修中则不改 维修>保养 //设备状态 保养中3--->正常运行1
EquEquipment example = new EquEquipment(); if(equipment.getEquipmentStatus().equals("3")){
example.setEquipmentCode(equOutsourceWork.getEquipmentCode()); equEquipment.setEquipmentStatus("1");
Equipment equipment = equipmentMapper.selectEquipmentByEquipmentCode(equOutsourceWork.getEquipmentCode()); equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
if (equipment.getEquipmentStatus().equals("3")) {
example.setEquipmentStatus("1"); //设备状态 维修保养中4--->维修中2
equRepairWorkOrderMapper.updateEquipmentStatus(example); }else if(equipment.getEquipmentStatus().equals("4")){
equEquipment.setEquipmentStatus("2");
equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
} }
} }

@ -153,7 +153,7 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService {
equRepairOrder.setOrderCode("BX" + DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + equipmentCode + serialNum); equRepairOrder.setOrderCode("BX" + DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + equipmentCode + serialNum);
equRepairOrder.setCreateTime(DateUtils.getNowDate()); equRepairOrder.setCreateTime(DateUtils.getNowDate());
equRepairOrder.setCreateBy(SecurityUtils.getUsername()); equRepairOrder.setCreateBy(SecurityUtils.getUsername());
equRepairOrder.setOrderStatus("待审核"); equRepairOrder.setOrderStatus("2");
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName"; String key = "#header.poolName";
equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", "")); equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", ""));
@ -300,12 +300,12 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService {
equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment); equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
////审核结果 ////审核结果
equRepairOrder.setOrderStatus("审核通过"); equRepairOrder.setOrderStatus("1");
////发送微信通知 ////发送微信通知
AjaxResult repairSendWeChatResult = repairSendWeChat(equRepairWorkOrder); AjaxResult repairSendWeChatResult = repairSendWeChat(equRepairWorkOrder);
} else if (equRepairOrder.getRepairDestination().equals("不维修")) { } else if (equRepairOrder.getRepairDestination().equals("不维修")) {
equRepairOrder.setOrderStatus("驳回"); equRepairOrder.setOrderStatus("0");
} else if (equRepairOrder.getRepairDestination().equals("委外维修")) { } else if (equRepairOrder.getRepairDestination().equals("委外维修")) {
EquOutsourceWork equOutsourceWork = new EquOutsourceWork(); EquOutsourceWork equOutsourceWork = new EquOutsourceWork();
equOutsourceWork.setWorkId(IdUtils.fastSimpleUUID()); //id equOutsourceWork.setWorkId(IdUtils.fastSimpleUUID()); //id
@ -320,9 +320,11 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService {
equOutsourceWork.setWorkType("0"); //委外类型 维修委外 equOutsourceWork.setWorkType("0"); //委外类型 维修委外
equOutsourceWork.setCreateBy(SecurityUtils.getUsername()); equOutsourceWork.setCreateBy(SecurityUtils.getUsername());
equOutsourceWork.setCreateTime(DateUtils.getNowDate()); equOutsourceWork.setCreateTime(DateUtils.getNowDate());
equOutsourceWork.setDelFlag("0"); //删除标识
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName"; String key = "#header.poolName";
equOutsourceWork.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", "")); equOutsourceWork.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", ""));
////更新委外列表 ////更新委外列表
equOutsourceWorkMapper.insertEquOutsourceWork(equOutsourceWork); equOutsourceWorkMapper.insertEquOutsourceWork(equOutsourceWork);
@ -332,7 +334,7 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService {
equEquipment.setEquipmentStatus("0"); //0 故障 equEquipment.setEquipmentStatus("0"); //0 故障
equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment); equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
equRepairOrder.setOrderStatus("审核通过"); equRepairOrder.setOrderStatus("1");
} else if (equRepairOrder.getRepairDestination().equals("立即维修")) { } else if (equRepairOrder.getRepairDestination().equals("立即维修")) {
EquRepairWorkOrder equRepairWorkOrder = new EquRepairWorkOrder(); EquRepairWorkOrder equRepairWorkOrder = new EquRepairWorkOrder();
equRepairWorkOrder.setWorkId(IdUtils.fastSimpleUUID()); //维修工单id equRepairWorkOrder.setWorkId(IdUtils.fastSimpleUUID()); //维修工单id
@ -362,7 +364,7 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService {
equRepairWorkOrderMapper.insertEquRepairWorkOrder(equRepairWorkOrder); equRepairWorkOrderMapper.insertEquRepairWorkOrder(equRepairWorkOrder);
////审核结果 ////审核结果
equRepairOrder.setOrderStatus("审核通过"); equRepairOrder.setOrderStatus("1");
////更新设备状态 ////更新设备状态
EquEquipment equEquipment = new EquEquipment(); EquEquipment equEquipment = new EquEquipment();

@ -14,6 +14,7 @@ import java.util.stream.Collectors;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.domain.BaseFileData; import com.op.common.core.domain.BaseFileData;
import com.op.common.core.exception.auth.NotLoginException;
import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.StringUtils;
import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.utils.uuid.IdUtils;
@ -25,6 +26,7 @@ import com.op.device.mapper.*;
import com.op.system.api.RemoteOpenService; import com.op.system.api.RemoteOpenService;
import com.op.system.api.domain.SysNoticeGroup; import com.op.system.api.domain.SysNoticeGroup;
import com.op.system.api.domain.dto.WechartDTO; import com.op.system.api.domain.dto.WechartDTO;
import org.omg.CORBA.CompletionStatus;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -303,7 +305,7 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
} }
/** /**
* *
* *
* @param equRepairWorkOrder * @param equRepairWorkOrder
* @return * @return
@ -312,6 +314,13 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
@DS("#header.poolName") @DS("#header.poolName")
// @Transactional//增加事务注解,出错时自动回滚 // @Transactional//增加事务注解,出错时自动回滚
public AjaxResult write(EquRepairWorkOrder equRepairWorkOrder) { public AjaxResult write(EquRepairWorkOrder equRepairWorkOrder) {
EquEquipment equ = equEquipmentMapper.selectEquEquipmentByEquEquipmentCode(equRepairWorkOrder.getEquipmentCode());
if(equ == null){
//不应该用登录的 todo
throw new NotLoginException("设备表中不存在此设备,请确认!");
}
////0.今日时间 ////0.今日时间
Date date = DateUtils.getNowDate(); Date date = DateUtils.getNowDate();
@ -387,25 +396,93 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
equOrderStandardMapper.updateStandardAfterRepair(equOrderStandard); equOrderStandardMapper.updateStandardAfterRepair(equOrderStandard);
} }
//5.更新运行表 + 更新设备表
if (equRepairWorkOrder.getWorkStatus().equals("1")) {
int updateOperation = updateEquOperation(equRepairWorkOrder,date);
}
// 备件费用 // 备件费用
// BigDecimal sparePartsCost = equSpareApplyMapper.getSparePartsCost(equRepairWorkOrder.getOrderCode()); // BigDecimal sparePartsCost = equSpareApplyMapper.getSparePartsCost(equRepairWorkOrder.getOrderCode());
// BigDecimal orderCost = BigDecimal.valueOf(Double.valueOf(equRepairWorkOrder.getWorkCost())); // BigDecimal orderCost = BigDecimal.valueOf(Double.valueOf(equRepairWorkOrder.getWorkCost()));
// equRepairWorkOrder.setWorkCost(String.valueOf(sparePartsCost.add(orderCost))); // equRepairWorkOrder.setWorkCost(String.valueOf(sparePartsCost.add(orderCost)));
equRepairWorkOrderMapper.updateEquRepairWorkOrder(equRepairWorkOrder); equRepairWorkOrderMapper.updateEquRepairWorkOrder(equRepairWorkOrder);
////4.发送微信提醒
//发企业微信--------------------开始(跟班组有关)
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
//规范时间格式
SysNoticeGroup noticeQo = new SysNoticeGroup();
noticeQo.setNoticeId(22L);
EquTeamUser equTeamUser = new EquTeamUser();
equTeamUser.setUserName(SecurityUtils.getUsername());
List<SysNoticeGroup> notices = equRepairOrderMapper.getNoticesGroup(noticeQo);
if(!CollectionUtils.isEmpty(notices)) {
List<WechartDTO> wecharts = new ArrayList<>();
List<String> userCodes = notices.stream()
.map(SysNoticeGroup::getUserCode)
.collect(Collectors.toList());
for (SysNoticeGroup noticeDto : notices) {
WechartDTO wechart0 = new WechartDTO();
wechart0.setUserId(noticeDto.getWxId());
String contentInfo = noticeDto.getNoticeContent();
contentInfo = contentInfo
.replace("${n}", "\n");
//工单号
if(StringUtils.isNotEmpty(equRepairWorkOrder.getWorkCode())){
contentInfo = contentInfo.replace("${workCode}", equRepairWorkOrder.getWorkCode() +"\n");
}else{
contentInfo = contentInfo.replace("${workCode}", "无"+"\n");
}
//设备编码
if(StringUtils.isNotEmpty(equRepairWorkOrder.getEquipmentCode())){
contentInfo = contentInfo.replace("${equipmentCode}", equRepairWorkOrder.getEquipmentCode() +"\n");
}else{
contentInfo = contentInfo.replace("${equipmentCode}", "无"+"\n");
}
//设备名称
if(StringUtils.isNotEmpty(equRepairWorkOrder.getEquipmentName())){
contentInfo = contentInfo.replace("${equipmentName}", equRepairWorkOrder.getEquipmentName() +"\n");
}else{
contentInfo = contentInfo.replace("${equipmentName}", "无"+"\n");
}
//维修人
if(StringUtils.isNotEmpty(equRepairWorkOrder.getWorkPersonName())){
contentInfo = contentInfo.replace("${workPersonName}", equRepairWorkOrder.getWorkPersonName() +"\n");
}else{
contentInfo = contentInfo.replace("${workPersonName}", "无"+"\n");
}
Pattern p= Pattern.compile("<[^>]+>");
Matcher m = p.matcher(contentInfo);
contentInfo = m.replaceAll("");
System.out.println(contentInfo);
wechart0.setText(contentInfo);
wecharts.add(wechart0);
}
logger.info("维修审核企业微信提醒请求:" + JSONObject.toJSONString(wecharts));
if (!CollectionUtils.isEmpty(wecharts)) {
new Thread(() -> {
AjaxResult wxResult = remoteOpenService.sendWeChartMessage(wecharts);
logger.info("维修审核企业微信提醒:" + JSONObject.toJSONString(wxResult));
}).start();
}
//发企业微信--------------------结束
}
return success("提交成功,维修完成!"); return success("提交成功,维修完成!");
} }
//5.更新运行表 + 设备表 //更新运行表 + 设备表
private int updateEquOperation(EquRepairWorkOrder equRepairWorkOrder,Date date) { private String updateEquOperation(EquRepairWorkOrder equRepairWorkOrder) {
//5.1时间 String msg = "";
//1.时间
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
String formattedDate = dateFormat.format(date); String formattedDate = dateFormat.format(DateUtils.getNowDate());
//5.2维修完成后 相应的设备完好率重新计算 小时计算 保留一位小数 实际故障时间 换算成小时 //2.维修完成后 相应的设备完好率重新计算 小时计算 保留一位小数 实际故障时间 换算成小时
if(equRepairWorkOrder.getWorkDownMachine().equals("0")){ if(equRepairWorkOrder.getWorkDownMachine().equals("0")){
equRepairWorkOrder.setFaultDownTime("0.0小时"); equRepairWorkOrder.setFaultDownTime("0.0小时");
} }
@ -461,20 +538,27 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
equOperation.setRepairPerson(formattedDate + ":" + equRepairWorkOrder.getWorkPerson() + ";"); equOperation.setRepairPerson(formattedDate + ":" + equRepairWorkOrder.getWorkPerson() + ";");
} }
} }
//当获取的设备运行记录为空的时候,代表没有生成,这块让上位机卡住 todo
//5.3设备状态描述 由什么状态转为什么状态,修改设备状态 由维修中改为正常运行 //3设备状态描述 由什么状态转为什么状态,修改设备状态 由维修中改为正常运行
EquEquipment equEquipment = new EquEquipment(); EquEquipment equEquipment = new EquEquipment();
equEquipment.setEquipmentCode(equRepairWorkOrder.getEquipmentCode()); equEquipment.setEquipmentCode(equRepairWorkOrder.getEquipmentCode());
EquEquipment equ = equEquipmentMapper.selectEquEquipmentByEquEquipmentCode(equEquipment.getEquipmentCode()); EquEquipment equ = equEquipmentMapper.selectEquEquipmentByEquEquipmentCode(equEquipment.getEquipmentCode());
String equStatus = ""; String equStatus = "";
//todo 维修保养中 和维修中 和保养中!!!!!!!!!!!!!!!!!!!!!!! 需要修改状态
if(equ.getEquipmentStatus().equals("0")){ if(equ.getEquipmentStatus().equals("0")){
equStatus = "设备状态由故障转为正常运行;"; equStatus = "设备状态由故障转为正常运行;";
}else if(equ.getEquipmentStatus().equals("2")){ }else if(equ.getEquipmentStatus().equals("2")){
equStatus = "设备状态由维修中转为正常运行;"; equStatus = "设备状态由维修中转为正常运行;";
}else if(equ.getEquipmentStatus().equals("1")){
equStatus = "设备状态在审核前,已由其他人员修改为正常;";
msg = "【"+equRepairWorkOrder.getEquipmentCode()+"】"+"设备状态在审核前,已由其他人员修改为正常!";
logger.info(msg);
} else if(equ.getEquipmentStatus().equals("4")){
equStatus = "设备状态由维修保养中转为保养中;";
}else if(equ.getEquipmentStatus() == null){
throw new NotLoginException("设备表中,此设备状态为空!");
} }
// else if(equ.getEquipmentStatus().equals("4")){
// equStatus = "设备状态由维修保养中转为保养中;";
// }
if (equOperation.getEquStatusDes() == null || equOperation.getEquStatusDes().equals("")) { if (equOperation.getEquStatusDes() == null || equOperation.getEquStatusDes().equals("")) {
equOperation.setEquStatusDes(formattedDate + ":" + equStatus); equOperation.setEquStatusDes(formattedDate + ":" + equStatus);
@ -482,14 +566,14 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
equOperation.setEquStatusDes(equOperation.getEquStatusDes() + formattedDate + equStatus);//设备状态描述 equOperation.setEquStatusDes(equOperation.getEquStatusDes() + formattedDate + equStatus);//设备状态描述
} }
if(equ.getEquipmentStatus().equals("0") || equ.getEquipmentStatus().equals("2")){ if(equ.getEquipmentStatus().equals("0") || equ.getEquipmentStatus().equals("2")|| equ.getEquipmentStatus().equals("1")){
equEquipment.setEquipmentStatus("1"); equEquipment.setEquipmentStatus("1");
} else if(equ.getEquipmentStatus().equals("4")){//如果是4维修保养中改为保养中
equEquipment.setEquipmentStatus("3");
} }
// else if(equ.getEquipmentStatus().equals("4")){//如果是维修保养中,改为保养中
// equEquipment.setEquipmentStatus("3");
// }
equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment); equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
return equOperationMapper.updateEquOperation(equOperation); equOperationMapper.updateEquOperation(equOperation);
return msg;
} }
/** /**
@ -560,21 +644,47 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
} }
/** /**
* *
* PC
* *
* @param upKeepOrderDTO * @param upKeepOrderDTO
* @return * @return
*/ */
@Override @Override
@DS("#header.poolName") @DS("#header.poolName")
public AjaxResult subInspect(UpKeepOrderDTO upKeepOrderDTO) { public AjaxResult checkRepairWorkOrder(UpKeepOrderDTO upKeepOrderDTO) {
String msg = "";
List<String> ids = upKeepOrderDTO.getIds(); List<String> ids = upKeepOrderDTO.getIds();
for (String id : ids) { for (String id : ids) {
EquRepairWorkOrder equRepairWorkOrder = new EquRepairWorkOrder(); EquRepairWorkOrder equRepairWorkOrder = new EquRepairWorkOrder();
equRepairWorkOrder.setWorkId(id); equRepairWorkOrder.setWorkId(id);
String resultInspect = upKeepOrderDTO.getInspect(); String resultInspect = upKeepOrderDTO.getInspect();
equRepairWorkOrder.setResultInspect(resultInspect);
//1.1 审核通过后 更新运行表 + 更新设备表 1审核通过
EquRepairWorkOrder dto = equRepairWorkOrderMapper.selectEquRepairWorkOrderByWorkId(id);
if (dto.getWorkStatus().equals("1") && resultInspect.equals("1")) {
msg = updateEquOperation(dto);
//2.1
equRepairWorkOrder.setResultInspect(resultInspect);//审核状态为完成
}
//1.2 如果审核驳回 回退到待维修状态 0审核驳回
if(dto.getWorkStatus().equals("1") && resultInspect.equals("0")){
dto.setWorkStatus("0");//待维修
dto.setWorkEndTime(null);//工单结束时间空 工单开始的时间是从第一次开始的
// todo 当待维修的时候,要判断一下 有没有开始时间 如果有的话,不能覆盖掉 这个做完了 等待检查
dto.setWorkCostTime(null);//工单花费时间
dto.setFaultDownTime(null);//故障停机时间
dto.setActualDownEndTime(null);//故障停机时间
equRepairWorkOrderMapper.returnRepairWorkOrder(dto);
//2.2
equRepairWorkOrder.setResultInspect("2");//审核状态为待审核
}
//2.审核状态更新完成
equRepairWorkOrderMapper.updateResultInspect(equRepairWorkOrder); equRepairWorkOrderMapper.updateResultInspect(equRepairWorkOrder);
//2.3 todo 被驳回之后,需要再次发微信消息给维修班组吗???目前是在审核后通知的时候 会在备注里面
} }
String workCodes = ""; String workCodes = "";
@ -585,11 +695,11 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
String inspect = ""; String inspect = "";
if(upKeepOrderDTO.getInspect().equals("0")){ if(upKeepOrderDTO.getInspect().equals("0")){
inspect = "不通过" ; inspect = "驳回" ;
}else if(upKeepOrderDTO.getInspect().equals("1")){ }else if(upKeepOrderDTO.getInspect().equals("1")){
inspect = "通过" ; inspect = "审核通过" ;
}else{ }else{
inspect = "待检验" ; inspect = "待审核" ;
} }
//发企业微信--------------------开始(跟班组有关) //发企业微信--------------------开始(跟班组有关)
@ -632,6 +742,15 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
contentInfo = contentInfo.replace("${checkPeople}", "无"+"\n"); contentInfo = contentInfo.replace("${checkPeople}", "无"+"\n");
} }
//备注 备注和驳回有关系
if(inspect.equals("驳回") && StringUtils.isNotEmpty(upKeepOrderDTO.getAuditOpinion())){
contentInfo = contentInfo.replace("${remark}", "工单被审核人驳回,驳回理由为【"+upKeepOrderDTO.getAuditOpinion()+"】请再次进行维修!"+"\n");
}else if(inspect.equals("驳回") && StringUtils.isEmpty(upKeepOrderDTO.getAuditOpinion())){
contentInfo = contentInfo.replace("${remark}", "工单被审核人驳回,请再次进行维修!"+"\n");
}else{
contentInfo = contentInfo.replace("${remark}", "无"+"\n");
}
Pattern p= Pattern.compile("<[^>]+>"); Pattern p= Pattern.compile("<[^>]+>");
Matcher m = p.matcher(contentInfo); Matcher m = p.matcher(contentInfo);
contentInfo = m.replaceAll(""); contentInfo = m.replaceAll("");
@ -640,17 +759,21 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
wechart0.setText(contentInfo); wechart0.setText(contentInfo);
wecharts.add(wechart0); wecharts.add(wechart0);
} }
logger.info("维修结果检验企业微信提醒请求:" + JSONObject.toJSONString(wecharts)); logger.info("维修审核结果企业微信提醒请求:" + JSONObject.toJSONString(wecharts));
if (!CollectionUtils.isEmpty(wecharts)) { if (!CollectionUtils.isEmpty(wecharts)) {
new Thread(() -> { new Thread(() -> {
AjaxResult wxresult = remoteOpenService.sendWeChartMessage(wecharts); AjaxResult wxresult = remoteOpenService.sendWeChartMessage(wecharts);
logger.info("维修结果检验企业微信提醒结果" + JSONObject.toJSONString(wxresult)); logger.info("维修审核结果企业微信提醒:" + JSONObject.toJSONString(wxresult));
}).start(); }).start();
} }
//发企业微信--------------------结束 //发企业微信--------------------结束
} }
return success();
if(msg.equals("")){
msg = "审核成功!";
}
return success(msg);
} }
} }

@ -30,6 +30,7 @@
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
<result property="factoryCode" column="factory_code"/> <result property="factoryCode" column="factory_code"/>
<result property="repairDestination" column="repair_destination"/> <result property="repairDestination" column="repair_destination"/>
<result property="auditOpinion" column="audit_opinion"/>
<!-- 设备 --> <!-- 设备 -->
<result property="equipmentTypeName" column="equipment_type_name"/> <result property="equipmentTypeName" column="equipment_type_name"/>
<result property="equipmentName" column="equipment_name"/> <result property="equipmentName" column="equipment_name"/>
@ -75,41 +76,26 @@
</sql> </sql>
<sql id="selectEquRepairOrderVo"> <sql id="selectEquRepairOrderVo">
select order_id, order_code, equipment_code, order_desc, order_breakdown_time, order_source, order_time, order_handle, order_repairman_code,order_repairman_name, order_connection, order_status, order_relevance, order_picture, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,factory_code,repair_destination from equ_repair_order select order_id, order_code, equipment_code, order_desc, order_breakdown_time, order_source, order_time, order_handle, order_repairman_code,order_repairman_name, order_connection, order_status, order_relevance, order_picture, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,factory_code,repair_destination,audit_opinion from equ_repair_order
</sql> </sql>
<select id="selectEquRepairOrderList" parameterType="EquRepairOrder" resultMap="EquRepairOrderResult"> <select id="selectEquRepairOrderList" parameterType="EquRepairOrder" resultMap="EquRepairOrderResult">
<include refid="selectEquRepairOrderVo"/> <include refid="selectEquRepairOrderVo"/>
<where> <where>
<if test="orderCode != null and orderCode != ''">and order_code like concat('%', #{orderCode}, '%')</if> <if test="orderCode != null and orderCode != ''">and order_code like concat('%', #{orderCode}, '%')</if>
<if test="equipmentCode != null and equipmentCode != ''">and equipment_code like concat('%', <if test="equipmentCode != null and equipmentCode != ''">and equipment_code like concat('%',#{equipmentCode}, '%')</if>
#{equipmentCode}, '%')
</if>
<if test="orderDesc != null and orderDesc != ''">and order_desc like concat('%', #{orderDesc}, '%')</if> <if test="orderDesc != null and orderDesc != ''">and order_desc like concat('%', #{orderDesc}, '%')</if>
<!--故障开始时间 结束时间--> <!--故障开始时间 结束时间-->
<if test="orderBreakdownTimeStart != null ">and CONVERT(date,order_breakdown_time) >= <if test="orderBreakdownTimeStart != null ">and CONVERT(date,order_breakdown_time) >= #{orderBreakdownTimeStart}</if>
#{orderBreakdownTimeStart} <if test="orderBreakdownTimeEnd != null ">and #{orderBreakdownTimeEnd} >= CONVERT(date,order_breakdown_time)</if>
</if> <if test="orderSource != null and orderSource != ''">and order_source like concat('%', #{orderSource},'%')</if>
<if test="orderBreakdownTimeEnd != null ">and #{orderBreakdownTimeEnd} >=
CONVERT(date,order_breakdown_time)
</if>
<if test="orderSource != null and orderSource != ''">and order_source like concat('%', #{orderSource},
'%')
</if>
<!--报修开始时间 结束时间--> <!--报修开始时间 结束时间-->
<if test="orderTimeStart != null ">and CONVERT(date,order_time) >= #{orderTimeStart}</if> <if test="orderTimeStart != null ">and CONVERT(date,order_time) >= #{orderTimeStart}</if>
<if test="orderTimeEnd != null ">and #{orderTimeEnd} >= CONVERT(date,order_time)</if> <if test="orderTimeEnd != null ">and #{orderTimeEnd} >= CONVERT(date,order_time)</if>
<if test="orderHandle != null and orderHandle != ''">and order_handle = #{orderHandle}</if> <if test="orderHandle != null and orderHandle != ''">and order_handle = #{orderHandle}</if>
<if test="orderRepairmanCode != null and orderRepairmanCode != ''">and order_repairman_code like <if test="orderRepairmanCode != null and orderRepairmanCode != ''">and order_repairman_code like concat('%', #{orderRepairmanCode}, '%')</if>
concat('%', #{orderRepairmanCode}, '%') <if test="orderRepairmanName != null and orderRepairmanName != ''">and order_repairman_name like concat('%', #{orderRepairmanName}, '%')</if>
</if> <if test="orderConnection != null and orderConnection != ''">and order_connection like concat('%',#{orderConnection}, '%')</if>
<if test="orderRepairmanName != null and orderRepairmanName != ''">and order_repairman_name like
concat('%', #{orderRepairmanName}, '%')
</if>
<if test="orderConnection != null and orderConnection != ''">and order_connection like concat('%',
#{orderConnection}, '%')
</if>
<if test="orderStatus != null and orderStatus != ''">and order_status = #{orderStatus}</if>
<if test="orderRelevance != null and orderRelevance != ''">and order_relevance = #{orderRelevance}</if> <if test="orderRelevance != null and orderRelevance != ''">and order_relevance = #{orderRelevance}</if>
<if test="orderPicture != null and orderPicture != ''">and order_picture = #{orderPicture}</if> <if test="orderPicture != null and orderPicture != ''">and order_picture = #{orderPicture}</if>
<if test="attr1 != null and attr1 != ''">and attr1 = #{attr1}</if> <if test="attr1 != null and attr1 != ''">and attr1 = #{attr1}</if>
@ -118,9 +104,10 @@
<if test="createTime != null and createTime != ''">and create_time = #{createTime}</if> <if test="createTime != null and createTime != ''">and create_time = #{createTime}</if>
<if test="createBy != null and createBy != ''">and create_by = #{createBy}</if> <if test="createBy != null and createBy != ''">and create_by = #{createBy}</if>
<if test="factoryCode != null and factoryCode != ''">and factory_code = #{factoryCode}</if> <if test="factoryCode != null and factoryCode != ''">and factory_code = #{factoryCode}</if>
<if test="repairDestination != null and repairDestination != ''">and repair_destination = <if test="repairDestination != null and repairDestination != ''">and repair_destination =#{repairDestination}</if>
#{repairDestination} <!--审核-->
</if> <if test="orderStatus == null or orderStatus == '' ">and (order_status = '2' or order_status = '1')</if>
<if test="orderStatus != null and orderStatus != '' ">and order_status = #{orderStatus} </if>
and del_flag = '0' and del_flag = '0'
ORDER BY create_time DESC ORDER BY create_time DESC
</where> </where>
@ -148,6 +135,7 @@
ero.update_time, ero.update_time,
ero.factory_code, ero.factory_code,
ero.repair_destination, ero.repair_destination,
ero.audit_opinion,
be.equipment_name, be.equipment_name,
be.equipment_type_name, be.equipment_type_name,
be.equipment_spec, be.equipment_spec,
@ -197,6 +185,7 @@
<if test="updateTime != null">update_time,</if> <if test="updateTime != null">update_time,</if>
<if test="factoryCode != null">factory_code,</if> <if test="factoryCode != null">factory_code,</if>
<if test="repairDestination != null">repair_destination,</if> <if test="repairDestination != null">repair_destination,</if>
<if test="auditOpinion != null">audit_opinion,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="orderId != null">#{orderId},</if> <if test="orderId != null">#{orderId},</if>
@ -223,6 +212,7 @@
<if test="updateTime != null">#{updateTime},</if> <if test="updateTime != null">#{updateTime},</if>
<if test="factoryCode != null">#{factoryCode},</if> <if test="factoryCode != null">#{factoryCode},</if>
<if test="repairDestination != null">#{repairDestination},</if> <if test="repairDestination != null">#{repairDestination},</if>
<if test="auditOpinion != null">#{auditOpinion},</if>
</trim> </trim>
</insert> </insert>
@ -252,6 +242,7 @@
<if test="updateTime != null">update_time = #{updateTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if>
<if test="factoryCode != null">factory_code = #{factoryCode},</if> <if test="factoryCode != null">factory_code = #{factoryCode},</if>
<if test="repairDestination != null">repair_destination = #{repairDestination},</if> <if test="repairDestination != null">repair_destination = #{repairDestination},</if>
<if test="auditOpinion != null">audit_opinion = #{auditOpinion},</if>
</trim> </trim>
where order_id = #{orderId} where order_id = #{orderId}
</update> </update>

@ -47,7 +47,8 @@
<result property="faultDownTime" column="fault_down_time"/> <result property="faultDownTime" column="fault_down_time"/>
<result property="faultStartTime" column="fault_start_time"/> <result property="faultStartTime" column="fault_start_time"/>
<result property="resultInspect" column="result_inspect"/> <result property="resultInspect" column="result_inspect"/>
<result property="remark" column="remark"/>
<result property="auditOpinion" column="audit_opinion"/>
<!--设备--> <!--设备-->
<result property="equipmentName" column="equipment_name"/> <result property="equipmentName" column="equipment_name"/>
<result property="equipmentSpec" column="equipment_spec"/> <result property="equipmentSpec" column="equipment_spec"/>
@ -92,7 +93,7 @@
</sql> </sql>
<sql id="selectEquRepairWorkOrderVo"> <sql id="selectEquRepairWorkOrderVo">
select work_id, order_id, order_code, work_code,work_handle, work_plan_time, work_plan_down_time, order_relevance, work_person, work_team, work_outsource, work_down_machine, equipment_code, work_reason, work_fault_desc, work_start_time,work_end_time,work_cost_time, work_cost, work_status,out_work_id, out_work_code, attr1, attr2, attr3, create_by, create_time, update_time, update_by, del_flag, factory_code , fault_type , equipment_status_description , repair_measures , fault_down_time , fault_start_time ,result_inspect,work_person_name from equ_repair_work_order select work_id, order_id, order_code, work_code,work_handle, work_plan_time, work_plan_down_time, order_relevance, work_person, work_team, work_outsource, work_down_machine, equipment_code, work_reason, work_fault_desc, work_start_time,work_end_time,work_cost_time, work_cost, work_status,out_work_id, out_work_code, attr1, attr2, attr3, create_by, create_time, update_time, update_by, del_flag, factory_code , fault_type , equipment_status_description , repair_measures , fault_down_time , fault_start_time ,result_inspect,work_person_name,remark,audit_opinion from equ_repair_work_order
</sql> </sql>
<select id="selectEquRepairWorkOrderList" parameterType="EquRepairWorkOrder" resultMap="EquRepairWorkOrderResult"> <select id="selectEquRepairWorkOrderList" parameterType="EquRepairWorkOrder" resultMap="EquRepairWorkOrderResult">
@ -138,6 +139,7 @@
erwo.fault_down_time, erwo.fault_down_time,
erwo.fault_start_time, erwo.fault_start_time,
erwo.result_inspect, erwo.result_inspect,
erwo.remark,
be.equipment_name, be.equipment_name,
et.team_name, et.team_name,
et.team_person et.team_person
@ -145,6 +147,9 @@
left join base_equipment be on erwo.equipment_code = be.equipment_code left join base_equipment be on erwo.equipment_code = be.equipment_code
left join equ_team et on erwo.work_team = et.team_code left join equ_team et on erwo.work_team = et.team_code
<where> <where>
<!--审核-->
<if test="resultInspect == null or resultInspect == '' ">and ( erwo.result_inspect = '2' or erwo.result_inspect = '1')</if>
<if test="resultInspect != null and resultInspect != '' ">and erwo.result_inspect = #{resultInspect} </if>
<!--报修id 维修code 报修code--> <!--报修id 维修code 报修code-->
<if test="orderId != null and orderId != ''">and erwo.order_id = #{orderId}</if> <if test="orderId != null and orderId != ''">and erwo.order_id = #{orderId}</if>
<if test="workCode != null and workCode != ''">and erwo.work_code like concat('%', #{workCode}, '%')</if> <if test="workCode != null and workCode != ''">and erwo.work_code like concat('%', #{workCode}, '%')</if>
@ -236,6 +241,8 @@
erwo.fault_down_time, erwo.fault_down_time,
erwo.fault_start_time, erwo.fault_start_time,
erwo.result_inspect, erwo.result_inspect,
erwo.remark,
erwo.audit_opinion,
be.equipment_name, be.equipment_name,
et.team_name, et.team_name,
et.team_person et.team_person
@ -290,6 +297,8 @@
erwo.fault_down_time, erwo.fault_down_time,
erwo.fault_start_time, erwo.fault_start_time,
erwo.result_inspect, erwo.result_inspect,
erwo.remark,
erwo.audit_opinion,
be.equipment_name, be.equipment_name,
be.equipment_spec, be.equipment_spec,
be.equipment_type_name, be.equipment_type_name,
@ -360,6 +369,8 @@
<if test="faultDownTime != null">fault_down_time,</if> <if test="faultDownTime != null">fault_down_time,</if>
<if test="faultStartTime != null">fault_start_time,</if> <if test="faultStartTime != null">fault_start_time,</if>
<if test="resultInspect != null">result_inspect,</if> <if test="resultInspect != null">result_inspect,</if>
<if test="remark != null">remark,</if>
<if test="auditOpinion != null">audit_opinion,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="workId != null">#{workId},</if> <if test="workId != null">#{workId},</if>
@ -403,6 +414,8 @@
<if test="faultDownTime != null">#{faultDownTime},</if> <if test="faultDownTime != null">#{faultDownTime},</if>
<if test="faultStartTime != null">#{faultStartTime},</if> <if test="faultStartTime != null">#{faultStartTime},</if>
<if test="resultInspect != null">#{resultInspect},</if> <if test="resultInspect != null">#{resultInspect},</if>
<if test="remark != null">#{remark},</if>
<if test="auditOpinion != null">#{auditOpinion},</if>
</trim> </trim>
</insert> </insert>
@ -448,6 +461,8 @@
<if test="repairMeasures != null">repair_measures = #{repairMeasures},</if> <if test="repairMeasures != null">repair_measures = #{repairMeasures},</if>
<if test="faultDownTime != null">fault_down_time = #{faultDownTime},</if> <if test="faultDownTime != null">fault_down_time = #{faultDownTime},</if>
<if test="faultStartTime != null">fault_start_time = #{faultStartTime},</if> <if test="faultStartTime != null">fault_start_time = #{faultStartTime},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="auditOpinion != null">audit_opinion = #{auditOpinion},</if>
</trim> </trim>
where work_id = #{workId} where work_id = #{workId}
and del_flag = '0' and del_flag = '0'
@ -456,7 +471,8 @@
<update id="updateResultInspect" parameterType="EquRepairWorkOrder"> <update id="updateResultInspect" parameterType="EquRepairWorkOrder">
update equ_repair_work_order update equ_repair_work_order
set set
result_inspect = #{resultInspect} result_inspect = #{resultInspect},
audit_opinion = #{auditOpinion}
where work_id = #{workId} where work_id = #{workId}
</update> </update>
@ -554,4 +570,16 @@
and del_flag = '0' and del_flag = '0'
</update> </update>
<update id="returnRepairWorkOrder" parameterType="EquRepairWorkOrder">
update equ_repair_work_order
set
work_status = #{workStatus},
fault_down_time = #{faultDownTime},
work_end_time = #{workEndTime},
work_cost_time = #{workCostTime},
actual_down_end_time = #{actualDownEndTime}
where work_id = #{workId}
and del_flag = '0'
</update>
</mapper> </mapper>

@ -93,6 +93,7 @@ public class MesReportWorkConsume extends BaseEntity {
@Excel(name = "报工编码") @Excel(name = "报工编码")
private String reportCode; private String reportCode;
private BigDecimal quantityFeedback;
//虚拟字段 //虚拟字段
private String id; private String id;
private String parentOrder; private String parentOrder;
@ -117,6 +118,14 @@ public class MesReportWorkConsume extends BaseEntity {
private String erfmg; private String erfmg;
private String erfme; private String erfme;
public BigDecimal getQuantityFeedback() {
return quantityFeedback;
}
public void setQuantityFeedback(BigDecimal quantityFeedback) {
this.quantityFeedback = quantityFeedback;
}
public String getErfmg() { public String getErfmg() {
return erfmg; return erfmg;
} }

@ -1,5 +1,6 @@
package com.op.mes.mapper; package com.op.mes.mapper;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import com.op.mes.domain.MesReportWorkConsume; import com.op.mes.domain.MesReportWorkConsume;
@ -85,4 +86,6 @@ public interface MesReportWorkConsumeMapper {
List<MesReportWorkConsume> getSumConsumeList(MesReportWorkConsume consumeqo); List<MesReportWorkConsume> getSumConsumeList(MesReportWorkConsume consumeqo);
int getSumConsumeListNum(MesReportWorkConsume consumeqo); int getSumConsumeListNum(MesReportWorkConsume consumeqo);
BigDecimal getActAllProduct(MesReportWorkConsume mesReportWorkConsume);
} }

@ -358,6 +358,12 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer
pTabs.setTitle("第"+i+"层工单物料损耗"); pTabs.setTitle("第"+i+"层工单物料损耗");
mesReportWorkConsume.setParentOrder("0"); mesReportWorkConsume.setParentOrder("0");
List<MesReportWorkConsume> liblist0 = mesReportWorkConsumeMapper.getConsumeList(mesReportWorkConsume); List<MesReportWorkConsume> liblist0 = mesReportWorkConsumeMapper.getConsumeList(mesReportWorkConsume);
if(!CollectionUtils.isEmpty(liblist0)){
BigDecimal actPro = mesReportWorkConsumeMapper.getActAllProduct(mesReportWorkConsume);
liblist0.get(0).setQuantityFeedback(actPro);
}
pTabs.setLibList(liblist0); pTabs.setLibList(liblist0);
tabs.add(pTabs); tabs.add(pTabs);

@ -82,7 +82,7 @@
from pro_order_workorder ow from pro_order_workorder ow
left join mes_prepare mp on ow.workorder_code = mp.workorder_code left join mes_prepare mp on ow.workorder_code = mp.workorder_code
left join mes_prepare_detail mpd on mp.prepare_id = mpd.prepare_id left join mes_prepare_detail mpd on mp.prepare_id = mpd.prepare_id
where ow.belong_work_order = #{workorderCode} where ow.belong_work_order = #{workorderCode} and ow.del_flag = '0'
and mpd.recoil = #{recoil} and mp.del_flag = '0' and mpd.del_flag = '0' and mpd.recoil = #{recoil} and mp.del_flag = '0' and mpd.del_flag = '0'
order by mpd.recoil order by mpd.recoil
</select> </select>

@ -202,6 +202,9 @@
and mrw.machine_code = #{machineCode} and mrw.machine_code = #{machineCode}
)t )t
</select> </select>
<select id="getActAllProduct" resultType="java.math.BigDecimal">
select sum(quantity_feedback) from mes_report_work where workorder_code = #{workorderCode} and del_flag = '0'
</select>
<insert id="insertMesReportWorkConsume" parameterType="MesReportWorkConsume"> <insert id="insertMesReportWorkConsume" parameterType="MesReportWorkConsume">
insert into mes_report_work_consume insert into mes_report_work_consume

@ -702,6 +702,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="productDateEnd != null and productDateEnd != ''"> <if test="productDateEnd != null and productDateEnd != ''">
and CONVERT(varchar(10), #{productDateEnd}, 23) >= CONVERT(varchar(10),pow.product_date, 23) and CONVERT(varchar(10), #{productDateEnd}, 23) >= CONVERT(varchar(10),pow.product_date, 23)
</if> </if>
<if test="productCode != null and productCode != ''">and pow.product_code like concat('%', #{productCode}, '%')</if>
order by be.equipment_code order by be.equipment_code
</select> </select>

@ -303,7 +303,7 @@ public class OpenServiceImpl implements OpenService {
} }
equRepairOrder.setCreateTime(DateUtils.getNowDate()); equRepairOrder.setCreateTime(DateUtils.getNowDate());
equRepairOrder.setCreateBy(equRepairOrderDTO.getUserName()); equRepairOrder.setCreateBy(equRepairOrderDTO.getUserName());
equRepairOrder.setOrderStatus("待审核"); // 报修单状态 equRepairOrder.setOrderStatus("2"); // 报修单状态
equRepairOrder.setFactoryCode(equRepairOrderDTO.getFactory()); // 工厂 equRepairOrder.setFactoryCode(equRepairOrderDTO.getFactory()); // 工厂
if (equRepairOrderDTO.getPhoneNumber() != null) { if (equRepairOrderDTO.getPhoneNumber() != null) {
equRepairOrder.setOrderConnection(equRepairOrderDTO.getPhoneNumber()); // 联系方式 equRepairOrder.setOrderConnection(equRepairOrderDTO.getPhoneNumber()); // 联系方式

@ -174,6 +174,19 @@ public class QuaController extends BaseController {
} }
return success(qcProCheckService.getCheckTaskDetailList(qcCheckTaskDetail)); return success(qcProCheckService.getCheckTaskDetailList(qcCheckTaskDetail));
} }
/**
*
*/
@GetMapping(value = "getCheckTaskDetailListCg")
public AjaxResult getCheckTaskDetailListCg(QcCheckTaskDetail qcCheckTaskDetail) {
if(StringUtils.isBlank(qcCheckTaskDetail.getFactoryCode())){
return error("[factoryCode]不能为空");
}
if(StringUtils.isBlank(qcCheckTaskDetail.getBelongTo())){
return error("[belongTo]不能为空");
}
return success(qcProCheckService.getCheckTaskDetailListCg(qcCheckTaskDetail));
}
/** /**
* *
*/ */

@ -216,6 +216,38 @@ public class QcCheckTaskIncome extends BaseEntity {
private String oaFactoryF;//异常范围 private String oaFactoryF;//异常范围
private String sccj; private String sccj;
private String bz; private String bz;
/**
* cxzz:线()
* jgy:()
* pgy:()
*/
private String cxzz;
private String jgy;
private String pgy;
public String getCxzz() {
return cxzz;
}
public void setCxzz(String cxzz) {
this.cxzz = cxzz;
}
public String getJgy() {
return jgy;
}
public void setJgy(String jgy) {
this.jgy = jgy;
}
public String getPgy() {
return pgy;
}
public void setPgy(String pgy) {
this.pgy = pgy;
}
public String getBz() { public String getBz() {
return bz; return bz;

@ -47,6 +47,8 @@ public interface QcCheckTaskIncomeMapper {
*/ */
public int insertQcCheckTaskIncome(QcCheckTaskIncome qcCheckTaskIncome); public int insertQcCheckTaskIncome(QcCheckTaskIncome qcCheckTaskIncome);
int insertQcCheckTaskIncomeCg(QcCheckTaskIncome qcCheckTaskIncome);
/** /**
* *
* *
@ -82,6 +84,9 @@ public interface QcCheckTaskIncomeMapper {
List<QcCheckTaskDetail> getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail); List<QcCheckTaskDetail> getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail);
int updateQcCheckTask(QcCheckTaskIncome qcCheckTask); int updateQcCheckTask(QcCheckTaskIncome qcCheckTask);
int updateQcCheckTaskCg(QcCheckTaskIncome qcCheckTask);
List<QcCheckTaskIncome> selectQcCheckTaskCgByRecordId(String recordId);
int updateQcCheckTaskDetails(@Param("list") List<QcCheckTaskDetail> details); int updateQcCheckTaskDetails(@Param("list") List<QcCheckTaskDetail> details);
@ -107,6 +112,8 @@ public interface QcCheckTaskIncomeMapper {
QcCheckTaskIncome getTaskInfo(String recordId); QcCheckTaskIncome getTaskInfo(String recordId);
QcCheckTaskIncome getTaskInfoCg(String recordId);
int deleteQcCheckTaskDefects(String belongId); int deleteQcCheckTaskDefects(String belongId);
List<QcCheckTaskIncome> getCkeckTaskXJList(QcCheckTaskIncome qcCheckTaskIncome); List<QcCheckTaskIncome> getCkeckTaskXJList(QcCheckTaskIncome qcCheckTaskIncome);

@ -49,4 +49,6 @@ public interface QcInterfaceMapper {
@MapKey("nameDate") @MapKey("nameDate")
Map<String, QcInterface> getLineChartsDatas(QcInterface qcInterface); Map<String, QcInterface> getLineChartsDatas(QcInterface qcInterface);
QcInterface getProduceHz1(QcInterface qcInterface);
} }

@ -47,4 +47,6 @@ public interface QcProCheckService {
String getWeightInfo(QcCheckTaskDetail qcCheckTaskDetail); String getWeightInfo(QcCheckTaskDetail qcCheckTaskDetail);
QcCheckTaskDetail getAutoJudge(QcCheckTaskDetail qcCheckTaskDetail); QcCheckTaskDetail getAutoJudge(QcCheckTaskDetail qcCheckTaskDetail);
QcCheckTaskIncome getCheckTaskDetailListCg(QcCheckTaskDetail qcCheckTaskDetail);
} }

@ -1,6 +1,7 @@
package com.op.quality.service.impl; package com.op.quality.service.impl;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.*; import java.util.*;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.regex.Matcher; import java.util.regex.Matcher;
@ -690,8 +691,59 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality()); qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality());
qcCheckTask.setReason(qcCheckTaskIncome.getReason()); qcCheckTask.setReason(qcCheckTaskIncome.getReason());
qcCheckTask.setBz(qcCheckTaskIncome.getAttr3());//备注 qcCheckTask.setBz(qcCheckTaskIncome.getAttr3());//备注
qcCheckTask.setStartOA(qcCheckTaskIncome.getStartOA());
qcCheckTask.setTypeCode(qcCheckTaskIncome.getTypeCode());
/* 来料草稿 */
qcCheckTask.setOaFactory(qcCheckTaskIncome.getOaFactory());
qcCheckTask.setSupplierCode(qcCheckTaskIncome.getSupplierCode());
qcCheckTask.setSupplierName(qcCheckTaskIncome.getSupplierName());
qcCheckTask.setCzbjr(qcCheckTaskIncome.getCzbjr());
qcCheckTask.setZcf(qcCheckTaskIncome.getZcf());
qcCheckTask.setZcoemcm(qcCheckTaskIncome.getZcoemcm());
qcCheckTask.setQczg(qcCheckTaskIncome.getQczg());
qcCheckTask.setQuality(qcCheckTaskIncome.getQuality());
qcCheckTask.setUnit(qcCheckTaskIncome.getUnit());
qcCheckTask.setMaterialType(qcCheckTaskIncome.getMaterialType());
qcCheckTask.setMaterialFrom(qcCheckTaskIncome.getMaterialFrom());
/* 巡检草稿 */
qcCheckTask.setSqbm(qcCheckTaskIncome.getSqbm());// 所属部门
qcCheckTask.setCheckLoc(qcCheckTaskIncome.getCheckLoc()); // 发现地点
qcCheckTask.setOaFactoryF(qcCheckTaskIncome.getOaFactoryF());// 异常范围
qcCheckTask.setSfxyzg(qcCheckTaskIncome.getSfxyzg());// 是否需要主管审核
qcCheckTask.setPgzg(qcCheckTaskIncome.getPgzg());// QC主管
qcCheckTask.setPgzr(qcCheckTaskIncome.getPgzr()); // 质量主管
qcCheckTask.setSfgyswt(qcCheckTaskIncome.getSfgyswt());// 是否供应商
qcCheckTask.setSccj(qcCheckTaskIncome.getSccj());// 所属车间
qcCheckTask.setSqr(qcCheckTaskIncome.getSqr());// 申请人Id
/**qc_check_task_cg**/ /**qc_check_task_cg**/
n = qcCheckTaskIncomeMapper.updateQcCheckTask(qcCheckTask);//updateQcCheckTaskCG List<QcCheckTaskIncome> valiData = qcCheckTaskIncomeMapper.selectQcCheckTaskCgByRecordId(belongId);
// 判断表中是否存在此条数据
if (valiData != null && valiData.size() > 0) {
n = qcCheckTaskIncomeMapper.updateQcCheckTaskCg(qcCheckTask);//updateQcCheckTaskCG
}else {
qcCheckTask.setCheckNo(qcCheckTaskIncome.getCheckNo());
qcCheckTask.setOrderNo(qcCheckTaskIncome.getOrderNo());
qcCheckTask.setMaterialCode(qcCheckTaskIncome.getMaterialCode());
qcCheckTask.setMaterialName(qcCheckTaskIncome.getMaterialName());
qcCheckTask.setOrderType(qcCheckTaskIncome.getOrderType());
qcCheckTask.setOrderTypeDesc(qcCheckTaskIncome.getOrderTypeDesc());
qcCheckTask.setCreateBy(qcCheckTaskIncome.getCreateBy());
qcCheckTask.setCreateTime(DateUtils.getNowDate());
qcCheckTask.setIncomeTime(qcCheckTaskIncome.getIncomeTime());
qcCheckTask.setFactoryCode(qcCheckTaskIncome.getFactoryCode());
qcCheckTask.setCheckType(qcCheckTaskIncome.getCheckType());
qcCheckTask.setaNoOkquality(qcCheckTaskIncome.getaNoOkquality());
qcCheckTask.setbNoOkquality(qcCheckTaskIncome.getbNoOkquality());
qcCheckTask.setcNoOkquality(qcCheckTaskIncome.getcNoOkquality());
n = qcCheckTaskIncomeMapper.insertQcCheckTaskIncomeCg(qcCheckTask);
}
logger.info("qc_check_task:"+n); logger.info("qc_check_task:"+n);
/**更新qc_check_task_detail**/ /**更新qc_check_task_detail**/
for(QcCheckTaskDetail detail:details){ for(QcCheckTaskDetail detail:details){
@ -799,15 +851,16 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
qcCheckTask.setNoOkQuality(noOkQquality);//累计不合格数 qcCheckTask.setNoOkQuality(noOkQquality);//累计不合格数
qcCheckTask.setCheckManCode(qcCheckTaskIncome.getUpdateBy()); qcCheckTask.setCheckManCode(qcCheckTaskIncome.getUpdateBy());
qcCheckTask.setCheckManName(qcCheckTaskIncome.getUpdateByName()); qcCheckTask.setCheckManName(qcCheckTaskIncome.getUpdateByName());
qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality());
qcCheckTask.setReason(qcCheckTaskIncome.getReason()); qcCheckTask.setReason(qcCheckTaskIncome.getReason());
qcCheckTask.setBz(qcCheckTaskIncome.getAttr3());//备注 qcCheckTask.setBz(qcCheckTaskIncome.getAttr3());//备注
/**qc_check_task**/ qcCheckTask.setCxzz(qcCheckTaskIncome.getCxzz());
n = qcCheckTaskIncomeMapper.updateQcCheckTask(qcCheckTask); qcCheckTask.setJgy(qcCheckTaskIncome.getJgy());
logger.info("qc_check_task:"+n); qcCheckTask.setPgy(qcCheckTaskIncome.getPgy());
/**更新qc_check_task_detail**/
BigDecimal sampleQuality = new BigDecimal("0");
for(QcCheckTaskDetail detail:details){ for(QcCheckTaskDetail detail:details){
detail.setUpdateTime(nowTime); detail.setUpdateTime(nowTime);
sampleQuality = noOkQquality.add(new BigDecimal(detail.getSampleQuality()==null?"0":detail.getSampleQuality()));
//上传附件 //上传附件
if (StringUtils.isNotEmpty(detail.getFileListStr())) { if (StringUtils.isNotEmpty(detail.getFileListStr())) {
String[] ids = detail.getFileListStr().split(","); String[] ids = detail.getFileListStr().split(",");
@ -829,6 +882,12 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
} }
} }
qcCheckTask.setSampleQuality(sampleQuality);
/**qc_check_task**/
n = qcCheckTaskIncomeMapper.updateQcCheckTask(qcCheckTask);
logger.info("qc_check_task:"+n);
/**更新qc_check_task_detail**/
n= qcCheckTaskIncomeMapper.updateQcCheckTaskDetails(details); n= qcCheckTaskIncomeMapper.updateQcCheckTaskDetails(details);
logger.info("更新qc_check_task_detail:"+n); logger.info("更新qc_check_task_detail:"+n);
@ -927,10 +986,10 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
private void setOaFunc(QcCheckUnqualified unqualified,QcCheckTaskIncome qcCheckTaskIncome){ private void setOaFunc(QcCheckUnqualified unqualified,QcCheckTaskIncome qcCheckTaskIncome){
//不合格描述 //不合格描述
unqualified.setRemark(qcCheckTaskIncome.getRemark()); unqualified.setRemark(qcCheckTaskIncome.getRemark());
if("produce".equals(qcCheckTaskIncome.getTypeCode())){ if("produce".equals(qcCheckTaskIncome.getTypeCode())||"product".equals(qcCheckTaskIncome.getTypeCode())){
unqualified.setTypeCode(qcCheckTaskIncome.getTypeCode()); unqualified.setTypeCode(qcCheckTaskIncome.getTypeCode());
unqualified.setSfgyswt(qcCheckTaskIncome.getSfgyswt()); unqualified.setSfgyswt(qcCheckTaskIncome.getSfgyswt());
unqualified.setUser(qcCheckTaskIncome.getPgzg());//qcCheckTaskIncome.getUpdateBy();
//申请人- //申请人-
unqualified.setSqr("MSL#"+qcCheckTaskIncome.getSqr()); unqualified.setSqr("MSL#"+qcCheckTaskIncome.getSqr());
//申请部门 //申请部门
@ -946,9 +1005,12 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
if(qcCheckTaskIncome.getSfxyzg().equals("0")){//是 if(qcCheckTaskIncome.getSfxyzg().equals("0")){//是
//qc主管 //qc主管
unqualified.setPgzg("MSL#"+qcCheckTaskIncome.getPgzg()); unqualified.setPgzg("MSL#"+qcCheckTaskIncome.getPgzg());
unqualified.setUser(qcCheckTaskIncome.getPgzg());
}else{
unqualified.setUser(qcCheckTaskIncome.getPgzr());
}
//质量主管 //质量主管
unqualified.setPgzr("MSL#"+qcCheckTaskIncome.getPgzr()); unqualified.setPgzr("MSL#"+qcCheckTaskIncome.getPgzr());
}
//是否供应商问题 //是否供应商问题
unqualified.setSfgyswt(qcCheckTaskIncome.getSfgyswt()); unqualified.setSfgyswt(qcCheckTaskIncome.getSfgyswt());
unqualified.setOaFactoryF(qcCheckTaskIncome.getOaFactoryF()); unqualified.setOaFactoryF(qcCheckTaskIncome.getOaFactoryF());
@ -1052,6 +1114,7 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
//发企业微信--------------------结束 //发企业微信--------------------结束
} }
} }
//CAR:0 PC:1 其它2 吨3 千克4 //CAR:0 PC:1 其它2 吨3 千克4
protected String getConvertUnit(String unit){ protected String getConvertUnit(String unit){
String unitOa= ""; String unitOa= "";

@ -100,13 +100,14 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
if("material".equals(taskIfo.getTypeCode())) { if("material".equals(taskIfo.getTypeCode())) {
//ZL0010-来料检验不合格控制流程 //ZL0010-来料检验不合格控制流程
oaR = this.createLLOA(taskIfo); oaR = this.createLLOA(taskIfo);
}else if("produce".equals(taskIfo.getTypeCode())){ }else if("produce".equals(taskIfo.getTypeCode())||"product".equals(taskIfo.getTypeCode())){
//ZL0030-品质异常流程 //ZL0030-品质异常流程
oaR = this.createProduceOA(taskIfo); oaR = this.createProduceOA(taskIfo);
}else if("product".equals(taskIfo.getTypeCode())) {
//ZL0020-成品检验控制流程
oaR = this.createProductOA(taskIfo);
} }
// else if("product".equals(taskIfo.getTypeCode())) {
// //ZL0020-成品检验控制流程
// oaR = this.createProductOA(taskIfo);
// }
if(oaR!=null ){ if(oaR!=null ){
if((oaR.get("code").toString()).equals("200")){ if((oaR.get("code").toString()).equals("200")){
/**qc_check_unqualified**/ /**qc_check_unqualified**/

@ -82,32 +82,7 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
String nowYMD = DateUtils.getDate(); String nowYMD = DateUtils.getDate();
qcInterface.setYmd(nowYMD); qcInterface.setYmd(nowYMD);
//生产打开List<QcInterface> dtos = qcInterfaceMapper.getCheckProjectsPie(qcInterface); List<QcInterface> dtos = qcInterfaceMapper.getCheckProjectsPie(qcInterface);
/**质量看板测试开始**/
List<QcInterface> dtos = new ArrayList<>();
QcInterface q0 = new QcInterface();
q0.setProjectName("热贮稳定性");
q0.setQuality("1");
dtos.add(q0);
QcInterface q1 = new QcInterface();
q1.setProjectName("[香坯包膜]15mm爆口直径");
q1.setQuality("2");
dtos.add(q1);
QcInterface q2 = new QcInterface();
q2.setProjectName("其它不良现象");
q2.setQuality("5");
dtos.add(q2);
QcInterface q3 = new QcInterface();
q3.setProjectName("眼头插孔");
q3.setQuality("1");
dtos.add(q3);
QcInterface q4 = new QcInterface();
q4.setProjectName("厚度(一盘)");
q4.setQuality("2");
dtos.add(q4);
/**质量看板测试结束**/
return dtos; return dtos;
} }
@ -163,68 +138,68 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
dto.setCheckStatus("0".equals(dto.getCheckStatus()) ? "待检测" : "检测完成"); dto.setCheckStatus("0".equals(dto.getCheckStatus()) ? "待检测" : "检测完成");
dto.setCheckResult("Y".equals(dto.getCheckResult()) ? "合格" : "不合格"); dto.setCheckResult("Y".equals(dto.getCheckResult()) ? "合格" : "不合格");
} }
/**质量看板测试开始**/ // /**质量看板测试开始**/
QcInterface q0 = new QcInterface(); // QcInterface q0 = new QcInterface();
q0.setCheckNo("20240305001"); // q0.setCheckNo("20240305001");
q0.setIncomeBatchNo("20270122LJ20240123BBBA0G"); // q0.setIncomeBatchNo("20270122LJ20240123BBBA0G");
q0.setOrderNo("000800000083-1"); // q0.setOrderNo("000800000083-1");
q0.setMaterialName("10小时无烟型黑蚊香(繁体)纸盒"); // q0.setMaterialName("10小时无烟型黑蚊香(繁体)纸盒");
q0.setQuality("19000"); // q0.setQuality("19000");
q0.setUnit("个"); // q0.setUnit("个");
q0.setSupplierName("中山市粤华包装有限公司"); // q0.setSupplierName("中山市粤华包装有限公司");
q0.setIncomeTime("2024-03-05 00:00:00"); // q0.setIncomeTime("2024-03-05 00:00:00");
q0.setCheckTime("2024-03-05 11:32:00"); // q0.setCheckTime("2024-03-05 11:32:00");
q0.setCheckResult("合格"); // q0.setCheckResult("合格");
q0.setCheckManName("马娥章"); // q0.setCheckManName("马娥章");
q0.setCheckName("来料检验"); // q0.setCheckName("来料检验");
dtos.add(q0); // dtos.add(q0);
//
QcInterface q1 = new QcInterface(); // QcInterface q1 = new QcInterface();
q1.setCheckNo("20240306002"); // q1.setCheckNo("20240306002");
q1.setIncomeBatchNo("20270122LJ20240123BCCA0F"); // q1.setIncomeBatchNo("20270122LJ20240123BCCA0F");
q1.setOrderNo("0008000001093-1"); // q1.setOrderNo("0008000001093-1");
q1.setMaterialName("依素猫狗(黄色)气雾盖"); // q1.setMaterialName("依素猫狗(黄色)气雾盖");
q1.setQuality("5000"); // q1.setQuality("5000");
q1.setUnit("个"); // q1.setUnit("个");
q1.setSupplierName("广州盛盈环保科技有限公司"); // q1.setSupplierName("广州盛盈环保科技有限公司");
q1.setIncomeTime("2024-03-05 00:00:00"); // q1.setIncomeTime("2024-03-05 00:00:00");
q1.setCheckTime("2024-03-05 13:32:00"); // q1.setCheckTime("2024-03-05 13:32:00");
q1.setCheckResult("合格"); // q1.setCheckResult("合格");
q1.setCheckManName("马娥章"); // q1.setCheckManName("马娥章");
q1.setCheckName("来料检验"); // q1.setCheckName("来料检验");
dtos.add(q1); // dtos.add(q1);
//
QcInterface q2 = new QcInterface(); // QcInterface q2 = new QcInterface();
q2.setCheckNo("20240307002"); // q2.setCheckNo("20240307002");
q2.setIncomeBatchNo("20270122LJ20240456BCCA0D"); // q2.setIncomeBatchNo("20270122LJ20240456BCCA0D");
q2.setOrderNo("0008000001193-1"); // q2.setOrderNo("0008000001193-1");
q2.setMaterialName("King Brand蚊片(450装)纸箱"); // q2.setMaterialName("King Brand蚊片(450装)纸箱");
q2.setQuality("5800"); // q2.setQuality("5800");
q2.setUnit("个"); // q2.setUnit("个");
q2.setSupplierName("广州市网能产品设计有限公司"); // q2.setSupplierName("广州市网能产品设计有限公司");
q2.setIncomeTime("2024-08-06 00:00:00"); // q2.setIncomeTime("2024-08-06 00:00:00");
q2.setCheckTime("2024-08-06 13:42:00"); // q2.setCheckTime("2024-08-06 13:42:00");
q2.setCheckResult("合格"); // q2.setCheckResult("合格");
q2.setCheckManName("马娥章"); // q2.setCheckManName("马娥章");
q2.setCheckName("来料检验"); // q2.setCheckName("来料检验");
dtos.add(q2); // dtos.add(q2);
//
QcInterface q3 = new QcInterface(); // QcInterface q3 = new QcInterface();
q3.setCheckNo("20240308001"); // q3.setCheckNo("20240308001");
q3.setIncomeBatchNo("20270122LJ20240456BCBB0D"); // q3.setIncomeBatchNo("20270122LJ20240456BCBB0D");
q3.setOrderNo("0008000001203-1"); // q3.setOrderNo("0008000001203-1");
q3.setMaterialName("榄菊牌清香型蚊液(空白)纸箱"); // q3.setMaterialName("榄菊牌清香型蚊液(空白)纸箱");
q3.setQuality("7800"); // q3.setQuality("7800");
q3.setUnit("个"); // q3.setUnit("个");
q3.setSupplierName("广州市网能产品设计有限公司"); // q3.setSupplierName("广州市网能产品设计有限公司");
q3.setCheckTime("2024-03-05 13:50:00"); // q3.setCheckTime("2024-03-05 13:50:00");
q3.setIncomeTime("2024-08-06 00:00:00"); // q3.setIncomeTime("2024-08-06 00:00:00");
q3.setCheckResult("合格"); // q3.setCheckResult("合格");
q3.setCheckManName("马娥章"); // q3.setCheckManName("马娥章");
q3.setCheckName("来料检验"); // q3.setCheckName("来料检验");
dtos.add(q3); // dtos.add(q3);
//
/**质量看板测试结束**/ // /**质量看板测试结束**/
return dtos; return dtos;
} }
@ -236,40 +211,50 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
Map<String, String> dtoMap = new HashMap<>(); Map<String, String> dtoMap = new HashMap<>();
qcInterface.setYmdType("dd"); qcInterface.setYmdType("dd");
QcInterface hz = qcInterfaceMapper.getProduceHz(qcInterface); QcInterface hz0 = qcInterfaceMapper.getProduceHz1(qcInterface);
if (hz != null) { if (hz0 != null) {
dtoMap.put("todayPro", hz.getQuality()); dtoMap.put("todayPro", hz0.getQuality().replaceAll("\\..*", ""));
dtoMap.put("todaySample", hz.getSampleQuality()); }else{
dtoMap.put("todayNoOk", hz.getNoOkQuality()); dtoMap.put("todayPro", "0");
BigDecimal tOkRate = (new BigDecimal(hz.getSampleQuality()) }
.subtract(new BigDecimal(hz.getNoOkQuality())) QcInterface hz1 = qcInterfaceMapper.getProduceHz(qcInterface);
if (hz1 != null) {
dtoMap.put("todaySample", hz1.getSampleQuality().replaceAll("\\..*", ""));
dtoMap.put("todayNoOk", hz1.getNoOkQuality().replaceAll("\\..*", ""));
BigDecimal tOkRate = (new BigDecimal(hz1.getSampleQuality())
.subtract(new BigDecimal(hz1.getNoOkQuality()))
) )
.multiply(new BigDecimal(100)) .multiply(new BigDecimal(100))
.divide(new BigDecimal(hz.getQuality()), 2, RoundingMode.HALF_UP); .divide(new BigDecimal(hz1.getSampleQuality()), 2, RoundingMode.HALF_UP);
dtoMap.put("todayOkRate", tOkRate + "%"); dtoMap.put("todayOkRate", tOkRate + "%");
} }
qcInterface.setYmdType("mm"); qcInterface.setYmdType("mm");
QcInterface hz20 = qcInterfaceMapper.getProduceHz1(qcInterface);
if (hz20 != null) {
dtoMap.put("monthPro", hz20.getQuality().replaceAll("\\..*", ""));
}else{
dtoMap.put("monthPro", "0");
}
QcInterface hz2 = qcInterfaceMapper.getProduceHz(qcInterface); QcInterface hz2 = qcInterfaceMapper.getProduceHz(qcInterface);
if (hz2 != null) { if (hz2 != null) {
dtoMap.put("monthPro", hz2.getQuality()); dtoMap.put("monthNoOk", hz2.getNoOkQuality().replaceAll("\\..*", ""));
dtoMap.put("monthNoOk", hz2.getNoOkQuality());
BigDecimal tOkRate2 = (new BigDecimal(hz2.getSampleQuality()) BigDecimal tOkRate2 = (new BigDecimal(hz2.getSampleQuality())
.subtract(new BigDecimal(hz2.getNoOkQuality())) .subtract(new BigDecimal(hz2.getNoOkQuality()))
) )
.multiply(new BigDecimal(100)) .multiply(new BigDecimal(100))
.divide(new BigDecimal(hz2.getQuality()), 2, RoundingMode.HALF_UP); .divide(new BigDecimal(hz2.getSampleQuality()), 2, RoundingMode.HALF_UP);
dtoMap.put("monthOkRate", tOkRate2 + "%"); dtoMap.put("monthOkRate", tOkRate2 + "%");
} }
/**质量看板测试开始**/ // /**质量看板测试开始**/
dtoMap.put("todayPro", "3800"); // dtoMap.put("todayPro", "3800");
dtoMap.put("todaySample", "50"); // dtoMap.put("todaySample", "50");
dtoMap.put("todayNoOk", "2"); // dtoMap.put("todayNoOk", "2");
dtoMap.put("todayOkRate", "96.00%"); // dtoMap.put("todayOkRate", "96.00%");
dtoMap.put("monthPro", "83600"); // dtoMap.put("monthPro", "83600");
dtoMap.put("monthNoOk", "30"); // dtoMap.put("monthNoOk", "30");
dtoMap.put("monthOkRate", "99.96%"); // dtoMap.put("monthOkRate", "99.96%");
/**质量看板测试结束**/ // /**质量看板测试结束**/
return dtoMap; return dtoMap;
} }
@ -298,7 +283,7 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
List<String> monthData = new ArrayList<>(); List<String> monthData = new ArrayList<>();
for (int mh = 1; mh <= nowMonth; mh++) { for (int mh = 1; mh <= nowMonth; mh++) {
String yyyymm = nowYMDs[1] + "-" + String.format("%02d", mh); String yyyymm = nowYMDs[0] + "-" + String.format("%02d", mh);
monthNames.add(yyyymm); monthNames.add(yyyymm);
if (!CollectionUtils.isEmpty(noOkHzs)&&noOkHzs.get(yyyymm)!=null) { if (!CollectionUtils.isEmpty(noOkHzs)&&noOkHzs.get(yyyymm)!=null) {
monthData.add(noOkHzs.get(yyyymm).getNoOkQuality()); monthData.add(noOkHzs.get(yyyymm).getNoOkQuality());
@ -309,18 +294,18 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
dtoMap.put("month", monthNames); dtoMap.put("month", monthNames);
dtoMap.put("monthData", monthData); dtoMap.put("monthData", monthData);
/**质量看板测试开始**/ // /**质量看板测试开始**/
List<String> monthNames0 = new ArrayList<>(); // List<String> monthNames0 = new ArrayList<>();
monthNames0.add("2024-01");monthNames0.add("2024-02");monthNames0.add("2024-03");monthNames0.add("2024-04"); // monthNames0.add("2024-01");monthNames0.add("2024-02");monthNames0.add("2024-03");monthNames0.add("2024-04");
monthNames0.add("2024-05");monthNames0.add("2024-06");monthNames0.add("2024-07");monthNames0.add("2024-08"); // monthNames0.add("2024-05");monthNames0.add("2024-06");monthNames0.add("2024-07");monthNames0.add("2024-08");
monthNames0.add("2024-09");monthNames0.add("2024-10");monthNames0.add("2024-11");monthNames0.add("2024-12"); // monthNames0.add("2024-09");monthNames0.add("2024-10");monthNames0.add("2024-11");monthNames0.add("2024-12");
List<String> monthData0 = new ArrayList<>(); // List<String> monthData0 = new ArrayList<>();
monthData0.add("5");monthData0.add("4");monthData0.add("7");monthData0.add("10");monthData0.add("5"); // monthData0.add("5");monthData0.add("4");monthData0.add("7");monthData0.add("10");monthData0.add("5");
monthData0.add("4");monthData0.add("9");monthData0.add("12");monthData0.add("3");monthData0.add("7"); // monthData0.add("4");monthData0.add("9");monthData0.add("12");monthData0.add("3");monthData0.add("7");
monthData0.add("5");monthData0.add("2"); // monthData0.add("5");monthData0.add("2");
dtoMap.put("month", monthNames0); // dtoMap.put("month", monthNames0);
dtoMap.put("monthData", monthData0); // dtoMap.put("monthData", monthData0);
/**质量看板测试结束**/ // /**质量看板测试结束**/
return dtoMap; return dtoMap;
} }
@ -392,58 +377,58 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
} }
lastYM.setDayStr(daystr0); lastYM.setDayStr(daystr0);
nowYM.setDayStr(daystr1); nowYM.setDayStr(daystr1);
//生产打开 //生产打开
// qcInterface.setYmd("'" + nowYear + "','" + lastYear + "'"); qcInterface.setYmd("'" + nowYear + "','" + lastYear + "'");
//
// Map<String, QcInterface> noOkNum = qcInterfaceMapper.getMothNoOkNum(qcInterface); Map<String, QcInterface> noOkNum = qcInterfaceMapper.getMothNoOkNum(qcInterface);
// if (noOkNum == null) { if (noOkNum == null) {
// return null; return null;
// } }
//
// List<String> dataBar0 = new ArrayList<>();//不合规数量
// List<String> dataLine0 = new ArrayList<>();//不合格率
// for (String day0 : daystr0) {
// QcInterface last = noOkNum.get(day0);
// if (last != null) {
// dataBar0.add(last.getNoOkQuality());
// BigDecimal norate0 = new BigDecimal(last.getNoOkQuality()).multiply(new BigDecimal(100))
// .divide(new BigDecimal(last.getQuality()), 2, RoundingMode.HALF_UP);
// dataLine0.add(norate0.toString());
// } else {
// dataBar0.add("0");
// dataLine0.add("0.00");
// }
// }
//
// List<String> dataBar1 = new ArrayList<>();//不合规数量
// List<String> dataLine1 = new ArrayList<>();//不合格率
// for (String day1 : daystr1) {
// QcInterface now = noOkNum.get(day1);
// if (now != null) {
// dataBar1.add(now.getNoOkQuality());
// BigDecimal norate0 = new BigDecimal(now.getNoOkQuality()).multiply(new BigDecimal(100))
// .divide(new BigDecimal(now.getQuality()), 2, RoundingMode.HALF_UP);
// dataLine1.add(norate0.toString());
// } else {
// dataBar1.add("0");
// dataLine1.add("0.00");
// }
// }
/**质量看板测试开始**/
List<String> dataBar0 = new ArrayList<>();//不合规数量 List<String> dataBar0 = new ArrayList<>();//不合规数量
List<String> dataLine0 = new ArrayList<>();//不合格率 List<String> dataLine0 = new ArrayList<>();//不合格率
for (String day0 : daystr0) {
QcInterface last = noOkNum.get(day0);
if (last != null) {
dataBar0.add(last.getNoOkQuality());
BigDecimal norate0 = new BigDecimal(last.getNoOkQuality()).multiply(new BigDecimal(100))
.divide(new BigDecimal(last.getQuality()), 2, RoundingMode.HALF_UP);
dataLine0.add(norate0.toString());
} else {
dataBar0.add("0");
dataLine0.add("0.00");
}
}
List<String> dataBar1 = new ArrayList<>();//不合规数量 List<String> dataBar1 = new ArrayList<>();//不合规数量
List<String> dataLine1 = new ArrayList<>();//不合格率 List<String> dataLine1 = new ArrayList<>();//不合格率
dataBar0.add("4");dataBar0.add("9");dataBar0.add("7");dataBar0.add("13");dataBar0.add("11");dataBar0.add("7"); for (String day1 : daystr1) {
dataBar0.add("8");dataBar0.add("4");dataBar0.add("5");dataBar0.add("2");dataBar0.add("10");dataBar0.add("6"); QcInterface now = noOkNum.get(day1);
dataBar1.add("3");dataBar1.add("14");dataBar1.add("17");dataBar1.add("3");dataBar1.add("9");dataBar1.add("3"); if (now != null) {
dataBar1.add("8");dataBar1.add("5");dataBar1.add("4");dataBar1.add("2");dataBar1.add("9");dataBar1.add("5"); dataBar1.add(now.getNoOkQuality());
BigDecimal norate0 = new BigDecimal(now.getNoOkQuality()).multiply(new BigDecimal(100))
dataLine0.add("1");dataLine0.add("2");dataLine0.add("0.5");dataLine0.add("0.9");dataLine0.add("1");dataLine0.add("1.9"); .divide(new BigDecimal(now.getQuality()), 2, RoundingMode.HALF_UP);
dataLine0.add("1.1");dataLine0.add("1");dataLine0.add("0.7");dataLine0.add("0.9");dataLine0.add("1.5");dataLine0.add("1.3"); dataLine1.add(norate0.toString());
dataLine1.add("0.5");dataLine1.add("1.5");dataLine1.add("0.9");dataLine1.add("1");dataLine1.add("0.7");dataLine1.add("1.9"); } else {
dataLine1.add("1.4");dataLine1.add("0.5");dataLine1.add("0.9");dataLine1.add("1");dataLine1.add("1.3");dataLine1.add("1.2"); dataBar1.add("0");
/**质量看板测试结束**/ dataLine1.add("0.00");
}
}
// /**质量看板测试开始**/
// List<String> dataBar0 = new ArrayList<>();//不合规数量
// List<String> dataLine0 = new ArrayList<>();//不合格率
// List<String> dataBar1 = new ArrayList<>();//不合规数量
// List<String> dataLine1 = new ArrayList<>();//不合格率
// dataBar0.add("4");dataBar0.add("9");dataBar0.add("7");dataBar0.add("13");dataBar0.add("11");dataBar0.add("7");
// dataBar0.add("8");dataBar0.add("4");dataBar0.add("5");dataBar0.add("2");dataBar0.add("10");dataBar0.add("6");
// dataBar1.add("3");dataBar1.add("14");dataBar1.add("17");dataBar1.add("3");dataBar1.add("9");dataBar1.add("3");
// dataBar1.add("8");dataBar1.add("5");dataBar1.add("4");dataBar1.add("2");dataBar1.add("9");dataBar1.add("5");
//
// dataLine0.add("1");dataLine0.add("2");dataLine0.add("0.5");dataLine0.add("0.9");dataLine0.add("1");dataLine0.add("1.9");
// dataLine0.add("1.1");dataLine0.add("1");dataLine0.add("0.7");dataLine0.add("0.9");dataLine0.add("1.5");dataLine0.add("1.3");
// dataLine1.add("0.5");dataLine1.add("1.5");dataLine1.add("0.9");dataLine1.add("1");dataLine1.add("0.7");dataLine1.add("1.9");
// dataLine1.add("1.4");dataLine1.add("0.5");dataLine1.add("0.9");dataLine1.add("1");dataLine1.add("1.3");dataLine1.add("1.2");
// /**质量看板测试结束**/
lastYM.setDataBarArrays(dataBar0); lastYM.setDataBarArrays(dataBar0);
lastYM.setDataLineArrays(dataLine0); lastYM.setDataLineArrays(dataLine0);

@ -173,6 +173,42 @@ public class QcProCheckServiceImpl implements QcProCheckService {
return dto; return dto;
} }
@Override
public QcCheckTaskIncome getCheckTaskDetailListCg(QcCheckTaskDetail qcCheckTaskDetail) {
DynamicDataSourceContextHolder.push(qcCheckTaskDetail.getFactoryCode());
QcCheckTaskIncome dto = qcCheckTaskIncomeMapper.getTaskInfoCg(qcCheckTaskDetail.getBelongTo());
if (dto == null) {
return null;
}
List<QcCheckTaskDetail> qcCheckTaskDetails = qcCheckTaskIncomeMapper.getCkeckProjectList(qcCheckTaskDetail);
/**qc_check_task_defect**/
Map<String,QcCheckTaskDefect> defectMap = qcCheckTaskDefectMapper.getDefectMap(qcCheckTaskDetail);
for (QcCheckTaskDetail qcd : qcCheckTaskDetails) {
qcd.setSampleQuality(qcd.getSampleQuality().replaceAll("\\..*", ""));//去掉小数
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(qcd.getRecordId());
if (CollectionUtils.isNotEmpty(files)) {
qcd.setFiles(files);
}
QcCheckTaskDefect defectInfo = defectMap.get(qcd.getRecordId());
if(defectInfo != null){
qcd.setDefectCodes(defectInfo.getDefectCodes());
qcd.setDefectNames(defectInfo.getDefectNames());
qcd.setDefectQualitys(defectInfo.getDefectQualitys());
}
}
dto.setQcCheckTaskDetails(qcCheckTaskDetails);
List<QcCheckTaskDefect> defects = qcCheckTaskIncomeMapper.getCkeckDefectList(qcCheckTaskDetail);
if (CollectionUtils.isEmpty(defects)) {
defects = qcCheckTaskIncomeMapper.getDefectType(qcCheckTaskDetail);
}
dto.setDefects(defects);
return dto;
}
@Override @Override
@DS("master") @DS("master")

@ -112,10 +112,10 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
tabledto.setNoOkNumRate("0.00%"); tabledto.setNoOkNumRate("0.00%");
} }
} }
return tabledtos;
return tabledtos.stream() // return tabledtos.stream()
.filter(obj -> obj.getBatchs() != 0) // .filter(obj -> obj.getBatchs() != 0)
.collect(Collectors.toList()); // .collect(Collectors.toList());
} }
/** /**

@ -315,11 +315,186 @@
<if test="remark != null">remark = #{remark},</if> <if test="remark != null">remark = #{remark},</if>
<if test="reason != null">reason = #{reason},</if> <if test="reason != null">reason = #{reason},</if>
<if test="bz != null">bz = #{bz},</if> <if test="bz != null">bz = #{bz},</if>
<if test="cxzz != null">cxzz = #{cxzz},</if>
<if test="jgy != null">jgy = #{jgy},</if>
<if test="pgy != null">pgy = #{pgy},</if>
check_result = #{checkResult}, check_result = #{checkResult},
update_by = #{updateBy}, update_by = #{updateBy},
update_time = #{updateTime} update_time = #{updateTime}
where record_id = #{recordId} where record_id = #{recordId}
</update> </update>
<insert id="insertQcCheckTaskIncomeCg" parameterType="QcCheckTaskIncome">
insert into qc_check_task_cg
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="recordId != null">record_id,</if>
<if test="checkNo != null">check_no,</if>
<if test="incomeBatchNo != null">income_batch_no,</if>
<if test="orderNo != null">order_no,</if>
<if test="materialCode != null">material_code,</if>
<if test="materialName != null">material_name,</if>
<if test="quality != null">quality,</if>
<if test="noOkQuality != null">noOk_quality,</if>
<if test="unit != null">unit,</if>
<if test="supplierCode != null">supplier_code,</if>
<if test="supplierName != null">supplier_name,</if>
<if test="incomeTime != null">income_time,</if>
<if test="checkLoc != null">check_loc,</if>
<if test="checkStatus != null">check_status,</if>
<if test="checkManCode != null">check_man_code,</if>
<if test="checkManName != null">check_man_name,</if>
<if test="checkTime != null">check_time,</if>
<if test="checkResult != null">check_result,</if>
<if test="status != null">status,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="attr4 != null">attr4,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="factoryCode != null and factoryCode != ''">factory_code,</if>
<if test="delFlag != null">del_flag,</if>
<if test="checkType != null">check_type,</if>
<if test="typeCode != null">type_code,</if>
<if test="sampleQuality != null">sample_quality,</if>
<if test="orderType != null">order_type,</if>
<if test="orderTypeDesc != null">order_type_desc,</if>
<if test="remark != null">remark,</if>
<if test="reason != null">reason,</if>
<if test="bz != null">bz,</if>
<if test="startOA != null">start_oA,</if>
<if test="oaFactory != null">oa_factory,</if>
<if test="materialType != null">material_type,</if>
<if test="materialFrom != null">material_from,</if>
<if test="czbjr != null">czbjr,</if>
<if test="zcf != null">zcf,</if>
<if test="zcoemcm != null">zcoemcm,</if>
<if test="qczg != null">qczg,</if>
<if test="sqr != null">sqr,</if>
<if test="sqbm != null">sqbm,</if>
<if test="oaFactoryF != null">oa_factory_f,</if>
<if test="sfxyzg != null">sfxyzg,</if>
<if test="pgzg != null">pgzg,</if>
<if test="pgzr != null">pgzr,</if>
<if test="sfgyswt != null">sfgyswt,</if>
<if test="sccj != null">sccj,</if>
<if test="aNoOkquality != null">aNoOkquality,</if>
<if test="bNoOkquality != null">bNoOkquality,</if>
<if test="cNoOkquality != null">cNoOkquality,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="recordId != null">#{recordId},</if>
<if test="checkNo != null">#{checkNo},</if>
<if test="incomeBatchNo != null">#{incomeBatchNo},</if>
<if test="orderNo != null">#{orderNo},</if>
<if test="materialCode != null">#{materialCode},</if>
<if test="materialName != null">#{materialName},</if>
<if test="quality != null">#{quality},</if>
<if test="noOkQuality != null">#{noOkQuality},</if>
<if test="unit != null">#{unit},</if>
<if test="supplierCode != null">#{supplierCode},</if>
<if test="supplierName != null">#{supplierName},</if>
<if test="incomeTime != null">#{incomeTime},</if>
<if test="checkLoc != null">#{checkLoc},</if>
<if test="checkStatus != null">#{checkStatus},</if>
<if test="checkManCode != null">#{checkManCode},</if>
<if test="checkManName != null">#{checkManName},</if>
<if test="checkTime != null">#{checkTime},</if>
<if test="checkResult != null">#{checkResult},</if>
<if test="status != null">#{status},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="attr4 != null">#{attr4},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="factoryCode != null and factoryCode != ''">#{factoryCode},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="checkType != null">#{checkType},</if>
<if test="typeCode != null">#{typeCode},</if>
<if test="sampleQuality != null">#{sampleQuality},</if>
<if test="orderType != null">#{orderType},</if>
<if test="orderTypeDesc != null">#{orderTypeDesc},</if>
<if test="remark != null">#{remark},</if>
<if test="reason != null">#{reason},</if>
<if test="bz != null">#{bz},</if>
<if test="startOA != null">#{startOA},</if>
<if test="oaFactory != null">#{oaFactory},</if>
<if test="materialType != null">#{materialType},</if>
<if test="materialFrom != null">#{materialFrom},</if>
<if test="czbjr != null">#{czbjr},</if>
<if test="zcf != null">#{zcf},</if>
<if test="zcoemcm != null">#{zcoemcm},</if>
<if test="qczg != null">#{qczg},</if>
<if test="sqr != null">#{sqr},</if>
<if test="sqbm != null">#{sqbm},</if>
<if test="oaFactoryF != null">#{oaFactoryF},</if>
<if test="sfxyzg != null">#{sfxyzg},</if>
<if test="pgzg != null">#{pgzg},</if>
<if test="pgzr != null">#{pgzr},</if>
<if test="sfgyswt != null">#{sfgyswt},</if>
<if test="sccj != null">#{sccj},</if>
<if test="aNoOkquality != null">#{aNoOkquality},</if>
<if test="bNoOkquality != null">#{bNoOkquality},</if>
<if test="cNoOkquality != null">#{cNoOkquality},</if>
</trim>
</insert>
<update id="updateQcCheckTaskCg">
update qc_check_task_cg
set
check_status = #{checkStatus},
check_man_code = #{checkManCode},
check_man_name =#{checkManName},
<if test="checkTime != null">check_time = #{checkTime},</if>
<if test="sampleQuality != null">sample_quality = #{sampleQuality},</if>
<if test="noOkQuality != null">noOk_quality = #{noOkQuality},</if>
<if test="aNoOkquality != null">aNoOkquality = #{aNoOkquality},</if>
<if test="bNoOkquality != null">bNoOkquality = #{bNoOkquality},</if>
<if test="cNoOkquality != null">cNoOkquality = #{cNoOkquality},</if>
<if test="incomeBatchNo != null">income_batch_no = #{incomeBatchNo},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="reason != null">reason = #{reason},</if>
<if test="bz != null">bz = #{bz},</if>
<if test="startOA != null">start_oA = #{startOA},</if>
<if test="oaFactory != null">oa_factory = #{oaFactory},</if>
<if test="materialType != null">material_type = #{materialType},</if>
<if test="materialFrom != null">material_from = #{materialFrom},</if>
<if test="czbjr != null">czbjr = #{czbjr},</if>
<if test="zcf != null">zcf = #{zcf},</if>
<if test="zcoemcm != null">zcoemcm = #{zcoemcm},</if>
<if test="qczg != null">qczg = #{qczg},</if>
<if test="sqr != null">sqr = #{sqr},</if>
<if test="quality != null">quality = #{quality},</if>
<if test="unit != null">unit = #{unit},</if>
<if test="sqbm != null">sqbm = #{sqbm},</if>
<if test="checkLoc != null">check_loc = #{checkLoc},</if>
<if test="oaFactoryF != null">oa_factory_f = #{oaFactoryF},</if>
<if test="sfxyzg != null">sfxyzg = #{sfxyzg},</if>
<if test="pgzg != null">pgzg = #{pgzg},</if>
<if test="pgzr != null">pgzr = #{pgzr},</if>
<if test="sfgyswt != null">sfgyswt = #{sfgyswt},</if>
<if test="sccj != null">sccj = #{sccj},</if>
check_result = #{checkResult},
update_by = #{updateBy},
update_time = #{updateTime}
where record_id = #{recordId}
</update>
<select id="selectQcCheckTaskCgByRecordId" resultType="com.op.quality.domain.QcCheckTaskIncome">
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,sample_quality, noOk_quality,
order_type,order_type_desc
from qc_check_task_cg
where record_id = #{recordId}
</select>
<update id="updateQcCheckTaskDetails"> <update id="updateQcCheckTaskDetails">
<foreach collection="list" item="item" separator=";"> <foreach collection="list" item="item" separator=";">
update qc_check_task_detail update qc_check_task_detail
@ -416,11 +591,59 @@
qct.check_result checkResult, qct.check_result checkResult,
qct.income_time incomeTime, qct.income_time incomeTime,
qct.check_loc checkLoc, qct.check_loc checkLoc,
qct.remark qct.remark,
qct.cxzz,
qct.jgy,
qct.pgy
from qc_check_task qct from qc_check_task qct
left join pro_order_workorder pow on pow.workorder_code = qct.order_no and pow.del_flag = '0' left join pro_order_workorder pow on pow.workorder_code = qct.order_no and pow.del_flag = '0'
where qct.record_id = #{recordId} where qct.record_id = #{recordId}
</select> </select>
<select id="getTaskInfoCg" resultType="com.op.quality.domain.QcCheckTaskIncome">
select
qct.material_code materialCode,
qct.material_name materialName,
qct.supplier_code supplierCode,
qct.supplier_name supplierName,
qct.income_batch_no incomeBatchNo,
qct.quality,
qct.material_type materialType,
qct.material_from materialFrom,
qct.factory_code factoryCode,
case when pow.workorder_code_sap is not null then pow.workorder_code_sap
else qct.order_no end orderNo,
qct.create_time createTime,
qct.check_no checkNo,
qct.type_code typeCode,
qct.unit,
qct.check_time checkTime,
qct.check_result checkResult,
qct.income_time incomeTime,
qct.check_loc checkLoc,
qct.remark,
qct.czbjr,
qct.zcf,
qct.zcoemcm,
qct.qczg,
qct.reason,
qct.bz attr3,
qct.check_type checkType,
qct.sample_quality sampleQuality,
qct.oa_factory oaFactory,
qct.oa_factory_f oaFactoryF,
qct.start_oA startOA,
qct.sqbm,
qct.sqr,
qct.sfxyzg,
qct.pgzg,
qct.pgzr,
qct.sfgyswt,
qct.sccj
from qc_check_task_cg qct
left join pro_order_workorder pow on pow.workorder_code = qct.order_no and pow.del_flag = '0'
where qct.record_id = #{recordId}
</select>
<select id="getCkeckTaskXJList" resultType="com.op.quality.domain.QcCheckTaskIncome"> <select id="getCkeckTaskXJList" resultType="com.op.quality.domain.QcCheckTaskIncome">
select select
record_id recordId, record_id recordId,

@ -40,6 +40,7 @@
</if> </if>
</select> </select>
<select id="getCheckProjectsPie" resultType="com.op.quality.domain.QcInterface"> <select id="getCheckProjectsPie" resultType="com.op.quality.domain.QcInterface">
<!--
select count(0) quality, select count(0) quality,
qctd.project_no, qctd.project_no,
qctd.rule_name projectName qctd.rule_name projectName
@ -55,7 +56,21 @@
<if test='ymdType=="dd"'> <if test='ymdType=="dd"'>
and CONVERT(varchar(10),qcu.update_time, 120) = SUBSTRING(#{ymd},0,11) and CONVERT(varchar(10),qcu.update_time, 120) = SUBSTRING(#{ymd},0,11)
</if> </if>
group by qctd.project_no,qctd.rule_name group by qctd.project_no,qctd.rule_name-->
select qct.remark projectName,
count(0) quality
from qc_check_task qct
where qct.type_code = 'produce' and qct.check_result = 'N' and qct.remark is not null
<if test='ymdType=="yyyy"'>
and CONVERT(varchar(4),qct.check_time, 120) = SUBSTRING(#{ymd},0,5)
</if>
<if test='ymdType=="mm"'>
and CONVERT(varchar(7),qct.check_time, 120) = SUBSTRING(#{ymd},0,8)
</if>
<if test='ymdType=="dd"'>
and CONVERT(varchar(10),qct.check_time, 120) = SUBSTRING(#{ymd},0,11)
</if>
group by qct.remark
</select> </select>
<select id="getSupplierBadTOP5" resultType="com.op.quality.domain.QcInterface"> <select id="getSupplierBadTOP5" resultType="com.op.quality.domain.QcInterface">
select top 5 * from( select top 5 * from(
@ -108,11 +123,12 @@
qct.quality, qct.quality,
qct.unit, qct.unit,
qct.supplier_name supplierName, qct.supplier_name supplierName,
qct.income_time incomeTime, CONVERT(varchar(10),qct.income_time, 120) incomeTime,
qct.check_status checkStatus, qct.check_status checkStatus,
qct.check_result checkResult, qct.check_result checkResult,
qct.check_man_name checkManName, qct.check_man_name checkManName,
qc.check_name checkName qc.check_name checkName,
qct.check_time checkTime
from qc_check_task qct from qc_check_task qct
left join qc_check_type qc on qct.check_type = qc.order_code left join qc_check_type qc on qct.check_type = qc.order_code
where qct.del_flag = '0' and qct.status = '1' where qct.del_flag = '0' and qct.status = '1'
@ -126,7 +142,7 @@
<if test='ymdType=="dd"'> <if test='ymdType=="dd"'>
and CONVERT(varchar(10),qct.income_time, 120) = SUBSTRING(#{ymd},0,11) and CONVERT(varchar(10),qct.income_time, 120) = SUBSTRING(#{ymd},0,11)
</if> </if>
order by qct.income_time desc,qct.check_status asc order by qct.check_no
</select> </select>
<select id="getSupplierNoOkList" resultType="com.op.quality.domain.QcInterface"> <select id="getSupplierNoOkList" resultType="com.op.quality.domain.QcInterface">
select select
@ -168,7 +184,7 @@
order by qctd.update_time desc order by qctd.update_time desc
</select> </select>
<select id="getProduceHz" resultType="com.op.quality.domain.QcInterface"> <select id="getProduceHz" resultType="com.op.quality.domain.QcInterface">
select sum(qct.quality) quality, select
sum(sample_quality) sampleQuality, sum(sample_quality) sampleQuality,
sum(noOk_quality) noOkQuality sum(noOk_quality) noOkQuality
from qc_check_task qct from qc_check_task qct
@ -260,4 +276,16 @@
and #{productDateEnd} >= CONVERT(varchar(10),income_time, 120) and #{productDateEnd} >= CONVERT(varchar(10),income_time, 120)
group by supplier_name,CONVERT(varchar(10),income_time, 120) group by supplier_name,CONVERT(varchar(10),income_time, 120)
</select> </select>
<select id="getProduceHz1" resultType="com.op.quality.domain.QcInterface">
select sum(mrw.quantity_feedback*be.umrez) quality
from mes_report_work mrw
left join base_product be on be.product_code = mrw.product_code
where mrw.del_flag = '0' and mrw.parent_order = '0' and be.del_flag = '0'
<if test='ymdType=="mm"'>
and CONVERT(varchar(7),mrw.create_time, 120) = CONVERT(varchar(7),GETDATE(), 120)
</if>
<if test='ymdType=="dd"'>
and CONVERT(varchar(10),mrw.create_time, 120) = CONVERT(varchar(10),GETDATE(), 120)
</if>
</select>
</mapper> </mapper>

@ -7,6 +7,7 @@
<select id="selectQcStaticTableList" parameterType="com.op.quality.domain.QcStaticTable" <select id="selectQcStaticTableList" parameterType="com.op.quality.domain.QcStaticTable"
resultType="com.op.quality.domain.QcStaticTable"> resultType="com.op.quality.domain.QcStaticTable">
<!--
SELECT SELECT
bs.supplier_id supplierId, bs.supplier_id supplierId,
bs.supplier_code supplierCode, bs.supplier_code supplierCode,
@ -18,7 +19,13 @@
<foreach collection="supplierCodes" item="supplierCode" index="index" separator="," open="(" close=")"> <foreach collection="supplierCodes" item="supplierCode" index="index" separator="," open="(" close=")">
#{supplierCode} #{supplierCode}
</foreach> </foreach>
</if> </if>-->
select DISTINCT qct.supplier_code supplierCode,
qct.supplier_name supplierName
from qc_check_task qct
where qct.type_code = 'material' and qct.del_flag = '0'
and CONVERT(varchar(7),qct.income_time, 120) = #{yearMonth}
</select> </select>
<select id="selectPcMap" resultType="com.op.quality.domain.QcStaticTable"> <select id="selectPcMap" resultType="com.op.quality.domain.QcStaticTable">
SELECT SELECT

@ -44,6 +44,12 @@ public class BaseDictDataController extends BaseController {
List<SysDictData> list = dictDataService.selectDictDataList(dictData); List<SysDictData> list = dictDataService.selectDictDataList(dictData);
return getDataTable(list); return getDataTable(list);
} }
@GetMapping("/getDictData")
@DS("#header.poolName")
public AjaxResult getDict(SysDictData dictData) {
List<SysDictData> list = dictDataService.getDictDataList(dictData);
return success(list);
}
@Log(title = "字典数据", businessType = BusinessType.EXPORT) @Log(title = "字典数据", businessType = BusinessType.EXPORT)
@RequiresPermissions("factory:dict:export") @RequiresPermissions("factory:dict:export")

@ -320,6 +320,8 @@ public class OdsProcureOrderController extends BaseController {
odsProcureOrderService.OutboundPostingSAPfc(orderList); odsProcureOrderService.OutboundPostingSAPfc(orderList);
return success(); return success();
} }
@PostMapping("/listCKT") @PostMapping("/listCKT")
public AjaxResult listCKT(BaseWarehouse baseWarehouse) { public AjaxResult listCKT(BaseWarehouse baseWarehouse) {

@ -300,7 +300,14 @@ public class WmsToWCSmissionController {
public AjaxResult WmsProductPutByWorkOrderquery(@RequestBody WmsProductPut wmsProductPut) { public AjaxResult WmsProductPutByWorkOrderquery(@RequestBody WmsProductPut wmsProductPut) {
return AjaxResult.success(wmsProductPutService.WmsProductPutByWorkOrderquery(wmsProductPut)); return AjaxResult.success(wmsProductPutService.WmsProductPutByWorkOrderquery(wmsProductPut));
} }
/**
*
* ---
*/
@PostMapping("/WmsProductPutByWorkOrderqueryBS")
public AjaxResult WmsProductPutByWorkOrderqueryBS(@RequestBody WmsProductPut wmsProductPut) {
return AjaxResult.success(wmsProductPutService.WmsProductPutByWorkOrderqueryBS(wmsProductPut));
}
/** /**
* *
* *

@ -217,6 +217,43 @@ public class WmsProductPut extends BaseEntity {
List<WmsProductPut> wmsProductPut; List<WmsProductPut> wmsProductPut;
private String sn; private String sn;
private String pallet;//标识卡
public String getPallet() {
return pallet;
}
private String attribute1 ;
private String attribute2;
private String attribute3;
public String getAttribute1() {
return attribute1;
}
public void setAttribute1(String attribute1) {
this.attribute1 = attribute1;
}
public String getAttribute2() {
return attribute2;
}
public void setAttribute2(String attribute2) {
this.attribute2 = attribute2;
}
public String getAttribute3() {
return attribute3;
}
public void setAttribute3(String attribute3) {
this.attribute3 = attribute3;
}
public void setPallet(String pallet) {
this.pallet = pallet;
}
public String getSn() { public String getSn() {
return sn; return sn;
} }

@ -92,4 +92,6 @@ public interface BaseDictDataMapper {
* @return * @return
*/ */
public int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType); public int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType);
List<SysDictData> getDictDataList(SysDictData dictData);
} }

@ -138,4 +138,7 @@ public interface BaseEquipmentMapper {
//查询设备类型(维护在字典中的) //查询设备类型(维护在字典中的)
List<BaseEquipment> getEquipmentTypeDeptList(BaseEquipment baseEquipment); List<BaseEquipment> getEquipmentTypeDeptList(BaseEquipment baseEquipment);
//根据设备名查询设备信息
BaseEquipment selectBaseEquipmentByEquipmentCode(String code);
} }

@ -77,6 +77,7 @@ public interface WmsProductPutMapper {
void updateWmsProductPutByIds(@Param("wmsProductPut") WmsProductPut wmsProductPut4, @Param("list") List<WmsProductPut> wmsProductPut2); void updateWmsProductPutByIds(@Param("wmsProductPut") WmsProductPut wmsProductPut4, @Param("list") List<WmsProductPut> wmsProductPut2);
WmsProductPut WmsProductPutByWorkOrderqueryBS(WmsProductPut wmsProductPut);
// String selectWmsProductPutNum(wmsReportWork wmsReportWork); // String selectWmsProductPutNum(wmsReportWork wmsReportWork);

@ -58,4 +58,6 @@ public interface IBaseDictDataService {
* @return * @return
*/ */
public int updateDictData(SysDictData dictData); public int updateDictData(SysDictData dictData);
List<SysDictData> getDictDataList(SysDictData dictData);
} }

@ -138,4 +138,6 @@ public interface IWmsProductPutService {
Integer finishedProductProductionRecords(ProOrderWorkorder proOrderWorkorder); Integer finishedProductProductionRecords(ProOrderWorkorder proOrderWorkorder);
List<WmsProductProductionRecords> selectProductProductionRecords(WmsProductProductionRecords wmsProductProductionRecords); List<WmsProductProductionRecords> selectProductProductionRecords(WmsProductProductionRecords wmsProductProductionRecords);
WmsProductPut WmsProductPutByWorkOrderqueryBS(WmsProductPut wmsProductPut);
} }

@ -30,6 +30,11 @@ public class BaseDictDataServiceImpl implements IBaseDictDataService {
return dictDataMapper.selectDictDataList(dictData); return dictDataMapper.selectDictDataList(dictData);
} }
@Override
public List<SysDictData> getDictDataList(SysDictData dictData) {
return dictDataMapper.getDictDataList(dictData);
}
/** /**
* *
* *

@ -235,6 +235,10 @@ public class BaseEquipmentServiceImpl implements IBaseEquipmentService {
List<String> auxiliaryEquipmentRightList = baseEquipment.getAuxiliaryEquipmentRightData(); List<String> auxiliaryEquipmentRightList = baseEquipment.getAuxiliaryEquipmentRightData();
for (String code : auxiliaryEquipmentRightList) { for (String code : auxiliaryEquipmentRightList) {
EquBindAuxiliaryEquipment equBindAuxiliaryEquipment = new EquBindAuxiliaryEquipment(); EquBindAuxiliaryEquipment equBindAuxiliaryEquipment = new EquBindAuxiliaryEquipment();
//查询绑定的名字 设备类型
BaseEquipment dto = baseEquipmentMapper.selectBaseEquipmentByEquipmentCode(code);
equBindAuxiliaryEquipment.setAuxiliaryEquipmentName(dto.getEquipmentName());
equBindAuxiliaryEquipment.setAuxiliaryEquipmentType(dto.getEquipmentTypeCode());
equBindAuxiliaryEquipment.setAuxiliaryEquipmentCode(code); equBindAuxiliaryEquipment.setAuxiliaryEquipmentCode(code);
equBindAuxiliaryEquipment.setEquipmentCode(baseEquipment.getEquipmentCode()); equBindAuxiliaryEquipment.setEquipmentCode(baseEquipment.getEquipmentCode());
equBindAuxiliaryEquipment.setCreateBy(SecurityUtils.getUsername()); equBindAuxiliaryEquipment.setCreateBy(SecurityUtils.getUsername());
@ -348,6 +352,10 @@ public class BaseEquipmentServiceImpl implements IBaseEquipmentService {
for (String code : auxiliaryEquipmentRightList) { for (String code : auxiliaryEquipmentRightList) {
EquBindAuxiliaryEquipment equBindAuxiliaryEquipment = new EquBindAuxiliaryEquipment(); EquBindAuxiliaryEquipment equBindAuxiliaryEquipment = new EquBindAuxiliaryEquipment();
equBindAuxiliaryEquipment.setAuxiliaryEquipmentCode(code); equBindAuxiliaryEquipment.setAuxiliaryEquipmentCode(code);
//查询名字 设备类型
BaseEquipment dto = baseEquipmentMapper.selectBaseEquipmentByEquipmentCode(code);
equBindAuxiliaryEquipment.setAuxiliaryEquipmentName(dto.getEquipmentName());
equBindAuxiliaryEquipment.setAuxiliaryEquipmentType(dto.getEquipmentTypeCode());
equBindAuxiliaryEquipment.setEquipmentCode(baseEquipment.getEquipmentCode()); equBindAuxiliaryEquipment.setEquipmentCode(baseEquipment.getEquipmentCode());
equBindAuxiliaryEquipment.setEquipmentName(baseEquipment.getEquipmentName()); equBindAuxiliaryEquipment.setEquipmentName(baseEquipment.getEquipmentName());
equBindAuxiliaryEquipment.setCreateBy(SecurityUtils.getUsername()); equBindAuxiliaryEquipment.setCreateBy(SecurityUtils.getUsername());

@ -854,7 +854,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
if (ruslt.getCode()==200){//成功 if (ruslt.getCode()==200){//成功
odsProcureOrderMapper.updateOdsProcureOrderAddOperationNumber(odsProcureOrder); odsProcureOrderMapper.updateOdsProcureOrderAddOperationNumber(odsProcureOrder);
}else { }else {
result="操作失败"; result="操作失败:"+ruslt.getMsg();
} }
return result; return result;
} }

@ -1028,6 +1028,22 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
return records; return records;
} }
@Override
public WmsProductPut WmsProductPutByWorkOrderqueryBS(WmsProductPut wmsProductPut) {
// 使用 split 方法根据 '-' 分割字符串,结果是一个字符串数组
DynamicDataSourceContextHolder.push("ds_" + wmsProductPut.getFactoryCode());
String[] attributes = wmsProductPut.getPallet().split("-");
// 通过索引访问分割后的数组,获取所需的三个属性
String attribute1 = attributes[0]; // 获取第一个属性
String attribute2 = attributes[1]; // 获取第二个属性
String attribute3 = attributes[2]; // 获取第三个属性
wmsProductPut.setAttribute1(attribute1);
wmsProductPut.setAttribute2(attribute2);
wmsProductPut.setAttribute3(attribute3);
WmsProductPut wmsProductPut1 = wmsProductPutMapper.WmsProductPutByWorkOrderqueryBS(wmsProductPut);
return wmsProductPut1;
}
@Override @Override
public List<WmsRuturnPutEmbryo> FinishedProductSalesReturn(WmsRuturnPutEmbryo wmsRuturnPutEmbryo) { public List<WmsRuturnPutEmbryo> FinishedProductSalesReturn(WmsRuturnPutEmbryo wmsRuturnPutEmbryo) {
DynamicDataSourceContextHolder.push("ds_" + wmsRuturnPutEmbryo.getFactoryCode()); DynamicDataSourceContextHolder.push("ds_" + wmsRuturnPutEmbryo.getFactoryCode());

@ -41,6 +41,37 @@
order by dict_sort asc order by dict_sort asc
</select> </select>
<select id="getDictDataList" parameterType="SysDictType" resultMap="SysDictTypeResult">
select
CONCAT(dict_label,'[',dict_value,']') AS dict_label,
dict_code,
dict_sort,
dict_value,
dict_type,
status,
remark
from base_dict_data
<where>
<if test="dictType != null and dictType != ''">
AND dict_type = #{dictType}
</if>
<if test="dictLabel != null and dictLabel != ''">
AND dict_label like concat('%', #{dictLabel}, '%')
</if>
<if test="dictValue != null and dictValue != ''">
AND dict_value = #{dictValue}
</if>
<if test="status != null and status != ''">
AND status = #{status}
</if>
<if test="remark != null and remark != ''">
AND remark like concat('%', #{remark}, '%')
</if>
</where>
order by dict_sort asc
</select>
<select id="selectDictDataByType" parameterType="SysDictType" resultMap="SysDictTypeResult"> <select id="selectDictDataByType" parameterType="SysDictType" resultMap="SysDictTypeResult">
<include refid="selectDictDataVo"/> <include refid="selectDictDataVo"/>
where status = '0' and dict_type = #{dictType} order by dict_sort asc where status = '0' and dict_type = #{dictType} order by dict_sort asc

@ -222,6 +222,12 @@
and del_flag ='0' and del_flag ='0'
</select> </select>
<select id="selectBaseEquipmentByEquipmentCode" parameterType="String" resultMap="BaseEquipmentResult">
<include refid="selectBaseEquipmentVo"/>
where equipment_code = #{equipmentCode}
and del_flag ='0'
</select>
<insert id="insertBaseEquipment" parameterType="BaseEquipment" useGeneratedKeys="true" keyProperty="equipmentId"> <insert id="insertBaseEquipment" parameterType="BaseEquipment" useGeneratedKeys="true" keyProperty="equipmentId">
insert into base_equipment insert into base_equipment
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
@ -624,6 +630,8 @@
from equ_bind_auxiliary_equipment ebac from equ_bind_auxiliary_equipment ebac
left join base_equipment be on ebac.auxiliary_equipment_code = be.equipment_code left join base_equipment be on ebac.auxiliary_equipment_code = be.equipment_code
where ebac.equipment_code = #{equipmentCode} where ebac.equipment_code = #{equipmentCode}
and ebac.del_flag = '0'
and be.del_flag = '0'
order by ebac.auxiliary_equipment_code asc order by ebac.auxiliary_equipment_code asc
</select> </select>

@ -384,5 +384,35 @@
#{item.id} #{item.id}
</foreach> </foreach>
</update> </update>
<select id="WmsProductPutByWorkOrderqueryBS" resultMap="WmsProductPutResult">
SELECT
mes_report_work.report_code work_order,
pro_order_workorder.workorder_code_sap product_order,
mes_report_work.product_code,
mes_report_work.product_name,
mes_report_work.unit unit_of_measure,
mes_report_work.batch batch_number,
mes_report_work.quantity plan_quantity,
( mes_report_work.quantity- put.put_quantity ) attr3
FROM
pro_order_workorder
LEFT JOIN mes_report_work ON pro_order_workorder.workorder_code = mes_report_work.workorder_code
LEFT JOIN (
SELECT SUM
( wms_product_put.put_quantity ) AS put_quantity,
wms_product_put.work_order AS work_order,
wms_product_put.product_code AS product_code
FROM
wms_product_put
GROUP BY
wms_product_put.work_order,
wms_product_put.product_code
) put ON put.work_order= mes_report_work.report_code
AND put.product_code= pro_order_workorder.workorder_code_sap
WHERE
pro_order_workorder.workorder_code_sap=#{attribute1}
AND mes_report_work.batch=#{attribute2}
AND mes_report_work.parent_order = '0'
</select>
</mapper> </mapper>

Loading…
Cancel
Save