Merge remote-tracking branch 'origin/master'

master
夜笙歌 1 year ago
commit f4d070767d

@ -25,5 +25,8 @@ public interface RemoteDmsService {
@PostMapping("/dmsBillsLubeInstance/autoAdd")
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) {
return null;
}
@Override
public R<?> getDmsBillsMaintInstance(String source, String dmsBillsMaintId) {
return null;
}
};
}
}

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

@ -20,7 +20,7 @@
<!-- RuoYi Common Core-->
<dependency>
<groupId>com.hw</groupId>
<artifactId>hw-common-core</artifactId>
<artifactId>hw-api-mes</artifactId>
</dependency>
</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 {
@GetMapping("/wfprocessactivity/list")
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;
public WfProcessActivity() {
}
/** 工单流程节点ID */
private Long processActivityId;

@ -1,9 +1,18 @@
package com.hw.system.api.factory;
import com.hw.common.core.domain.R;
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.stereotype.Component;
import java.rmi.Remote;
/**
*
*
@ -13,8 +22,25 @@ import org.springframework.stereotype.Component;
public class RemoteSysCommonFallbackFactory implements FallbackFactory<RemoteSysCommonService>
{
private static final Logger log = LoggerFactory.getLogger(RemoteLogFallbackFactory.class);
@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;
}
@Override
public Long selectProcessActivityIdByWfProcessId(String source, Long wfProcessId) {
return null;
}
};
}
}

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

@ -3,6 +3,7 @@ package com.hw.auth.controller;
import javax.servlet.http.HttpServletRequest;
import com.hw.common.core.constant.SecurityConstants;
import com.hw.mes.api.RemoteMesService;
import com.hw.mes.api.domain.MesBaseStationInfo;
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_BACKPLATE = "4";//背板
/** 条码批次标识0-否 */
public static final String NOT_IS_BATCH = "0";
/** 条码批次标识1-是 */
public static final String IS_BATCH = "1";
/** 工单状态0-待发布 */
public static final String UN_PUBLISH = "0";
/** 工单状态0-已发布 */
/** 工单状态;1已发布 */
public static final String PUBLISHED = "1";
/** 工单状态2-已完成 */

@ -47,4 +47,9 @@ public class ServiceNameConstants
* Systemcommonserviceid
* */
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 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;
}else if (planCodeSeqType.equals(type)) {
atomicInt = planCodeSeq;
}else if (mesBatchCodeSeqType.equals(type)) {
atomicInt = mesBatchCodeSeq;
}else if (mesBarcodeSeqType.equals(type)) {
atomicInt = mesBarcodeSeq;
}
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);
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);
dmsPlanLube.setLubeTime(nextExecution);
int i = dmsPlanLubeService.insertDmsPlanLube(dmsPlanLube);
List<DmsPlanLube> dmsPlanLubes = dmsPlanLubeService.selectDmsPlanLubeList(dmsPlanLube);
DmsPlanLube dmsPlanLube1 = dmsPlanLubes.get(0);
SysJob job = new SysJob();
job.setJobName("创建计划编号为"+dmsPlanLube1.getPlanLubeCode()+"工单");
job.setJobName("创建计划编号为"+dmsPlanLube.getPlanLubeCode()+"工单");
job.setJobGroup("DEFAULT");
job.setInvokeTarget("ryTask.getDmsBillsLube(\""+dmsPlanLube1.getPlanLubeId()+"\")");
job.setInvokeTarget("ryTask.getDmsBillsLube(\""+dmsPlanLube.getPlanLubeId()+"\")");
job.setCronExpression(dmsPlanLube.getCronExpression());
job.setMisfirePolicy("1");
job.setConcurrent("1");
job.setStatus("1");
remoteJobService.add(SecurityConstants.INNER,job);
SysJob job1 = remoteJobService.selectJobList(dmsPlanLubes.get(0).getPlanLubeId());
dmsPlanLubes.get(0).setJobId(job1.getJobId());
dmsPlanLubeService.updateDmsPlanLube(dmsPlanLubes.get(0));
SysJob job1 = remoteJobService.selectJobList(dmsPlanLube.getPlanLubeId());
dmsPlanLube.setJobId(job1.getJobId());
dmsPlanLubeService.updateDmsPlanLube(dmsPlanLube);
return toAjax(i);
}

