Merge remote-tracking branch 'origin/master'

master
夜笙歌 1 year ago
commit f4d070767d

@ -25,5 +25,8 @@ public interface RemoteDmsService {
@PostMapping("/dmsBillsLubeInstance/autoAdd") @PostMapping("/dmsBillsLubeInstance/autoAdd")
R<?> getDmsBillsLube(@RequestHeader(SecurityConstants.FROM_SOURCE) String source,String planInspectId); R<?> getDmsBillsLube(@RequestHeader(SecurityConstants.FROM_SOURCE) String source,String planInspectId);
@PostMapping("/dmsBillsMaintInstance/autoAdd")
R<?> getDmsBillsMaintInstance(@RequestHeader(SecurityConstants.FROM_SOURCE) String source,String dmsBillsMaintId);
} }

@ -29,6 +29,11 @@ public class RemoteDmsFallbackFactory implements FallbackFactory<RemoteDmsServic
public R<?> getDmsBillsLube(String source, String planInspectId) { public R<?> getDmsBillsLube(String source, String planInspectId) {
return null; return null;
} }
@Override
public R<?> getDmsBillsMaintInstance(String source, String dmsBillsMaintId) {
return null;
}
}; };
} }
} }

@ -59,6 +59,10 @@ public class MesBaseBarcodeInfo extends BaseEntity
@Excel(name = "物料ID") @Excel(name = "物料ID")
private Long materialId; private Long materialId;
/** 物料名称 */
@Excel(name = "物料ID")
private String materialName;
/** 供应商ID */ /** 供应商ID */
@Excel(name = "供应商ID") @Excel(name = "供应商ID")
private Long manufacturerId; private Long manufacturerId;
@ -80,18 +84,18 @@ public class MesBaseBarcodeInfo extends BaseEntity
private String poNo; private String poNo;
/** 生产日期;打印时根据领料单选择输入 */ /** 生产日期;打印时根据领料单选择输入 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date productionDate; private Date productionDate;
/** 接受日期;打印时的系统日期 */ /** 接受日期;打印时的系统日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "接受日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "接受日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date acceptedDate; private Date acceptedDate;
/** 最晚出库日期;可以直接输入,也可以根据日限计算 */ /** 最晚出库日期;可以直接输入,也可以根据日限计算 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "最晚出库日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "最晚出库日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date lastOutstockDate; private Date lastOutstockDate;
/** 生产计划编号关联mes_pd_product_plan的plan_code;适合生产出入库等 */ /** 生产计划编号关联mes_pd_product_plan的plan_code;适合生产出入库等 */
@ -131,6 +135,14 @@ public class MesBaseBarcodeInfo 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 bindTime; private Date bindTime;
public String getMaterialName() {
return materialName;
}
public void setMaterialName(String materialName) {
this.materialName = materialName;
}
public String getPrintFlag() { public String getPrintFlag() {
return printFlag; return printFlag;
} }

@ -20,7 +20,7 @@
<!-- RuoYi Common Core--> <!-- RuoYi Common Core-->
<dependency> <dependency>
<groupId>com.hw</groupId> <groupId>com.hw</groupId>
<artifactId>hw-common-core</artifactId> <artifactId>hw-api-mes</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>

@ -0,0 +1,29 @@
package com.hw.printer.api;
import com.hw.common.core.constant.SecurityConstants;
import com.hw.common.core.constant.ServiceNameConstants;
import com.hw.common.core.domain.R;
import com.hw.mes.api.domain.MesBaseBarcodeInfo;
import com.hw.printer.api.factory.RemotePrinterFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@FeignClient(contextId = "remotePrinterService", value = ServiceNameConstants.PRINTER_SERVICE, fallbackFactory = RemotePrinterFallbackFactory.class)
public interface RemotePrinterService {
/**
*
*
* @param barcodeInfo
* @param source
* @return
*/
@PostMapping("/printService/printBarCode")
public MesBaseBarcodeInfo printBarCode(@RequestBody MesBaseBarcodeInfo barcodeInfo, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
}

@ -0,0 +1,32 @@
package com.hw.printer.api.factory;
import com.hw.common.core.domain.R;
import com.hw.common.core.exception.ServiceException;
import com.hw.printer.api.RemotePrinterService;
import com.hw.mes.api.domain.MesBaseBarcodeInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
*
*
* @author ruoyi
*/
@Component
public class RemotePrinterFallbackFactory implements FallbackFactory<RemotePrinterService> {
private static final Logger log = LoggerFactory.getLogger(RemotePrinterFallbackFactory.class);
@Override
public RemotePrinterService create(final Throwable throwable) {
log.error("打印条码服务调用失败:{}", throwable.getMessage());
return new RemotePrinterService() {
@Override
public MesBaseBarcodeInfo printBarCode(MesBaseBarcodeInfo barcodeInfo, String source) {
throw new ServiceException("打印条码服务调用异常:" + throwable.getMessage());
}
};
}
}

@ -20,4 +20,7 @@ import org.springframework.web.bind.annotation.RequestHeader;
public interface RemoteSysCommonService { public interface RemoteSysCommonService {
@GetMapping("/wfprocessactivity/list") @GetMapping("/wfprocessactivity/list")
R<?> selectWfProcessActivity(@RequestHeader(SecurityConstants.INNER) String source, WfProcessActivity wfProcessActivity); R<?> selectWfProcessActivity(@RequestHeader(SecurityConstants.INNER) String source, WfProcessActivity wfProcessActivity);
@PostMapping("/wfprocessactivity/selectProcessActivityIdByWfProcessId")
Long selectProcessActivityIdByWfProcessId(@RequestHeader(SecurityConstants.FROM_SOURCE) String source, Long wfProcessId);
} }

@ -18,6 +18,10 @@ public class WfProcessActivity extends BaseEntity
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public WfProcessActivity() {
}
/** 工单流程节点ID */ /** 工单流程节点ID */
private Long processActivityId; private Long processActivityId;

@ -1,9 +1,18 @@
package com.hw.system.api.factory; package com.hw.system.api.factory;
import com.hw.common.core.domain.R;
import com.hw.system.api.RemoteSysCommonService; import com.hw.system.api.RemoteSysCommonService;
import com.hw.system.api.RemoteUserService;
import com.hw.system.api.domain.SysUser;
import com.hw.system.api.domain.common.WfProcessActivity;
import com.hw.system.api.model.LoginUser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.rmi.Remote;
/** /**
* *
* *
@ -13,8 +22,25 @@ import org.springframework.stereotype.Component;
public class RemoteSysCommonFallbackFactory implements FallbackFactory<RemoteSysCommonService> public class RemoteSysCommonFallbackFactory implements FallbackFactory<RemoteSysCommonService>
{ {
private static final Logger log = LoggerFactory.getLogger(RemoteLogFallbackFactory.class);
@Override @Override
public RemoteSysCommonService create(Throwable cause) { public RemoteSysCommonService create(Throwable throwable) {
log.error("用户服务调用失败:{}", throwable.getMessage());
return new RemoteSysCommonService(){
@Override
public R<?> selectWfProcessActivity(String source, WfProcessActivity wfProcessActivity) {
return null; return null;
} }
@Override
public Long selectProcessActivityIdByWfProcessId(String source, Long wfProcessId) {
return null;
}
};
}
} }

@ -51,6 +51,10 @@
<groupId>com.hw</groupId> <groupId>com.hw</groupId>
<artifactId>hw-common-security</artifactId> <artifactId>hw-common-security</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.hw</groupId>
<artifactId>hw-api-mes</artifactId>
</dependency>
</dependencies> </dependencies>

@ -3,6 +3,7 @@ package com.hw.auth.controller;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import com.hw.common.core.constant.SecurityConstants; import com.hw.common.core.constant.SecurityConstants;
import com.hw.mes.api.RemoteMesService; import com.hw.mes.api.RemoteMesService;
import com.hw.mes.api.domain.MesBaseStationInfo; import com.hw.mes.api.domain.MesBaseStationInfo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

@ -15,10 +15,16 @@ public class MesConstants {
public static final String MES_BARCODE_TYPE_PRODUCT = "3";//成品 public static final String MES_BARCODE_TYPE_PRODUCT = "3";//成品
public static final String MES_BARCODE_TYPE_BACKPLATE = "4";//背板 public static final String MES_BARCODE_TYPE_BACKPLATE = "4";//背板
/** 条码批次标识0-否 */
public static final String NOT_IS_BATCH = "0";
/** 条码批次标识1-是 */
public static final String IS_BATCH = "1";
/** 工单状态0-待发布 */ /** 工单状态0-待发布 */
public static final String UN_PUBLISH = "0"; public static final String UN_PUBLISH = "0";
/** 工单状态0-已发布 */ /** 工单状态;1已发布 */
public static final String PUBLISHED = "1"; public static final String PUBLISHED = "1";
/** 工单状态2-已完成 */ /** 工单状态2-已完成 */

@ -47,4 +47,9 @@ public class ServiceNameConstants
* Systemcommonserviceid * Systemcommonserviceid
* */ * */
public static final String SYS_COMMON_SERVICE = "hw-system"; public static final String SYS_COMMON_SERVICE = "hw-system";
/**
* serviceid
* */
public static final String PRINTER_SERVICE = "hw-printer";
} }