@ -1,8 +1,14 @@
package com.hw.dms.controller;
import java.util.Date;
import java.util.List;
import java.io.IOException;
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.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -34,6 +40,8 @@ public class DmsPlanMaintController extends BaseController
{
@Autowired
private IDmsPlanMaintService dmsPlanMaintService;
@Autowired
private RemoteJobService remoteJobService;
/**
*
@ -78,7 +86,25 @@ public class DmsPlanMaintController extends BaseController
@PostMapping
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);
AjaxResult ajaxResult = toAjax(dmsPlanRepairService.insertDmsPlanRepair(dmsPlanRepair));
List<DmsPlanRepair> dmsPlanRepairs = dmsPlanRepairService.selectDmsPlanRepairList(dmsPlanRepair);
DmsPlanRepair dmsPlanRepair1 = dmsPlanRepairs.get(0);
SysJob job = new SysJob();
job.setJobName("创建计划编号为"+dmsPlanRepair.getPlanRepairCode()+"工单");
job.setJobGroup("DEFAULT");
job.setInvokeTarget("ryTask.getDmsRepairInstance(\""+dmsPlanRepair1.getPlanRepairId()+"\")");
job.setInvokeTarget("ryTask.getDmsRepairInstance(\""+dmsPlanRepair.getPlanRepairId()+"\")");
job.setCronExpression(dmsPlanRepair.getCronExpression());
job.setMisfirePolicy("1");
job.setConcurrent("1");
job.setStatus("1");
remoteJobService.add(SecurityConstants.INNER,job);
SysJob job1 = remoteJobService.selectJobList(dmsPlanRepairs.get(0).getPlanRepairId());
dmsPlanRepairs.get(0).setJobId(job1.getJobId());
dmsPlanRepairService.updateDmsPlanRepair(dmsPlanRepairs.get(0));
SysJob job1 = remoteJobService.selectJobList(dmsPlanRepair.getPlanRepairId());
dmsPlanRepair.setJobId(job1.getJobId());
dmsPlanRepairService.updateDmsPlanRepair(dmsPlanRepair);
return ajaxResult;
}

@ -1,7 +1,10 @@
package com.hw.dms.domain;
import java.util.Date;
import java.util.List;
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.ToStringStyle;
import com.hw.common.core.annotation.Excel;
@ -70,6 +73,15 @@ public class DmsBillsFaultInstance extends BaseEntity
/** 是否标识1-是0-否 */
@Excel(name = "是否标识1-是0-否")
private List<DmsFaultInstanceFile> dmsFaultInstanceFiles;
private List<SysFile> sysFiles;
private String imgUrl;
private String isFlag;
private String faultType;
@ -84,6 +96,29 @@ public class DmsBillsFaultInstance extends BaseEntity
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() {
return faultType;
}

@ -56,6 +56,36 @@ public class DmsBillsLubeInstance extends BaseEntity
@Excel(name = "是否标识1-是0-否")
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)
{
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")
@Excel(name = "本次保养时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date maintTime;
@Excel(name = "关联sys_job主键")
private Long jobId;
@Excel(name = "时限")
private Long timeLimit;
/** 循环周期 */
@Excel(name = "循环周期")
@ -58,6 +65,50 @@ public class DmsPlanMaint extends BaseEntity
@Excel(name = "是否标识1-是2-否")
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;
@ -164,23 +215,21 @@ public class DmsPlanMaint extends BaseEntity
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("planMaintId", getPlanMaintId())
.append("planMaintCode", getPlanMaintCode())
.append("maintLevel", getMaintLevel())
.append("maintGroup", getMaintGroup())
.append("maintSupervisor", getMaintSupervisor())
.append("maintTime", getMaintTime())
.append("cyclePeriod", getCyclePeriod())
.append("maintStatus", getMaintStatus())
.append("createMethod", getCreateMethod())
.append("isFlag", getIsFlag())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("dmsPlanMaintDetailList", getDmsPlanMaintDetailList())
.toString();
return "DmsPlanMaint{" +
"planMaintId=" + planMaintId +
", planMaintCode='" + planMaintCode + '\'' +
", maintLevel=" + maintLevel +
", maintGroup='" + maintGroup + '\'' +
", maintSupervisor='" + maintSupervisor + '\'' +
", maintTime=" + maintTime +
", jobId=" + jobId +
", timeLimit=" + timeLimit +
", cyclePeriod=" + cyclePeriod +
", maintStatus=" + maintStatus +
", createMethod=" + createMethod +
", isFlag=" + isFlag +
", cronExpression='" + cronExpression + '\'' +
", dmsPlanMaintDetailList=" + dmsPlanMaintDetailList +
'}';
}
}

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

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

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

@ -58,4 +58,5 @@ public interface DmsBillsLubeInstanceMapper
* @return
*/
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);
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
*/
public int deleteDmsBillsFaultInstanceByRepairInstanceId(Long repairInstanceId);
int insertDmsBillsFaultInstancePDA(DmsBillsFaultInstance dmsBillsFaultInstance);
}

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

@ -58,4 +58,7 @@ public interface IDmsBillsLubeInstanceService
* @return
*/
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
*/
public int deleteDmsRepairInstanceByRepairInstanceId(Long repairInstanceId);
int insertDmsRepairInstancePDA(DmsRepairInstance dmsRepairInstance);
}

@ -1,19 +1,28 @@
package com.hw.dms.service.impl;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
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.dms.domain.DmsFaultInstanceActivity;
import com.hw.dms.domain.DmsFaultInstanceFile;
import com.hw.dms.domain.DmsRepairInstanceActivity;
import com.hw.dms.mapper.DmsFaultInstanceActivityMapper;
import com.hw.dms.mapper.DmsFaultInstanceFileMapper;
import com.hw.dms.mapper.DmsRepairInstanceActivityMapper;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hw.dms.mapper.DmsBillsFaultInstanceMapper;
import com.hw.dms.domain.DmsBillsFaultInstance;
import com.hw.dms.service.IDmsBillsFaultInstanceService;
import org.springframework.transaction.annotation.Transactional;
/**
* Service
@ -28,6 +37,10 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
private DmsBillsFaultInstanceMapper dmsBillsFaultInstanceMapper;
@Autowired
private DmsFaultInstanceActivityMapper dmsFaultInstanceActivityMapper;
@Autowired
private RemoteSysCommonService remoteSysCommonService;
@Autowired
private DmsFaultInstanceFileMapper dmsFaultInstanceFileMapper;
/**
*
@ -38,7 +51,27 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
@Override
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
public List<DmsBillsFaultInstance> selectDmsBillsFaultInstanceList(DmsBillsFaultInstance dmsBillsFaultInstance)
{
return dmsBillsFaultInstanceMapper.selectDmsBillsFaultInstanceList(dmsBillsFaultInstance);
}
@ -60,12 +94,14 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int insertDmsBillsFaultInstance(DmsBillsFaultInstance dmsBillsFaultInstance)
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmm");
String str = sdf.format(DateUtils.getNowDate());
LoginUser user = new LoginUser();
dmsBillsFaultInstance.setWfProcessId(102l);
dmsBillsFaultInstance.setApplyUser(user.getUsername());
dmsBillsFaultInstance.setApplyTime(DateUtils.getNowDate());
dmsBillsFaultInstance.setCreateTime(DateUtils.getNowDate());
@ -73,10 +109,10 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
dmsBillsFaultInstance.setBillsStatus("0");
dmsBillsFaultInstance.setInstanceType("1");
int i = dmsBillsFaultInstanceMapper.insertDmsBillsFaultInstance(dmsBillsFaultInstance);
List<DmsBillsFaultInstance> dmsBillsFaultInstances = dmsBillsFaultInstanceMapper.selectDmsBillsFaultInstanceList(dmsBillsFaultInstance);
Long aLong = dmsBillsFaultInstanceMapper.selectProcessActivityId(102l);
DmsFaultInstanceActivity dmsFaultInstanceActivity = new DmsFaultInstanceActivity();
dmsFaultInstanceActivity.setRepairInstanceId(dmsBillsFaultInstance.getRepairInstanceId());
dmsFaultInstanceActivity.setProcessActivityId(102l);
dmsFaultInstanceActivity.setProcessActivityId(aLong);
dmsFaultInstanceActivity.setFaultType(dmsBillsFaultInstance.getFaultType());
dmsFaultInstanceActivity.setFaultDescription(dmsBillsFaultInstance.getFaultDescription());
dmsFaultInstanceActivity.setDesignOperations(dmsBillsFaultInstance.getDesignOperations());
@ -88,6 +124,14 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
dmsFaultInstanceActivity.setProcessHandleStatus("2");
dmsFaultInstanceActivity.setProcessStepOrder(1l);
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;
}
@ -127,4 +171,27 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
{
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;
import java.text.SimpleDateFormat;
import java.util.List;
import com.hw.common.core.constant.SecurityConstants;
import com.hw.common.core.utils.DateUtils;
import com.hw.dms.domain.DmsBillsInspectInstanceActivity;
import com.hw.dms.mapper.DmsBillsInspectInstanceActivityMapper;
import com.hw.dms.mapper.DmsRepairInstanceMapper;
import com.hw.system.api.RemoteSysCommonService;
import com.hw.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -27,6 +31,8 @@ public class DmsBillsInspectInstanceServiceImpl implements IDmsBillsInspectInsta
private DmsBillsInspectInstanceActivityMapper dmsBillsInspectInstanceActivityMapper;
@Autowired
private DmsRepairInstanceMapper dmsRepairInstanceMapper;
@Autowired
private RemoteSysCommonService remoteSysCommonService;
/**
*
@ -74,7 +80,11 @@ public class DmsBillsInspectInstanceServiceImpl implements IDmsBillsInspectInsta
LoginUser user = new LoginUser();
//写死105也可根据传入对象的wfprocessid作为传参。
Long aLong = dmsRepairInstanceMapper.selectWfProcessActivityId(105l);
if (dmsBillsInspectInstance.getInspectType().equals("1")){
dmsBillsInspectInstance.setWfProcessId(105l);
}else if (dmsBillsInspectInstance.getInspectType().equals("2")){
dmsBillsInspectInstance.setWfProcessId(104l);
}
dmsBillsInspectInstance.setCreateTime(DateUtils.getNowDate());
dmsBillsInspectInstance.setIsFlag("1");
dmsBillsInspectInstance.setCreateBy(user.getUsername());
@ -128,4 +138,37 @@ public class DmsBillsInspectInstanceServiceImpl implements IDmsBillsInspectInsta
{
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;
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.DmsBillsLubeInstanceActivity;
import com.hw.dms.domain.DmsPlanLube;
import com.hw.dms.mapper.DmsBillsLubeInstanceActivityMapper;
import com.hw.dms.mapper.DmsPlanLubeMapper;
import com.hw.system.api.RemoteSysCommonService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hw.dms.mapper.DmsBillsLubeInstanceMapper;
@ -31,6 +35,8 @@ public class DmsBillsLubeInstanceServiceImpl implements IDmsBillsLubeInstanceSer
@Autowired
private DmsBillsLubeInstanceActivityMapper dmsBillsLubeInstanceActivityMapper;;
@Autowired
private RemoteSysCommonService remoteSysCommonService;
/**
*
*
@ -82,7 +88,6 @@ public class DmsBillsLubeInstanceServiceImpl implements IDmsBillsLubeInstanceSer
dmsBillsLubeInstanceActivity.setLubeSupervisor(dmsPlanLube.getLubeSupervisor());
dmsBillsLubeInstanceActivity.setLubeLevel(dmsPlanLube.getLubeLevel());
dmsBillsLubeInstanceActivity.setProcessStepOrder(1l);
dmsBillsLubeInstanceActivity.setProcessHandleResolution("无");
dmsBillsLubeInstanceActivityMapper.insertDmsBillsLubeInstanceActivity(dmsBillsLubeInstanceActivity);
return i;
}
@ -123,4 +128,22 @@ public class DmsBillsLubeInstanceServiceImpl implements IDmsBillsLubeInstanceSer
{
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 com.hw.common.core.utils.DateUtils;
import com.hw.dms.domain.DmsPlanRepair;
import com.hw.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -34,7 +35,19 @@ public class DmsPlanMaintServiceImpl implements IDmsPlanMaintService
@Override
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
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
public int insertDmsPlanMaint(DmsPlanMaint dmsPlanMaint)
{
dmsPlanMaint.setTimeLimit((dmsPlanMaint.getTimeLimitDays()*24*60*60)
+(dmsPlanMaint.getTimeLimitHours()*60*60));
dmsPlanMaint.setIsFlag(1l);
LoginUser user = new LoginUser();
dmsPlanMaint.setCreateBy(user.getUsername());

@ -115,6 +115,7 @@ public class DmsRepairInstanceServiceImpl implements IDmsRepairInstanceService
}
dmsRepairInstance.setApplyBy(user.getUsername());
dmsRepairInstance.setApplyTime(DateUtils.getNowDate());
dmsRepairInstance.setWfProcessId(101l);
int flag = dmsRepairInstanceMapper.insertDmsRepairInstance(dmsRepairInstance);
//创建工单时新建工单实例节点
@ -193,6 +194,29 @@ public class DmsRepairInstanceServiceImpl implements IDmsRepairInstanceService
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) {
//
// 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="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="deviceId" column="device_id" />
</resultMap>
<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>
<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="instanceType != null and instanceType != ''"> and instance_type = #{instanceType}</if>
<if test="isFlag != null and isFlag != ''"> and is_flag = #{isFlag}</if>
<if test="deviceId != null and deviceId != ''"> and device_id = #{deviceId}</if>
</where>
</select>
@ -73,6 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="deviceId != null">device_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<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="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="deviceId != null">#{deviceId},</if>
</trim>
</insert>
@ -115,6 +120,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="deviceId != null">device_id = #{deviceId},</if>
</trim>
where repair_instance_id = #{repairInstanceId}
</update>
@ -129,4 +135,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{repairInstanceId}
</foreach>
</delete>
<select id="selectProcessActivityId" parameterType="Long" resultType="Long">
select min(process_activity_id) from wf_process_activity where wf_process_id = #{wfProcessId}
</select>
</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
where repair_instance_id=#{repairInstanceId})))
</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>

@ -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="maintSupervisor" column="maint_supervisor" />
<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="maintStatus" column="maint_status" />
<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="deviceId" column="sub_device_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="isFlag" column="sub_is_flag" />
<result property="remark" column="sub_remark" />
@ -42,7 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<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>
<select id="selectDmsPlanMaintList" parameterType="DmsPlanMaint" resultMap="DmsPlanMaintResult">
@ -62,8 +64,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<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,
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
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_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
left join dms_plan_maint_detail b on b.plan_maint_id = a.plan_maint_id
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="maintSupervisor != null">maint_supervisor,</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="maintStatus != null">maint_status,</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="maintSupervisor != null">#{maintSupervisor},</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="maintStatus != null">#{maintStatus},</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="maintSupervisor != null">maint_supervisor = #{maintSupervisor},</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="maintStatus != null">maint_status = #{maintStatus},</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" />
</resultMap>
<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
</sql>

@ -60,5 +60,10 @@ public class RyTask
System.out.println("++创建润滑工单++getDmsRepairInstance");
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>
<artifactId>hw-common-swagger</artifactId>
</dependency>
<dependency>
<groupId>com.hw</groupId>
<artifactId>hw-api-mes</artifactId>
<artifactId>hw-api-printer</artifactId>
<version>3.6.3</version>
<scope>compile</scope>
</dependency>
</dependencies>

@ -92,7 +92,6 @@ public class MesBaseBarcodeInfoController extends BaseController
@PutMapping
public AjaxResult edit(@RequestBody MesBaseBarcodeInfo mesBaseBarcodeInfo)
{
mesBaseBarcodeInfo.setUpdateBy(SecurityUtils.getLoginUser().getUsername());
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;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.hw.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -74,6 +74,7 @@ public class MesProductOrderController extends BaseController {
@Log(title = "生产工单", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody MesProductOrder mesProductOrder) {
mesProductOrder.setCreateBy(SecurityUtils.getLoginUser().getUsername());
return toAjax(mesProductOrderService.insertMesProductOrder(mesProductOrder));
}
@ -84,6 +85,7 @@ public class MesProductOrderController extends BaseController {
@Log(title = "生产工单", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody MesProductOrder mesProductOrder) {
mesProductOrder.setUpdateBy(SecurityUtils.getLoginUser().getUsername());
return toAjax(mesProductOrderService.updateMesProductOrder(mesProductOrder));
}
@ -115,15 +117,6 @@ public class MesProductOrderController extends BaseController {
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());
}
/**
* 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 javax.servlet.http.HttpServletResponse;
import com.hw.mes.domain.MesProductOrder;
import com.hw.mes.service.IMesProductOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -149,4 +150,13 @@ public class MesProductPlanController extends BaseController
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")
private Long materialBomId;
/**
* BOM
*/
@Excel(name = "BOM说明")
private String materialBomDesc;
/**
* (1线 2线)
*/
@ -179,6 +185,13 @@ public class MesProductOrder extends BaseEntity {
@Excel(name = "物料名称")
private String materialName;
public String getMaterialBomDesc() {
return materialBomDesc;
}
public void setMaterialBomDesc(String materialBomDesc) {
this.materialBomDesc = materialBomDesc;
}
public String getDispatchName() {
return dispatchName;

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

@ -74,4 +74,12 @@ public interface IMesMaterialBomService
* @return
*/
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);
/**
*
*
* @param mesProductOrder
* @return
* BOM
* @param materialBomId
* @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 com.hw.mes.domain.MesBaseAttachInfo;
import com.hw.mes.domain.MesProductOrder;
import com.hw.mes.domain.MesProductPlan;
/**
@ -92,4 +93,12 @@ public interface IMesProductPlanService
*/
public List<MesBaseAttachInfo> getDispatchDrawingList(Long planId);
/**
*
*
* @param mesProductOrder
* @return
*/
public int productOrderRecall(MesProductOrder mesProductOrder);
}