@ -80,6 +80,24 @@ public class Seq {
// 生产计划明细标识 // 生产计划明细标识
public static final String mesProductPlanDetailCode = "PD"; public static final String mesProductPlanDetailCode = "PD";
// 生产批次代码记录标识
public static final String mesBatchCodeSeqType = "BATCH_CODE";
// 生产批次代码序列数
private static AtomicInteger mesBatchCodeSeq = new AtomicInteger(1);
// 生产批次代码标识
public static final String mesBatchCodeCode = "PC";
// 条码内容记录标识
public static final String mesBarcodeSeqType = "BAR_CODE";
// 条码内容序列数
private static AtomicInteger mesBarcodeSeq = new AtomicInteger(1);
// 条码内容标识
public static final String mesBarcodeCode = "TM";
/** /**
* *
@ -155,6 +173,10 @@ public class Seq {
atomicInt = dispatchCodeSeq; atomicInt = dispatchCodeSeq;
}else if (planCodeSeqType.equals(type)) { }else if (planCodeSeqType.equals(type)) {
atomicInt = planCodeSeq; atomicInt = planCodeSeq;
}else if (mesBatchCodeSeqType.equals(type)) {
atomicInt = mesBatchCodeSeq;
}else if (mesBarcodeSeqType.equals(type)) {
atomicInt = mesBarcodeSeq;
} }
return getId(atomicInt, 3, code); return getId(atomicInt, 3, code);
} }

@ -0,0 +1,84 @@
package com.hw.dms.controller;
import com.hw.common.core.web.controller.BaseController;
import com.hw.common.core.web.domain.AjaxResult;
import com.hw.dms.domain.*;
import com.hw.dms.service.*;
import oracle.jdbc.proxy.annotation.Post;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @ClassName : DmsApiController
* @Description : zhouhy
* @Author :
* @Date: 2024-02-29 16:45
*/
@RestController
@RequestMapping("/api")
public class DmsApiController extends BaseController {
@Autowired
private IDmsBillsFaultInstanceService dmsBillsFaultInstanceService;
@Autowired
private IDmsRepairInstanceService dmsRepairInstanceService;
@Autowired
private IDmsBillsInspectInstanceService dmsBillsInspectInstanceService;
@Autowired
private IDmsBillsMaintInstanceService dmsBillsMaintInstanceService;
@Autowired
private IDmsBillsLubeInstanceService dmsBillsLubeInstanceService;
//APS-MyPuRz3G6HfBYcH8dw7Y2ai1D6iZRmXX apifox令牌
/**
* PDA-
*
*
* faultSourceType
* faultSourceId
* faultType
* faultDescription
* designOperations
* id deviceId
* repairType
* id outsrcId()
* imgUrl()
* */
@PostMapping("/PDAFault")
@ResponseBody
public AjaxResult PDAFault(@RequestBody DmsBillsFaultInstance dmsBillsFaultInstance){
return toAjax(dmsBillsFaultInstanceService.insertDmsBillsFaultInstance(dmsBillsFaultInstance));
}
/**
* PDA-
* */
@PostMapping("/PDARepair")
@ResponseBody
public AjaxResult PDARepair(@RequestBody DmsRepairInstance dmsRepairInstance){
return toAjax(dmsRepairInstanceService.insertDmsRepairInstance(dmsRepairInstance));
}
/**
* PDA-
* */
@PostMapping("/PDAInspect")
@ResponseBody
public AjaxResult PDAInspect(@RequestBody DmsBillsInspectInstance dmsBillsInspectInstance){
return toAjax(dmsBillsInspectInstanceService.insertDmsBillsInspectInstance(dmsBillsInspectInstance));
}
/**
* PDA-
* */
@PostMapping("/PDAMaint")
@ResponseBody
public AjaxResult PDAMaint(@RequestBody DmsBillsMaintInstance dmsBillsMaintInstance){
return toAjax(dmsBillsMaintInstanceService.insertDmsBillsMaintInstance(dmsBillsMaintInstance));
}
/**
* PDA-
* */
@PostMapping("/PDALube")
@ResponseBody
public AjaxResult PDALube(@RequestBody DmsBillsLubeInstance dmsBillsLubeInstance){
return toAjax(dmsBillsLubeInstanceService.insertDmsBillsLubeInstance(dmsBillsLubeInstance));
}
}

@ -108,6 +108,7 @@ public class DmsBillsLubeInstanceController extends BaseController
dmsBillsLubeInstance.setBillsLubeCode(strDate); dmsBillsLubeInstance.setBillsLubeCode(strDate);
return toAjax(dmsBillsLubeInstanceService.insertDmsBillsLubeInstance(dmsBillsLubeInstance)); return toAjax(dmsBillsLubeInstanceService.insertDmsBillsLubeInstance(dmsBillsLubeInstance));

@ -0,0 +1,125 @@
package com.hw.dms.controller;
import java.text.SimpleDateFormat;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.hw.common.core.utils.DateUtils;
import com.hw.dms.domain.DmsPlanMaint;
import com.hw.dms.service.IDmsPlanMaintService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.hw.common.log.annotation.Log;
import com.hw.common.log.enums.BusinessType;
import com.hw.common.security.annotation.RequiresPermissions;
import com.hw.dms.domain.DmsBillsMaintInstance;
import com.hw.dms.service.IDmsBillsMaintInstanceService;
import com.hw.common.core.web.controller.BaseController;
import com.hw.common.core.web.domain.AjaxResult;
import com.hw.common.core.utils.poi.ExcelUtil;
import com.hw.common.core.web.page.TableDataInfo;
/**
* Controller
*
* @author Open Platform
* @date 2024-02-29
*/
@RestController
@RequestMapping("/dmsBillsMaintInstance")
public class DmsBillsMaintInstanceController extends BaseController
{
@Autowired
private IDmsBillsMaintInstanceService dmsBillsMaintInstanceService;
@Autowired
private IDmsPlanMaintService dmsPlanMaintService;
/**
*
*/
@RequiresPermissions("dms:dmsBillsMaintInstance:list")
@GetMapping("/list")
public TableDataInfo list(DmsBillsMaintInstance dmsBillsMaintInstance)
{
startPage();
List<DmsBillsMaintInstance> list = dmsBillsMaintInstanceService.selectDmsBillsMaintInstanceList(dmsBillsMaintInstance);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("dms:dmsBillsMaintInstance:export")
@Log(title = "保养工单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, DmsBillsMaintInstance dmsBillsMaintInstance)
{
List<DmsBillsMaintInstance> list = dmsBillsMaintInstanceService.selectDmsBillsMaintInstanceList(dmsBillsMaintInstance);
ExcelUtil<DmsBillsMaintInstance> util = new ExcelUtil<DmsBillsMaintInstance>(DmsBillsMaintInstance.class);
util.exportExcel(response, list, "保养工单数据");
}
/**
*
*/
@RequiresPermissions("dms:dmsBillsMaintInstance:query")
@GetMapping(value = "/{maintInstanceId}")
public AjaxResult getInfo(@PathVariable("maintInstanceId") Long maintInstanceId)
{
return success(dmsBillsMaintInstanceService.selectDmsBillsMaintInstanceByMaintInstanceId(maintInstanceId));
}
/**
*
*/
@RequiresPermissions("dms:dmsBillsMaintInstance:add")
@Log(title = "保养工单", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody DmsBillsMaintInstance dmsBillsMaintInstance)
{
return toAjax(dmsBillsMaintInstanceService.insertDmsBillsMaintInstance(dmsBillsMaintInstance));
}
@PostMapping("/autoAdd")
public AjaxResult autoAdd(@RequestBody String dmsBillsMaintId)
{
String s = dmsBillsMaintId.replaceAll("\"", "");
DmsPlanMaint dmsPlanMaint = dmsPlanMaintService.selectDmsPlanMaintByPlanMaintId(Long.valueOf(s));
DmsBillsMaintInstance dmsBillsMaintInstance = new DmsBillsMaintInstance();
dmsBillsMaintInstance.setPlanMaintId(dmsPlanMaint.getPlanMaintId());
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhh");
dmsBillsMaintInstance.setBillsMaintCode(sdf.format(DateUtils.getNowDate()));
return toAjax(dmsBillsMaintInstanceService.insertDmsBillsMaintInstance(dmsBillsMaintInstance));
}
/**
*
*/
@RequiresPermissions("dms:dmsBillsMaintInstance:edit")
@Log(title = "保养工单", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody DmsBillsMaintInstance dmsBillsMaintInstance)
{
return toAjax(dmsBillsMaintInstanceService.updateDmsBillsMaintInstance(dmsBillsMaintInstance));
}
/**
*
*/
@RequiresPermissions("dms:dmsBillsMaintInstance:remove")
@Log(title = "保养工单", businessType = BusinessType.DELETE)
@DeleteMapping("/{maintInstanceIds}")
public AjaxResult remove(@PathVariable Long[] maintInstanceIds)
{
return toAjax(dmsBillsMaintInstanceService.deleteDmsBillsMaintInstanceByMaintInstanceIds(maintInstanceIds));
}
}

@ -0,0 +1,105 @@
package com.hw.dms.controller;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.hw.common.log.annotation.Log;
import com.hw.common.log.enums.BusinessType;
import com.hw.common.security.annotation.RequiresPermissions;
import com.hw.dms.domain.DmsFaultInstanceFile;
import com.hw.dms.service.IDmsFaultInstanceFileService;
import com.hw.common.core.web.controller.BaseController;
import com.hw.common.core.web.domain.AjaxResult;
import com.hw.common.core.utils.poi.ExcelUtil;
import com.hw.common.core.web.page.TableDataInfo;
/**
* ;Controller
*
* @author Open Platform
* @date 2024-02-29
*/
@RestController
@RequestMapping("/dmsFaultInstanceFile")
public class DmsFaultInstanceFileController extends BaseController
{
@Autowired
private IDmsFaultInstanceFileService dmsFaultInstanceFileService;
/**
* ;
*/
@RequiresPermissions("dms:dmsFaultInstanceFile:list")
@GetMapping("/list")
public TableDataInfo list(DmsFaultInstanceFile dmsFaultInstanceFile)
{
startPage();
List<DmsFaultInstanceFile> list = dmsFaultInstanceFileService.selectDmsFaultInstanceFileList(dmsFaultInstanceFile);
return getDataTable(list);
}
/**
* ;
*/
@RequiresPermissions("dms:dmsFaultInstanceFile:export")
@Log(title = "故障文件;手工创建,从故障报修开始", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, DmsFaultInstanceFile dmsFaultInstanceFile)
{
List<DmsFaultInstanceFile> list = dmsFaultInstanceFileService.selectDmsFaultInstanceFileList(dmsFaultInstanceFile);
ExcelUtil<DmsFaultInstanceFile> util = new ExcelUtil<DmsFaultInstanceFile>(DmsFaultInstanceFile.class);
util.exportExcel(response, list, "故障文件;手工创建,从故障报修开始数据");
}
/**
* ;
*/
@RequiresPermissions("dms:dmsFaultInstanceFile:query")
@GetMapping(value = "/{repairInstanceFileId}")
public AjaxResult getInfo(@PathVariable("repairInstanceFileId") Long repairInstanceFileId)
{
return success(dmsFaultInstanceFileService.selectDmsFaultInstanceFileByRepairInstanceFileId(repairInstanceFileId));
}
/**
* ;
*/
@RequiresPermissions("dms:dmsFaultInstanceFile:add")
@Log(title = "故障文件;手工创建,从故障报修开始", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody DmsFaultInstanceFile dmsFaultInstanceFile)
{
return toAjax(dmsFaultInstanceFileService.insertDmsFaultInstanceFile(dmsFaultInstanceFile));
}
/**
* ;
*/
@RequiresPermissions("dms:dmsFaultInstanceFile:edit")
@Log(title = "故障文件;手工创建,从故障报修开始", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody DmsFaultInstanceFile dmsFaultInstanceFile)
{
return toAjax(dmsFaultInstanceFileService.updateDmsFaultInstanceFile(dmsFaultInstanceFile));
}
/**
* ;
*/
@RequiresPermissions("dms:dmsFaultInstanceFile:remove")
@Log(title = "故障文件;手工创建,从故障报修开始", businessType = BusinessType.DELETE)
@DeleteMapping("/{repairInstanceFileIds}")
public AjaxResult remove(@PathVariable Long[] repairInstanceFileIds)
{
return toAjax(dmsFaultInstanceFileService.deleteDmsFaultInstanceFileByRepairInstanceFileIds(repairInstanceFileIds));
}
}

@ -0,0 +1,110 @@
package com.hw.dms.controller;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.hw.common.log.annotation.Log;
import com.hw.common.log.enums.BusinessType;
import com.hw.common.security.annotation.RequiresPermissions;
import com.hw.dms.domain.DmsMaintInstanceActivity;
import com.hw.dms.service.IDmsMaintInstanceActivityService;
import com.hw.common.core.web.controller.BaseController;
import com.hw.common.core.web.domain.AjaxResult;
import com.hw.common.core.utils.poi.ExcelUtil;
import com.hw.common.core.web.page.TableDataInfo;
/**
* Controller
*
* @author Open Platform
* @date 2024-02-29
*/
@RestController
@RequestMapping("/dmsMaintInstanceActivity")
public class DmsMaintInstanceActivityController extends BaseController
{
@Autowired
private IDmsMaintInstanceActivityService dmsMaintInstanceActivityService;
/**
*
*/
@RequiresPermissions("dms:dmsMaintInstanceActivity:list")
@GetMapping("/list")
public TableDataInfo list(DmsMaintInstanceActivity dmsMaintInstanceActivity)
{
startPage();
List<DmsMaintInstanceActivity> list = dmsMaintInstanceActivityService.selectDmsMaintInstanceActivityList(dmsMaintInstanceActivity);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("dms:dmsMaintInstanceActivity:export")
@Log(title = "保养工单实例节点", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, DmsMaintInstanceActivity dmsMaintInstanceActivity)
{
List<DmsMaintInstanceActivity> list = dmsMaintInstanceActivityService.selectDmsMaintInstanceActivityList(dmsMaintInstanceActivity);
ExcelUtil<DmsMaintInstanceActivity> util = new ExcelUtil<DmsMaintInstanceActivity>(DmsMaintInstanceActivity.class);
util.exportExcel(response, list, "保养工单实例节点数据");
}
/**
*
*/
@RequiresPermissions("dms:dmsMaintInstanceActivity:query")
@GetMapping(value = "/{instanceActivityId}")
public AjaxResult getInfo(@PathVariable("instanceActivityId") Long instanceActivityId)
{
return success(dmsMaintInstanceActivityService.selectDmsMaintInstanceActivityByInstanceActivityId(instanceActivityId));
}
/**
*
*/
@RequiresPermissions("dms:dmsMaintInstanceActivity:add")
@Log(title = "保养工单实例节点", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody DmsMaintInstanceActivity dmsMaintInstanceActivity)
{
return toAjax(dmsMaintInstanceActivityService.insertDmsMaintInstanceActivity(dmsMaintInstanceActivity));
}
/**
*
*/
@RequiresPermissions("dms:dmsMaintInstanceActivity:edit")
@Log(title = "保养工单实例节点", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody DmsMaintInstanceActivity dmsMaintInstanceActivity)
{
return toAjax(dmsMaintInstanceActivityService.updateDmsMaintInstanceActivity(dmsMaintInstanceActivity));
}
/**
*
*/
@RequiresPermissions("dms:dmsMaintInstanceActivity:remove")
@Log(title = "保养工单实例节点", businessType = BusinessType.DELETE)
@DeleteMapping("/{instanceActivityIds}")
public AjaxResult remove(@PathVariable Long[] instanceActivityIds)
{
return toAjax(dmsMaintInstanceActivityService.deleteDmsMaintInstanceActivityByInstanceActivityIds(instanceActivityIds));
}
@GetMapping("/selectUserIdByDmsMaintInstanceActivityId/{maintInstanceId}/userId/{userId}")
public boolean selectUserIdByDmsMaintInstanceActivityId(@PathVariable("maintInstanceId") Long maintInstanceId,@PathVariable("userId") Long userId){
return dmsMaintInstanceActivityService.selectUserIdByDmsMaintInstanceActivityId(maintInstanceId,userId);
}
}

@ -93,21 +93,20 @@ public class DmsPlanLubeController extends BaseController
Date nextExecution = CronUtils.getNextExecution(time); Date nextExecution = CronUtils.getNextExecution(time);
dmsPlanLube.setLubeTime(nextExecution); dmsPlanLube.setLubeTime(nextExecution);
int i = dmsPlanLubeService.insertDmsPlanLube(dmsPlanLube); int i = dmsPlanLubeService.insertDmsPlanLube(dmsPlanLube);
List<DmsPlanLube> dmsPlanLubes = dmsPlanLubeService.selectDmsPlanLubeList(dmsPlanLube);
DmsPlanLube dmsPlanLube1 = dmsPlanLubes.get(0);
SysJob job = new SysJob(); SysJob job = new SysJob();
job.setJobName("创建计划编号为"+dmsPlanLube1.getPlanLubeCode()+"工单"); job.setJobName("创建计划编号为"+dmsPlanLube.getPlanLubeCode()+"工单");
job.setJobGroup("DEFAULT"); job.setJobGroup("DEFAULT");
job.setInvokeTarget("ryTask.getDmsBillsLube(\""+dmsPlanLube1.getPlanLubeId()+"\")"); job.setInvokeTarget("ryTask.getDmsBillsLube(\""+dmsPlanLube.getPlanLubeId()+"\")");
job.setCronExpression(dmsPlanLube.getCronExpression()); job.setCronExpression(dmsPlanLube.getCronExpression());
job.setMisfirePolicy("1"); job.setMisfirePolicy("1");
job.setConcurrent("1"); job.setConcurrent("1");
job.setStatus("1"); job.setStatus("1");
remoteJobService.add(SecurityConstants.INNER,job); remoteJobService.add(SecurityConstants.INNER,job);
SysJob job1 = remoteJobService.selectJobList(dmsPlanLubes.get(0).getPlanLubeId()); SysJob job1 = remoteJobService.selectJobList(dmsPlanLube.getPlanLubeId());
dmsPlanLubes.get(0).setJobId(job1.getJobId()); dmsPlanLube.setJobId(job1.getJobId());
dmsPlanLubeService.updateDmsPlanLube(dmsPlanLubes.get(0)); dmsPlanLubeService.updateDmsPlanLube(dmsPlanLube);
return toAjax(i); return toAjax(i);
} }

@ -1,8 +1,14 @@
package com.hw.dms.controller; package com.hw.dms.controller;
import java.util.Date;
import java.util.List; import java.util.List;
import java.io.IOException; import java.io.IOException;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.hw.common.core.constant.SecurityConstants;
import com.hw.job.api.RemoteJobService;
import com.hw.job.api.domain.SysJob;
import com.hw.job.api.util.CronUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -34,6 +40,8 @@ public class DmsPlanMaintController extends BaseController
{ {
@Autowired @Autowired
private IDmsPlanMaintService dmsPlanMaintService; private IDmsPlanMaintService dmsPlanMaintService;
@Autowired
private RemoteJobService remoteJobService;
/** /**
* *
@ -78,7 +86,25 @@ public class DmsPlanMaintController extends BaseController
@PostMapping @PostMapping
public AjaxResult add(@RequestBody DmsPlanMaint dmsPlanMaint) public AjaxResult add(@RequestBody DmsPlanMaint dmsPlanMaint)
{ {
return toAjax(dmsPlanMaintService.insertDmsPlanMaint(dmsPlanMaint)); String time = dmsPlanMaint.getCronExpression();
//通过cron表达式获取下一次执行时间
Date nextExecution = CronUtils.getNextExecution(time);
dmsPlanMaint.setMaintTime(nextExecution);
int i = dmsPlanMaintService.insertDmsPlanMaint(dmsPlanMaint);
SysJob job = new SysJob();
job.setJobName("创建计划编号为"+dmsPlanMaint.getPlanMaintCode()+"工单");
job.setJobGroup("DEFAULT");
job.setInvokeTarget("ryTask.getDmsBillsLube(\""+dmsPlanMaint.getPlanMaintId()+"\")");
job.setCronExpression(dmsPlanMaint.getCronExpression());
job.setMisfirePolicy("1");
job.setConcurrent("1");
job.setStatus("1");
remoteJobService.add(SecurityConstants.INNER,job);
SysJob job1 = remoteJobService.selectJobList(dmsPlanMaint.getPlanMaintId());
dmsPlanMaint.setJobId(job1.getJobId());
dmsPlanMaintService.updateDmsPlanMaint(dmsPlanMaint);
return toAjax(i);
} }
/** /**

@ -95,20 +95,19 @@ public class DmsPlanRepairController extends BaseController
dmsPlanRepair.setRepairTime(nextExecution); dmsPlanRepair.setRepairTime(nextExecution);
AjaxResult ajaxResult = toAjax(dmsPlanRepairService.insertDmsPlanRepair(dmsPlanRepair)); AjaxResult ajaxResult = toAjax(dmsPlanRepairService.insertDmsPlanRepair(dmsPlanRepair));
List<DmsPlanRepair> dmsPlanRepairs = dmsPlanRepairService.selectDmsPlanRepairList(dmsPlanRepair);
DmsPlanRepair dmsPlanRepair1 = dmsPlanRepairs.get(0);
SysJob job = new SysJob(); SysJob job = new SysJob();
job.setJobName("创建计划编号为"+dmsPlanRepair.getPlanRepairCode()+"工单"); job.setJobName("创建计划编号为"+dmsPlanRepair.getPlanRepairCode()+"工单");
job.setJobGroup("DEFAULT"); job.setJobGroup("DEFAULT");
job.setInvokeTarget("ryTask.getDmsRepairInstance(\""+dmsPlanRepair1.getPlanRepairId()+"\")"); job.setInvokeTarget("ryTask.getDmsRepairInstance(\""+dmsPlanRepair.getPlanRepairId()+"\")");
job.setCronExpression(dmsPlanRepair.getCronExpression()); job.setCronExpression(dmsPlanRepair.getCronExpression());
job.setMisfirePolicy("1"); job.setMisfirePolicy("1");
job.setConcurrent("1"); job.setConcurrent("1");
job.setStatus("1"); job.setStatus("1");
remoteJobService.add(SecurityConstants.INNER,job); remoteJobService.add(SecurityConstants.INNER,job);
SysJob job1 = remoteJobService.selectJobList(dmsPlanRepairs.get(0).getPlanRepairId()); SysJob job1 = remoteJobService.selectJobList(dmsPlanRepair.getPlanRepairId());
dmsPlanRepairs.get(0).setJobId(job1.getJobId()); dmsPlanRepair.setJobId(job1.getJobId());
dmsPlanRepairService.updateDmsPlanRepair(dmsPlanRepairs.get(0)); dmsPlanRepairService.updateDmsPlanRepair(dmsPlanRepair);
return ajaxResult; return ajaxResult;
} }

@ -1,7 +1,10 @@
package com.hw.dms.domain; package com.hw.dms.domain;
import java.util.Date; import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.hw.system.api.domain.SysFile;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import com.hw.common.core.annotation.Excel; import com.hw.common.core.annotation.Excel;
@ -70,6 +73,15 @@ public class DmsBillsFaultInstance extends BaseEntity
/** 是否标识1-是0-否 */ /** 是否标识1-是0-否 */
@Excel(name = "是否标识1-是0-否") @Excel(name = "是否标识1-是0-否")
private List<DmsFaultInstanceFile> dmsFaultInstanceFiles;
private List<SysFile> sysFiles;
private String imgUrl;
private String isFlag; private String isFlag;
private String faultType; private String faultType;
@ -84,6 +96,29 @@ public class DmsBillsFaultInstance extends BaseEntity
private Long outsrcId; private Long outsrcId;
public List<SysFile> getSysFiles() {
return sysFiles;
}
public void setSysFiles(List<SysFile> sysFiles) {
this.sysFiles = sysFiles;
}
public List<DmsFaultInstanceFile> getDmsFaultInstanceFiles() {
return dmsFaultInstanceFiles;
}
public void setDmsFaultInstanceFiles(List<DmsFaultInstanceFile> dmsFaultInstanceFiles) {
this.dmsFaultInstanceFiles = dmsFaultInstanceFiles;
}
public String getImgUrl() {
return imgUrl;
}
public void setImgUrl(String imgUrl) {
this.imgUrl = imgUrl;
}
public String getFaultType() { public String getFaultType() {
return faultType; return faultType;
} }

@ -56,6 +56,36 @@ public class DmsBillsLubeInstance extends BaseEntity
@Excel(name = "是否标识1-是0-否") @Excel(name = "是否标识1-是0-否")
private String isFlag; private String isFlag;
private String lubeGroup;
private String lubeSupervisor;
private String lubeLevel;
public String getLubeGroup() {
return lubeGroup;
}
public void setLubeGroup(String lubeGroup) {
this.lubeGroup = lubeGroup;
}
public String getLubeSupervisor() {
return lubeSupervisor;
}
public void setLubeSupervisor(String lubeSupervisor) {
this.lubeSupervisor = lubeSupervisor;
}
public String getLubeLevel() {
return lubeLevel;
}
public void setLubeLevel(String lubeLevel) {
this.lubeLevel = lubeLevel;
}
public void setLubeInstanceId(Long lubeInstanceId) public void setLubeInstanceId(Long lubeInstanceId)
{ {
this.lubeInstanceId = lubeInstanceId; this.lubeInstanceId = lubeInstanceId;

@ -0,0 +1,216 @@
package com.hw.dms.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hw.common.core.annotation.Excel;
import com.hw.common.core.web.domain.BaseEntity;
/**
* dms_bills_maint_instance
*
* @author Open Platform
* @date 2024-02-29
*/
public class DmsBillsMaintInstance extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键标识 */
private Long maintInstanceId;
/** 保养计划ID,关联dms_plan_maint的plan_maint_id */
@Excel(name = "保养计划ID,关联dms_plan_maint的plan_maint_id")
private Long planMaintId;
/** 工单流程ID关联wf_process的wf_process_id */
@Excel(name = "工单流程ID关联wf_process的wf_process_id")
private Long wfProcessId;
/** 保养单号 */
@Excel(name = "保养单号")
private String billsMaintCode;
/** 计划保养时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "计划保养时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date planBeginTime;
/** 实际开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "实际开始时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date realBeginTime;
/** 计划完成时间;根据计划的时限计算 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "计划完成时间;根据计划的时限计算", width = 30, dateFormat = "yyyy-MM-dd")
private Date planEndTime;
/** 实际完成时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "实际完成时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date realEndTime;
/** 保养状态1-待保养2-保养中3-已完成 */
@Excel(name = "保养状态1-待保养2-保养中3-已完成")
private Long maintStatus;
/** 保养完成率 */
@Excel(name = "保养完成率")
private BigDecimal maintCompRate;
/** 是否标识1-是2-否 */
@Excel(name = "是否标识1-是2-否")
private Long isFlag;
private Long maintLevel;
private String maintGroup;
private String maintSupervisor;
public Long getMaintLevel() {
return maintLevel;
}
public void setMaintLevel(Long maintLevel) {
this.maintLevel = maintLevel;
}
public String getMaintGroup() {
return maintGroup;
}
public void setMaintGroup(String maintGroup) {
this.maintGroup = maintGroup;
}
public String getMaintSupervisor() {
return maintSupervisor;
}
public void setMaintSupervisor(String maintSupervisor) {
this.maintSupervisor = maintSupervisor;
}
public void setMaintInstanceId(Long maintInstanceId)
{
this.maintInstanceId = maintInstanceId;
}
public Long getMaintInstanceId()
{
return maintInstanceId;
}
public void setPlanMaintId(Long planMaintId)
{
this.planMaintId = planMaintId;
}
public Long getPlanMaintId()
{
return planMaintId;
}
public void setWfProcessId(Long wfProcessId)
{
this.wfProcessId = wfProcessId;
}
public Long getWfProcessId()
{
return wfProcessId;
}
public void setBillsMaintCode(String billsMaintCode)
{
this.billsMaintCode = billsMaintCode;
}
public String getBillsMaintCode()
{
return billsMaintCode;
}
public void setPlanBeginTime(Date planBeginTime)
{
this.planBeginTime = planBeginTime;
}
public Date getPlanBeginTime()
{
return planBeginTime;
}
public void setRealBeginTime(Date realBeginTime)
{
this.realBeginTime = realBeginTime;
}
public Date getRealBeginTime()
{
return realBeginTime;
}
public void setPlanEndTime(Date planEndTime)
{
this.planEndTime = planEndTime;
}
public Date getPlanEndTime()
{
return planEndTime;
}
public void setRealEndTime(Date realEndTime)
{
this.realEndTime = realEndTime;
}
public Date getRealEndTime()
{
return realEndTime;
}
public void setMaintStatus(Long maintStatus)
{
this.maintStatus = maintStatus;
}
public Long getMaintStatus()
{
return maintStatus;
}
public void setMaintCompRate(BigDecimal maintCompRate)
{
this.maintCompRate = maintCompRate;
}
public BigDecimal getMaintCompRate()
{
return maintCompRate;
}
public void setIsFlag(Long isFlag)
{
this.isFlag = isFlag;
}
public Long getIsFlag()
{
return isFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("maintInstanceId", getMaintInstanceId())
.append("planMaintId", getPlanMaintId())
.append("wfProcessId", getWfProcessId())
.append("billsMaintCode", getBillsMaintCode())
.append("planBeginTime", getPlanBeginTime())
.append("realBeginTime", getRealBeginTime())
.append("planEndTime", getPlanEndTime())
.append("realEndTime", getRealEndTime())
.append("maintStatus", getMaintStatus())
.append("maintCompRate", getMaintCompRate())
.append("isFlag", getIsFlag())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

@ -0,0 +1,79 @@
package com.hw.dms.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hw.common.core.annotation.Excel;
import com.hw.common.core.web.domain.BaseEntity;
/**
* ; dms_fault_instance_file
*
* @author Open Platform
* @date 2024-02-29
*/
public class DmsFaultInstanceFile extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键标识 */
private Long repairInstanceFileId;
/** 关联类型(1故障报修工单实例节点2故障记录) */
@Excel(name = "关联类型(1故障报修工单实例节点2故障记录)")
private String targetType;
/** 关联类型为1时关联维修工单实例节点主键关联类型为2时关联维修记录ID */
@Excel(name = "关联类型为1时关联维修工单实例节点主键关联类型为2时关联维修记录ID")
private Long targetId;
/** 故障文件地址,一般是图片 */
@Excel(name = "故障文件地址,一般是图片")
private String faultFile;
public void setRepairInstanceFileId(Long repairInstanceFileId)
{
this.repairInstanceFileId = repairInstanceFileId;
}
public Long getRepairInstanceFileId()
{
return repairInstanceFileId;
}
public void setTargetType(String targetType)
{
this.targetType = targetType;
}
public String getTargetType()
{
return targetType;
}
public void setTargetId(Long targetId)
{
this.targetId = targetId;
}
public Long getTargetId()
{
return targetId;
}
public void setFaultFile(String faultFile)
{
this.faultFile = faultFile;
}
public String getFaultFile()
{
return faultFile;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("repairInstanceFileId", getRepairInstanceFileId())
.append("targetType", getTargetType())
.append("targetId", getTargetId())
.append("faultFile", getFaultFile())
.toString();
}
}

@ -0,0 +1,264 @@
package com.hw.dms.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hw.common.core.annotation.Excel;
import com.hw.common.core.web.domain.BaseEntity;
/**
* dms_maint_instance_activity
*
* @author Open Platform
* @date 2024-02-29
*/
public class DmsMaintInstanceActivity extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 保养工单实例节点ID */
private Long instanceActivityId;
/** 保养工单实例ID关联dms_bills_maint_instance的maint_instance_id */
@Excel(name = "保养工单实例ID关联dms_bills_maint_instance的maint_instance_id")
private Long maintInstanceId;
/** 工单流程节点ID关联wf_process_activity的process_activity_id */
@Excel(name = "工单流程节点ID", readConverterExp = "关=联wf_process_activity的process_activity_id")
private Long processActivityId;
/** 保养级别1-日常保养2-月度保养3-年度保养;最后一步自动复制第1步的可在第2步修改修改保存后为第2步的记录第1步为要求的第2步为实际的 */
@Excel(name = "保养级别1-日常保养2-月度保养3-年度保养;最后一步自动复制第1步的可在第2步修改修改保存后为第2步的记录第1步为要求的第2步为实际的")
private Long maintLevel;
/** 保养组别;最后一步自动复制第1步的可在第2步修改修改保存后为第2步的记录第1步为要求的第2步为实际的 */
@Excel(name = "保养组别;最后一步自动复制第1步的可在第2步修改修改保存后为第2步的记录第1步为要求的第2步为实际的")
private String maintGroup;
/** 保养负责人;最后一步自动复制第1步的可在第2步修改修改保存后为第2步的记录第1步为要求的第2步为实际的 */
@Excel(name = "保养负责人;最后一步自动复制第1步的可在第2步修改修改保存后为第2步的记录第1步为要求的第2步为实际的")
private String maintSupervisor;
/** 处理意见;第一步不显示,从第二步开始只显示此字段 */
@Excel(name = "处理意见;第一步不显示,从第二步开始只显示此字段")
private String processHandleResolution;
/** 状态(0已结束1执行中2、待接取3、已转发 */
@Excel(name = "状态(0已结束1执行中2、待接取3、已转发")
private String processHandleStatus;
/** 工单流程步骤顺序 */
@Excel(name = "工单流程步骤顺序")
private Long processStepOrder;
/** 执行开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "执行开始时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date startTime;
/** 执行结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "执行结束时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date endTime;
/** 处理人ID关联sys_user的user_id) */
@Excel(name = "处理人ID", readConverterExp = "处理人ID关联sys_user的user_id)")
private Long handleUserId;
/** 处理人 */
@Excel(name = "处理人")
private String handleBy;
/** 处理时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date handleTime;
/** 转单人用户id或转发协助用户id;1、在转发时生成新的工单节点实例执行人id为转发的用户而转单人是刚才转发给此用户的用户id是否协助工单为0并且转发后当前工单的状态为已结束此用户的用户id是否协助工单为0并且转发后当前工单的状态为已结束此用户的用户id是否协助工单为0并且转发后当前工单的状态为已结束此用户的用户id是否协助工单为0并且转发后当前工单的状态为已结束2、在添加协助时生成新的工单节点实例执行人id为添加协助的用户而转单人是刚才添加协助此用户的用户id是否协助工单为1并且转发后当前工单的状态仍为执行中 */
@Excel(name = "转单人用户id或转发协助用户id;1、在转发时生成新的工单节点实例执行人id为转发的用户而转单人是刚才转发给此用户的用户id是否协助工单为0并且转发后当前工单的状态为已结束此用户的用户id是否协助工单为0并且转发后当前工单的状态为已结束此用户的用户id是否协助工单为0并且转发后当前工单的状态为已结束此用户的用户id是否协助工单为0并且转发后当前工单的状态为已结束2、在添加协助时生成新的工单节点实例执行人id为添加协助的用户而转单人是刚才添加协助此用户的用户id是否协助工单为1并且转发后当前工单的状态仍为执行中")
private Long transferUserId;
/** 用户预留1 */
@Excel(name = "用户预留1")
private String attr1;
private Long wfLength;
public Long getWfLength() {
return wfLength;
}
public void setWfLength(Long wfLength) {
this.wfLength = wfLength;
}
public void setInstanceActivityId(Long instanceActivityId)
{
this.instanceActivityId = instanceActivityId;
}
public Long getInstanceActivityId()
{
return instanceActivityId;
}
public void setMaintInstanceId(Long maintInstanceId)
{
this.maintInstanceId = maintInstanceId;
}
public Long getMaintInstanceId()
{
return maintInstanceId;
}
public void setProcessActivityId(Long processActivityId)
{
this.processActivityId = processActivityId;
}
public Long getProcessActivityId()
{
return processActivityId;
}
public void setMaintLevel(Long maintLevel)
{
this.maintLevel = maintLevel;
}
public Long getMaintLevel()
{
return maintLevel;
}
public void setMaintGroup(String maintGroup)
{
this.maintGroup = maintGroup;
}
public String getMaintGroup()
{
return maintGroup;
}
public void setMaintSupervisor(String maintSupervisor)
{
this.maintSupervisor = maintSupervisor;
}
public String getMaintSupervisor()
{
return maintSupervisor;
}
public void setProcessHandleResolution(String processHandleResolution)
{
this.processHandleResolution = processHandleResolution;
}
public String getProcessHandleResolution()
{
return processHandleResolution;
}
public void setProcessHandleStatus(String processHandleStatus)
{
this.processHandleStatus = processHandleStatus;
}
public String getProcessHandleStatus()
{
return processHandleStatus;
}
public void setProcessStepOrder(Long processStepOrder)
{
this.processStepOrder = processStepOrder;
}
public Long getProcessStepOrder()
{
return processStepOrder;
}
public void setStartTime(Date startTime)
{
this.startTime = startTime;
}
public Date getStartTime()
{
return startTime;
}
public void setEndTime(Date endTime)
{
this.endTime = endTime;
}
public Date getEndTime()
{
return endTime;
}
public void setHandleUserId(Long handleUserId)
{
this.handleUserId = handleUserId;
}
public Long getHandleUserId()
{
return handleUserId;
}
public void setHandleBy(String handleBy)
{
this.handleBy = handleBy;
}
public String getHandleBy()
{
return handleBy;
}
public void setHandleTime(Date handleTime)
{
this.handleTime = handleTime;
}
public Date getHandleTime()
{
return handleTime;
}
public void setTransferUserId(Long transferUserId)
{
this.transferUserId = transferUserId;
}
public Long getTransferUserId()
{
return transferUserId;
}
public void setAttr1(String attr1)
{
this.attr1 = attr1;
}
public String getAttr1()
{
return attr1;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("instanceActivityId", getInstanceActivityId())
.append("maintInstanceId", getMaintInstanceId())
.append("processActivityId", getProcessActivityId())
.append("maintLevel", getMaintLevel())
.append("maintGroup", getMaintGroup())
.append("maintSupervisor", getMaintSupervisor())
.append("processHandleResolution", getProcessHandleResolution())
.append("remark", getRemark())
.append("processHandleStatus", getProcessHandleStatus())
.append("processStepOrder", getProcessStepOrder())
.append("startTime", getStartTime())
.append("endTime", getEndTime())
.append("handleUserId", getHandleUserId())
.append("handleBy", getHandleBy())
.append("handleTime", getHandleTime())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("transferUserId", getTransferUserId())
.append("attr1", getAttr1())
.toString();
}
}

@ -41,6 +41,13 @@ public class DmsPlanMaint extends BaseEntity
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "本次保养时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "本次保养时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date maintTime; private Date maintTime;
@Excel(name = "关联sys_job主键")
private Long jobId;
@Excel(name = "时限")
private Long timeLimit;
/** 循环周期 */ /** 循环周期 */
@Excel(name = "循环周期") @Excel(name = "循环周期")
@ -58,6 +65,50 @@ public class DmsPlanMaint extends BaseEntity
@Excel(name = "是否标识1-是2-否") @Excel(name = "是否标识1-是2-否")
private Long isFlag; private Long isFlag;
private String cronExpression;
private Long timeLimitDays;
private Long timeLimitHours;
public Long getTimeLimitDays() {
return timeLimitDays;
}
public void setTimeLimitDays(Long timeLimitDays) {
this.timeLimitDays = timeLimitDays;
}
public Long getTimeLimitHours() {
return timeLimitHours;
}
public void setTimeLimitHours(Long timeLimitHours) {
this.timeLimitHours = timeLimitHours;
}
public String getCronExpression() {
return cronExpression;
}
public void setCronExpression(String cronExpression) {
this.cronExpression = cronExpression;
}
public Long getJobId() {
return jobId;
}
public void setJobId(Long jobId) {
this.jobId = jobId;
}
public Long getTimeLimit() {
return timeLimit;
}
public void setTimeLimit(Long timeLimit) {
this.timeLimit = timeLimit;
}
/** 保养计划明细信息 */ /** 保养计划明细信息 */
private List<DmsPlanMaintDetail> dmsPlanMaintDetailList; private List<DmsPlanMaintDetail> dmsPlanMaintDetailList;
@ -164,23 +215,21 @@ public class DmsPlanMaint extends BaseEntity
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return "DmsPlanMaint{" +
.append("planMaintId", getPlanMaintId()) "planMaintId=" + planMaintId +
.append("planMaintCode", getPlanMaintCode()) ", planMaintCode='" + planMaintCode + '\'' +
.append("maintLevel", getMaintLevel()) ", maintLevel=" + maintLevel +
.append("maintGroup", getMaintGroup()) ", maintGroup='" + maintGroup + '\'' +
.append("maintSupervisor", getMaintSupervisor()) ", maintSupervisor='" + maintSupervisor + '\'' +
.append("maintTime", getMaintTime()) ", maintTime=" + maintTime +
.append("cyclePeriod", getCyclePeriod()) ", jobId=" + jobId +
.append("maintStatus", getMaintStatus()) ", timeLimit=" + timeLimit +
.append("createMethod", getCreateMethod()) ", cyclePeriod=" + cyclePeriod +
.append("isFlag", getIsFlag()) ", maintStatus=" + maintStatus +
.append("remark", getRemark()) ", createMethod=" + createMethod +
.append("createBy", getCreateBy()) ", isFlag=" + isFlag +
.append("createTime", getCreateTime()) ", cronExpression='" + cronExpression + '\'' +
.append("updateBy", getUpdateBy()) ", dmsPlanMaintDetailList=" + dmsPlanMaintDetailList +
.append("updateTime", getUpdateTime()) '}';
.append("dmsPlanMaintDetailList", getDmsPlanMaintDetailList())
.toString();
} }
} }

@ -30,10 +30,12 @@ public class DmsPlanMaintDetail extends BaseEntity
@Excel(name = "保养部位,关联dms_base_maint_station的maint_station_id") @Excel(name = "保养部位,关联dms_base_maint_station的maint_station_id")
private Long maintStationId; private Long maintStationId;
/** 保养标准 */ // /** 保养标准 */
@Excel(name = "保养标准") // @Excel(name = "保养标准")
private String maintProtocol; // private String maintProtocol;
@Excel(name = "保养标准id")
private Long maintStandardId;
/** 操作描述 */ /** 操作描述 */
@Excel(name = "操作描述") @Excel(name = "操作描述")
private String operationDescription; private String operationDescription;
@ -42,6 +44,14 @@ public class DmsPlanMaintDetail extends BaseEntity
@Excel(name = "是否标识1-是2-否") @Excel(name = "是否标识1-是2-否")
private Long isFlag; private Long isFlag;
public Long getMaintStandardId() {
return maintStandardId;
}
public void setMaintStandardId(Long maintStandardId) {
this.maintStandardId = maintStandardId;
}
public void setPlanMaintDetailId(Long planMaintDetailId) public void setPlanMaintDetailId(Long planMaintDetailId)
{ {
this.planMaintDetailId = planMaintDetailId; this.planMaintDetailId = planMaintDetailId;
@ -78,15 +88,9 @@ public class DmsPlanMaintDetail extends BaseEntity
{ {
return maintStationId; return maintStationId;
} }
public void setMaintProtocol(String maintProtocol)
{
this.maintProtocol = maintProtocol;
}
public String getMaintProtocol()
{
return maintProtocol;
}
public void setOperationDescription(String operationDescription) public void setOperationDescription(String operationDescription)
{ {
this.operationDescription = operationDescription; this.operationDescription = operationDescription;
@ -113,7 +117,6 @@ public class DmsPlanMaintDetail extends BaseEntity
.append("planMaintId", getPlanMaintId()) .append("planMaintId", getPlanMaintId())
.append("deviceId", getDeviceId()) .append("deviceId", getDeviceId())
.append("maintStationId", getMaintStationId()) .append("maintStationId", getMaintStationId())
.append("maintProtocol", getMaintProtocol())
.append("operationDescription", getOperationDescription()) .append("operationDescription", getOperationDescription())
.append("isFlag", getIsFlag()) .append("isFlag", getIsFlag())
.append("remark", getRemark()) .append("remark", getRemark())

@ -58,4 +58,8 @@ public interface DmsBillsFaultInstanceMapper
* @return * @return
*/ */
public int deleteDmsBillsFaultInstanceByRepairInstanceIds(Long[] repairInstanceIds); public int deleteDmsBillsFaultInstanceByRepairInstanceIds(Long[] repairInstanceIds);
public Long selectProcessActivityId(Long wfProcessId);
} }

@ -59,4 +59,8 @@ public interface DmsBillsInspectInstanceMapper
* @return * @return
*/ */
public int deleteDmsBillsInspectInstanceByInspectInstanceIds(Long[] inspectInstanceIds); public int deleteDmsBillsInspectInstanceByInspectInstanceIds(Long[] inspectInstanceIds);
int insertDmsBillsInspectInstancePDA(DmsBillsInspectInstance dmsBillsInspectInstance);
} }

@ -58,4 +58,5 @@ public interface DmsBillsLubeInstanceMapper
* @return * @return
*/ */
public int deleteDmsBillsLubeInstanceByLubeInstanceIds(Long[] lubeInstanceIds); public int deleteDmsBillsLubeInstanceByLubeInstanceIds(Long[] lubeInstanceIds);
} }