@ -1,8 +1,18 @@
package com.hw.mes.service.impl;
import java.math.BigDecimal;
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.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.printer.api.RemotePrinterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hw.mes.mapper.MesBaseBarcodeInfoMapper;
@ -15,11 +25,13 @@ import com.hw.mes.service.IMesBaseBarcodeInfoService;
* @date 2023-12-20
*/
@Service
public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
{
public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService {
@Autowired
private MesBaseBarcodeInfoMapper mesBaseBarcodeInfoMapper;
@Autowired
private RemotePrinterService remotePrinterService;
/**
*
*
@ -27,8 +39,7 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
* @return
*/
@Override
public MesBaseBarcodeInfo selectMesBaseBarcodeInfoByBarcodeInfo(String barcodeInfo)
{
public MesBaseBarcodeInfo selectMesBaseBarcodeInfoByBarcodeInfo(String barcodeInfo) {
return mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoByBarcodeInfo(barcodeInfo);
}
@ -40,8 +51,7 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
* @return
*/
@Override
public MesBaseBarcodeInfo selectMesBaseBarcodeInfoByBarcodeId(Long barcodeId)
{
public MesBaseBarcodeInfo selectMesBaseBarcodeInfoByBarcodeId(Long barcodeId) {
return mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoByBarcodeId(barcodeId);
}
@ -52,8 +62,7 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
* @return
*/
@Override
public List<MesBaseBarcodeInfo> selectMesBaseBarcodeInfoList(MesBaseBarcodeInfo mesBaseBarcodeInfo)
{
public List<MesBaseBarcodeInfo> selectMesBaseBarcodeInfoList(MesBaseBarcodeInfo mesBaseBarcodeInfo) {
return mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoList(mesBaseBarcodeInfo);
}
@ -64,10 +73,26 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
* @return
*/
@Override
public int insertMesBaseBarcodeInfo(MesBaseBarcodeInfo mesBaseBarcodeInfo)
{
public int insertMesBaseBarcodeInfo(MesBaseBarcodeInfo mesBaseBarcodeInfo) {
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
*/
@Override
public int updateMesBaseBarcodeInfo(MesBaseBarcodeInfo mesBaseBarcodeInfo)
{
public int updateMesBaseBarcodeInfo(MesBaseBarcodeInfo mesBaseBarcodeInfo) {
mesBaseBarcodeInfo.setUpdateBy(SecurityUtils.getUsername());
mesBaseBarcodeInfo.setUpdateTime(DateUtils.getNowDate());
return mesBaseBarcodeInfoMapper.updateMesBaseBarcodeInfo(mesBaseBarcodeInfo);
}
@ -90,8 +115,7 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
* @return
*/
@Override
public int deleteMesBaseBarcodeInfoByBarcodeIds(Long[] barcodeIds)
{
public int deleteMesBaseBarcodeInfoByBarcodeIds(Long[] barcodeIds) {
return mesBaseBarcodeInfoMapper.deleteMesBaseBarcodeInfoByBarcodeIds(barcodeIds);
}
@ -102,8 +126,42 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
* @return
*/
@Override
public int deleteMesBaseBarcodeInfoByBarcodeId(Long barcodeId)
{
public int deleteMesBaseBarcodeInfoByBarcodeId(Long 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
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);
}
@ -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
* @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.StringUtils;
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.stereotype.Service;
import com.hw.mes.mapper.MesProductOrderMapper;
@ -25,6 +27,9 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService {
@Autowired
private MesProductOrderMapper mesProductOrderMapper;
@Autowired
private IMesMaterialBomService mesMaterialBomService;
/**
*
*
@ -71,6 +76,12 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService {
*/
@Override
public int updateMesProductOrder(MesProductOrder mesProductOrder) {
//销售订单修改工单:校验是否超出销售数量
if (StringUtils.isNotEmpty(mesProductOrder.getSaleOrderFlag())
&& mesProductOrder.getSaleOrderFlag().equals("1")
&& StringUtils.isNotNull(mesProductOrder.getSaleOrderId())) {
checkSalesQuantity(mesProductOrder);
}
mesProductOrder.setUpdateTime(DateUtils.getNowDate());
return mesProductOrderMapper.updateMesProductOrder(mesProductOrder);
}
@ -131,14 +142,14 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService {
BigDecimal sumDecimal = new BigDecimal(0);
if (StringUtils.isNotNull(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(mesProductOrder.getPlanAmount());
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
* @return
*/
@ -172,23 +184,34 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService {
if (!mesProductOrder.getOrderStatus().equals(MesConstants.UN_PUBLISH)) {
throw new ServiceException("该生产工单不是未发布状态!");
}
mesProductOrder.setOrderStatus(MesConstants.PUBLISHED);
mesProductOrder.setReleaseTime(DateUtils.getNowDate());
return this.updateMesProductOrder(mesProductOrder);
MesProductOrder productOrder = new MesProductOrder();
productOrder.setProductOrderId(mesProductOrder.getProductOrderId());
productOrder.setOrderStatus(MesConstants.PUBLISHED);
productOrder.setReleaseTime(DateUtils.getNowDate());
return this.updateMesProductOrder(productOrder);
}
/**
*
* @param mesProductOrder
* BOM
*
* @param materialBomId BOM
* @return
*/
@Override
public int productOrderRecall(MesProductOrder mesProductOrder) {
// 检验生产派工未下达状态的可进行工单撤回
mesProductOrder.setOrderStatus(MesConstants.RECALL);
// 调用仓库接口取消锁定库存
mesProductOrder.setStockLockFlag("0");
return mesProductOrderMapper.updateMesProductOrder(mesProductOrder);
public Boolean verifyBOMIsProduction(Long materialBomId) {
//查询顶级BOM
MesMaterialBom mesMaterialBom = mesMaterialBomService.selectTopMaterialBomByMaterialBomId(materialBomId);
if (StringUtils.isNull(mesMaterialBom)){
return false;
}
//通过顶级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.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.uuid.Seq;
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
*

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

@ -50,7 +50,7 @@
<include refid="selectMesMaterialBomVo"/>
<where>
<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="materialName != null and materialName != ''">and material_name like concat('%', #{materialName},
'%')

@ -36,6 +36,7 @@
<result property="dispatchName" column="dispatchName"/>
<result property="materialCode" column="material_code"/>
<result property="materialName" column="material_name"/>
<result property="materialBomDesc" column="material_bom_desc"/>
</resultMap>
<sql id="selectMesProductOrderVo">
@ -47,6 +48,7 @@
mpo.project_no,
mpo.material_id,
mpo.material_bom_id,
concat(mb.material_name, '-', mb.material_bom_desc) material_bom_desc,
mpo.dispatch_type,
mpo.dispatch_id,
mbr.route_name dispatchName,
@ -73,6 +75,7 @@
from mes_product_order mpo
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_material_bom mb on mb.material_bom_id = mpo.material_bom_id
</sql>
<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="updateTime != null ">and mpo.update_time = #{updateTime}</if>
</where>
order by mpo.sale_order_id desc, mpo.product_order_id desc
</select>
<select id="selectMesProductOrderByProductOrderId" parameterType="Long" resultMap="MesProductOrderResult">

@ -43,7 +43,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<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 type="MesProductPlanDetail" id="MesProductPlanDetailResult">
@ -65,32 +66,70 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<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>
<select id="selectMesProductPlanList" parameterType="MesProductPlan" resultMap="MesProductPlanResult">
<include refid="selectMesProductPlanVo"/>
<where>
<if test="productOrderId != null "> and product_order_id = #{productOrderId}</if>
<if test="planCode != null and planCode != ''"> and plan_code = #{planCode}</if>
<if test="dispatchCode != null and dispatchCode != ''"> and dispatch_code = #{dispatchCode}</if>
<if test="materialId != null "> and material_id = #{materialId}</if>
<if test="materialBomId != null "> and material_bom_id = #{materialBomId}</if>
<if test="processId != null "> and process_id = #{processId}</if>
<if test="processOrder != null "> and process_order = #{processOrder}</if>
<if test="lastProcessId != null "> and last_process_id = #{lastProcessId}</if>
<if test="stationId != null "> and station_id = #{stationId}</if>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="productionTime != null "> and production_time = #{productionTime}</if>
<if test="planAmount != null "> and plan_amount = #{planAmount}</if>
<if test="completeAmount != null "> and complete_amount = #{completeAmount}</if>
<if test="planBeginTime != null "> and plan_begin_time = #{planBeginTime}</if>
<if test="planEndTime != null "> and plan_end_time = #{planEndTime}</if>
<if test="realBeginTime != null "> and real_begin_time = #{realBeginTime}</if>
<if test="realEndTime != null "> and real_end_time = #{realEndTime}</if>
<if test="attachId != null and attachId != ''"> and attach_id = #{attachId}</if>
<if test="planStatus != null and planStatus != ''"> and plan_status = #{planStatus}</if>
<if test="isFlag != null and isFlag != ''"> and is_flag = #{isFlag}</if>
<if test="productOrderId != null ">and mpp.product_order_id = #{productOrderId}</if>
<if test="planCode != null and planCode != ''">and mpp.plan_code = #{planCode}</if>
<if test="dispatchCode != null and dispatchCode != ''">and mpp.dispatch_code = #{dispatchCode}</if>
<if test="materialId != null ">and mpp.material_id = #{materialId}</if>
<if test="materialBomId != null ">and mpp.material_bom_id = #{materialBomId}</if>
<if test="processId != null ">and mpp.process_id = #{processId}</if>
<if test="processOrder != null ">and mpp.process_order = #{processOrder}</if>
<if test="lastProcessId != null ">and mpp.last_process_id = #{lastProcessId}</if>
<if test="stationId != null ">and mpp.station_id = #{stationId}</if>
<if test="userId != null ">and mpp.user_id = #{userId}</if>
<if test="productionTime != null ">and mpp.production_time = #{productionTime}</if>
<if test="planAmount != null ">and mpp.plan_amount = #{planAmount}</if>
<if test="completeAmount != null ">and mpp.complete_amount = #{completeAmount}</if>
<if test="planBeginTime != null ">and mpp.plan_begin_time = #{planBeginTime}</if>
<if test="planEndTime != null ">and mpp.plan_end_time = #{planEndTime}</if>
<if test="realBeginTime != null ">and mpp.real_begin_time = #{realBeginTime}</if>
<if test="realEndTime != null ">and mpp.real_end_time = #{realEndTime}</if>
<if test="attachId != null and attachId != ''">and mpp.attach_id = #{attachId}</if>
<if test="planStatus != null and planStatus != ''">and mpp.plan_status = #{planStatus}</if>
<if test="isFlag != null and isFlag != ''">and mpp.is_flag = #{isFlag}</if>
</where>
</select>
@ -258,27 +297,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<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=",">
( #{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>
</insert>
<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,
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,
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,
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
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

@ -41,8 +41,76 @@
<artifactId>spring-boot-starter-actuator</artifactId>
</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>
<finalName>${project.artifactId}</finalName>
<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 Application Name: ${spring.application.name}
_ _
(_) | |
_ __ _ _ ___ _ _ _ ______ ___ _ _ ___ | |_ ___ _ __ ___
| '__|| | | | / _ \ | | | || ||______|/ __|| | | |/ __|| __| / _ \| '_ ` _ \
| | | |_| || (_) || |_| || | \__ \| |_| |\__ \| |_ | __/| | | | | |
|_| \__,_| \___/ \__, ||_| |___/ \__, ||___/ \__| \___||_| |_| |_|
__/ | __/ |
|___/ |___/
/ __ ___ __ ( ) __ __ ___ ___ __
// ) ) // / / / / ____ // ) ) // ) ) / / // ) ) / / //___) ) // ) )
// / / // / / / / //___/ / // / / // / / / / // //
// / / ((__( (__/ / // // / / // / / / / ((____ //

@ -4,6 +4,7 @@ import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.hw.system.api.domain.common.WfProcessActivity;
import oracle.jdbc.proxy.annotation.Post;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -102,4 +103,12 @@ public class WfProcessActivityController extends BaseController
{
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
*/
public int deleteWfProcessActivityAuthByProcessActivityId(Long processActivityId);
Long selectProcessActivityIdByWfProcessId(Long wfProcessId);
}

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

@ -138,6 +138,11 @@ public class WfProcessActivityServiceImpl implements IWfProcessActivityService
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})
</foreach>
</insert>
<select id="selectProcessActivityIdByWfProcessId" parameterType="Long" resultType="Long">
select min(process_activity_id) from wf_process_activity where wf_process_id = #{wfProcessId}
</select>
</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'
})
}
// 打印条码
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) {
return request({
url: '/mes/productOrder/productOrderRecall',
url: '/mes/productplan/productOrderRecall',
method: 'post',
data: data
})
@ -77,3 +77,11 @@ export function delProductOrder(productOrderId) {
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.isShow = true;

@ -264,7 +264,7 @@ export const dynamicRoutes = [
path: "index/:repairInstanceId(\\d+)",
component: () => import("@/views/dms/repairInstanceActivity/index"),
name: "childInstanceUpdate",
meta: { title: "工单审批", activeMenu: "/repairInstanceActivity" },
meta: { title: "工单处理", activeMenu: "/repairInstanceActivity" },
},
],
},
@ -323,7 +323,7 @@ export const dynamicRoutes = [
path: "index/:inspectInstanceId(\\d+)",
component: () => import("@/views/dms/dmsBillsInspectActivity/index"),
name: "childDmsBillsInspectActivity",
meta: { title: "工单审批", activeMenu: "/dmsBillsInspectActivity" },
meta: { title: "工单处理", activeMenu: "/dmsBillsInspectActivity" },
},
],
},
@ -339,7 +339,7 @@ export const dynamicRoutes = [
path: "index/:inspectInstanceId(\\d+)",
component: () => import("@/views/dms/dmsBillsInspectActivity/index"),
name: "selectDmsBillsInspectActivity",
meta: { title: "工单审批", activeMenu: "/dmsBillsInspectActivity" },
meta: { title: "工单处理", activeMenu: "/dmsBillsInspectActivity" },
},
],
},
@ -354,7 +354,7 @@ export const dynamicRoutes = [
path: "index/:lubeInstanceId(\\d+)",
component: () => import("@/views/dms/dmsBillsLubeInstanceActivity/index"),
name: "childDmsBillsLubeInstanceActivity",
meta: { title: "工单审批", activeMenu: "/dmsBillsLubeInstanceActivity" },
meta: { title: "工单处理", activeMenu: "/dmsBillsLubeInstanceActivity" },
},
],
},
@ -369,7 +369,7 @@ export const dynamicRoutes = [
path: "index/:lubeInstanceId(\\d+)",
component: () => import("@/views/dms/dmsBillsLubeInstanceActivity/index"),
name: "selectChildDmsBillsLubeInstanceActivity",
meta: { title: "工单审批", activeMenu: "/dmsBillsLubeInstanceActivity" },
meta: { title: "工单处理", activeMenu: "/dmsBillsLubeInstanceActivity" },
},
],
},
@ -384,7 +384,22 @@ export const dynamicRoutes = [
path: "index/:repairInstanceId(\\d+)",
component: () => import("@/views/dms/activity/index"),
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>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="报修来源ID根据报修来源类型关联来源主键" prop="faultSourceId">
<el-input
v-model="queryParams.faultSourceId"
placeholder="请输入报修来源ID根据报修来源类型关联来源主键"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工单流程ID关联wf_process的wf_process_id" prop="wfProcessId">
<el-input
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 label="报修来源" prop="faultSourceId">
<el-select @change="change" v-model="queryParams.faultSourceType" placeholder="报修来源类型" >
<el-option
v-for="item in dict.type.dms_fault_source_type"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<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>
@ -90,17 +30,17 @@
v-hasPermi="['dms:dmsBillsFaultInstance:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['dms:dmsBillsFaultInstance:edit']"
>修改</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="success"-->
<!-- plain-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['dms:dmsBillsFaultInstance:edit']"-->
<!-- >修改</el-button>-->
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="danger"
@ -210,6 +150,17 @@
<!-- 添加或修改检修工单对话框 -->
<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-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-select @change="change" v-model="form.faultSourceType" placeholder="报修来源类型" >
<el-option
@ -338,7 +289,7 @@
</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-input v-model="form.designOperations" placeholder="涉及操作" />
</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-radio-group v-model="form.repairType">
<el-radio
@change="changeOut"
v-for="dict in dict.type.dms_repair_type"
v-for="dict in dict.type.dms_fault_repair_type"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
@ -391,6 +332,24 @@
</el-option>
</el-select>
</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>
<div slot="footer" class="dialog-footer">
<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 { listLedger } from '@/api/dms/ledger'
import { listDmsInfo } from '@/api/dms/dmsInfo'
import { getToken } from '@/utils/auth'
export default {
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() {
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,
isShow2:false,
isShow3:false,
isShow9:false,
isShowOut:false,
imgAddress:"",
//
dmsInfoList:[],
//
@ -454,7 +435,7 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
faultSourceType: 1,
faultSourceType: null,
faultSourceId: null,
wfProcessId: null,
billsFaultCode: null,
@ -499,6 +480,55 @@ export default {
this.getoutsrcId();
},
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){
this.$router.push('/dms/activity/index/'+row.repairInstanceId)
},
@ -620,6 +650,7 @@ export default {
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams.faultSourceType = null;
this.handleQuery();
},
//
@ -631,8 +662,10 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.fileListShow = [];
this.isShowOut = false;
this.open = true;
this.title = "添加检修工单";
this.title = "添加修工单";
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -640,8 +673,9 @@ export default {
const repairInstanceId = row.repairInstanceId || this.ids
getDmsBillsFaultInstance(repairInstanceId).then(response => {
this.form = response.data;
this.fileListShow = response.data.sysFiles
this.open = true;
this.title = "修改修工单";
this.title = "修改修工单";
});
},
/** 提交按钮 */
@ -657,6 +691,8 @@ export default {
} else {
this.form.wfProcessId = 102;
this.form.isFlag = 1;
this.form.imgUrl = this.imgAddress;
alert(this.imgAddress)
addDmsBillsFaultInstance(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;

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

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

Loading…
Cancel
Save