@ -0,0 +1,61 @@
package com.hw.dms.mapper;
import java.util.List;
import com.hw.dms.domain.DmsBillsMaintInstance;
/**
* Mapper
*
* @author Open Platform
* @date 2024-02-29
*/
public interface DmsBillsMaintInstanceMapper
{
/**
*
*
* @param maintInstanceId
* @return
*/
public DmsBillsMaintInstance selectDmsBillsMaintInstanceByMaintInstanceId(Long maintInstanceId);
/**
*
*
* @param dmsBillsMaintInstance
* @return
*/
public List<DmsBillsMaintInstance> selectDmsBillsMaintInstanceList(DmsBillsMaintInstance dmsBillsMaintInstance);
/**
*
*
* @param dmsBillsMaintInstance
* @return
*/
public int insertDmsBillsMaintInstance(DmsBillsMaintInstance dmsBillsMaintInstance);
/**
*
*
* @param dmsBillsMaintInstance
* @return
*/
public int updateDmsBillsMaintInstance(DmsBillsMaintInstance dmsBillsMaintInstance);
/**
*
*
* @param maintInstanceId
* @return
*/
public int deleteDmsBillsMaintInstanceByMaintInstanceId(Long maintInstanceId);
/**
*
*
* @param maintInstanceIds
* @return
*/
public int deleteDmsBillsMaintInstanceByMaintInstanceIds(Long[] maintInstanceIds);
}

@ -60,4 +60,5 @@ public interface DmsFaultInstanceActivityMapper
public int deleteDmsFaultInstanceActivityByInstanceActivityIds(Long[] instanceActivityIds); public int deleteDmsFaultInstanceActivityByInstanceActivityIds(Long[] instanceActivityIds);
Long[] selectUserIdByDmsFaultInstanceActivity(Long repairInstanceId); Long[] selectUserIdByDmsFaultInstanceActivity(Long repairInstanceId);
DmsFaultInstanceActivity selectDmsFaultInstanceActivityByRepairIdMin(Long repairInstanceId);
} }

@ -0,0 +1,66 @@
package com.hw.dms.mapper;
import java.util.List;
import com.hw.dms.domain.DmsFaultInstanceFile;
/**
* ;Mapper
*
* @author Open Platform
* @date 2024-02-29
*/
public interface DmsFaultInstanceFileMapper
{
/**
* ;
*
* @param repairInstanceFileId ;
* @return ;
*/
public DmsFaultInstanceFile selectDmsFaultInstanceFileByRepairInstanceFileId(Long repairInstanceFileId);
/**
* ;
*
* @param dmsFaultInstanceFile ;
* @return ;
*/
public List<DmsFaultInstanceFile> selectDmsFaultInstanceFileList(DmsFaultInstanceFile dmsFaultInstanceFile);
/**
* ;
*
* @param dmsFaultInstanceFile ;
* @return
*/
public int insertDmsFaultInstanceFile(DmsFaultInstanceFile dmsFaultInstanceFile);
/**
* ;
*
* @param dmsFaultInstanceFile ;
* @return
*/
public int updateDmsFaultInstanceFile(DmsFaultInstanceFile dmsFaultInstanceFile);
/**
* ;
*
* @param repairInstanceFileId ;
* @return
*/
public int deleteDmsFaultInstanceFileByRepairInstanceFileId(Long repairInstanceFileId);
/**
* ;
*
* @param repairInstanceFileIds
* @return
*/
public int deleteDmsFaultInstanceFileByRepairInstanceFileIds(Long[] repairInstanceFileIds);
/**
* id
* */
List<DmsFaultInstanceFile> selectDmsFaultInstanceFileByFaultId(Long repairInstanceId);
}

@ -0,0 +1,63 @@
package com.hw.dms.mapper;
import java.util.List;
import com.hw.dms.domain.DmsMaintInstanceActivity;
/**
* Mapper
*
* @author Open Platform
* @date 2024-02-29
*/
public interface DmsMaintInstanceActivityMapper
{
/**
*
*
* @param instanceActivityId
* @return
*/
public DmsMaintInstanceActivity selectDmsMaintInstanceActivityByInstanceActivityId(Long instanceActivityId);
/**
*
*
* @param dmsMaintInstanceActivity
* @return
*/
public List<DmsMaintInstanceActivity> selectDmsMaintInstanceActivityList(DmsMaintInstanceActivity dmsMaintInstanceActivity);
/**
*
*
* @param dmsMaintInstanceActivity
* @return
*/
public int insertDmsMaintInstanceActivity(DmsMaintInstanceActivity dmsMaintInstanceActivity);
/**
*
*
* @param dmsMaintInstanceActivity
* @return
*/
public int updateDmsMaintInstanceActivity(DmsMaintInstanceActivity dmsMaintInstanceActivity);
/**
*
*
* @param instanceActivityId
* @return
*/
public int deleteDmsMaintInstanceActivityByInstanceActivityId(Long instanceActivityId);
/**
*
*
* @param instanceActivityIds
* @return
*/
public int deleteDmsMaintInstanceActivityByInstanceActivityIds(Long[] instanceActivityIds);
Long[] selectUserIdByDmsMaintInstanceActivityId(Long maintInstanceId);
}

@ -58,4 +58,6 @@ public interface IDmsBillsFaultInstanceService
* @return * @return
*/ */
public int deleteDmsBillsFaultInstanceByRepairInstanceId(Long repairInstanceId); public int deleteDmsBillsFaultInstanceByRepairInstanceId(Long repairInstanceId);
int insertDmsBillsFaultInstancePDA(DmsBillsFaultInstance dmsBillsFaultInstance);
} }

@ -62,4 +62,6 @@ public interface IDmsBillsInspectInstanceService
* @return * @return
*/ */
public int deleteDmsBillsInspectInstanceByInspectInstanceId(Long inspectInstanceId); public int deleteDmsBillsInspectInstanceByInspectInstanceId(Long inspectInstanceId);
int insertDmsBillsInspectInstancePDA(DmsBillsInspectInstance dmsBillsInspectInstance);
} }

@ -58,4 +58,7 @@ public interface IDmsBillsLubeInstanceService
* @return * @return
*/ */
public int deleteDmsBillsLubeInstanceByLubeInstanceId(Long lubeInstanceId); public int deleteDmsBillsLubeInstanceByLubeInstanceId(Long lubeInstanceId);
int insertDmsBillsLubeInstancePDA(DmsBillsLubeInstance dmsBillsLubeInstance);
} }

@ -0,0 +1,63 @@
package com.hw.dms.service;
import java.util.List;
import com.hw.dms.domain.DmsBillsMaintInstance;
/**
* Service
*
* @author Open Platform
* @date 2024-02-29
*/
public interface IDmsBillsMaintInstanceService
{
/**
*
*
* @param maintInstanceId
* @return
*/
public DmsBillsMaintInstance selectDmsBillsMaintInstanceByMaintInstanceId(Long maintInstanceId);
/**
*
*
* @param dmsBillsMaintInstance
* @return
*/
public List<DmsBillsMaintInstance> selectDmsBillsMaintInstanceList(DmsBillsMaintInstance dmsBillsMaintInstance);
/**
*
*
* @param dmsBillsMaintInstance
* @return
*/
public int insertDmsBillsMaintInstance(DmsBillsMaintInstance dmsBillsMaintInstance);
/**
*
*
* @param dmsBillsMaintInstance
* @return
*/
public int updateDmsBillsMaintInstance(DmsBillsMaintInstance dmsBillsMaintInstance);
/**
*
*
* @param maintInstanceIds
* @return
*/
public int deleteDmsBillsMaintInstanceByMaintInstanceIds(Long[] maintInstanceIds);
/**
*
*
* @param maintInstanceId
* @return
*/
public int deleteDmsBillsMaintInstanceByMaintInstanceId(Long maintInstanceId);
int insertDmsBillsMaintInstancePDA(DmsBillsMaintInstance dmsBillsMaintInstance);
}

@ -0,0 +1,61 @@
package com.hw.dms.service;
import java.util.List;
import com.hw.dms.domain.DmsFaultInstanceFile;
/**
* ;Service
*
* @author Open Platform
* @date 2024-02-29
*/
public interface IDmsFaultInstanceFileService
{
/**
* ;
*
* @param repairInstanceFileId ;
* @return ;
*/
public DmsFaultInstanceFile selectDmsFaultInstanceFileByRepairInstanceFileId(Long repairInstanceFileId);
/**
* ;
*
* @param dmsFaultInstanceFile ;
* @return ;
*/
public List<DmsFaultInstanceFile> selectDmsFaultInstanceFileList(DmsFaultInstanceFile dmsFaultInstanceFile);
/**
* ;
*
* @param dmsFaultInstanceFile ;
* @return
*/
public int insertDmsFaultInstanceFile(DmsFaultInstanceFile dmsFaultInstanceFile);
/**
* ;
*
* @param dmsFaultInstanceFile ;
* @return
*/
public int updateDmsFaultInstanceFile(DmsFaultInstanceFile dmsFaultInstanceFile);
/**
* ;
*
* @param repairInstanceFileIds ;
* @return
*/
public int deleteDmsFaultInstanceFileByRepairInstanceFileIds(Long[] repairInstanceFileIds);
/**
* ;
*
* @param repairInstanceFileId ;
* @return
*/
public int deleteDmsFaultInstanceFileByRepairInstanceFileId(Long repairInstanceFileId);
}

@ -0,0 +1,65 @@
package com.hw.dms.service;
import java.util.List;
import com.hw.dms.domain.DmsMaintInstanceActivity;
/**
* Service
*
* @author Open Platform
* @date 2024-02-29
*/
public interface IDmsMaintInstanceActivityService
{
/**
*
*
* @param instanceActivityId
* @return
*/
public DmsMaintInstanceActivity selectDmsMaintInstanceActivityByInstanceActivityId(Long instanceActivityId);
/**
*
*
* @param dmsMaintInstanceActivity
* @return
*/
public List<DmsMaintInstanceActivity> selectDmsMaintInstanceActivityList(DmsMaintInstanceActivity dmsMaintInstanceActivity);
/**
*
*
* @param dmsMaintInstanceActivity
* @return
*/
public int insertDmsMaintInstanceActivity(DmsMaintInstanceActivity dmsMaintInstanceActivity);
/**
*
*
* @param dmsMaintInstanceActivity
* @return
*/
public int updateDmsMaintInstanceActivity(DmsMaintInstanceActivity dmsMaintInstanceActivity);
/**
*
*
* @param instanceActivityIds
* @return
*/
public int deleteDmsMaintInstanceActivityByInstanceActivityIds(Long[] instanceActivityIds);
/**
*
*
* @param instanceActivityId
* @return
*/
public int deleteDmsMaintInstanceActivityByInstanceActivityId(Long instanceActivityId);
boolean selectUserIdByDmsMaintInstanceActivityId(Long maintInstanceId,Long userId);
}

@ -58,4 +58,6 @@ public interface IDmsRepairInstanceService
* @return * @return
*/ */
public int deleteDmsRepairInstanceByRepairInstanceId(Long repairInstanceId); public int deleteDmsRepairInstanceByRepairInstanceId(Long repairInstanceId);
int insertDmsRepairInstancePDA(DmsRepairInstance dmsRepairInstance);
} }

@ -1,19 +1,28 @@
package com.hw.dms.service.impl; package com.hw.dms.service.impl;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.hw.common.core.constant.SecurityConstants;
import com.hw.common.core.domain.R;
import com.hw.common.core.utils.DateUtils; import com.hw.common.core.utils.DateUtils;
import com.hw.dms.domain.DmsFaultInstanceActivity; import com.hw.dms.domain.DmsFaultInstanceActivity;
import com.hw.dms.domain.DmsFaultInstanceFile;
import com.hw.dms.domain.DmsRepairInstanceActivity; import com.hw.dms.domain.DmsRepairInstanceActivity;
import com.hw.dms.mapper.DmsFaultInstanceActivityMapper; import com.hw.dms.mapper.DmsFaultInstanceActivityMapper;
import com.hw.dms.mapper.DmsFaultInstanceFileMapper;
import com.hw.dms.mapper.DmsRepairInstanceActivityMapper; import com.hw.dms.mapper.DmsRepairInstanceActivityMapper;
import com.hw.dms.service.IDmsRepairInstanceActivityService; import com.hw.dms.service.IDmsRepairInstanceActivityService;
import com.hw.system.api.RemoteSysCommonService;
import com.hw.system.api.domain.SysFile;
import com.hw.system.api.model.LoginUser; import com.hw.system.api.model.LoginUser;
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.hw.dms.mapper.DmsBillsFaultInstanceMapper; import com.hw.dms.mapper.DmsBillsFaultInstanceMapper;
import com.hw.dms.domain.DmsBillsFaultInstance; import com.hw.dms.domain.DmsBillsFaultInstance;
import com.hw.dms.service.IDmsBillsFaultInstanceService; import com.hw.dms.service.IDmsBillsFaultInstanceService;
import org.springframework.transaction.annotation.Transactional;
/** /**
* Service * Service
@ -28,6 +37,10 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
private DmsBillsFaultInstanceMapper dmsBillsFaultInstanceMapper; private DmsBillsFaultInstanceMapper dmsBillsFaultInstanceMapper;
@Autowired @Autowired
private DmsFaultInstanceActivityMapper dmsFaultInstanceActivityMapper; private DmsFaultInstanceActivityMapper dmsFaultInstanceActivityMapper;
@Autowired
private RemoteSysCommonService remoteSysCommonService;
@Autowired
private DmsFaultInstanceFileMapper dmsFaultInstanceFileMapper;
/** /**
* *
@ -38,7 +51,27 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
@Override @Override
public DmsBillsFaultInstance selectDmsBillsFaultInstanceByRepairInstanceId(Long repairInstanceId) public DmsBillsFaultInstance selectDmsBillsFaultInstanceByRepairInstanceId(Long repairInstanceId)
{ {
return dmsBillsFaultInstanceMapper.selectDmsBillsFaultInstanceByRepairInstanceId(repairInstanceId); DmsFaultInstanceActivity dmsFaultInstanceActivity = dmsFaultInstanceActivityMapper.selectDmsFaultInstanceActivityByRepairIdMin(repairInstanceId);
DmsBillsFaultInstance dmsBillsFaultInstance = dmsBillsFaultInstanceMapper.selectDmsBillsFaultInstanceByRepairInstanceId(repairInstanceId);
List<DmsFaultInstanceFile> dmsFaultInstanceFiles = dmsFaultInstanceFileMapper.selectDmsFaultInstanceFileByFaultId(repairInstanceId);
List<SysFile> sysFiles = new ArrayList<SysFile>();
SysFile sysFile = new SysFile();
dmsBillsFaultInstance.setFaultType(dmsFaultInstanceActivity.getFaultType());
dmsBillsFaultInstance.setFaultDescription(dmsFaultInstanceActivity.getFaultDescription());
dmsBillsFaultInstance.setDesignOperations(dmsFaultInstanceActivity.getDesignOperations());
dmsBillsFaultInstance.setDesignOperations(dmsFaultInstanceActivity.getDesignOperations());
dmsBillsFaultInstance.setDeviceId(dmsFaultInstanceActivity.getDeviceId());
dmsBillsFaultInstance.setRepairType(dmsFaultInstanceActivity.getRepairType());
if (dmsFaultInstanceActivity.getOutsrcId()!=null) {
dmsBillsFaultInstance.setOutsrcId(dmsFaultInstanceActivity.getOutsrcId());
}
for (DmsFaultInstanceFile dmsFaultFor : dmsFaultInstanceFiles){
sysFile.setUrl(dmsFaultFor.getFaultFile());
sysFiles.add(sysFile);
}
dmsBillsFaultInstance.setDmsFaultInstanceFiles(dmsFaultInstanceFiles);
dmsBillsFaultInstance.setSysFiles(sysFiles);
return dmsBillsFaultInstance;
} }
/** /**
@ -50,6 +83,7 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
@Override @Override
public List<DmsBillsFaultInstance> selectDmsBillsFaultInstanceList(DmsBillsFaultInstance dmsBillsFaultInstance) public List<DmsBillsFaultInstance> selectDmsBillsFaultInstanceList(DmsBillsFaultInstance dmsBillsFaultInstance)
{ {
return dmsBillsFaultInstanceMapper.selectDmsBillsFaultInstanceList(dmsBillsFaultInstance); return dmsBillsFaultInstanceMapper.selectDmsBillsFaultInstanceList(dmsBillsFaultInstance);
} }
@ -60,12 +94,14 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
* @return * @return
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public int insertDmsBillsFaultInstance(DmsBillsFaultInstance dmsBillsFaultInstance) public int insertDmsBillsFaultInstance(DmsBillsFaultInstance dmsBillsFaultInstance)
{ {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmm"); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmm");
String str = sdf.format(DateUtils.getNowDate()); String str = sdf.format(DateUtils.getNowDate());
LoginUser user = new LoginUser(); LoginUser user = new LoginUser();
dmsBillsFaultInstance.setWfProcessId(102l);
dmsBillsFaultInstance.setApplyUser(user.getUsername()); dmsBillsFaultInstance.setApplyUser(user.getUsername());
dmsBillsFaultInstance.setApplyTime(DateUtils.getNowDate()); dmsBillsFaultInstance.setApplyTime(DateUtils.getNowDate());
dmsBillsFaultInstance.setCreateTime(DateUtils.getNowDate()); dmsBillsFaultInstance.setCreateTime(DateUtils.getNowDate());
@ -73,10 +109,10 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
dmsBillsFaultInstance.setBillsStatus("0"); dmsBillsFaultInstance.setBillsStatus("0");
dmsBillsFaultInstance.setInstanceType("1"); dmsBillsFaultInstance.setInstanceType("1");
int i = dmsBillsFaultInstanceMapper.insertDmsBillsFaultInstance(dmsBillsFaultInstance); int i = dmsBillsFaultInstanceMapper.insertDmsBillsFaultInstance(dmsBillsFaultInstance);
List<DmsBillsFaultInstance> dmsBillsFaultInstances = dmsBillsFaultInstanceMapper.selectDmsBillsFaultInstanceList(dmsBillsFaultInstance); Long aLong = dmsBillsFaultInstanceMapper.selectProcessActivityId(102l);
DmsFaultInstanceActivity dmsFaultInstanceActivity = new DmsFaultInstanceActivity(); DmsFaultInstanceActivity dmsFaultInstanceActivity = new DmsFaultInstanceActivity();
dmsFaultInstanceActivity.setRepairInstanceId(dmsBillsFaultInstance.getRepairInstanceId()); dmsFaultInstanceActivity.setRepairInstanceId(dmsBillsFaultInstance.getRepairInstanceId());
dmsFaultInstanceActivity.setProcessActivityId(102l); dmsFaultInstanceActivity.setProcessActivityId(aLong);
dmsFaultInstanceActivity.setFaultType(dmsBillsFaultInstance.getFaultType()); dmsFaultInstanceActivity.setFaultType(dmsBillsFaultInstance.getFaultType());
dmsFaultInstanceActivity.setFaultDescription(dmsBillsFaultInstance.getFaultDescription()); dmsFaultInstanceActivity.setFaultDescription(dmsBillsFaultInstance.getFaultDescription());
dmsFaultInstanceActivity.setDesignOperations(dmsBillsFaultInstance.getDesignOperations()); dmsFaultInstanceActivity.setDesignOperations(dmsBillsFaultInstance.getDesignOperations());
@ -88,6 +124,14 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
dmsFaultInstanceActivity.setProcessHandleStatus("2"); dmsFaultInstanceActivity.setProcessHandleStatus("2");
dmsFaultInstanceActivity.setProcessStepOrder(1l); dmsFaultInstanceActivity.setProcessStepOrder(1l);
dmsFaultInstanceActivityMapper.insertDmsFaultInstanceActivity(dmsFaultInstanceActivity); dmsFaultInstanceActivityMapper.insertDmsFaultInstanceActivity(dmsFaultInstanceActivity);
//存储图片
DmsFaultInstanceFile dmsFaultInstanceFile = new DmsFaultInstanceFile();
if (dmsBillsFaultInstance.getImgUrl()!=""&&dmsBillsFaultInstance.getImgUrl()!=null){
dmsFaultInstanceFile.setTargetId(dmsFaultInstanceActivity.getInstanceActivityId());
dmsFaultInstanceFile.setTargetType("1");
dmsFaultInstanceFile.setFaultFile(dmsBillsFaultInstance.getImgUrl());
dmsFaultInstanceFileMapper.insertDmsFaultInstanceFile(dmsFaultInstanceFile);}
return i; return i;
} }
@ -127,4 +171,27 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
{ {
return dmsBillsFaultInstanceMapper.deleteDmsBillsFaultInstanceByRepairInstanceId(repairInstanceId); return dmsBillsFaultInstanceMapper.deleteDmsBillsFaultInstanceByRepairInstanceId(repairInstanceId);
} }
/**
* pda-
* */
public int insertDmsBillsFaultInstancePDA(DmsBillsFaultInstance dmsBillsFaultInstance){
//根据报修流程查询工单流程节点id
Long aLong = dmsBillsFaultInstanceMapper.selectProcessActivityId(102l);
int i = dmsBillsFaultInstanceMapper.insertDmsBillsFaultInstance(dmsBillsFaultInstance);
DmsFaultInstanceActivity dmsFaultInstanceActivity = new DmsFaultInstanceActivity();
//生成故障报修工单实例节点第一步
dmsFaultInstanceActivity.setRepairInstanceId(dmsBillsFaultInstance.getRepairInstanceId());
dmsFaultInstanceActivity.setFaultType(dmsBillsFaultInstance.getFaultType());
dmsFaultInstanceActivity.setFaultDescription(dmsBillsFaultInstance.getFaultDescription());
dmsFaultInstanceActivity.setDesignOperations(dmsBillsFaultInstance.getDesignOperations());
dmsFaultInstanceActivity.setDeviceId(dmsBillsFaultInstance.getDeviceId());
dmsFaultInstanceActivity.setRepairType(dmsBillsFaultInstance.getRepairType());
dmsFaultInstanceActivity.setOutsrcId(dmsBillsFaultInstance.getOutsrcId());
dmsFaultInstanceActivity.setProcessActivityId(aLong);
dmsFaultInstanceActivity.setProcessStepOrder(1l);
dmsFaultInstanceActivity.setCreateTime(DateUtils.getNowDate());
dmsFaultInstanceActivityMapper.insertDmsFaultInstanceActivity(dmsFaultInstanceActivity);
return i;
}
} }

@ -1,10 +1,14 @@
package com.hw.dms.service.impl; package com.hw.dms.service.impl;
import java.text.SimpleDateFormat;
import java.util.List; import java.util.List;
import com.hw.common.core.constant.SecurityConstants;
import com.hw.common.core.utils.DateUtils; import com.hw.common.core.utils.DateUtils;
import com.hw.dms.domain.DmsBillsInspectInstanceActivity; import com.hw.dms.domain.DmsBillsInspectInstanceActivity;
import com.hw.dms.mapper.DmsBillsInspectInstanceActivityMapper; import com.hw.dms.mapper.DmsBillsInspectInstanceActivityMapper;
import com.hw.dms.mapper.DmsRepairInstanceMapper; import com.hw.dms.mapper.DmsRepairInstanceMapper;
import com.hw.system.api.RemoteSysCommonService;
import com.hw.system.api.model.LoginUser; import com.hw.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -27,6 +31,8 @@ public class DmsBillsInspectInstanceServiceImpl implements IDmsBillsInspectInsta
private DmsBillsInspectInstanceActivityMapper dmsBillsInspectInstanceActivityMapper; private DmsBillsInspectInstanceActivityMapper dmsBillsInspectInstanceActivityMapper;
@Autowired @Autowired
private DmsRepairInstanceMapper dmsRepairInstanceMapper; private DmsRepairInstanceMapper dmsRepairInstanceMapper;
@Autowired
private RemoteSysCommonService remoteSysCommonService;
/** /**
* *
@ -74,7 +80,11 @@ public class DmsBillsInspectInstanceServiceImpl implements IDmsBillsInspectInsta
LoginUser user = new LoginUser(); LoginUser user = new LoginUser();
//写死105也可根据传入对象的wfprocessid作为传参。 //写死105也可根据传入对象的wfprocessid作为传参。
Long aLong = dmsRepairInstanceMapper.selectWfProcessActivityId(105l); Long aLong = dmsRepairInstanceMapper.selectWfProcessActivityId(105l);
if (dmsBillsInspectInstance.getInspectType().equals("1")){
dmsBillsInspectInstance.setWfProcessId(105l); dmsBillsInspectInstance.setWfProcessId(105l);
}else if (dmsBillsInspectInstance.getInspectType().equals("2")){
dmsBillsInspectInstance.setWfProcessId(104l);
}
dmsBillsInspectInstance.setCreateTime(DateUtils.getNowDate()); dmsBillsInspectInstance.setCreateTime(DateUtils.getNowDate());
dmsBillsInspectInstance.setIsFlag("1"); dmsBillsInspectInstance.setIsFlag("1");
dmsBillsInspectInstance.setCreateBy(user.getUsername()); dmsBillsInspectInstance.setCreateBy(user.getUsername());
@ -128,4 +138,37 @@ public class DmsBillsInspectInstanceServiceImpl implements IDmsBillsInspectInsta
{ {
return dmsBillsInspectInstanceMapper.deleteDmsBillsInspectInstanceByInspectInstanceId(inspectInstanceId); return dmsBillsInspectInstanceMapper.deleteDmsBillsInspectInstanceByInspectInstanceId(inspectInstanceId);
} }
@Override
public int insertDmsBillsInspectInstancePDA(DmsBillsInspectInstance dmsBillsInspectInstance) {
Long along = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHH");
if (dmsBillsInspectInstance.getInspectType().equals("1")){
dmsBillsInspectInstance.setWfProcessId(105l);
along = remoteSysCommonService.selectProcessActivityIdByWfProcessId(SecurityConstants.INNER,105l);
}
else if (dmsBillsInspectInstance.getInspectType().equals("2")){
dmsBillsInspectInstance.setWfProcessId(104l);
along = remoteSysCommonService.selectProcessActivityIdByWfProcessId(SecurityConstants.INNER,104l);
}
dmsBillsInspectInstance.setBillsInspectCode(sdf.format(DateUtils.getNowDate()));
dmsBillsInspectInstance.setInspectStatus("1");
dmsBillsInspectInstance.setIsFlag("1");
//创建点巡检工单实例节点第一步
int i = dmsBillsInspectInstanceMapper.insertDmsBillsInspectInstance(dmsBillsInspectInstance);
DmsBillsInspectInstanceActivity dmsBillsInspectInstanceActivity = new DmsBillsInspectInstanceActivity();
dmsBillsInspectInstanceActivity.setInspectInstanceId(dmsBillsInspectInstance.getInspectInstanceId());
dmsBillsInspectInstanceActivity.setProcessStepOrder(1l);
dmsBillsInspectInstanceActivity.setProcessActivityId(along);
dmsBillsInspectInstanceActivity.setInspectRouteId(dmsBillsInspectInstance.getInspectRouteId());
dmsBillsInspectInstanceActivity.setDeviceAmount(dmsBillsInspectInstance.getDeviceAmount());
dmsBillsInspectInstanceActivity.setPerformer(dmsBillsInspectInstance.getPerformer());
dmsBillsInspectInstanceActivity.setProcessHandleStatus("1");
dmsBillsInspectInstanceActivityMapper.insertDmsBillsInspectInstanceActivity(dmsBillsInspectInstanceActivity);
return 0;
}
} }

@ -1,12 +1,16 @@
package com.hw.dms.service.impl; package com.hw.dms.service.impl;
import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import com.hw.common.core.constant.SecurityConstants;
import com.hw.common.core.utils.DateUtils; import com.hw.common.core.utils.DateUtils;
import com.hw.dms.domain.DmsBillsLubeInstanceActivity; import com.hw.dms.domain.DmsBillsLubeInstanceActivity;
import com.hw.dms.domain.DmsPlanLube; import com.hw.dms.domain.DmsPlanLube;
import com.hw.dms.mapper.DmsBillsLubeInstanceActivityMapper; import com.hw.dms.mapper.DmsBillsLubeInstanceActivityMapper;
import com.hw.dms.mapper.DmsPlanLubeMapper; import com.hw.dms.mapper.DmsPlanLubeMapper;
import com.hw.system.api.RemoteSysCommonService;
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.hw.dms.mapper.DmsBillsLubeInstanceMapper; import com.hw.dms.mapper.DmsBillsLubeInstanceMapper;
@ -31,6 +35,8 @@ public class DmsBillsLubeInstanceServiceImpl implements IDmsBillsLubeInstanceSer
@Autowired @Autowired
private DmsBillsLubeInstanceActivityMapper dmsBillsLubeInstanceActivityMapper;; private DmsBillsLubeInstanceActivityMapper dmsBillsLubeInstanceActivityMapper;;
@Autowired
private RemoteSysCommonService remoteSysCommonService;
/** /**
* *
* *
@ -82,7 +88,6 @@ public class DmsBillsLubeInstanceServiceImpl implements IDmsBillsLubeInstanceSer
dmsBillsLubeInstanceActivity.setLubeSupervisor(dmsPlanLube.getLubeSupervisor()); dmsBillsLubeInstanceActivity.setLubeSupervisor(dmsPlanLube.getLubeSupervisor());
dmsBillsLubeInstanceActivity.setLubeLevel(dmsPlanLube.getLubeLevel()); dmsBillsLubeInstanceActivity.setLubeLevel(dmsPlanLube.getLubeLevel());
dmsBillsLubeInstanceActivity.setProcessStepOrder(1l); dmsBillsLubeInstanceActivity.setProcessStepOrder(1l);
dmsBillsLubeInstanceActivity.setProcessHandleResolution("无");
dmsBillsLubeInstanceActivityMapper.insertDmsBillsLubeInstanceActivity(dmsBillsLubeInstanceActivity); dmsBillsLubeInstanceActivityMapper.insertDmsBillsLubeInstanceActivity(dmsBillsLubeInstanceActivity);
return i; return i;
} }
@ -123,4 +128,22 @@ public class DmsBillsLubeInstanceServiceImpl implements IDmsBillsLubeInstanceSer
{ {
return dmsBillsLubeInstanceMapper.deleteDmsBillsLubeInstanceByLubeInstanceId(lubeInstanceId); return dmsBillsLubeInstanceMapper.deleteDmsBillsLubeInstanceByLubeInstanceId(lubeInstanceId);
} }
@Override
public int insertDmsBillsLubeInstancePDA(DmsBillsLubeInstance dmsBillsLubeInstance) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHH");
Long aLong= remoteSysCommonService.selectProcessActivityIdByWfProcessId(SecurityConstants.INNER, 106l);
dmsBillsLubeInstance.setBillsLubeCode(sdf.format(DateUtils.getNowDate()));
dmsBillsLubeInstance.setLubeStatus("1");
dmsBillsLubeInstance.setIsFlag("1");
//创建润滑工单实例节点
DmsBillsLubeInstanceActivity dmsBillsLubeInstanceActivity = new DmsBillsLubeInstanceActivity();
dmsBillsLubeInstanceActivity.setLubeInstanceId(dmsBillsLubeInstance.getLubeInstanceId());
dmsBillsLubeInstanceActivity.setProcessActivityId(aLong);
dmsBillsLubeInstanceActivity.setLubeGroup(dmsBillsLubeInstance.getLubeGroup());
dmsBillsLubeInstanceActivity.setLubeLevel(dmsBillsLubeInstance.getLubeLevel());
dmsBillsLubeInstanceActivity.setLubeSupervisor(dmsBillsLubeInstance.getLubeSupervisor());
return 0;
}
} }

@ -0,0 +1,153 @@
package com.hw.dms.service.impl;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import com.hw.common.core.constant.SecurityConstants;
import com.hw.common.core.utils.DateUtils;
import com.hw.dms.domain.DmsMaintInstanceActivity;
import com.hw.dms.domain.DmsPlanMaint;
import com.hw.dms.mapper.DmsMaintInstanceActivityMapper;
import com.hw.dms.mapper.DmsPlanMaintMapper;
import com.hw.system.api.RemoteSysCommonService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hw.dms.mapper.DmsBillsMaintInstanceMapper;
import com.hw.dms.domain.DmsBillsMaintInstance;
import com.hw.dms.service.IDmsBillsMaintInstanceService;
/**
* Service
*
* @author Open Platform
* @date 2024-02-29
*/
@Service
public class DmsBillsMaintInstanceServiceImpl implements IDmsBillsMaintInstanceService
{
@Autowired
private DmsBillsMaintInstanceMapper dmsBillsMaintInstanceMapper;
@Autowired
private DmsPlanMaintMapper dmsPlanMaintMapper;
@Autowired
private DmsMaintInstanceActivityMapper dmsMaintInstanceActivityMapper;
@Autowired
private RemoteSysCommonService remoteSysCommonService;
/**
*
*
* @param maintInstanceId
* @return
*/
@Override
public DmsBillsMaintInstance selectDmsBillsMaintInstanceByMaintInstanceId(Long maintInstanceId)
{
return dmsBillsMaintInstanceMapper.selectDmsBillsMaintInstanceByMaintInstanceId(maintInstanceId);
}
/**
*
*
* @param dmsBillsMaintInstance
* @return
*/
@Override
public List<DmsBillsMaintInstance> selectDmsBillsMaintInstanceList(DmsBillsMaintInstance dmsBillsMaintInstance)
{
return dmsBillsMaintInstanceMapper.selectDmsBillsMaintInstanceList(dmsBillsMaintInstance);
}
/**
*
*
* @param dmsBillsMaintInstance
* @return
*/
@Override
public int insertDmsBillsMaintInstance(DmsBillsMaintInstance dmsBillsMaintInstance)
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmm");
dmsBillsMaintInstance.setCreateTime(DateUtils.getNowDate());
DmsPlanMaint dmsPlanMaint = dmsPlanMaintMapper.selectDmsPlanMaintByPlanMaintId(dmsBillsMaintInstance.getPlanMaintId());
dmsBillsMaintInstance.setPlanBeginTime(dmsPlanMaint.getMaintTime());
dmsBillsMaintInstance.setBillsMaintCode(sdf.format(DateUtils.getNowDate()));
dmsBillsMaintInstance.setMaintStatus(1l);
Date lubeTime = dmsPlanMaint.getMaintTime();
Long timeLimit = dmsPlanMaint.getTimeLimit();
dmsBillsMaintInstance.setIsFlag(1l);
dmsBillsMaintInstance.setWfProcessId(103l);
dmsBillsMaintInstance.setPlanEndTime(new Date(lubeTime.getTime() + timeLimit*1000l));
int i = dmsBillsMaintInstanceMapper.insertDmsBillsMaintInstance(dmsBillsMaintInstance);
DmsMaintInstanceActivity maintInstanceActivity = new DmsMaintInstanceActivity();
maintInstanceActivity.setMaintInstanceId(dmsBillsMaintInstance.getMaintInstanceId());
maintInstanceActivity.setProcessActivityId(103l);
maintInstanceActivity.setMaintLevel(dmsPlanMaint.getMaintLevel());
maintInstanceActivity.setMaintGroup(dmsPlanMaint.getMaintGroup());
maintInstanceActivity.setMaintSupervisor(dmsPlanMaint.getMaintSupervisor());
maintInstanceActivity.setProcessStepOrder(1l);
dmsMaintInstanceActivityMapper.insertDmsMaintInstanceActivity(maintInstanceActivity);
return i;
}
/**
*
*
* @param dmsBillsMaintInstance
* @return
*/
@Override
public int updateDmsBillsMaintInstance(DmsBillsMaintInstance dmsBillsMaintInstance)
{
dmsBillsMaintInstance.setUpdateTime(DateUtils.getNowDate());
return dmsBillsMaintInstanceMapper.updateDmsBillsMaintInstance(dmsBillsMaintInstance);
}
/**
*
*
* @param maintInstanceIds
* @return
*/
@Override
public int deleteDmsBillsMaintInstanceByMaintInstanceIds(Long[] maintInstanceIds)
{
return dmsBillsMaintInstanceMapper.deleteDmsBillsMaintInstanceByMaintInstanceIds(maintInstanceIds);
}
/**
*
*
* @param maintInstanceId
* @return
*/
@Override
public int deleteDmsBillsMaintInstanceByMaintInstanceId(Long maintInstanceId)
{
return dmsBillsMaintInstanceMapper.deleteDmsBillsMaintInstanceByMaintInstanceId(maintInstanceId);
}
@Override
public int insertDmsBillsMaintInstancePDA(DmsBillsMaintInstance dmsBillsMaintInstance) {
Long aLong= remoteSysCommonService.selectProcessActivityIdByWfProcessId(SecurityConstants.INNER, 103l);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHH");
dmsBillsMaintInstance.setWfProcessId(103l);
dmsBillsMaintInstance.setBillsMaintCode(sdf.format(DateUtils.getNowDate()));
dmsBillsMaintInstance.setMaintStatus(1l);
dmsBillsMaintInstance.setIsFlag(1l);
int i = dmsBillsMaintInstanceMapper.insertDmsBillsMaintInstance(dmsBillsMaintInstance);
//创建保养工单实例节点第一步
DmsMaintInstanceActivity dmsMaintInstanceActivity = new DmsMaintInstanceActivity();
dmsMaintInstanceActivity.setMaintInstanceId(dmsBillsMaintInstance.getMaintInstanceId());
dmsMaintInstanceActivity.setProcessActivityId(aLong);
dmsMaintInstanceActivity.setMaintGroup(dmsBillsMaintInstance.getMaintGroup());
dmsMaintInstanceActivity.setMaintLevel(dmsBillsMaintInstance.getMaintLevel());
dmsMaintInstanceActivity.setMaintSupervisor(dmsBillsMaintInstance.getMaintSupervisor());
dmsMaintInstanceActivity.setProcessStepOrder(1l);
dmsMaintInstanceActivity.setProcessHandleStatus("1");
dmsMaintInstanceActivityMapper.insertDmsMaintInstanceActivity(dmsMaintInstanceActivity);
return i;
}
}

@ -0,0 +1,95 @@
package com.hw.dms.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hw.dms.mapper.DmsFaultInstanceFileMapper;
import com.hw.dms.domain.DmsFaultInstanceFile;
import com.hw.dms.service.IDmsFaultInstanceFileService;
/**
* ;Service
*
* @author Open Platform
* @date 2024-02-29
*/
@Service
public class DmsFaultInstanceFileServiceImpl implements IDmsFaultInstanceFileService
{
@Autowired
private DmsFaultInstanceFileMapper dmsFaultInstanceFileMapper;
/**
* ;
*
* @param repairInstanceFileId ;
* @return ;
*/
@Override
public DmsFaultInstanceFile selectDmsFaultInstanceFileByRepairInstanceFileId(Long repairInstanceFileId)
{
return dmsFaultInstanceFileMapper.selectDmsFaultInstanceFileByRepairInstanceFileId(repairInstanceFileId);
}
/**
* ;
*
* @param dmsFaultInstanceFile ;
* @return ;
*/
@Override
public List<DmsFaultInstanceFile> selectDmsFaultInstanceFileList(DmsFaultInstanceFile dmsFaultInstanceFile)
{
return dmsFaultInstanceFileMapper.selectDmsFaultInstanceFileList(dmsFaultInstanceFile);
}
/**
* ;
*
* @param dmsFaultInstanceFile ;
* @return
*/
@Override
public int insertDmsFaultInstanceFile(DmsFaultInstanceFile dmsFaultInstanceFile)
{
if (dmsFaultInstanceFile!=null){
return dmsFaultInstanceFileMapper.insertDmsFaultInstanceFile(dmsFaultInstanceFile);}
return 0;
}
/**
* ;
*
* @param dmsFaultInstanceFile ;
* @return
*/
@Override
public int updateDmsFaultInstanceFile(DmsFaultInstanceFile dmsFaultInstanceFile)
{
return dmsFaultInstanceFileMapper.updateDmsFaultInstanceFile(dmsFaultInstanceFile);
}
/**
* ;
*
* @param repairInstanceFileIds ;
* @return
*/
@Override
public int deleteDmsFaultInstanceFileByRepairInstanceFileIds(Long[] repairInstanceFileIds)
{
return dmsFaultInstanceFileMapper.deleteDmsFaultInstanceFileByRepairInstanceFileIds(repairInstanceFileIds);
}
/**
* ;
*
* @param repairInstanceFileId ;
* @return
*/
@Override
public int deleteDmsFaultInstanceFileByRepairInstanceFileId(Long repairInstanceFileId)
{
return dmsFaultInstanceFileMapper.deleteDmsFaultInstanceFileByRepairInstanceFileId(repairInstanceFileId);
}
}

@ -0,0 +1,164 @@
package com.hw.dms.service.impl;
import java.util.Arrays;
import java.util.List;
import com.hw.common.core.utils.DateUtils;
import com.hw.dms.domain.DmsBillsMaintInstance;
import com.hw.dms.domain.DmsRepairInstance;
import com.hw.dms.domain.DmsRepairInstanceActivity;
import com.hw.dms.mapper.DmsBillsMaintInstanceMapper;
import com.hw.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hw.dms.mapper.DmsMaintInstanceActivityMapper;
import com.hw.dms.domain.DmsMaintInstanceActivity;
import com.hw.dms.service.IDmsMaintInstanceActivityService;
/**
* Service
*
* @author Open Platform
* @date 2024-02-29
*/
@Service
public class DmsMaintInstanceActivityServiceImpl implements IDmsMaintInstanceActivityService
{
@Autowired
private DmsMaintInstanceActivityMapper dmsMaintInstanceActivityMapper;
@Autowired
private DmsBillsMaintInstanceMapper dmsBillsMaintInstanceMapper;
/**
*
*
* @param instanceActivityId
* @return
*/
@Override
public DmsMaintInstanceActivity selectDmsMaintInstanceActivityByInstanceActivityId(Long instanceActivityId)
{
return dmsMaintInstanceActivityMapper.selectDmsMaintInstanceActivityByInstanceActivityId(instanceActivityId);
}
/**
*
*
* @param dmsMaintInstanceActivity
* @return
*/
@Override
public List<DmsMaintInstanceActivity> selectDmsMaintInstanceActivityList(DmsMaintInstanceActivity dmsMaintInstanceActivity)
{
return dmsMaintInstanceActivityMapper.selectDmsMaintInstanceActivityList(dmsMaintInstanceActivity);
}
/**
*
*
* @param dmsMaintInstanceActivity
* @return
*/
@Override
public int insertDmsMaintInstanceActivity(DmsMaintInstanceActivity dmsMaintInstanceActivity)
{
LoginUser user = new LoginUser();
dmsMaintInstanceActivity.setCreateBy(user.getUsername());
dmsMaintInstanceActivity.setCreateTime(DateUtils.getNowDate());
dmsMaintInstanceActivity.setStartTime(DateUtils.getNowDate());
dmsMaintInstanceActivity.setProcessHandleStatus("2");
//如果是最后一步,则添加一条检修记录(检修记录暂时不用)
//创建步骤2时修改步骤1的状态处理人处理时间等数据
if (dmsMaintInstanceActivity.getProcessStepOrder()!=1){
//最后一步 直接将
if (dmsMaintInstanceActivity.getProcessStepOrder()==dmsMaintInstanceActivity.getWfLength()){
dmsMaintInstanceActivity.setEndTime(DateUtils.getNowDate());
dmsMaintInstanceActivity.setHandleUserId(user.getUserid());
dmsMaintInstanceActivity.setHandleBy(user.getUsername());
dmsMaintInstanceActivity.setHandleTime(DateUtils.getNowDate());
DmsMaintInstanceActivity dms = new DmsMaintInstanceActivity();
dms.setInstanceActivityId(dmsMaintInstanceActivity.getInstanceActivityId());
List<DmsMaintInstanceActivity> dmsMaintInstanceActivities = dmsMaintInstanceActivityMapper.selectDmsMaintInstanceActivityList(dms);
int i = dmsMaintInstanceActivityMapper.insertDmsMaintInstanceActivity(dmsMaintInstanceActivity);
for (DmsMaintInstanceActivity dmsRepairInstanceActivityFor:dmsMaintInstanceActivities){
dmsRepairInstanceActivityFor.setProcessHandleStatus("0");
dmsMaintInstanceActivityMapper.updateDmsMaintInstanceActivity(dmsRepairInstanceActivityFor);
}
DmsBillsMaintInstance dmsBillsMaintInstance = dmsBillsMaintInstanceMapper.selectDmsBillsMaintInstanceByMaintInstanceId(dmsMaintInstanceActivity.getMaintInstanceId());
dmsBillsMaintInstance.setBillsMaintCode("2");
dmsBillsMaintInstance.setRealEndTime(DateUtils.getNowDate());
dmsBillsMaintInstanceMapper.updateDmsBillsMaintInstance(dmsBillsMaintInstance);
// //更新本次计划时间,当上一个计划生成的工单结束时,本机计划时间为下一个计划工单的时间
// DmsPlanRepair dmsPlanRepair = dmsPlanRepairMapper.selectDmsPlanRepairByPlanRepairId(dmsRepairInstance.getPlanRepairId());
// //根据jobid获取cron表达式
// String cron = dmsPlanRepairMapper.getCron(dmsPlanRepair.getJobId());
// dmsPlanRepair.setRepairTime(CronUtils.getNextExecution(cron));
// dmsPlanRepairMapper.updateDmsPlanRepair(dmsPlanRepair);
return i;
}
//中间步骤
else {
if (dmsMaintInstanceActivity.getProcessStepOrder()==2){
DmsBillsMaintInstance dmsBillsMaintInstance = dmsBillsMaintInstanceMapper.selectDmsBillsMaintInstanceByMaintInstanceId(dmsMaintInstanceActivity.getMaintInstanceId());
dmsBillsMaintInstance.setRealBeginTime(DateUtils.getNowDate());
dmsBillsMaintInstanceMapper.updateDmsBillsMaintInstance(dmsBillsMaintInstance);
}
DmsMaintInstanceActivity dmsMaintInstanceActivityOrderSmall = new DmsMaintInstanceActivity();
dmsMaintInstanceActivityOrderSmall.setMaintInstanceId(dmsMaintInstanceActivity.getMaintInstanceId());
dmsMaintInstanceActivityOrderSmall.setProcessStepOrder(dmsMaintInstanceActivity.getProcessStepOrder() - 1);
List<DmsMaintInstanceActivity> dmsMaintInstanceActivities = dmsMaintInstanceActivityMapper.selectDmsMaintInstanceActivityList(dmsMaintInstanceActivityOrderSmall);
dmsMaintInstanceActivities.get(0).setProcessHandleStatus("3");
dmsMaintInstanceActivities.get(0).setEndTime(DateUtils.getNowDate());
dmsMaintInstanceActivities.get(0).setHandleBy(user.getUsername());
dmsMaintInstanceActivities.get(0).setHandleUserId(user.getUserid());
dmsMaintInstanceActivityMapper.updateDmsMaintInstanceActivity(dmsMaintInstanceActivities.get(0));
}
}
return dmsMaintInstanceActivityMapper.insertDmsMaintInstanceActivity(dmsMaintInstanceActivity);
}
/**
*
*
* @param dmsMaintInstanceActivity
* @return
*/
@Override
public int updateDmsMaintInstanceActivity(DmsMaintInstanceActivity dmsMaintInstanceActivity)
{
return dmsMaintInstanceActivityMapper.updateDmsMaintInstanceActivity(dmsMaintInstanceActivity);
}
/**
*
*
* @param instanceActivityIds
* @return
*/
@Override
public int deleteDmsMaintInstanceActivityByInstanceActivityIds(Long[] instanceActivityIds)
{
return dmsMaintInstanceActivityMapper.deleteDmsMaintInstanceActivityByInstanceActivityIds(instanceActivityIds);
}
/**
*
*
* @param instanceActivityId
* @return
*/
@Override
public int deleteDmsMaintInstanceActivityByInstanceActivityId(Long instanceActivityId)
{
return dmsMaintInstanceActivityMapper.deleteDmsMaintInstanceActivityByInstanceActivityId(instanceActivityId);
}
@Override
public boolean selectUserIdByDmsMaintInstanceActivityId(Long maintInstanceId, Long userId) {
Long[] longs = dmsMaintInstanceActivityMapper.selectUserIdByDmsMaintInstanceActivityId(maintInstanceId);
boolean contains = Arrays.asList(longs).contains(userId);
return contains;
}
}

@ -2,6 +2,7 @@ package com.hw.dms.service.impl;
import java.util.List; import java.util.List;
import com.hw.common.core.utils.DateUtils; import com.hw.common.core.utils.DateUtils;
import com.hw.dms.domain.DmsPlanRepair;
import com.hw.system.api.model.LoginUser; import com.hw.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -34,7 +35,19 @@ public class DmsPlanMaintServiceImpl implements IDmsPlanMaintService
@Override @Override
public DmsPlanMaint selectDmsPlanMaintByPlanMaintId(Long planMaintId) public DmsPlanMaint selectDmsPlanMaintByPlanMaintId(Long planMaintId)
{ {
return dmsPlanMaintMapper.selectDmsPlanMaintByPlanMaintId(planMaintId); DmsPlanMaint dmsPlanMaint = dmsPlanMaintMapper.selectDmsPlanMaintByPlanMaintId(planMaintId);
Long timeLimit = dmsPlanMaint.getTimeLimit();
if (timeLimit !=null){
Long days = timeLimit / (24 * 60 * 60l);
Long hours = timeLimit % (24 * 60 * 60l);
// System.out.println(days);
// System.out.println(hours);
dmsPlanMaint.setTimeLimitDays(days);
dmsPlanMaint.setTimeLimitHours(hours/(60*60l));
}
return dmsPlanMaint;
} }
/** /**
@ -46,7 +59,15 @@ public class DmsPlanMaintServiceImpl implements IDmsPlanMaintService
@Override @Override
public List<DmsPlanMaint> selectDmsPlanMaintList(DmsPlanMaint dmsPlanMaint) public List<DmsPlanMaint> selectDmsPlanMaintList(DmsPlanMaint dmsPlanMaint)
{ {
return dmsPlanMaintMapper.selectDmsPlanMaintList(dmsPlanMaint);
List<DmsPlanMaint> dmsPlanMaints = dmsPlanMaintMapper.selectDmsPlanMaintList(dmsPlanMaint);
for (DmsPlanMaint d:dmsPlanMaints){
Long timeLimit = d.getTimeLimit();
d.setTimeLimitDays(timeLimit/(24*60*60L));
d.setTimeLimitHours((timeLimit%(24*60*60L))/(60*60l));
}
return dmsPlanMaints;
} }
/** /**
@ -59,6 +80,8 @@ public class DmsPlanMaintServiceImpl implements IDmsPlanMaintService
@Override @Override
public int insertDmsPlanMaint(DmsPlanMaint dmsPlanMaint) public int insertDmsPlanMaint(DmsPlanMaint dmsPlanMaint)
{ {
dmsPlanMaint.setTimeLimit((dmsPlanMaint.getTimeLimitDays()*24*60*60)
+(dmsPlanMaint.getTimeLimitHours()*60*60));
dmsPlanMaint.setIsFlag(1l); dmsPlanMaint.setIsFlag(1l);
LoginUser user = new LoginUser(); LoginUser user = new LoginUser();
dmsPlanMaint.setCreateBy(user.getUsername()); dmsPlanMaint.setCreateBy(user.getUsername());

@ -115,6 +115,7 @@ public class DmsRepairInstanceServiceImpl implements IDmsRepairInstanceService
} }
dmsRepairInstance.setApplyBy(user.getUsername()); dmsRepairInstance.setApplyBy(user.getUsername());
dmsRepairInstance.setApplyTime(DateUtils.getNowDate()); dmsRepairInstance.setApplyTime(DateUtils.getNowDate());
dmsRepairInstance.setWfProcessId(101l);
int flag = dmsRepairInstanceMapper.insertDmsRepairInstance(dmsRepairInstance); int flag = dmsRepairInstanceMapper.insertDmsRepairInstance(dmsRepairInstance);
//创建工单时新建工单实例节点 //创建工单时新建工单实例节点
@ -193,6 +194,29 @@ public class DmsRepairInstanceServiceImpl implements IDmsRepairInstanceService
return dmsRepairInstanceMapper.deleteDmsRepairInstanceByRepairInstanceId(repairInstanceId); return dmsRepairInstanceMapper.deleteDmsRepairInstanceByRepairInstanceId(repairInstanceId);
} }
@Override
public int insertDmsRepairInstancePDA(DmsRepairInstance dmsRepairInstance) {
Long aLong= remoteSysCommonService.selectProcessActivityIdByWfProcessId(SecurityConstants.INNER, 101l);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHH");
dmsRepairInstance.setWfProcessId(101l);
dmsRepairInstance.setBillsRepairCode(sdf.format(DateUtils.getNowDate()));
dmsRepairInstance.setBillsStatus("0");
dmsRepairInstance.setInstanceType("1");
dmsRepairInstance.setIsFlag("1");
int i = dmsRepairInstanceMapper.insertDmsRepairInstance(dmsRepairInstance);
//创建工单实例节点
DmsRepairInstanceActivity dmsRepairInstanceActivity = new DmsRepairInstanceActivity();
dmsRepairInstanceActivity.setRepairInstanceId(dmsRepairInstance.getRepairInstanceId());
dmsRepairInstanceActivity.setProcessActivityId(aLong);
dmsRepairInstanceActivity.setRepairType(dmsRepairInstance.getRepairType());
dmsRepairInstanceActivity.setRepairGroup(dmsRepairInstance.getRepairGroup());
dmsRepairInstanceActivity.setRepairSupervisor(dmsRepairInstance.getRepairSupervisor());
dmsRepairInstanceActivity.setProcessStepOrder(1l);
dmsRepairInstanceActivity.setProcessHandleStatus("1");
dmsRepairInstanceActivityMapper.insertDmsRepairInstanceActivity(dmsRepairInstanceActivity);
return i;
}
// public static void main(String[] args) { // public static void main(String[] args) {
// //
// SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); // SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

@ -23,10 +23,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" /> <result property="updateTime" column="update_time" />
<result property="deviceId" column="device_id" />
</resultMap> </resultMap>
<sql id="selectDmsBillsFaultInstanceVo"> <sql id="selectDmsBillsFaultInstanceVo">
select repair_instance_id, fault_source_type, fault_source_id, wf_process_id, bills_fault_code, bills_status, apply_user, apply_time, real_begin_time, real_end_time, require_end_time, instance_type, is_flag, remark, create_by, create_time, update_by, update_time from dms_bills_fault_instance select repair_instance_id, fault_source_type, fault_source_id, wf_process_id, bills_fault_code, bills_status, apply_user, apply_time, real_begin_time, real_end_time, require_end_time, instance_type, is_flag, remark, create_by, create_time, update_by, update_time,device_id from dms_bills_fault_instance
</sql> </sql>
<select id="selectDmsBillsFaultInstanceList" parameterType="DmsBillsFaultInstance" resultMap="DmsBillsFaultInstanceResult"> <select id="selectDmsBillsFaultInstanceList" parameterType="DmsBillsFaultInstance" resultMap="DmsBillsFaultInstanceResult">
@ -45,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="requireEndTime != null "> and require_end_time = #{requireEndTime}</if> <if test="requireEndTime != null "> and require_end_time = #{requireEndTime}</if>
<if test="instanceType != null and instanceType != ''"> and instance_type = #{instanceType}</if> <if test="instanceType != null and instanceType != ''"> and instance_type = #{instanceType}</if>
<if test="isFlag != null and isFlag != ''"> and is_flag = #{isFlag}</if> <if test="isFlag != null and isFlag != ''"> and is_flag = #{isFlag}</if>
<if test="deviceId != null and deviceId != ''"> and device_id = #{deviceId}</if>
</where> </where>
</select> </select>
@ -73,6 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if> <if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if> <if test="updateTime != null">update_time,</if>
<if test="deviceId != null">device_id,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="faultSourceType != null">#{faultSourceType},</if> <if test="faultSourceType != null">#{faultSourceType},</if>
@ -92,6 +96,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if> <if test="updateTime != null">#{updateTime},</if>
<if test="deviceId != null">#{deviceId},</if>
</trim> </trim>
</insert> </insert>
@ -115,6 +120,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if>
<if test="deviceId != null">device_id = #{deviceId},</if>
</trim> </trim>
where repair_instance_id = #{repairInstanceId} where repair_instance_id = #{repairInstanceId}
</update> </update>
@ -129,4 +135,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{repairInstanceId} #{repairInstanceId}
</foreach> </foreach>
</delete> </delete>
<select id="selectProcessActivityId" parameterType="Long" resultType="Long">
select min(process_activity_id) from wf_process_activity where wf_process_id = #{wfProcessId}
</select>
</mapper> </mapper>

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hw.dms.mapper.DmsBillsMaintInstanceMapper">
<resultMap type="DmsBillsMaintInstance" id="DmsBillsMaintInstanceResult">
<result property="maintInstanceId" column="maint_instance_id" />
<result property="planMaintId" column="plan_maint_id" />
<result property="wfProcessId" column="wf_process_id" />
<result property="billsMaintCode" column="bills_maint_code" />
<result property="planBeginTime" column="plan_begin_time" />
<result property="realBeginTime" column="real_begin_time" />
<result property="planEndTime" column="plan_end_time" />
<result property="realEndTime" column="real_end_time" />
<result property="maintStatus" column="maint_status" />
<result property="maintCompRate" column="maint_comp_rate" />
<result property="isFlag" column="is_flag" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectDmsBillsMaintInstanceVo">
select maint_instance_id, plan_maint_id, wf_process_id, bills_maint_code, plan_begin_time, real_begin_time, plan_end_time, real_end_time, maint_status, maint_comp_rate, is_flag, remark, create_by, create_time, update_by, update_time from dms_bills_maint_instance
</sql>
<select id="selectDmsBillsMaintInstanceList" parameterType="DmsBillsMaintInstance" resultMap="DmsBillsMaintInstanceResult">
<include refid="selectDmsBillsMaintInstanceVo"/>
<where>
<if test="planMaintId != null "> and plan_maint_id = #{planMaintId}</if>
<if test="wfProcessId != null "> and wf_process_id = #{wfProcessId}</if>
<if test="billsMaintCode != null and billsMaintCode != ''"> and bills_maint_code = #{billsMaintCode}</if>
<if test="planBeginTime != null "> and plan_begin_time = #{planBeginTime}</if>
<if test="realBeginTime != null "> and real_begin_time = #{realBeginTime}</if>
<if test="planEndTime != null "> and plan_end_time = #{planEndTime}</if>
<if test="realEndTime != null "> and real_end_time = #{realEndTime}</if>
<if test="maintStatus != null "> and maint_status = #{maintStatus}</if>
<if test="maintCompRate != null "> and maint_comp_rate = #{maintCompRate}</if>
<if test="isFlag != null "> and is_flag = #{isFlag}</if>
</where>
</select>
<select id="selectDmsBillsMaintInstanceByMaintInstanceId" parameterType="Long" resultMap="DmsBillsMaintInstanceResult">
<include refid="selectDmsBillsMaintInstanceVo"/>
where maint_instance_id = #{maintInstanceId}
</select>
<insert id="insertDmsBillsMaintInstance" parameterType="DmsBillsMaintInstance" useGeneratedKeys="true" keyProperty="maintInstanceId">
insert into dms_bills_maint_instance
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="planMaintId != null">plan_maint_id,</if>
<if test="wfProcessId != null">wf_process_id,</if>
<if test="billsMaintCode != null and billsMaintCode != ''">bills_maint_code,</if>
<if test="planBeginTime != null">plan_begin_time,</if>
<if test="realBeginTime != null">real_begin_time,</if>
<if test="planEndTime != null">plan_end_time,</if>
<if test="realEndTime != null">real_end_time,</if>
<if test="maintStatus != null">maint_status,</if>
<if test="maintCompRate != null">maint_comp_rate,</if>
<if test="isFlag != null">is_flag,</if>
<if test="remark != null">remark,</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>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="planMaintId != null">#{planMaintId},</if>
<if test="wfProcessId != null">#{wfProcessId},</if>
<if test="billsMaintCode != null and billsMaintCode != ''">#{billsMaintCode},</if>
<if test="planBeginTime != null">#{planBeginTime},</if>
<if test="realBeginTime != null">#{realBeginTime},</if>
<if test="planEndTime != null">#{planEndTime},</if>
<if test="realEndTime != null">#{realEndTime},</if>
<if test="maintStatus != null">#{maintStatus},</if>
<if test="maintCompRate != null">#{maintCompRate},</if>
<if test="isFlag != null">#{isFlag},</if>
<if test="remark != null">#{remark},</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>
</trim>
</insert>
<update id="updateDmsBillsMaintInstance" parameterType="DmsBillsMaintInstance">
update dms_bills_maint_instance
<trim prefix="SET" suffixOverrides=",">
<if test="planMaintId != null">plan_maint_id = #{planMaintId},</if>
<if test="wfProcessId != null">wf_process_id = #{wfProcessId},</if>
<if test="billsMaintCode != null and billsMaintCode != ''">bills_maint_code = #{billsMaintCode},</if>
<if test="planBeginTime != null">plan_begin_time = #{planBeginTime},</if>
<if test="realBeginTime != null">real_begin_time = #{realBeginTime},</if>
<if test="planEndTime != null">plan_end_time = #{planEndTime},</if>
<if test="realEndTime != null">real_end_time = #{realEndTime},</if>
<if test="maintStatus != null">maint_status = #{maintStatus},</if>
<if test="maintCompRate != null">maint_comp_rate = #{maintCompRate},</if>
<if test="isFlag != null">is_flag = #{isFlag},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where maint_instance_id = #{maintInstanceId}
</update>
<delete id="deleteDmsBillsMaintInstanceByMaintInstanceId" parameterType="Long">
delete from dms_bills_maint_instance where maint_instance_id = #{maintInstanceId}
</delete>
<delete id="deleteDmsBillsMaintInstanceByMaintInstanceIds" parameterType="String">
delete from dms_bills_maint_instance where maint_instance_id in
<foreach item="maintInstanceId" collection="array" open="(" separator="," close=")">
#{maintInstanceId}
</foreach>
</delete>
</mapper>

@ -159,4 +159,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from dms_fault_instance_activity from dms_fault_instance_activity
where repair_instance_id=#{repairInstanceId}))) where repair_instance_id=#{repairInstanceId})))
</select> </select>
<select id="selectDmsFaultInstanceActivityByRepairIdMin" parameterType="Long" resultMap="DmsFaultInstanceActivityResult">
select * from dms_fault_instance_activity where instance_activity_id = (select min(instance_activity_id) FROM dms_fault_instance_activity where repair_instance_id = #{repairInstanceId})
</select>
</mapper> </mapper>

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hw.dms.mapper.DmsFaultInstanceFileMapper">
<resultMap type="DmsFaultInstanceFile" id="DmsFaultInstanceFileResult">
<result property="repairInstanceFileId" column="repair_instance_file_id" />
<result property="targetType" column="target_type" />
<result property="targetId" column="target_id" />
<result property="faultFile" column="fault_file" />
</resultMap>
<sql id="selectDmsFaultInstanceFileVo">
select repair_instance_file_id, target_type, target_id, fault_file from dms_fault_instance_file
</sql>
<select id="selectDmsFaultInstanceFileList" parameterType="DmsFaultInstanceFile" resultMap="DmsFaultInstanceFileResult">
<include refid="selectDmsFaultInstanceFileVo"/>
<where>
<if test="targetType != null and targetType != ''"> and target_type = #{targetType}</if>
<if test="targetId != null "> and target_id = #{targetId}</if>
<if test="faultFile != null and faultFile != ''"> and fault_file = #{faultFile}</if>
</where>
</select>
<select id="selectDmsFaultInstanceFileByRepairInstanceFileId" parameterType="Long" resultMap="DmsFaultInstanceFileResult">
<include refid="selectDmsFaultInstanceFileVo"/>
where repair_instance_file_id = #{repairInstanceFileId}
</select>
<insert id="insertDmsFaultInstanceFile" parameterType="DmsFaultInstanceFile" useGeneratedKeys="true" keyProperty="repairInstanceFileId">
insert into dms_fault_instance_file
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="targetType != null and targetType != ''">target_type,</if>
<if test="targetId != null">target_id,</if>
<if test="faultFile != null and faultFile != ''">fault_file,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="targetType != null and targetType != ''">#{targetType},</if>
<if test="targetId != null">#{targetId},</if>
<if test="faultFile != null and faultFile != ''">#{faultFile},</if>
</trim>
</insert>
<update id="updateDmsFaultInstanceFile" parameterType="DmsFaultInstanceFile">
update dms_fault_instance_file
<trim prefix="SET" suffixOverrides=",">
<if test="targetType != null and targetType != ''">target_type = #{targetType},</if>
<if test="targetId != null">target_id = #{targetId},</if>
<if test="faultFile != null and faultFile != ''">fault_file = #{faultFile},</if>
</trim>
where repair_instance_file_id = #{repairInstanceFileId}
</update>
<delete id="deleteDmsFaultInstanceFileByRepairInstanceFileId" parameterType="Long">
delete from dms_fault_instance_file where repair_instance_file_id = #{repairInstanceFileId}
</delete>
<delete id="deleteDmsFaultInstanceFileByRepairInstanceFileIds" parameterType="String">
delete from dms_fault_instance_file where repair_instance_file_id in
<foreach item="repairInstanceFileId" collection="array" open="(" separator="," close=")">
#{repairInstanceFileId}
</foreach>
</delete>
<select id="selectDmsFaultInstanceFileByFaultId" parameterType="Long" resultMap="DmsFaultInstanceFileResult">
select * from dms_fault_instance_file where target_id = (
select min(instance_activity_id) from dms_fault_instance_activity where repair_instance_id = #{repairInstanceId}
)
</select>
</mapper>

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hw.dms.mapper.DmsMaintInstanceActivityMapper">
<resultMap type="DmsMaintInstanceActivity" id="DmsMaintInstanceActivityResult">
<result property="instanceActivityId" column="instance_activity_id" />
<result property="maintInstanceId" column="maint_instance_id" />
<result property="processActivityId" column="process_activity_id" />
<result property="maintLevel" column="maint_level" />
<result property="maintGroup" column="maint_group" />
<result property="maintSupervisor" column="maint_supervisor" />
<result property="processHandleResolution" column="process_handle_resolution" />
<result property="remark" column="remark" />
<result property="processHandleStatus" column="process_handle_status" />
<result property="processStepOrder" column="process_step_order" />
<result property="startTime" column="start_time" />
<result property="endTime" column="end_time" />
<result property="handleUserId" column="handle_user_id" />
<result property="handleBy" column="handle_by" />
<result property="handleTime" column="handle_time" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="transferUserId" column="transfer_user_id" />
<result property="attr1" column="attr1" />
</resultMap>
<sql id="selectDmsMaintInstanceActivityVo">
select instance_activity_id, maint_instance_id, process_activity_id, maint_level, maint_group, maint_supervisor, process_handle_resolution, remark, process_handle_status, process_step_order, start_time, end_time, handle_user_id, handle_by, handle_time, create_by, create_time, transfer_user_id, attr1 from dms_maint_instance_activity
</sql>
<select id="selectDmsMaintInstanceActivityList" parameterType="DmsMaintInstanceActivity" resultMap="DmsMaintInstanceActivityResult">
<include refid="selectDmsMaintInstanceActivityVo"/>
<where>
<if test="maintInstanceId != null "> and maint_instance_id = #{maintInstanceId}</if>
<if test="processActivityId != null "> and process_activity_id = #{processActivityId}</if>
<if test="maintLevel != null "> and maint_level = #{maintLevel}</if>
<if test="maintGroup != null and maintGroup != ''"> and maint_group = #{maintGroup}</if>
<if test="maintSupervisor != null and maintSupervisor != ''"> and maint_supervisor = #{maintSupervisor}</if>
<if test="processHandleResolution != null and processHandleResolution != ''"> and process_handle_resolution = #{processHandleResolution}</if>
<if test="processHandleStatus != null and processHandleStatus != ''"> and process_handle_status = #{processHandleStatus}</if>
<if test="processStepOrder != null "> and process_step_order = #{processStepOrder}</if>
<if test="startTime != null "> and start_time = #{startTime}</if>
<if test="endTime != null "> and end_time = #{endTime}</if>
<if test="handleUserId != null "> and handle_user_id = #{handleUserId}</if>
<if test="handleBy != null and handleBy != ''"> and handle_by = #{handleBy}</if>
<if test="handleTime != null "> and handle_time = #{handleTime}</if>
<if test="transferUserId != null "> and transfer_user_id = #{transferUserId}</if>
<if test="attr1 != null and attr1 != ''"> and attr1 = #{attr1}</if>
</where>
</select>
<select id="selectDmsMaintInstanceActivityByInstanceActivityId" parameterType="Long" resultMap="DmsMaintInstanceActivityResult">
<include refid="selectDmsMaintInstanceActivityVo"/>
where instance_activity_id = #{instanceActivityId}
</select>
<insert id="insertDmsMaintInstanceActivity" parameterType="DmsMaintInstanceActivity" useGeneratedKeys="true" keyProperty="instanceActivityId">
insert into dms_maint_instance_activity
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="maintInstanceId != null">maint_instance_id,</if>
<if test="processActivityId != null">process_activity_id,</if>
<if test="maintLevel != null">maint_level,</if>
<if test="maintGroup != null">maint_group,</if>
<if test="maintSupervisor != null">maint_supervisor,</if>
<if test="processHandleResolution != null and processHandleResolution != ''">process_handle_resolution,</if>
<if test="remark != null">remark,</if>
<if test="processHandleStatus != null">process_handle_status,</if>
<if test="processStepOrder != null">process_step_order,</if>
<if test="startTime != null">start_time,</if>
<if test="endTime != null">end_time,</if>
<if test="handleUserId != null">handle_user_id,</if>
<if test="handleBy != null">handle_by,</if>
<if test="handleTime != null">handle_time,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="transferUserId != null">transfer_user_id,</if>
<if test="attr1 != null">attr1,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="maintInstanceId != null">#{maintInstanceId},</if>
<if test="processActivityId != null">#{processActivityId},</if>
<if test="maintLevel != null">#{maintLevel},</if>
<if test="maintGroup != null">#{maintGroup},</if>
<if test="maintSupervisor != null">#{maintSupervisor},</if>
<if test="processHandleResolution != null and processHandleResolution != ''">#{processHandleResolution},</if>
<if test="remark != null">#{remark},</if>
<if test="processHandleStatus != null">#{processHandleStatus},</if>
<if test="processStepOrder != null">#{processStepOrder},</if>
<if test="startTime != null">#{startTime},</if>
<if test="endTime != null">#{endTime},</if>
<if test="handleUserId != null">#{handleUserId},</if>
<if test="handleBy != null">#{handleBy},</if>
<if test="handleTime != null">#{handleTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="transferUserId != null">#{transferUserId},</if>
<if test="attr1 != null">#{attr1},</if>
</trim>
</insert>
<update id="updateDmsMaintInstanceActivity" parameterType="DmsMaintInstanceActivity">
update dms_maint_instance_activity
<trim prefix="SET" suffixOverrides=",">
<if test="maintInstanceId != null">maint_instance_id = #{maintInstanceId},</if>
<if test="processActivityId != null">process_activity_id = #{processActivityId},</if>
<if test="maintLevel != null">maint_level = #{maintLevel},</if>
<if test="maintGroup != null">maint_group = #{maintGroup},</if>
<if test="maintSupervisor != null">maint_supervisor = #{maintSupervisor},</if>
<if test="processHandleResolution != null and processHandleResolution != ''">process_handle_resolution = #{processHandleResolution},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="processHandleStatus != null">process_handle_status = #{processHandleStatus},</if>
<if test="processStepOrder != null">process_step_order = #{processStepOrder},</if>
<if test="startTime != null">start_time = #{startTime},</if>
<if test="endTime != null">end_time = #{endTime},</if>
<if test="handleUserId != null">handle_user_id = #{handleUserId},</if>
<if test="handleBy != null">handle_by = #{handleBy},</if>
<if test="handleTime != null">handle_time = #{handleTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="transferUserId != null">transfer_user_id = #{transferUserId},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
</trim>
where instance_activity_id = #{instanceActivityId}
</update>
<delete id="deleteDmsMaintInstanceActivityByInstanceActivityId" parameterType="Long">
delete from dms_maint_instance_activity where instance_activity_id = #{instanceActivityId}
</delete>
<delete id="deleteDmsMaintInstanceActivityByInstanceActivityIds" parameterType="String">
delete from dms_maint_instance_activity where instance_activity_id in
<foreach item="instanceActivityId" collection="array" open="(" separator="," close=")">
#{instanceActivityId}
</foreach>
</delete>
<!-- 先查询出该工单审批到了第几步然后根据步骤查询拥有权限的对象id集合 -->
<select id="selectUserIdByDmsMaintInstanceActivityId" parameterType="Long" resultType="java.lang.Long">
select auth_target_id from wf_process_activity_auth where process_activity_id =(
select process_activity_id from wf_process_activity
where wf_process_id = 103
and process_activity_order = (1+(select max(process_step_order)
from dms_maint_instance_activity
where maint_instance_id=#{maintInstanceId})))
</select>
</mapper>

@ -11,6 +11,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="maintGroup" column="maint_group" /> <result property="maintGroup" column="maint_group" />
<result property="maintSupervisor" column="maint_supervisor" /> <result property="maintSupervisor" column="maint_supervisor" />
<result property="maintTime" column="maint_time" /> <result property="maintTime" column="maint_time" />
<result property="jobId" column="job_id" />
<result property="timeLimit" column="time_limit" />
<result property="cyclePeriod" column="cycle_period" /> <result property="cyclePeriod" column="cycle_period" />
<result property="maintStatus" column="maint_status" /> <result property="maintStatus" column="maint_status" />
<result property="createMethod" column="create_method" /> <result property="createMethod" column="create_method" />
@ -31,7 +33,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="planMaintId" column="sub_plan_maint_id" /> <result property="planMaintId" column="sub_plan_maint_id" />
<result property="deviceId" column="sub_device_id" /> <result property="deviceId" column="sub_device_id" />
<result property="maintStationId" column="sub_maint_station_id" /> <result property="maintStationId" column="sub_maint_station_id" />
<result property="maintProtocol" column="sub_maint_protocol" /> <result property="maintStandardId" column="maint_standard_id" />
<result property="operationDescription" column="sub_operation_description" /> <result property="operationDescription" column="sub_operation_description" />
<result property="isFlag" column="sub_is_flag" /> <result property="isFlag" column="sub_is_flag" />
<result property="remark" column="sub_remark" /> <result property="remark" column="sub_remark" />
@ -42,7 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectDmsPlanMaintVo"> <sql id="selectDmsPlanMaintVo">
select plan_maint_id, plan_maint_code, maint_level, maint_group, maint_supervisor, maint_time, cycle_period, maint_status, create_method, is_flag, remark, create_by, create_time, update_by, update_time from dms_plan_maint select plan_maint_id, plan_maint_code, maint_level, maint_group, maint_supervisor, maint_time,job_id,time_limit, cycle_period, maint_status, create_method, is_flag, remark, create_by, create_time, update_by, update_time from dms_plan_maint
</sql> </sql>
<select id="selectDmsPlanMaintList" parameterType="DmsPlanMaint" resultMap="DmsPlanMaintResult"> <select id="selectDmsPlanMaintList" parameterType="DmsPlanMaint" resultMap="DmsPlanMaintResult">
@ -62,8 +64,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="selectDmsPlanMaintByPlanMaintId" parameterType="Long" resultMap="DmsPlanMaintDmsPlanMaintDetailResult"> <select id="selectDmsPlanMaintByPlanMaintId" parameterType="Long" resultMap="DmsPlanMaintDmsPlanMaintDetailResult">
select a.plan_maint_id, a.plan_maint_code, a.maint_level, a.maint_group, a.maint_supervisor, a.maint_time, a.cycle_period, a.maint_status, a.create_method, a.is_flag, a.remark, a.create_by, a.create_time, a.update_by, a.update_time, select a.plan_maint_id, a.plan_maint_code, a.maint_level, a.maint_group, a.maint_supervisor, a.maint_time,a.time_limit,a.job_id, a.cycle_period, a.maint_status, a.create_method, a.is_flag, a.remark, a.create_by, a.create_time, a.update_by, a.update_time,
b.plan_maint_detail_id as sub_plan_maint_detail_id, b.plan_maint_id as sub_plan_maint_id, b.device_id as sub_device_id, b.maint_station_id as sub_maint_station_id, b.maint_protocol as sub_maint_protocol, b.operation_description as sub_operation_description, b.is_flag as sub_is_flag, b.remark as sub_remark, b.create_by as sub_create_by, b.create_time as sub_create_time, b.update_by as sub_update_by, b.update_time as sub_update_time b.plan_maint_detail_id as sub_plan_maint_detail_id, b.plan_maint_id as sub_plan_maint_id, b.device_id as sub_device_id, b.maint_station_id as sub_maint_station_id, b.maint_standard_id as sub_maint_protocol, b.operation_description as sub_operation_description, b.is_flag as sub_is_flag, b.remark as sub_remark, b.create_by as sub_create_by, b.create_time as sub_create_time, b.update_by as sub_update_by, b.update_time as sub_update_time
from dms_plan_maint a from dms_plan_maint a
left join dms_plan_maint_detail b on b.plan_maint_id = a.plan_maint_id left join dms_plan_maint_detail b on b.plan_maint_id = a.plan_maint_id
where a.plan_maint_id = #{planMaintId} where a.plan_maint_id = #{planMaintId}
@ -77,6 +79,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="maintGroup != null">maint_group,</if> <if test="maintGroup != null">maint_group,</if>
<if test="maintSupervisor != null">maint_supervisor,</if> <if test="maintSupervisor != null">maint_supervisor,</if>
<if test="maintTime != null">maint_time,</if> <if test="maintTime != null">maint_time,</if>
<if test="timeLimit != null">time_limit,</if>
<if test="jobId != null">job_id,</if>
<if test="cyclePeriod != null">cycle_period,</if> <if test="cyclePeriod != null">cycle_period,</if>
<if test="maintStatus != null">maint_status,</if> <if test="maintStatus != null">maint_status,</if>
<if test="createMethod != null">create_method,</if> <if test="createMethod != null">create_method,</if>
@ -93,6 +97,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="maintGroup != null">#{maintGroup},</if> <if test="maintGroup != null">#{maintGroup},</if>
<if test="maintSupervisor != null">#{maintSupervisor},</if> <if test="maintSupervisor != null">#{maintSupervisor},</if>
<if test="maintTime != null">#{maintTime},</if> <if test="maintTime != null">#{maintTime},</if>
<if test="timeLimit != null">#{timeLimit},</if>
<if test="jobId != null">#{jobId},</if>
<if test="cyclePeriod != null">#{cyclePeriod},</if> <if test="cyclePeriod != null">#{cyclePeriod},</if>
<if test="maintStatus != null">#{maintStatus},</if> <if test="maintStatus != null">#{maintStatus},</if>
<if test="createMethod != null">#{createMethod},</if> <if test="createMethod != null">#{createMethod},</if>
@ -113,6 +119,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="maintGroup != null">maint_group = #{maintGroup},</if> <if test="maintGroup != null">maint_group = #{maintGroup},</if>
<if test="maintSupervisor != null">maint_supervisor = #{maintSupervisor},</if> <if test="maintSupervisor != null">maint_supervisor = #{maintSupervisor},</if>
<if test="maintTime != null">maint_time = #{maintTime},</if> <if test="maintTime != null">maint_time = #{maintTime},</if>
<if test="timeLimit != null">time_limit = #{timeLimit},</if>
<if test="jobId != null">job_id = #{jobId},</if>
<if test="cyclePeriod != null">cycle_period = #{cyclePeriod},</if> <if test="cyclePeriod != null">cycle_period = #{cyclePeriod},</if>
<if test="maintStatus != null">maint_status = #{maintStatus},</if> <if test="maintStatus != null">maint_status = #{maintStatus},</if>
<if test="createMethod != null">create_method = #{createMethod},</if> <if test="createMethod != null">create_method = #{createMethod},</if>

@ -24,6 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateTime" column="update_time" /> <result property="updateTime" column="update_time" />
</resultMap> </resultMap>
<sql id="selectDmsRepairInstanceVo"> <sql id="selectDmsRepairInstanceVo">
select repair_instance_id, plan_repair_id, wf_process_id, bills_repair_code, bills_status, plan_begin_time, real_begin_time, plan_end_time, real_end_time, repair_comp_rate, instance_type, is_flag, remark, apply_by, apply_time, update_by, update_time from dms_repair_instance select repair_instance_id, plan_repair_id, wf_process_id, bills_repair_code, bills_status, plan_begin_time, real_begin_time, plan_end_time, real_end_time, repair_comp_rate, instance_type, is_flag, remark, apply_by, apply_time, update_by, update_time from dms_repair_instance
</sql> </sql>

@ -60,5 +60,10 @@ public class RyTask
System.out.println("++创建润滑工单++getDmsRepairInstance"); System.out.println("++创建润滑工单++getDmsRepairInstance");
remoteDmsService.getDmsBillsLube(SecurityConstants.INNER, planInspectId); remoteDmsService.getDmsBillsLube(SecurityConstants.INNER, planInspectId);
} }
public void getDmsBillsMaint(String dmsBillsMaintId){
System.out.println("++创建保养工单++getDmsMaintInstance");
remoteDmsService.getDmsBillsMaintInstance(SecurityConstants.INNER,dmsBillsMaintId);
}
} }

@ -77,9 +77,12 @@
<groupId>com.hw</groupId> <groupId>com.hw</groupId>
<artifactId>hw-common-swagger</artifactId> <artifactId>hw-common-swagger</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.hw</groupId> <groupId>com.hw</groupId>
<artifactId>hw-api-mes</artifactId> <artifactId>hw-api-printer</artifactId>
<version>3.6.3</version>
<scope>compile</scope>
</dependency> </dependency>
</dependencies> </dependencies>

@ -92,7 +92,6 @@ public class MesBaseBarcodeInfoController extends BaseController
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody MesBaseBarcodeInfo mesBaseBarcodeInfo) public AjaxResult edit(@RequestBody MesBaseBarcodeInfo mesBaseBarcodeInfo)
{ {
mesBaseBarcodeInfo.setUpdateBy(SecurityUtils.getLoginUser().getUsername());
return toAjax(mesBaseBarcodeInfoService.updateMesBaseBarcodeInfo(mesBaseBarcodeInfo)); return toAjax(mesBaseBarcodeInfoService.updateMesBaseBarcodeInfo(mesBaseBarcodeInfo));
} }
@ -108,6 +107,16 @@ public class MesBaseBarcodeInfoController extends BaseController
} }
/**
*
* @param barcodeIds
* @return
*/
@GetMapping(value = "/printBarCode/{barcodeIds}")
public AjaxResult printBarCode(@PathVariable Long[] barcodeIds)
{
return success(mesBaseBarcodeInfoService.printBarCode(barcodeIds));
}
/** /**

@ -1,9 +1,9 @@
package com.hw.mes.controller; package com.hw.mes.controller;
import java.util.List; import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.hw.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -74,6 +74,7 @@ public class MesProductOrderController extends BaseController {
@Log(title = "生产工单", businessType = BusinessType.INSERT) @Log(title = "生产工单", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public AjaxResult add(@RequestBody MesProductOrder mesProductOrder) { public AjaxResult add(@RequestBody MesProductOrder mesProductOrder) {
mesProductOrder.setCreateBy(SecurityUtils.getLoginUser().getUsername());
return toAjax(mesProductOrderService.insertMesProductOrder(mesProductOrder)); return toAjax(mesProductOrderService.insertMesProductOrder(mesProductOrder));
} }
@ -84,6 +85,7 @@ public class MesProductOrderController extends BaseController {
@Log(title = "生产工单", businessType = BusinessType.UPDATE) @Log(title = "生产工单", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody MesProductOrder mesProductOrder) { public AjaxResult edit(@RequestBody MesProductOrder mesProductOrder) {
mesProductOrder.setUpdateBy(SecurityUtils.getLoginUser().getUsername());
return toAjax(mesProductOrderService.updateMesProductOrder(mesProductOrder)); return toAjax(mesProductOrderService.updateMesProductOrder(mesProductOrder));
} }
@ -115,15 +117,6 @@ public class MesProductOrderController extends BaseController {
return toAjax(mesProductOrderService.productOrderPublish(mesProductOrder)); return toAjax(mesProductOrderService.productOrderPublish(mesProductOrder));
} }
/**
*
*/
@Log(title = "生产工单", businessType = BusinessType.UPDATE)
@PostMapping("/productOrderRecall")
public AjaxResult productOrderRecall(@RequestBody MesProductOrder mesProductOrder) {
return toAjax(mesProductOrderService.productOrderRecall(mesProductOrder));
}
/** /**
* *
* *
@ -134,4 +127,14 @@ public class MesProductOrderController extends BaseController {
return success(mesProductOrderService.getOrderCode()); return success(mesProductOrderService.getOrderCode());
} }
/**
* BOM
*
* @return materialBomId
*/
@GetMapping(value = "/verifyBOMIsProduction/{materialBomId}")
public AjaxResult verifyBOMIsProduction(@PathVariable Long materialBomId) {
return success(mesProductOrderService.verifyBOMIsProduction(materialBomId));
}
} }

@ -4,6 +4,7 @@ import java.util.List;
import java.io.IOException; import java.io.IOException;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.hw.mes.domain.MesProductOrder;
import com.hw.mes.service.IMesProductOrderService; import com.hw.mes.service.IMesProductOrderService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -149,4 +150,13 @@ public class MesProductPlanController extends BaseController
return success(mesProductPlanService.getDispatchDrawingList(planId)); return success(mesProductPlanService.getDispatchDrawingList(planId));
} }
/**
*
*/
@Log(title = "生产工单", businessType = BusinessType.UPDATE)
@PostMapping("/productOrderRecall")
public AjaxResult productOrderRecall(@RequestBody MesProductOrder mesProductOrder) {
return toAjax(mesProductPlanService.productOrderRecall(mesProductOrder));
}
} }

@ -65,6 +65,12 @@ public class MesProductOrder extends BaseEntity {
@Excel(name = "物料bomID") @Excel(name = "物料bomID")
private Long materialBomId; private Long materialBomId;
/**
* BOM
*/
@Excel(name = "BOM说明")
private String materialBomDesc;
/** /**
* (1线 2线) * (1线 2线)
*/ */
@ -179,6 +185,13 @@ public class MesProductOrder extends BaseEntity {
@Excel(name = "物料名称") @Excel(name = "物料名称")
private String materialName; private String materialName;
public String getMaterialBomDesc() {
return materialBomDesc;
}
public void setMaterialBomDesc(String materialBomDesc) {
this.materialBomDesc = materialBomDesc;
}
public String getDispatchName() { public String getDispatchName() {
return dispatchName; return dispatchName;

@ -68,4 +68,12 @@ public interface IMesBaseBarcodeInfoService
* @return * @return
*/ */
public int deleteMesBaseBarcodeInfoByBarcodeId(Long barcodeId); public int deleteMesBaseBarcodeInfoByBarcodeId(Long barcodeId);
/**
*
* @param barcodeIds
* @return
*/
public int printBarCode(Long[] barcodeIds);
} }

@ -74,4 +74,12 @@ public interface IMesMaterialBomService
* @return * @return
*/ */
public List<MesMaterialBom> getMaterialVisionList(Long materialId); public List<MesMaterialBom> getMaterialVisionList(Long materialId);
/**
* BOM
*
* @param materialBomId BOM
* @return BOM
*/
public MesMaterialBom selectTopMaterialBomByMaterialBomId(Long materialBomId);
} }

@ -82,11 +82,9 @@ public interface IMesProductOrderService
public int productOrderPublish(MesProductOrder mesProductOrder); public int productOrderPublish(MesProductOrder mesProductOrder);
/** /**
* * BOM
* * @param materialBomId
* @param mesProductOrder * @return
* @return
*/ */
public int productOrderRecall(MesProductOrder mesProductOrder); public Boolean verifyBOMIsProduction(Long materialBomId);
} }

@ -3,6 +3,7 @@ package com.hw.mes.service;
import java.util.List; import java.util.List;
import com.hw.mes.domain.MesBaseAttachInfo; import com.hw.mes.domain.MesBaseAttachInfo;
import com.hw.mes.domain.MesProductOrder;
import com.hw.mes.domain.MesProductPlan; import com.hw.mes.domain.MesProductPlan;
/** /**
@ -92,4 +93,12 @@ public interface IMesProductPlanService
*/ */
public List<MesBaseAttachInfo> getDispatchDrawingList(Long planId); public List<MesBaseAttachInfo> getDispatchDrawingList(Long planId);
/**
*
*
* @param mesProductOrder
* @return
*/
public int productOrderRecall(MesProductOrder mesProductOrder);
} }

@ -1,8 +1,18 @@
package com.hw.mes.service.impl; package com.hw.mes.service.impl;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import com.hw.common.core.constant.MesConstants;
import com.hw.common.core.constant.SecurityConstants;
import com.hw.common.core.domain.R;
import com.hw.common.core.exception.ServiceException;
import com.hw.common.core.utils.DateUtils; import com.hw.common.core.utils.DateUtils;
import com.hw.common.core.utils.StringUtils;
import com.hw.common.core.utils.uuid.Seq;
import com.hw.common.security.utils.SecurityUtils;
import com.hw.mes.api.domain.MesBaseBarcodeInfo; import com.hw.mes.api.domain.MesBaseBarcodeInfo;
import com.hw.printer.api.RemotePrinterService;
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.hw.mes.mapper.MesBaseBarcodeInfoMapper; import com.hw.mes.mapper.MesBaseBarcodeInfoMapper;
@ -15,11 +25,13 @@ import com.hw.mes.service.IMesBaseBarcodeInfoService;
* @date 2023-12-20 * @date 2023-12-20
*/ */
@Service @Service
public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService {
{
@Autowired @Autowired
private MesBaseBarcodeInfoMapper mesBaseBarcodeInfoMapper; private MesBaseBarcodeInfoMapper mesBaseBarcodeInfoMapper;
@Autowired
private RemotePrinterService remotePrinterService;
/** /**
* *
* *
@ -27,8 +39,7 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
* @return * @return
*/ */
@Override @Override
public MesBaseBarcodeInfo selectMesBaseBarcodeInfoByBarcodeInfo(String barcodeInfo) public MesBaseBarcodeInfo selectMesBaseBarcodeInfoByBarcodeInfo(String barcodeInfo) {
{
return mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoByBarcodeInfo(barcodeInfo); return mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoByBarcodeInfo(barcodeInfo);
} }
@ -40,8 +51,7 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
* @return * @return
*/ */
@Override @Override
public MesBaseBarcodeInfo selectMesBaseBarcodeInfoByBarcodeId(Long barcodeId) public MesBaseBarcodeInfo selectMesBaseBarcodeInfoByBarcodeId(Long barcodeId) {
{
return mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoByBarcodeId(barcodeId); return mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoByBarcodeId(barcodeId);
} }
@ -52,8 +62,7 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
* @return * @return
*/ */
@Override @Override
public List<MesBaseBarcodeInfo> selectMesBaseBarcodeInfoList(MesBaseBarcodeInfo mesBaseBarcodeInfo) public List<MesBaseBarcodeInfo> selectMesBaseBarcodeInfoList(MesBaseBarcodeInfo mesBaseBarcodeInfo) {
{
return mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoList(mesBaseBarcodeInfo); return mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoList(mesBaseBarcodeInfo);
} }
@ -64,10 +73,26 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
* @return * @return
*/ */
@Override @Override
public int insertMesBaseBarcodeInfo(MesBaseBarcodeInfo mesBaseBarcodeInfo) public int insertMesBaseBarcodeInfo(MesBaseBarcodeInfo mesBaseBarcodeInfo) {
{
mesBaseBarcodeInfo.setCreateTime(DateUtils.getNowDate()); mesBaseBarcodeInfo.setCreateTime(DateUtils.getNowDate());
return mesBaseBarcodeInfoMapper.insertMesBaseBarcodeInfo(mesBaseBarcodeInfo); if (mesBaseBarcodeInfo.getBarcodeType().equals(MesConstants.MES_BARCODE_TYPE_RAW)) {
//同一批次的批次代码相同
mesBaseBarcodeInfo.setBatchCode(Seq.getId(Seq.mesBatchCodeSeqType, Seq.mesBatchCodeCode));
if (mesBaseBarcodeInfo.getBatchFlag().equals(MesConstants.NOT_IS_BATCH)) {
int frequency = mesBaseBarcodeInfo.getAmount().intValue();
for (int i = 0; i < frequency; i++) {
// 生成数量条的不同条码内容
mesBaseBarcodeInfo.setBarcodeInfo(Seq.getId(Seq.mesBarcodeSeqType, Seq.mesBarcodeCode));
mesBaseBarcodeInfo.setAmount(new BigDecimal(1));
mesBaseBarcodeInfoMapper.insertMesBaseBarcodeInfo(mesBaseBarcodeInfo);
}
}
if (mesBaseBarcodeInfo.getBatchFlag().equals(MesConstants.IS_BATCH)) {
mesBaseBarcodeInfo.setBarcodeInfo(Seq.getId(Seq.mesBarcodeSeqType, Seq.mesBarcodeCode));
mesBaseBarcodeInfoMapper.insertMesBaseBarcodeInfo(mesBaseBarcodeInfo);
}
}
return 1;
} }
/** /**
@ -77,8 +102,8 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
* @return * @return
*/ */
@Override @Override
public int updateMesBaseBarcodeInfo(MesBaseBarcodeInfo mesBaseBarcodeInfo) public int updateMesBaseBarcodeInfo(MesBaseBarcodeInfo mesBaseBarcodeInfo) {
{ mesBaseBarcodeInfo.setUpdateBy(SecurityUtils.getUsername());
mesBaseBarcodeInfo.setUpdateTime(DateUtils.getNowDate()); mesBaseBarcodeInfo.setUpdateTime(DateUtils.getNowDate());
return mesBaseBarcodeInfoMapper.updateMesBaseBarcodeInfo(mesBaseBarcodeInfo); return mesBaseBarcodeInfoMapper.updateMesBaseBarcodeInfo(mesBaseBarcodeInfo);
} }
@ -90,8 +115,7 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
* @return * @return
*/ */
@Override @Override
public int deleteMesBaseBarcodeInfoByBarcodeIds(Long[] barcodeIds) public int deleteMesBaseBarcodeInfoByBarcodeIds(Long[] barcodeIds) {
{
return mesBaseBarcodeInfoMapper.deleteMesBaseBarcodeInfoByBarcodeIds(barcodeIds); return mesBaseBarcodeInfoMapper.deleteMesBaseBarcodeInfoByBarcodeIds(barcodeIds);
} }
@ -102,8 +126,42 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
* @return * @return
*/ */
@Override @Override
public int deleteMesBaseBarcodeInfoByBarcodeId(Long barcodeId) public int deleteMesBaseBarcodeInfoByBarcodeId(Long barcodeId) {
{
return mesBaseBarcodeInfoMapper.deleteMesBaseBarcodeInfoByBarcodeId(barcodeId); return mesBaseBarcodeInfoMapper.deleteMesBaseBarcodeInfoByBarcodeId(barcodeId);
} }
/**
*
*
* @param barcodeIds
* @return
*/
@Override
public int printBarCode(Long[] barcodeIds) {
StringBuilder buffer = new StringBuilder();
//获取条码List
for (Long barcodeId : barcodeIds) {
MesBaseBarcodeInfo mesBaseBarcodeInfo = mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoByBarcodeId(barcodeId);
try {
//调用的打印接口
MesBaseBarcodeInfo barCodeInfo = remotePrinterService.printBarCode(mesBaseBarcodeInfo, SecurityConstants.INNER);
MesBaseBarcodeInfo baseBarcodeInfo = new MesBaseBarcodeInfo();
baseBarcodeInfo.setBarcodeId(barcodeId);
baseBarcodeInfo.setMachineName(barCodeInfo.getMachineName());
baseBarcodeInfo.setPrintTime(DateUtils.getNowDate());
baseBarcodeInfo.setPrintPerson(SecurityUtils.getUsername());
baseBarcodeInfo.setPrintFlag("1");
baseBarcodeInfo.setPrintNumber(StringUtils.isNull(baseBarcodeInfo.getPrintNumber()) ? 1 : baseBarcodeInfo.getPrintNumber() + 1);
baseBarcodeInfo.setAcceptedDate(DateUtils.getNowDate());
this.updateMesBaseBarcodeInfo(baseBarcodeInfo);
} catch (Exception e) {
buffer.append("打印条码报错——条码内容:").append(mesBaseBarcodeInfo.getBarcodeInfo()).append(e.getMessage());
}
}
if (buffer.length() == 0) {
return 1;
} else {
throw new ServiceException(buffer.toString());
}
}
} }

@ -88,6 +88,13 @@ public class MesMaterialBomServiceImpl implements IMesMaterialBomService
@Override @Override
public int deleteMesMaterialBomByMaterialBomIds(Long[] materialBomIds) public int deleteMesMaterialBomByMaterialBomIds(Long[] materialBomIds)
{ {
//遍历删除子集物料BOM
MesMaterialBom materialBom = new MesMaterialBom();
materialBom.setAncestors(String.valueOf(materialBomIds[0]));
List<MesMaterialBom> materialBomList = mesMaterialBomMapper.selectMesMaterialBomList(materialBom);
for (MesMaterialBom bom : materialBomList) {
mesMaterialBomMapper.deleteMesMaterialBomByMaterialBomId(bom.getMaterialBomId());
}
return mesMaterialBomMapper.deleteMesMaterialBomByMaterialBomIds(materialBomIds); return mesMaterialBomMapper.deleteMesMaterialBomByMaterialBomIds(materialBomIds);
} }
@ -128,6 +135,32 @@ public class MesMaterialBomServiceImpl implements IMesMaterialBomService
} }
/** /**
* BOM
* @param materialBomId BOM
* @return
*/
@Override
public MesMaterialBom selectTopMaterialBomByMaterialBomId(Long materialBomId) {
MesMaterialBom mesMaterialBom = mesMaterialBomMapper.selectMesMaterialBomByMaterialBomId(materialBomId);
return recursionSelectTopMaterialBom(mesMaterialBom);
}
/**
* BOM
* @param mesMaterialBom
* @return
*/
public MesMaterialBom recursionSelectTopMaterialBom(MesMaterialBom mesMaterialBom) {
if (StringUtils.isNull(mesMaterialBom) || mesMaterialBom.getTopFlag() == 1L){
//返回顶级BOM信息
return mesMaterialBom;
}
MesMaterialBom materialBom = mesMaterialBomMapper.selectMesMaterialBomByMaterialBomId(mesMaterialBom.getParentId());
return recursionSelectTopMaterialBom(materialBom);
}
/**
* SET
* BOM * BOM
* @param mesMaterialBom * @param mesMaterialBom
*/ */

@ -8,6 +8,8 @@ import com.hw.common.core.exception.ServiceException;
import com.hw.common.core.utils.DateUtils; import com.hw.common.core.utils.DateUtils;
import com.hw.common.core.utils.StringUtils; import com.hw.common.core.utils.StringUtils;
import com.hw.common.core.utils.uuid.Seq; import com.hw.common.core.utils.uuid.Seq;
import com.hw.mes.domain.MesMaterialBom;
import com.hw.mes.service.IMesMaterialBomService;
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.hw.mes.mapper.MesProductOrderMapper; import com.hw.mes.mapper.MesProductOrderMapper;
@ -25,6 +27,9 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService {
@Autowired @Autowired
private MesProductOrderMapper mesProductOrderMapper; private MesProductOrderMapper mesProductOrderMapper;
@Autowired
private IMesMaterialBomService mesMaterialBomService;
/** /**
* *
* *
@ -71,6 +76,12 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService {
*/ */
@Override @Override
public int updateMesProductOrder(MesProductOrder mesProductOrder) { public int updateMesProductOrder(MesProductOrder mesProductOrder) {
//销售订单修改工单:校验是否超出销售数量
if (StringUtils.isNotEmpty(mesProductOrder.getSaleOrderFlag())
&& mesProductOrder.getSaleOrderFlag().equals("1")
&& StringUtils.isNotNull(mesProductOrder.getSaleOrderId())) {
checkSalesQuantity(mesProductOrder);
}
mesProductOrder.setUpdateTime(DateUtils.getNowDate()); mesProductOrder.setUpdateTime(DateUtils.getNowDate());
return mesProductOrderMapper.updateMesProductOrder(mesProductOrder); return mesProductOrderMapper.updateMesProductOrder(mesProductOrder);
} }
@ -131,14 +142,14 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService {
BigDecimal sumDecimal = new BigDecimal(0); BigDecimal sumDecimal = new BigDecimal(0);
if (StringUtils.isNotNull(mesProductOrders)) { if (StringUtils.isNotNull(mesProductOrders)) {
for (MesProductOrder order : mesProductOrders) { for (MesProductOrder order : mesProductOrders) {
if (!order.getOrderStatus().equals(MesConstants.RECALL)){ if (!order.getOrderStatus().equals(MesConstants.RECALL) && !order.getProductOrderId().equals(mesProductOrder.getProductOrderId())) {
sumDecimal = sumDecimal.add(order.getPlanAmount()); sumDecimal = sumDecimal.add(order.getPlanAmount());
} }
} }
} }
sumDecimal = sumDecimal.add(mesProductOrder.getPlanAmount()); sumDecimal = sumDecimal.add(mesProductOrder.getPlanAmount());
if (mesProductOrder.getSaleAmount().compareTo(sumDecimal) < 0) { if (mesProductOrder.getSaleAmount().compareTo(sumDecimal) < 0) {
throw new ServiceException("当前工单计划数量为:" + sumDecimal.longValue() + ",超出该订单销售数量!"); throw new ServiceException("当前生产工单计划数量为:" + sumDecimal.longValue() + ",超出该销售订单销售数量!");
} }
} }
@ -164,6 +175,7 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService {
/** /**
* *
*
* @param mesProductOrder * @param mesProductOrder
* @return * @return
*/ */
@ -172,23 +184,34 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService {
if (!mesProductOrder.getOrderStatus().equals(MesConstants.UN_PUBLISH)) { if (!mesProductOrder.getOrderStatus().equals(MesConstants.UN_PUBLISH)) {
throw new ServiceException("该生产工单不是未发布状态!"); throw new ServiceException("该生产工单不是未发布状态!");
} }
mesProductOrder.setOrderStatus(MesConstants.PUBLISHED); MesProductOrder productOrder = new MesProductOrder();
mesProductOrder.setReleaseTime(DateUtils.getNowDate()); productOrder.setProductOrderId(mesProductOrder.getProductOrderId());
return this.updateMesProductOrder(mesProductOrder); productOrder.setOrderStatus(MesConstants.PUBLISHED);
productOrder.setReleaseTime(DateUtils.getNowDate());
return this.updateMesProductOrder(productOrder);
} }
/** /**
* * BOM
* @param mesProductOrder *
* @param materialBomId BOM
* @return * @return
*/ */
@Override @Override
public int productOrderRecall(MesProductOrder mesProductOrder) { public Boolean verifyBOMIsProduction(Long materialBomId) {
// 检验生产派工未下达状态的可进行工单撤回 //查询顶级BOM
mesProductOrder.setOrderStatus(MesConstants.RECALL); MesMaterialBom mesMaterialBom = mesMaterialBomService.selectTopMaterialBomByMaterialBomId(materialBomId);
// 调用仓库接口取消锁定库存 if (StringUtils.isNull(mesMaterialBom)){
mesProductOrder.setStockLockFlag("0"); return false;
return mesProductOrderMapper.updateMesProductOrder(mesProductOrder); }
//通过顶级BOM主键查询生产工单
MesProductOrder mesProductOrder = new MesProductOrder();
mesProductOrder.setMaterialBomId(mesMaterialBom.getMaterialBomId());
List<MesProductOrder> productOrderList = mesProductOrderMapper.selectMesProductOrderList(mesProductOrder);
if (productOrderList.size() > 0){
return true;
}
return false;
} }
} }

@ -3,6 +3,8 @@ package com.hw.mes.service.impl;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import com.hw.common.core.constant.MesConstants;
import com.hw.common.core.exception.ServiceException;
import com.hw.common.core.utils.DateUtils; import com.hw.common.core.utils.DateUtils;
import com.hw.common.core.utils.uuid.Seq; import com.hw.common.core.utils.uuid.Seq;
import com.hw.common.security.utils.SecurityUtils; import com.hw.common.security.utils.SecurityUtils;
@ -192,6 +194,30 @@ public class MesProductPlanServiceImpl implements IMesProductPlanService {
} }
} }
/**
*
*
* @param mesProductOrder
* @return
*/
@Override
public int productOrderRecall(MesProductOrder mesProductOrder) {
// 检验生产派工未下达状态的可进行工单撤回
MesProductPlan mesProductPlan = new MesProductPlan();
mesProductPlan.setProductOrderId(mesProductOrder.getProductOrderId());
List<MesProductPlan> mesProductPlans = mesProductPlanMapper.selectMesProductPlanList(mesProductPlan);
for (MesProductPlan productPlan : mesProductPlans) {
if (!productPlan.getPlanStatus().equals(MesConstants.MES_PRODUCT_PLAN_STATUS_TO_DISPATCH)
|| !productPlan.getPlanStatus().equals(MesConstants.MES_PRODUCT_PLAN_STATUS_FINISH)) {
throw new ServiceException("此工单已派工,无法撤回!");
}
}
mesProductOrder.setOrderStatus(MesConstants.RECALL);
// 调用仓库接口取消锁定库存
mesProductOrder.setStockLockFlag("0");
return mesProductOrderService.updateMesProductOrder(mesProductOrder);
}
/** /**
* Join product_orderbase_material * Join product_orderbase_material
* *

@ -35,81 +35,84 @@
<result property="bindTime" column="bind_time"/> <result property="bindTime" column="bind_time"/>
<result property="updateBy" column="update_by"/> <result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
<result property="materialName" column="material_name"/>
</resultMap> </resultMap>
<sql id="selectMesBaseBarcodeInfoVo"> <sql id="selectMesBaseBarcodeInfoVo">
select barcode_id, select bbi.barcode_id,
print_time, bbi.print_time,
print_person, bbi.print_person,
batch_flag, bbi.batch_flag,
barcode_type, bbi.barcode_type,
barcode_info, bbi.barcode_info,
batch_code, bbi.batch_code,
pallet_info_code, bbi.pallet_info_code,
material_id, bbi.material_id,
manufacturer_id, bmi.material_name,
amount, bbi.manufacturer_id,
machine_name, bbi.amount,
print_number, bbi.machine_name,
po_no, bbi.print_number,
production_date, bbi.po_no,
accepted_date, bbi.production_date,
last_outstock_date, bbi.accepted_date,
plan_code, bbi.last_outstock_date,
plan_detail_code, bbi.plan_code,
sale_order_id, bbi.plan_detail_code,
saleorder_code, bbi.sale_order_id,
project_no, bbi.saleorder_code,
print_flag, bbi.project_no,
serial_number, bbi.print_flag,
remark, bbi.serial_number,
bind_status, bbi.remark,
bind_by, bbi.bind_status,
bind_time, bbi.bind_by,
update_by, bbi.bind_time,
update_time bbi.update_by,
from mes_base_barcode_info bbi.update_time
from mes_base_barcode_info bbi
left join mes_base_material_info bmi on bmi.material_id = bbi.material_id
</sql> </sql>
<select id="selectMesBaseBarcodeInfoList" parameterType="MesBaseBarcodeInfo" resultMap="MesBaseBarcodeInfoResult"> <select id="selectMesBaseBarcodeInfoList" parameterType="MesBaseBarcodeInfo" resultMap="MesBaseBarcodeInfoResult">
<include refid="selectMesBaseBarcodeInfoVo"/> <include refid="selectMesBaseBarcodeInfoVo"/>
<where> <where>
<if test="printTime != null ">and print_time = #{printTime}</if> <if test="printTime != null ">and bbi.print_time = #{printTime}</if>
<if test="printPerson != null and printPerson != ''">and print_person = #{printPerson}</if> <if test="printPerson != null and printPerson != ''">and bbi.print_person = #{printPerson}</if>
<if test="printFlag != null and printFlag != ''">and print_flag = #{printFlag}</if> <if test="printFlag != null and printFlag != ''">and bbi.print_flag = #{printFlag}</if>
<if test="batchFlag != null and batchFlag != ''">and batch_flag = #{batchFlag}</if> <if test="batchFlag != null and batchFlag != ''">and bbi.batch_flag = #{batchFlag}</if>
<if test="barcodeType != null and barcodeType != ''">and barcode_type = #{barcodeType}</if> <if test="barcodeType != null and barcodeType != ''">and bbi.barcode_type = #{barcodeType}</if>
<if test="barcodeInfo != null and barcodeInfo != ''">and barcode_info = #{barcodeInfo}</if> <if test="barcodeInfo != null and barcodeInfo != ''">and bbi.barcode_info = #{barcodeInfo}</if>
<if test="batchCode != null and batchCode != ''">and batch_code = #{batchCode}</if> <if test="batchCode != null and batchCode != ''">and bbi.batch_code = #{batchCode}</if>
<if test="palletInfoCode != null and palletInfoCode != ''">and pallet_info_code = #{palletInfoCode}</if> <if test="palletInfoCode != null and palletInfoCode != ''">and bbi.pallet_info_code = #{palletInfoCode}</if>
<if test="materialId != null ">and material_id = #{materialId}</if> <if test="materialId != null ">and bbi.material_id = #{materialId}</if>
<if test="manufacturerId != null ">and manufacturer_id = #{manufacturerId}</if> <if test="manufacturerId != null ">and bbi.manufacturer_id = #{manufacturerId}</if>
<if test="amount != null ">and amount = #{amount}</if> <if test="amount != null ">and bbi.amount = #{amount}</if>
<if test="machineName != null and machineName != ''">and machine_name like concat('%', #{machineName}, <if test="machineName != null and machineName != ''">and bbi.machine_name like concat('%', #{machineName},
'%') '%')
</if> </if>
<if test="printNumber != null ">and print_number = #{printNumber}</if> <if test="printNumber != null ">and bbi.print_number = #{printNumber}</if>
<if test="poNo != null and poNo != ''">and po_no = #{poNo}</if> <if test="poNo != null and poNo != ''">and bbi.po_no = #{poNo}</if>
<if test="productionDate != null ">and production_date = #{productionDate}</if> <if test="productionDate != null ">and bbi.production_date = #{productionDate}</if>
<if test="acceptedDate != null ">and accepted_date = #{acceptedDate}</if> <if test="acceptedDate != null ">and bbi.accepted_date = #{acceptedDate}</if>
<if test="lastOutstockDate != null ">and last_outstock_date = #{lastOutstockDate}</if> <if test="lastOutstockDate != null ">and bbi.last_outstock_date = #{lastOutstockDate}</if>
<if test="planCode != null and planCode != ''">and plan_code = #{planCode}</if> <if test="planCode != null and planCode != ''">and bbi.plan_code = #{planCode}</if>
<if test="planDetailCode != null and planDetailCode != ''">and plan_detail_code = #{planDetailCode}</if> <if test="planDetailCode != null and planDetailCode != ''">and bbi.plan_detail_code = #{planDetailCode}</if>
<if test="saleOrderId != null ">and sale_order_id = #{saleOrderId}</if> <if test="saleOrderId != null ">and bbi.sale_order_id = #{saleOrderId}</if>
<if test="saleorderCode != null and saleorderCode != ''">and saleorder_code = #{saleorderCode}</if> <if test="saleorderCode != null and saleorderCode != ''">and bbi.saleorder_code = #{saleorderCode}</if>
<if test="projectNo != null and projectNo != ''">and project_no = #{projectNo}</if> <if test="projectNo != null and projectNo != ''">and bbi.project_no = #{projectNo}</if>
<if test="serialNumber != null and serialNumber != ''">and serial_number = #{serialNumber}</if> <if test="serialNumber != null and serialNumber != ''">and bbi.serial_number = #{serialNumber}</if>
<if test="bindStatus != null and bindStatus != ''">and bind_status = #{bindStatus}</if> <if test="bindStatus != null and bindStatus != ''">and bbi.bind_status = #{bindStatus}</if>
<if test="bindBy != null and bindBy != ''">and bind_by = #{bindBy}</if> <if test="bindBy != null and bindBy != ''">and bbi.bind_by = #{bindBy}</if>
<if test="bindTime != null ">and bind_time = #{bindTime}</if> <if test="bindTime != null ">and bbi.bind_time = #{bindTime}</if>
<if test="updateBy != null and updateBy != ''">and update_by = #{updateBy}</if> <if test="updateBy != null and updateBy != ''">and bbi.update_by = #{updateBy}</if>
<if test="updateTime != null ">and update_time = #{updateTime}</if> <if test="updateTime != null ">and bbi.update_time = #{updateTime}</if>
</where> </where>
</select> </select>
<select id="selectMesBaseBarcodeInfoByBarcodeId" parameterType="Long" resultMap="MesBaseBarcodeInfoResult"> <select id="selectMesBaseBarcodeInfoByBarcodeId" parameterType="Long" resultMap="MesBaseBarcodeInfoResult">
<include refid="selectMesBaseBarcodeInfoVo"/> <include refid="selectMesBaseBarcodeInfoVo"/>
where barcode_id = #{barcodeId} where bbi.barcode_id = #{barcodeId}
</select> </select>
<insert id="insertMesBaseBarcodeInfo" parameterType="MesBaseBarcodeInfo" useGeneratedKeys="true" <insert id="insertMesBaseBarcodeInfo" parameterType="MesBaseBarcodeInfo" useGeneratedKeys="true"
@ -230,6 +233,6 @@
<select id="selectMesBaseBarcodeInfoByBarcodeInfo" parameterType="String" resultMap="MesBaseBarcodeInfoResult"> <select id="selectMesBaseBarcodeInfoByBarcodeInfo" parameterType="String" resultMap="MesBaseBarcodeInfoResult">
<include refid="selectMesBaseBarcodeInfoVo"/> <include refid="selectMesBaseBarcodeInfoVo"/>
where barcode_info = #{barcodeInfo} limit 1 where bbi.barcode_info = #{barcodeInfo} limit 1
</select> </select>
</mapper> </mapper>

@ -50,7 +50,7 @@
<include refid="selectMesMaterialBomVo"/> <include refid="selectMesMaterialBomVo"/>
<where> <where>
<if test="parentId != null ">and parent_id = #{parentId}</if> <if test="parentId != null ">and parent_id = #{parentId}</if>
<if test="ancestors != null and ancestors != ''">and ancestors = #{ancestors}</if> <if test="ancestors != null and ancestors != ''">and ancestors like concat('%', #{ancestors},'%')</if>
<if test="materialId != null ">and material_id = #{materialId}</if> <if test="materialId != null ">and material_id = #{materialId}</if>
<if test="materialName != null and materialName != ''">and material_name like concat('%', #{materialName}, <if test="materialName != null and materialName != ''">and material_name like concat('%', #{materialName},
'%') '%')

@ -36,6 +36,7 @@
<result property="dispatchName" column="dispatchName"/> <result property="dispatchName" column="dispatchName"/>
<result property="materialCode" column="material_code"/> <result property="materialCode" column="material_code"/>
<result property="materialName" column="material_name"/> <result property="materialName" column="material_name"/>
<result property="materialBomDesc" column="material_bom_desc"/>
</resultMap> </resultMap>
<sql id="selectMesProductOrderVo"> <sql id="selectMesProductOrderVo">
@ -47,6 +48,7 @@
mpo.project_no, mpo.project_no,
mpo.material_id, mpo.material_id,
mpo.material_bom_id, mpo.material_bom_id,
concat(mb.material_name, '-', mb.material_bom_desc) material_bom_desc,
mpo.dispatch_type, mpo.dispatch_type,
mpo.dispatch_id, mpo.dispatch_id,
mbr.route_name dispatchName, mbr.route_name dispatchName,
@ -73,6 +75,7 @@
from mes_product_order mpo from mes_product_order mpo
left join mes_base_route mbr on mbr.route_id = mpo.dispatch_id left join mes_base_route mbr on mbr.route_id = mpo.dispatch_id
left join mes_base_material_info bmi on bmi.material_id = mpo.material_id left join mes_base_material_info bmi on bmi.material_id = mpo.material_id
left join mes_material_bom mb on mb.material_bom_id = mpo.material_bom_id
</sql> </sql>
<select id="selectMesProductOrderList" parameterType="MesProductOrder" resultMap="MesProductOrderResult"> <select id="selectMesProductOrderList" parameterType="MesProductOrder" resultMap="MesProductOrderResult">
@ -107,6 +110,7 @@
<if test="updateBy != null and updateBy != ''">and mpo.update_by = #{updateBy}</if> <if test="updateBy != null and updateBy != ''">and mpo.update_by = #{updateBy}</if>
<if test="updateTime != null ">and mpo.update_time = #{updateTime}</if> <if test="updateTime != null ">and mpo.update_time = #{updateTime}</if>
</where> </where>
order by mpo.sale_order_id desc, mpo.product_order_id desc
</select> </select>
<select id="selectMesProductOrderByProductOrderId" parameterType="Long" resultMap="MesProductOrderResult"> <select id="selectMesProductOrderByProductOrderId" parameterType="Long" resultMap="MesProductOrderResult">

@ -43,7 +43,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<resultMap id="MesProductPlanMesProductPlanDetailResult" type="MesProductPlan" extends="MesProductPlanResult"> <resultMap id="MesProductPlanMesProductPlanDetailResult" type="MesProductPlan" extends="MesProductPlanResult">
<collection property="mesProductPlanDetailList" notNullColumn="sub_plan_detail_id" javaType="java.util.List" resultMap="MesProductPlanDetailResult" /> <collection property="mesProductPlanDetailList" notNullColumn="sub_plan_detail_id" javaType="java.util.List"
resultMap="MesProductPlanDetailResult"/>
</resultMap> </resultMap>
<resultMap type="MesProductPlanDetail" id="MesProductPlanDetailResult"> <resultMap type="MesProductPlanDetail" id="MesProductPlanDetailResult">
@ -65,32 +66,70 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectMesProductPlanVo"> <sql id="selectMesProductPlanVo">
select plan_id, product_order_id, plan_code, dispatch_code, material_id, material_bom_id, process_id, process_order, last_process_id, station_id, user_id, production_time, plan_amount, complete_amount, plan_begin_time, plan_end_time, real_begin_time, real_end_time, attach_id, plan_status, is_flag, remark, create_by, create_time, update_by, update_time from mes_product_plan select mpp.plan_id,
mpp.product_order_id,
po.order_code,
mpp.plan_code,
mpp.dispatch_code,
mpp.material_id,
mi.material_name,
mpp.material_bom_id,
concat(mb.material_name, '-', mb.material_bom_desc) materialBomName,
mpp.process_id,
bpi.process_name,
mpp.process_order,
mpp.last_process_id,
bp2.process_name lastProcessName,
mpp.station_id,
bsi.station_name,
mpp.user_id,
mpp.production_time,
mpp.plan_amount,
mpp.complete_amount,
mpp.plan_begin_time,
mpp.plan_end_time,
mpp.real_begin_time,
mpp.real_end_time,
mpp.attach_id,
mpp.plan_status,
mpp.is_flag,
mpp.remark,
mpp.create_by,
mpp.create_time,
mpp.update_by,
mpp.update_time
from mes_product_plan mpp
left join mes_base_process_info bpi on bpi.process_id = mpp.process_id
left join mes_base_station_info bsi on bsi.station_id = mpp.station_id
left join mes_base_material_info mi on mi.material_id = mpp.material_id
left join mes_material_bom mb on mb.material_bom_id = mpp.material_bom_id
left join mes_base_process_info bp2 on bp2.process_id = mpp.last_process_id
left join mes_product_order po on po.product_order_id = mpp.product_order_id
</sql> </sql>
<select id="selectMesProductPlanList" parameterType="MesProductPlan" resultMap="MesProductPlanResult"> <select id="selectMesProductPlanList" parameterType="MesProductPlan" resultMap="MesProductPlanResult">
<include refid="selectMesProductPlanVo"/> <include refid="selectMesProductPlanVo"/>
<where> <where>
<if test="productOrderId != null "> and product_order_id = #{productOrderId}</if> <if test="productOrderId != null ">and mpp.product_order_id = #{productOrderId}</if>
<if test="planCode != null and planCode != ''"> and plan_code = #{planCode}</if> <if test="planCode != null and planCode != ''">and mpp.plan_code = #{planCode}</if>
<if test="dispatchCode != null and dispatchCode != ''"> and dispatch_code = #{dispatchCode}</if> <if test="dispatchCode != null and dispatchCode != ''">and mpp.dispatch_code = #{dispatchCode}</if>
<if test="materialId != null "> and material_id = #{materialId}</if> <if test="materialId != null ">and mpp.material_id = #{materialId}</if>
<if test="materialBomId != null "> and material_bom_id = #{materialBomId}</if> <if test="materialBomId != null ">and mpp.material_bom_id = #{materialBomId}</if>
<if test="processId != null "> and process_id = #{processId}</if> <if test="processId != null ">and mpp.process_id = #{processId}</if>
<if test="processOrder != null "> and process_order = #{processOrder}</if> <if test="processOrder != null ">and mpp.process_order = #{processOrder}</if>
<if test="lastProcessId != null "> and last_process_id = #{lastProcessId}</if> <if test="lastProcessId != null ">and mpp.last_process_id = #{lastProcessId}</if>
<if test="stationId != null "> and station_id = #{stationId}</if> <if test="stationId != null ">and mpp.station_id = #{stationId}</if>
<if test="userId != null "> and user_id = #{userId}</if> <if test="userId != null ">and mpp.user_id = #{userId}</if>
<if test="productionTime != null "> and production_time = #{productionTime}</if> <if test="productionTime != null ">and mpp.production_time = #{productionTime}</if>
<if test="planAmount != null "> and plan_amount = #{planAmount}</if> <if test="planAmount != null ">and mpp.plan_amount = #{planAmount}</if>
<if test="completeAmount != null "> and complete_amount = #{completeAmount}</if> <if test="completeAmount != null ">and mpp.complete_amount = #{completeAmount}</if>
<if test="planBeginTime != null "> and plan_begin_time = #{planBeginTime}</if> <if test="planBeginTime != null ">and mpp.plan_begin_time = #{planBeginTime}</if>
<if test="planEndTime != null "> and plan_end_time = #{planEndTime}</if> <if test="planEndTime != null ">and mpp.plan_end_time = #{planEndTime}</if>
<if test="realBeginTime != null "> and real_begin_time = #{realBeginTime}</if> <if test="realBeginTime != null ">and mpp.real_begin_time = #{realBeginTime}</if>
<if test="realEndTime != null "> and real_end_time = #{realEndTime}</if> <if test="realEndTime != null ">and mpp.real_end_time = #{realEndTime}</if>
<if test="attachId != null and attachId != ''"> and attach_id = #{attachId}</if> <if test="attachId != null and attachId != ''">and mpp.attach_id = #{attachId}</if>
<if test="planStatus != null and planStatus != ''"> and plan_status = #{planStatus}</if> <if test="planStatus != null and planStatus != ''">and mpp.plan_status = #{planStatus}</if>
<if test="isFlag != null and isFlag != ''"> and is_flag = #{isFlag}</if> <if test="isFlag != null and isFlag != ''">and mpp.is_flag = #{isFlag}</if>
</where> </where>
</select> </select>
@ -258,27 +297,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete> </delete>
<insert id="batchMesProductPlanDetail"> <insert id="batchMesProductPlanDetail">
insert into mes_product_plan_detail( plan_detail_id, plan_detail_code, plan_id, plan_code, user_id, user_name, real_begin_time, real_end_time, plan_detail_status, is_flag, remark, create_by, create_time, update_by, update_time) values insert into mes_product_plan_detail( plan_detail_id, plan_detail_code, plan_id, plan_code, user_id, user_name,
real_begin_time, real_end_time, plan_detail_status, is_flag, remark, create_by, create_time, update_by,
update_time) values
<foreach item="item" index="index" collection="list" separator=","> <foreach item="item" index="index" collection="list" separator=",">
( #{item.planDetailId}, #{item.planDetailCode}, #{item.planId}, #{item.planCode}, #{item.userId}, #{item.userName}, #{item.realBeginTime}, #{item.realEndTime}, #{item.planDetailStatus}, #{item.isFlag}, #{item.remark}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}) ( #{item.planDetailId}, #{item.planDetailCode}, #{item.planId}, #{item.planCode}, #{item.userId},
#{item.userName}, #{item.realBeginTime}, #{item.realEndTime}, #{item.planDetailStatus}, #{item.isFlag},
#{item.remark}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime})
</foreach> </foreach>
</insert> </insert>
<select id="selectMesProductPlanJoinList" parameterType="MesProductPlan" resultMap="MesProductPlanResult"> <select id="selectMesProductPlanJoinList" parameterType="MesProductPlan" resultMap="MesProductPlanResult">
select mpp.plan_id, mpp.product_order_id, mpp.plan_code, mpp.dispatch_code, mpp.material_id, mpp.material_bom_id, mpp.process_id, mpp.process_order, mpp.last_process_id, select mpp.plan_id, mpp.product_order_id, mpp.plan_code, mpp.dispatch_code, mpp.material_id,
mpp.station_id, mpp.plan_amount, mpp.complete_amount, mpp.plan_begin_time, mpp.plan_end_time, mpp.real_begin_time, mpp.real_end_time, mpp.material_bom_id, mpp.process_id, mpp.process_order, mpp.last_process_id,
mpp.station_id, mpp.plan_amount, mpp.complete_amount, mpp.plan_begin_time, mpp.plan_end_time,
mpp.real_begin_time, mpp.real_end_time,
mpp.attach_id, mpp.plan_status, mpo.plan_delivery_date,mbmi.material_code,mbmi.material_name mpp.attach_id, mpp.plan_status, mpo.plan_delivery_date,mbmi.material_code,mbmi.material_name
from mes_product_plan mpp left join mes_product_order mpo on mpp.product_order_id = mpo.product_order_id from mes_product_plan mpp left join mes_product_order mpo on mpp.product_order_id = mpo.product_order_id
left join mes_base_material_info mbmi on mpp.material_id=mbmi.material_id left join mes_base_material_info mbmi on mpp.material_id=mbmi.material_id

@ -41,8 +41,76 @@
<artifactId>spring-boot-starter-actuator</artifactId> <artifactId>spring-boot-starter-actuator</artifactId>
</dependency> </dependency>
</dependencies> <!-- Hw api mes-->
<dependency>
<groupId>com.hw</groupId>
<artifactId>hw-api-mes</artifactId>
</dependency>
<!--向下全是打印PDF-->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>fontbox</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>jempbox</artifactId>
<version>1.8.11</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>xmpbox</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>preflight</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox-tools</artifactId>
<version>2.0.0</version>
</dependency>
<!--编辑PDF-->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.5</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>com.hw</groupId>
<artifactId>hw-common-swagger</artifactId>
</dependency>
<!-- ZXing library for barcode/QR code generation -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.5.1</version>
</dependency>
</dependencies>
<build> <build>
<finalName>${project.artifactId}</finalName> <finalName>${project.artifactId}</finalName>
<plugins> <plugins>

@ -1,19 +0,0 @@
package com.hw;
// Press Shift twice to open the Search Everywhere dialog and type `show whitespaces`,
// then press Enter. You can now see whitespace characters in your code.
public class Main {
public static void main(String[] args) {
// Press Alt+Enter with your caret at the highlighted text to see how
// IntelliJ IDEA suggests fixing it.
System.out.printf("Hello and welcome!");
// Press Shift+F10 or click the green arrow button in the gutter to run the code.
for (int i = 1; i <= 5; i++) {
// Press Shift+F9 to start debugging your code. We have set one breakpoint
// for you, but you can always add more by pressing Ctrl+F8.
System.out.println("i = " + i);
}
}
}

@ -0,0 +1,31 @@
package com.hw.printer;
import com.hw.common.swagger.annotation.EnableCustomSwagger2;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
/**
*
*
* @author ruoyi
*/
@EnableCustomSwagger2
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
public class RuoYiPrinterApplication
{
public static void main(String[] args)
{
SpringApplication.run(RuoYiPrinterApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ 文件服务模块启动成功 ლ(´ڡ`ლ)゙ \n" +
" .-------. ____ __ \n" +
" | _ _ \\ \\ \\ / / \n" +
" | ( ' ) | \\ _. / ' \n" +
" |(_ o _) / _( )_ .' \n" +
" | (_,_).' __ ___(_ o _)' \n" +
" | |\\ \\ | || |(_,_)' \n" +
" | | \\ `' /| `-' / \n" +
" | | \\ / \\ / \n" +
" ''-' `'-' `-..-' ");
}
}

@ -0,0 +1,42 @@
package com.hw.printer.controller;
import com.hw.common.core.domain.R;
import com.hw.mes.api.domain.MesBaseBarcodeInfo;
import com.hw.printer.service.IPrinterService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
*
*
* @author Yinq
*/
@RestController
@RequestMapping("/printService")
public class PrinterController {
private static final Logger log = LoggerFactory.getLogger(PrinterController.class);
@Autowired
private IPrinterService printerService;
/**
*
* @param barcodeInfo
* @return
*/
@PostMapping("/printBarCode")
public R<MesBaseBarcodeInfo> printBarCode(@RequestBody MesBaseBarcodeInfo barcodeInfo) {
try {
return R.ok(printerService.printBarCode(barcodeInfo));
} catch (Exception e) {
log.error("打印条码失败", e);
return R.fail(e.getMessage());
}
}
}

@ -0,0 +1,19 @@
package com.hw.printer.service;
import com.hw.mes.api.domain.MesBaseBarcodeInfo;
/**
*
*
* @author Yinq
*/
public interface IPrinterService {
/**
*
* @param barcodeInfo
* @return
* @throws Exception
*/
MesBaseBarcodeInfo printBarCode(MesBaseBarcodeInfo barcodeInfo) throws Exception;
}

@ -0,0 +1,61 @@
package com.hw.printer.service;
import com.hw.common.core.utils.DateUtils;
import com.hw.common.core.utils.StringUtils;
import com.hw.mes.api.domain.MesBaseBarcodeInfo;
import com.hw.printer.utils.HwPrintUtil;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Value;
import java.util.HashMap;
/**
* Service
*
* @author Yinq
*/
@Service
public class PrinterServiceImpl implements IPrinterService {
/**
*
*/
@Value("${print.path}")
public String localPrintPath;
/**
* PDF
*/
@Value("${print.pdfTemplatePath}")
public String pdfTemplatePath;
/**
* PDF
*/
@Value("${print.generatePath}")
public String generatePath;
/**
*
*
* @param barcodeInfo
* @return
* @throws Exception
*/
@Override
public MesBaseBarcodeInfo printBarCode(MesBaseBarcodeInfo barcodeInfo) throws Exception {
HashMap<String, String> params = new HashMap<>();
params.put("localPrintPath", localPrintPath);
params.put("pdfTemplatePath", pdfTemplatePath);
params.put("generatePath", generatePath);
params.put("barcodeInfo", barcodeInfo.getBarcodeInfo());
params.put("batchCode", barcodeInfo.getBatchCode());
params.put("materialName", barcodeInfo.getMaterialName());
params.put("date", DateUtils.getDate());
String machineName = HwPrintUtil.printBarCode(params);
barcodeInfo.setMachineName(machineName);
return barcodeInfo;
}
}

@ -0,0 +1,281 @@
package com.hw.printer.utils;
import com.hw.common.core.exception.ServiceException;
import com.itextpdf.text.Document;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.*;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.printing.PDFPrintable;
import org.apache.pdfbox.printing.Scaling;
import javax.annotation.PostConstruct;
import javax.print.*;
import java.awt.print.*;
import java.io.*;
import java.util.HashMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
/**
* @author wanghao
* @date 2022/4/24 14:52
*/
@Component
public class HwPrintUtil {
private static final Logger log = LoggerFactory.getLogger(HwPrintUtil.class);
/**
*
*/
public static String localPrintPath;
/**
* PDF
*/
public static String pdfTemplatePath;
/**
* PDF
*/
public static String generatePath;
/**
* List
*/
private static PrintService[] printServices;
/**
*
*/
private static PrintService printService = null;
/**
*
*/
@PostConstruct
public static void findPrinters() {
printServices = PrintServiceLookup.lookupPrintServices(null, null);
System.out.println("Bean已初始化执行@PostConstruct注解的方法");
}
/**
*
*
* @param params
* @return
*/
public static String printBarCode(HashMap<String, String> params) {
//解析参数生成打印图片
localPrintPath = params.get("localPrintPath");
pdfTemplatePath = params.get("pdfTemplatePath");
generatePath = params.get("generatePath");
String barcodeInfo = params.get("barcodeInfo");
String batchCode = params.get("batchCode");
String materialName = params.get("materialName");
String date = params.get("date");
initPrintService();
File outputFile = printQRCode(barcodeInfo, batchCode, materialName, date);
try {
printPdf(outputFile);
log.info("打印条码printBarCode方法,条码内容:" + barcodeInfo);
return localPrintPath;
} catch (Exception e) {
log.error("打印条码printPdf异常" + e);
throw new ServiceException("打印条码printPdf异常" + e);
}
}
/**
* PDF
*
* @param barcodeInfo
* @param batchCode
* @param materialName
* @param date
* @return PDF
*/
public static File printQRCode(String barcodeInfo, String batchCode, String materialName, String date) {
try {
// 生成PDF文件
File generateFile = new File(generatePath);
FileOutputStream out = new FileOutputStream(generateFile);
// 打印模板PDF
PdfReader reader = new PdfReader(pdfTemplatePath);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
// 修改PDF文档的PdfStamper实例将修改后的内容输出到内存中的字节数组
PdfStamper stamper = new PdfStamper(reader, bos);
// 动态地将变量的值填充到PDF表单相应字段
AcroFields form = stamper.getAcroFields();
form.setField("code", barcodeInfo);
form.setField("name", materialName);
form.setField("spe", batchCode);
form.setField("data", date);
//获取位置(左上右下)
AcroFields.FieldPosition fieldPosition = form.getFieldPositions("qrcode").get(0);
// 绘制二维码
float width = fieldPosition.position.getRight() - fieldPosition.position.getLeft();
BarcodeQRCode pdf417 = new BarcodeQRCode(barcodeInfo, (int) width, (int) width, null);
// 生成二维码图像
Image image128 = pdf417.getImage();
// 条码位置
image128.setAbsolutePosition(fieldPosition.position.getLeft(), fieldPosition.position.getBottom());
// 获取PDF的第一页
PdfContentByte cb = stamper.getOverContent(1);
cb.addImage(image128);
// 设置表单不可编辑即将表单字段内容固定到PDF中
stamper.setFormFlattening(true);
// 关闭PdfStamper
stamper.close();
// 创建一个新的文档对象
Document doc = new Document();
// 创建 PdfCopy 对象,关联到输出流
PdfCopy copy = new PdfCopy(doc, out);
// 打开文档
doc.open();
// 从内存中的字节数组创建一个 PdfImportedPage 对象
PdfImportedPage importPage = copy.getImportedPage(new PdfReader(bos.toByteArray()), 1);
// 将导入的页面添加到新文档中
copy.addPage(importPage);
// 关闭文档
doc.close();
return generateFile;
} catch (Exception e) {
log.error("打印条码生成PDF异常" + e);
}
return null;
}
/**
* PDF
*
* @param barcodeInfo
* @param batchCode
* @param materialName
* @param date
* @return PDF
*/
public static File printBarCode(String barcodeInfo, String batchCode, String materialName, String date) {
try {
// 生成PDF文件
File generateFile = new File(generatePath);
FileOutputStream out = new FileOutputStream(generateFile);
// 加载PDF模板
PdfReader reader = new PdfReader(pdfTemplatePath);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
// 创建PdfStamper以修改PDF并将输出到字节数组
PdfStamper stamper = new PdfStamper(reader, bos);
// 动态填充表单字段
AcroFields form = stamper.getAcroFields();
form.setField("code", barcodeInfo);
form.setField("name", materialName);
form.setField("spe", batchCode);
form.setField("data", date);
// 获取条形码字段的位置
AcroFields.FieldPosition fieldPosition = form.getFieldPositions("qrcode").get(0);
// 绘制条形码
float width = fieldPosition.position.getRight() - fieldPosition.position.getLeft();
Barcode39 barcode39 = new Barcode39();
barcode39.setCode(barcodeInfo);
barcode39.setBarHeight(50f); // 根据需要调整条形码大小
Image barcodeImage = barcode39.createImageWithBarcode(stamper.getOverContent(1), null, null);
barcodeImage.setAbsolutePosition(fieldPosition.position.getLeft(), fieldPosition.position.getBottom());
// 将条形码图像添加到第一页
stamper.getOverContent(1).addImage(barcodeImage);
// 将表单平铺(使其不可编辑)
stamper.setFormFlattening(true);
// 关闭PdfStamper
stamper.close();
// 创建新文档
Document doc = new Document();
// 创建关联到输出流的PdfCopy对象
PdfCopy copy = new PdfCopy(doc, out);
// 打开文档
doc.open();
// 从字节数组创建一个PdfImportedPage对象
PdfImportedPage importPage = copy.getImportedPage(new PdfReader(bos.toByteArray()), 1);
// 将导入的页面添加到新文档中
copy.addPage(importPage);
// 关闭文档
doc.close();
return generateFile;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* PDF
*
* @param pdfFile PDF
* @throws IOException PDF
*/
private static void printPdf(File pdfFile) throws IOException {
PDDocument document = null;
try {
document = PDDocument.load(pdfFile);
//打印的页面的大小和方向
PageFormat pageFormat = new PageFormat();
//设置打印方向 PORTRAIT 竖向 REVERSE_LANDSCAPE 横向
pageFormat.setOrientation(PageFormat.PORTRAIT);
Paper paper = new Paper();
// 纸的大小
paper.setSize(221, 200);
// Print 区域
paper.setImageableArea(2, -15, 221, 200);
pageFormat.setPaper(paper);
Book book = new Book();
PDFPrintable printable = new PDFPrintable(document, Scaling.SCALE_TO_FIT);
book.append(printable, pageFormat, document.getNumberOfPages());
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintService(printService);
job.setPageable(book);
job.defaultPage();
try {
job.print();
} catch (PrinterException e) {
throw new IOException("PDF打印失败:", e);
}
} catch (PrinterException e) {
throw new ServiceException("打印机服务错误:" + e);
} finally {
if (document != null) {
try {
document.close();
} catch (IOException e) {
// 处理关闭文档时可能出现的异常
e.printStackTrace();
}
}
}
}
/**
* PDF
* WPS PDF
* OneNote 2013
* Microsoft XPS Document Writer
* Microsoft Print to PDF
* Fax
* \\10.11.43.159\HP LaserJet MFP M129-M134
* \\10.11.43.159\HP Laser NS 1020
*/
public static void initPrintService() {
for (PrintService service : printServices) {
System.out.println(service.getName());
if (service.getName().contains(localPrintPath)) {
printService = service;
break;
}
}
if (printService == null) {
throw new ServiceException("打印机配置错误!");
}
}
}

@ -1,10 +1,6 @@
Spring Boot Version: ${spring-boot.version} Spring Boot Version: ${spring-boot.version}
Spring Application Name: ${spring.application.name} Spring Application Name: ${spring.application.name}
_ _ / __ ___ __ ( ) __ __ ___ ___ __
(_) | | // ) ) // / / / / ____ // ) ) // ) ) / / // ) ) / / //___) ) // ) )
_ __ _ _ ___ _ _ _ ______ ___ _ _ ___ | |_ ___ _ __ ___ // / / // / / / / //___/ / // / / // / / / / // //
| '__|| | | | / _ \ | | | || ||______|/ __|| | | |/ __|| __| / _ \| '_ ` _ \ // / / ((__( (__/ / // // / / // / / / / ((____ //
| | | |_| || (_) || |_| || | \__ \| |_| |\__ \| |_ | __/| | | | | |
|_| \__,_| \___/ \__, ||_| |___/ \__, ||___/ \__| \___||_| |_| |_|
__/ | __/ |
|___/ |___/

@ -4,6 +4,7 @@ import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.hw.system.api.domain.common.WfProcessActivity; import com.hw.system.api.domain.common.WfProcessActivity;
import oracle.jdbc.proxy.annotation.Post;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -102,4 +103,12 @@ public class WfProcessActivityController extends BaseController
{ {
return toAjax(wfProcessActivityService.deleteWfProcessActivityByProcessActivityIds(processActivityIds)); return toAjax(wfProcessActivityService.deleteWfProcessActivityByProcessActivityIds(processActivityIds));
} }
/**
* wfidid
* */
@PostMapping("/selectProcessActivityIdByWfProcessId")
public Long selectProcessActivityIdByWfProcessId(@RequestBody Long wfProcessId){
return wfProcessActivityService.selectProcessActivityIdByWfProcessId(wfProcessId);
// return 200l;
}
} }

@ -85,4 +85,7 @@ public interface WfProcessActivityMapper
* @return * @return
*/ */
public int deleteWfProcessActivityAuthByProcessActivityId(Long processActivityId); public int deleteWfProcessActivityAuthByProcessActivityId(Long processActivityId);
Long selectProcessActivityIdByWfProcessId(Long wfProcessId);
} }

@ -59,4 +59,6 @@ public interface IWfProcessActivityService
* @return * @return
*/ */
public int deleteWfProcessActivityByProcessActivityId(Long processActivityId); public int deleteWfProcessActivityByProcessActivityId(Long processActivityId);
Long selectProcessActivityIdByWfProcessId(Long wfProcessId);
} }

@ -138,6 +138,11 @@ public class WfProcessActivityServiceImpl implements IWfProcessActivityService
return wfProcessActivityMapper.deleteWfProcessActivityByProcessActivityId(processActivityId); return wfProcessActivityMapper.deleteWfProcessActivityByProcessActivityId(processActivityId);
} }
@Override
public Long selectProcessActivityIdByWfProcessId(Long wfProcessId) {
return wfProcessActivityMapper.selectProcessActivityIdByWfProcessId(wfProcessId);
}
/** /**
* *
* *

@ -160,4 +160,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
( #{item.processActivityAuthId}, #{item.processActivityId}, #{item.authTargetType}, #{item.authTargetId}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}) ( #{item.processActivityAuthId}, #{item.processActivityId}, #{item.authTargetType}, #{item.authTargetId}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime})
</foreach> </foreach>
</insert> </insert>
<select id="selectProcessActivityIdByWfProcessId" parameterType="Long" resultType="Long">
select min(process_activity_id) from wf_process_activity where wf_process_id = #{wfProcessId}
</select>
</mapper> </mapper>

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询保养工单列表
export function listDmsBillsMaintInstance(query) {
return request({
url: '/dms/dmsBillsMaintInstance/list',
method: 'get',
params: query
})
}
// 查询保养工单详细
export function getDmsBillsMaintInstance(maintInstanceId) {
return request({
url: '/dms/dmsBillsMaintInstance/' + maintInstanceId,
method: 'get'
})
}
// 新增保养工单
export function addDmsBillsMaintInstance(data) {
return request({
url: '/dms/dmsBillsMaintInstance',
method: 'post',
data: data
})
}
// 修改保养工单
export function updateDmsBillsMaintInstance(data) {
return request({
url: '/dms/dmsBillsMaintInstance',
method: 'put',
data: data
})
}
// 删除保养工单
export function delDmsBillsMaintInstance(maintInstanceId) {
return request({
url: '/dms/dmsBillsMaintInstance/' + maintInstanceId,
method: 'delete'
})
}

@ -0,0 +1,51 @@
import request from '@/utils/request'
// 查询保养工单实例节点列表
export function listDmsMaintInstanceActivity(query) {
return request({
url: '/dms/dmsMaintInstanceActivity/list',
method: 'get',
params: query
})
}
// 查询保养工单实例节点详细
export function getDmsMaintInstanceActivity(instanceActivityId) {
return request({
url: '/dms/dmsMaintInstanceActivity/' + instanceActivityId,
method: 'get'
})
}
// 新增保养工单实例节点
export function addDmsMaintInstanceActivity(data) {
return request({
url: '/dms/dmsMaintInstanceActivity',
method: 'post',
data: data
})
}
// 修改保养工单实例节点
export function updateDmsMaintInstanceActivity(data) {
return request({
url: '/dms/dmsMaintInstanceActivity',
method: 'put',
data: data
})
}
// 删除保养工单实例节点
export function delDmsMaintInstanceActivity(instanceActivityId) {
return request({
url: '/dms/dmsMaintInstanceActivity/' + instanceActivityId,
method: 'delete'
})
}
export function selectUserIdByDmsMaintInstanceActivityId(maintInstanceId,userId) {
return request({
url:`/dms/dmsMaintInstanceActivity/selectUserIdByDmsMaintInstanceActivityId/${maintInstanceId}/userId/${userId}`,
method:'get'
})
}

@ -42,3 +42,11 @@ export function delBarcode(barcodeId) {
method: 'delete' method: 'delete'
}) })
} }
// 打印条码
export function printBarCode(barcodeId) {
return request({
url: '/mes/barcode/printBarCode/' + barcodeId,
method: 'get'
})
}

@ -64,7 +64,7 @@ export function productOrderPublish(data) {
//撤回 //撤回
export function productOrderRecall(data) { export function productOrderRecall(data) {
return request({ return request({
url: '/mes/productOrder/productOrderRecall', url: '/mes/productplan/productOrderRecall',
method: 'post', method: 'post',
data: data data: data
}) })
@ -77,3 +77,11 @@ export function delProductOrder(productOrderId) {
method: 'delete' method: 'delete'
}) })
} }
// 校验BOM是否被生产工单选择
export function verifyBOMIsProduction(materialBomId) {
return request({
url: '/mes/productOrder/verifyBOMIsProduction/' + materialBomId,
method: 'get'
})
}

@ -334,6 +334,7 @@ export default {
this.resultList.push('最近100年内只有上面' + resultArr.length + '条结果!') this.resultList.push('最近100年内只有上面' + resultArr.length + '条结果!')
} }
} }
// - // -
this.isShow = true; this.isShow = true;

@ -264,7 +264,7 @@ export const dynamicRoutes = [
path: "index/:repairInstanceId(\\d+)", path: "index/:repairInstanceId(\\d+)",
component: () => import("@/views/dms/repairInstanceActivity/index"), component: () => import("@/views/dms/repairInstanceActivity/index"),
name: "childInstanceUpdate", name: "childInstanceUpdate",
meta: { title: "工单审批", activeMenu: "/repairInstanceActivity" }, meta: { title: "工单处理", activeMenu: "/repairInstanceActivity" },
}, },
], ],
}, },
@ -323,7 +323,7 @@ export const dynamicRoutes = [
path: "index/:inspectInstanceId(\\d+)", path: "index/:inspectInstanceId(\\d+)",
component: () => import("@/views/dms/dmsBillsInspectActivity/index"), component: () => import("@/views/dms/dmsBillsInspectActivity/index"),
name: "childDmsBillsInspectActivity", name: "childDmsBillsInspectActivity",
meta: { title: "工单审批", activeMenu: "/dmsBillsInspectActivity" }, meta: { title: "工单处理", activeMenu: "/dmsBillsInspectActivity" },
}, },
], ],
}, },
@ -339,7 +339,7 @@ export const dynamicRoutes = [
path: "index/:inspectInstanceId(\\d+)", path: "index/:inspectInstanceId(\\d+)",
component: () => import("@/views/dms/dmsBillsInspectActivity/index"), component: () => import("@/views/dms/dmsBillsInspectActivity/index"),
name: "selectDmsBillsInspectActivity", name: "selectDmsBillsInspectActivity",
meta: { title: "工单审批", activeMenu: "/dmsBillsInspectActivity" }, meta: { title: "工单处理", activeMenu: "/dmsBillsInspectActivity" },
}, },
], ],
}, },
@ -354,7 +354,7 @@ export const dynamicRoutes = [
path: "index/:lubeInstanceId(\\d+)", path: "index/:lubeInstanceId(\\d+)",
component: () => import("@/views/dms/dmsBillsLubeInstanceActivity/index"), component: () => import("@/views/dms/dmsBillsLubeInstanceActivity/index"),
name: "childDmsBillsLubeInstanceActivity", name: "childDmsBillsLubeInstanceActivity",
meta: { title: "工单审批", activeMenu: "/dmsBillsLubeInstanceActivity" }, meta: { title: "工单处理", activeMenu: "/dmsBillsLubeInstanceActivity" },
}, },
], ],
}, },
@ -369,7 +369,7 @@ export const dynamicRoutes = [
path: "index/:lubeInstanceId(\\d+)", path: "index/:lubeInstanceId(\\d+)",
component: () => import("@/views/dms/dmsBillsLubeInstanceActivity/index"), component: () => import("@/views/dms/dmsBillsLubeInstanceActivity/index"),
name: "selectChildDmsBillsLubeInstanceActivity", name: "selectChildDmsBillsLubeInstanceActivity",
meta: { title: "工单审批", activeMenu: "/dmsBillsLubeInstanceActivity" }, meta: { title: "工单处理", activeMenu: "/dmsBillsLubeInstanceActivity" },
}, },
], ],
}, },
@ -384,7 +384,22 @@ export const dynamicRoutes = [
path: "index/:repairInstanceId(\\d+)", path: "index/:repairInstanceId(\\d+)",
component: () => import("@/views/dms/activity/index"), component: () => import("@/views/dms/activity/index"),
name: "childDmsFaultInstanceActivity", name: "childDmsFaultInstanceActivity",
meta: { title: "工单审批", activeMenu: "/activity" }, meta: { title: "工单处理", activeMenu: "/activity" },
},
],
},
//审批保养工单路由
{
path: "/dms/dmsMaintInstanceActivity",
component: Layout,
hidden: true,
permissions: ["tool:gen:edit"],
children: [
{
path: "index/:maintInstanceId(\\d+)",
component: () => import("@/views/dms/dmsMaintInstanceActivity/index"),
name: "childDmsMaintInstanceActivity",
meta: { title: "工单处理", activeMenu: "/dmsMaintInstanceActivity" },
}, },
], ],
}, },

@ -1,78 +1,18 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="报修来源ID根据报修来源类型关联来源主键" prop="faultSourceId"> <el-form-item label="报修来源" prop="faultSourceId">
<el-input <el-select @change="change" v-model="queryParams.faultSourceType" placeholder="报修来源类型" >
v-model="queryParams.faultSourceId" <el-option
placeholder="请输入报修来源ID根据报修来源类型关联来源主键" v-for="item in dict.type.dms_fault_source_type"
clearable :key="item.value"
@keyup.enter.native="handleQuery" :label="item.label"
/> :value="item.value"
</el-form-item> >
<el-form-item label="工单流程ID关联wf_process的wf_process_id" prop="wfProcessId"> </el-option>
<el-input </el-select>
v-model="queryParams.wfProcessId"
placeholder="请输入工单流程ID关联wf_process的wf_process_id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工单编号" prop="billsFaultCode">
<el-input
v-model="queryParams.billsFaultCode"
placeholder="请输入工单编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="申请人" prop="applyUser">
<el-input
v-model="queryParams.applyUser"
placeholder="请输入申请人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="申请时间" prop="applyTime">
<el-date-picker clearable
v-model="queryParams.applyTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择申请时间">
</el-date-picker>
</el-form-item>
<el-form-item label="实际开始时间" prop="realBeginTime">
<el-date-picker clearable
v-model="queryParams.realBeginTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择实际开始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="实际完成时间" prop="realEndTime">
<el-date-picker clearable
v-model="queryParams.realEndTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择实际完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="要求完成时间" prop="requireEndTime">
<el-date-picker clearable
v-model="queryParams.requireEndTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择要求完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="是否标识1-是0-否" prop="isFlag">
<el-input
v-model="queryParams.isFlag"
placeholder="请输入是否标识1-是0-否"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -90,17 +30,17 @@
v-hasPermi="['dms:dmsBillsFaultInstance:add']" v-hasPermi="['dms:dmsBillsFaultInstance:add']"
>新增</el-button> >新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <!-- <el-col :span="1.5">-->
<el-button <!-- <el-button-->
type="success" <!-- type="success"-->
plain <!-- plain-->
icon="el-icon-edit" <!-- icon="el-icon-edit"-->
size="mini" <!-- size="mini"-->
:disabled="single" <!-- :disabled="single"-->
@click="handleUpdate" <!-- @click="handleUpdate"-->
v-hasPermi="['dms:dmsBillsFaultInstance:edit']" <!-- v-hasPermi="['dms:dmsBillsFaultInstance:edit']"-->
>修改</el-button> <!-- >修改</el-button>-->
</el-col> <!-- </el-col>-->
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="danger" type="danger"
@ -210,6 +150,17 @@
<!-- 添加或修改检修工单对话框 --> <!-- 添加或修改检修工单对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="96px"> <el-form ref="form" :model="form" :rules="rules" label-width="96px">
<el-form-item label="设备名称" prop="deviceId">
<el-select v-model="form.deviceId" placeholder="设备名称" >
<el-option
v-for="item in ledgerList"
:key="item.deviceId"
:label="item.deviceName"
:value="item.deviceId"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="报修来源类型" prop="faultSourceType"> <el-form-item label="报修来源类型" prop="faultSourceType">
<el-select @change="change" v-model="form.faultSourceType" placeholder="报修来源类型" > <el-select @change="change" v-model="form.faultSourceType" placeholder="报修来源类型" >
<el-option <el-option
@ -338,7 +289,7 @@
</el-form-item> </el-form-item>
<el-divider content-position="center">工单实例节点信息</el-divider> <el-divider content-position="center">故障报修工单信息</el-divider>
@ -359,22 +310,12 @@
<el-form-item label="涉及操作" prop="designOperations"> <el-form-item label="涉及操作" prop="designOperations">
<el-input v-model="form.designOperations" placeholder="涉及操作" /> <el-input v-model="form.designOperations" placeholder="涉及操作" />
</el-form-item> </el-form-item>
<el-form-item label="设备名称" prop="deviceId">
<el-select v-model="form.deviceId" placeholder="设备名称" >
<el-option
v-for="item in ledgerList"
:key="item.deviceId"
:label="item.deviceName"
:value="item.deviceId"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="维修类型" prop="repairType"> <el-form-item label="维修类型" prop="repairType">
<el-radio-group v-model="form.repairType"> <el-radio-group v-model="form.repairType">
<el-radio <el-radio
@change="changeOut" @change="changeOut"
v-for="dict in dict.type.dms_repair_type" v-for="dict in dict.type.dms_fault_repair_type"
:key="dict.value" :key="dict.value"
:label="dict.value" :label="dict.value"
>{{dict.label}}</el-radio> >{{dict.label}}</el-radio>
@ -391,6 +332,24 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="pictureUrl">
<el-upload
:action="imgUpload.url"
:headers="imgUpload.headers"
:on-success="handlePictureSuccess"
:before-upload="beforePictureUpload"
list-type="picture-card"
:file-list="fileListShow"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove">
<i class="el-icon-plus"></i>
</el-upload>
<!--图片预览的dialog-->
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl">
</el-dialog>
</el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
@ -407,18 +366,40 @@ import { listDmsRepairInstance } from '@/api/dms/dmsRepairInstance'
import { listPoint,listSelectInspection } from '@/api/dms/dmsBillsInstance' import { listPoint,listSelectInspection } from '@/api/dms/dmsBillsInstance'
import { listLedger } from '@/api/dms/ledger' import { listLedger } from '@/api/dms/ledger'
import { listDmsInfo } from '@/api/dms/dmsInfo' import { listDmsInfo } from '@/api/dms/dmsInfo'
import { getToken } from '@/utils/auth'
export default { export default {
name: "DmsBillsFaultInstance", name: "DmsBillsFaultInstance",
dicts:['bills_status','dms_instance_type','dms_fault_source_type','dms_fault_type','dms_repair_type'], dicts:['bills_status','dms_instance_type','dms_fault_source_type','dms_fault_type','dms_repair_type','dms_fault_repair_type'],
data() { data() {
return { return {
//
isCommonName: true,
//list
fileListShow: [],
//List
fileListPut: [],
dialogImageUrl: '',
dialogVisible: false,
imgUpload: {
//
headers: {
Authorization: "Bearer " + getToken()
},
// :
url: process.env.VUE_APP_BASE_API + "/file/upload",
url2: process.env.VUE_APP_BASE_API,
},
isShow1:false, isShow1:false,
isShow2:false, isShow2:false,
isShow3:false, isShow3:false,
isShow9:false, isShow9:false,
isShowOut:false, isShowOut:false,
imgAddress:"",
// //
dmsInfoList:[], dmsInfoList:[],
// //
@ -454,7 +435,7 @@ export default {
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
faultSourceType: 1, faultSourceType: null,
faultSourceId: null, faultSourceId: null,
wfProcessId: null, wfProcessId: null,
billsFaultCode: null, billsFaultCode: null,
@ -499,6 +480,55 @@ export default {
this.getoutsrcId(); this.getoutsrcId();
}, },
methods: { methods: {
//
beforePictureUpload(file){
// isCommonName true
this.isCommonName = true;
const isJPG = file.type === 'image/jpeg';
const isLt2M = file.size / 1024 / 1024 < 2;
//
if(this.fileListPut.length > 0){
this.fileListPut.forEach((item,index)=>{
if(item.name == file.name){
this.$message.error('已存在相同的图片!');
this.isCommonName = false;
}
})
}
if (!isJPG) {
this.$message.error('请上传图片格式的文件!');
}
if (!isLt2M) {
this.$message.error('上传的图片不能超过2MB!');
}
return isJPG && isLt2M && this.isCommonName;
},
//
handleRemove(file, fileList) {
//filefileListPut
if(this.fileListPut.length > 0){
this.fileListPut = this.fileListPut.filter((item, index)=>{
return item.name != file.name;
})
}
},
//
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
//
handlePictureSuccess(res, file) {
//访
const imgObjectUrl = this.imgUpload.url2 + file.response.imgUrl;
//JSON
let currentFile = { name: '', url: '' };
currentFile.name = file.name;
currentFile.url = imgObjectUrl;
this.imgAddress = res.data.url;
//
this.fileListPut.push(currentFile);
},
getJump(row){ getJump(row){
this.$router.push('/dms/activity/index/'+row.repairInstanceId) this.$router.push('/dms/activity/index/'+row.repairInstanceId)
}, },
@ -620,6 +650,7 @@ export default {
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.resetForm("queryForm"); this.resetForm("queryForm");
this.queryParams.faultSourceType = null;
this.handleQuery(); this.handleQuery();
}, },
// //
@ -631,8 +662,10 @@ export default {
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.reset(); this.reset();
this.fileListShow = [];
this.isShowOut = false;
this.open = true; this.open = true;
this.title = "添加检修工单"; this.title = "添加修工单";
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
@ -640,8 +673,9 @@ export default {
const repairInstanceId = row.repairInstanceId || this.ids const repairInstanceId = row.repairInstanceId || this.ids
getDmsBillsFaultInstance(repairInstanceId).then(response => { getDmsBillsFaultInstance(repairInstanceId).then(response => {
this.form = response.data; this.form = response.data;
this.fileListShow = response.data.sysFiles
this.open = true; this.open = true;
this.title = "修改修工单"; this.title = "修改修工单";
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
@ -657,6 +691,8 @@ export default {
} else { } else {
this.form.wfProcessId = 102; this.form.wfProcessId = 102;
this.form.isFlag = 1; this.form.isFlag = 1;
this.form.imgUrl = this.imgAddress;
alert(this.imgAddress)
addDmsBillsFaultInstance(this.form).then(response => { addDmsBillsFaultInstance(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;

@ -294,7 +294,6 @@ export default {
this.form.lubeInstanceId = lubeInstanceIdCheck; this.form.lubeInstanceId = lubeInstanceIdCheck;
this.queryParams.lubeInstanceId = lubeInstanceIdCheck; this.queryParams.lubeInstanceId = lubeInstanceIdCheck;
this.queryParamWfProcessActivity.wfProcessId = 106; this.queryParamWfProcessActivity.wfProcessId = 106;
this.isUpdate = true;
this.getWfprocessActivity(); this.getWfprocessActivity();
this.getDmsBillsLubeInstance(); this.getDmsBillsLubeInstance();
this.getList(); this.getList();

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save