From 67ff8bd1223a488542f2504db84f68d17846d149 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 25 九月 2024 15:48:19 +0800 Subject: [PATCH] 代码初始化 --- server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 50 +++ server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java | 6 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java | 13 server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/SavePlatformWarnEventDTO.java | 32 ++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java | 1 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java | 20 + server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java | 26 + server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java | 2 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWarnEventCloudController.java | 90 +++++ server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWarnEvent.java | 75 ++++ server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/WmsJobContractVO.java | 29 + server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java | 16 server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java | 14 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java | 11 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java | 23 + server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 134 +++++++ server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitPark.java | 12 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java | 13 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWarnEventService.java | 101 ++++++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWarnEventServiceImpl.java | 185 +++++++++++ server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWmsJobCloudController.java | 5 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWarnEventMapper.java | 12 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java | 47 ++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWmsJobService.java | 3 24 files changed, 879 insertions(+), 41 deletions(-) diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java index 472077e..5e3d67b 100644 --- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java +++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java @@ -44,6 +44,7 @@ public static final String HK_ROOTORG_CODE ="HK_ROOTORG_CODE" ; public static final String HK_ROOTORG_NAME ="HK_ROOTORG_NAME" ; public static final String PLATFORM ="PLATFORM" ; + public static final String POWER_MINUTE ="POWER_MINUTE" ; public static final String RESERVATION_TOTAL_NUM ="RESERVATION_TOTAL_NUM" ; public static final String SIGN_IN_PLACE_LAT ="SIGN_IN_PLACE_LAT" ; public static final String SIGN_IN_PLACE_LNT ="SIGN_IN_PLACE_LNT" ; @@ -745,6 +746,55 @@ } + public enum PlatformWarnEvent { + STOP_TIMEOUT(0, "鍋滈潬瓒呮椂","${carCode}鏈堝彴鍋滈潬瓒呮椂" ), + STOP_ERROR(1, "鍋滈潬閿欒","${carCode}鏈堝彴鍋滈潬閿欒" ); + + // 鎴愬憳鍙橀噺 + private int key; + private String name; + private String info; + + // 鏋勯�犳柟娉� + PlatformWarnEvent(int key, String name,String info ) { + this.key = key; + this.info = info; + this.name = name; + } + public static String getName(int index) { + for (PlatformWarnEvent c : PlatformWarnEvent.values()) { + if (c.getKey() == index) { + return c.name; + } + } + return null; + } + + public int getKey() { + return key; + } + + public void setKey(int key) { + this.key = key; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getInfo() { + return info; + } + + public void setInfo(String info) { + this.info = info; + } + } + /** * 鏈堝彴浣滀笟 鐘舵�� diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java index fbd64de..18b274a 100644 --- a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java +++ b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java @@ -1229,6 +1229,20 @@ } /** + * 寰楀埌X鍒嗛挓鍚庣殑鏃堕棿(鏃堕棿鏍煎紡) + * + * @param date + * @param minute + * @return + */ + public static Date getXMinuteAfterDate(Date date, int minute) { + Calendar now = Calendar.getInstance(); + now.setTime(date); + now.set(Calendar.MINUTE, now.get(Calendar.MINUTE) + minute); + return now.getTime(); + } + + /** * 寰楀埌涓や釜鏃ユ湡涔嬮棿鐩稿樊鐨勫ぉ鏁� * * @param newDate diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java index 0b34061..150a642 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java @@ -164,7 +164,8 @@ @PostMapping("/platformInPark") public ApiResponse platformInPark (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { jobOperateDTO.setLoginUserInfo(getLoginUser(token)); - platformJobService.platformInPark(jobOperateDTO); + PlatformJob platformJob = platformJobService.platformInPark(jobOperateDTO); + platformJobService.sendInPark(platformJob); return ApiResponse.success("鎿嶄綔鎴愬姛"); } @@ -172,7 +173,11 @@ @PostMapping("/platformCallNumber") public ApiResponse platformCallNumber (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { jobOperateDTO.setLoginUserInfo(getLoginUser(token)); - platformJobService.platformCallNumber(jobOperateDTO); + PlatformJob oldPlatformJob = platformJobService.findById(jobOperateDTO.getJobId()); + PlatformJob platformJob = platformJobService.platformCallNumber(jobOperateDTO); + if(Constants.equalsInteger(oldPlatformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){ + platformJobService.sendInPark(platformJob); + } return ApiResponse.success("鎿嶄綔鎴愬姛"); } @@ -205,7 +210,8 @@ @PostMapping("/beginWork") public ApiResponse beginWork (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { jobOperateDTO.setLoginUserInfo(getLoginUser(token)); - platformJobService.beginWork(jobOperateDTO); + PlatformJob platformJob = platformJobService.beginWork(jobOperateDTO); + platformJobService.cancelInPark(platformJob); return ApiResponse.success("鎿嶄綔鎴愬姛"); } @@ -214,7 +220,9 @@ @PostMapping("/finishWork") public ApiResponse finishWork (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { jobOperateDTO.setLoginUserInfo(getLoginUser(token)); - platformJobService.finishWork(jobOperateDTO); + PlatformJob platformJob = platformJobService.finishWork(jobOperateDTO); + //涓嬪彂绂诲洯鏉冮檺 + platformJobService.sendInPark(platformJob); return ApiResponse.success("鎿嶄綔鎴愬姛"); } diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWarnEventCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWarnEventCloudController.java new file mode 100644 index 0000000..d91afa6 --- /dev/null +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWarnEventCloudController.java @@ -0,0 +1,90 @@ +package com.doumee.cloud.admin; + +import com.doumee.api.BaseController; +import com.doumee.core.annotation.excel.ExcelExporter; +import com.doumee.core.annotation.pr.PreventRepeat; +import com.doumee.core.model.ApiResponse; +import com.doumee.core.model.PageWrap; +import com.doumee.core.model.PageData; +import com.doumee.dao.business.model.PlatformWarnEvent; +import com.doumee.service.business.PlatformWarnEventService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author 姹熻箘韫� + * @date 2024/09/25 09:41 + */ +@Api(tags = "鏈堝彴棰勮淇℃伅") +@RestController +@RequestMapping("/business/platformWarnEvent") +public class PlatformWarnEventCloudController extends BaseController { + + @Autowired + private PlatformWarnEventService platformWarnEventService; + + @PreventRepeat + @ApiOperation("鏂板缓") + @PostMapping("/create") + @RequiresPermissions("business:platformwarnevent:create") + public ApiResponse create(@RequestBody PlatformWarnEvent platformWarnEvent) { + return ApiResponse.success(platformWarnEventService.create(platformWarnEvent)); + } + + @ApiOperation("鏍规嵁ID鍒犻櫎") + @GetMapping("/delete/{id}") + @RequiresPermissions("business:platformwarnevent:delete") + public ApiResponse deleteById(@PathVariable Integer id) { + platformWarnEventService.deleteById(id); + return ApiResponse.success(null); + } + + @ApiOperation("鎵归噺鍒犻櫎") + @GetMapping("/delete/batch") + @RequiresPermissions("business:platformwarnevent:delete") + public ApiResponse deleteByIdInBatch(@RequestParam String ids) { + String [] idArray = ids.split(","); + List<Integer> idList = new ArrayList<>(); + for (String id : idArray) { + idList.add(Integer.valueOf(id)); + } + platformWarnEventService.deleteByIdInBatch(idList); + return ApiResponse.success(null); + } + + @ApiOperation("鏍规嵁ID淇敼") + @PostMapping("/updateById") + @RequiresPermissions("business:platformwarnevent:update") + public ApiResponse updateById(@RequestBody PlatformWarnEvent platformWarnEvent) { + platformWarnEventService.updateById(platformWarnEvent); + return ApiResponse.success(null); + } + + @ApiOperation("鍒嗛〉鏌ヨ") + @PostMapping("/page") + @RequiresPermissions("business:platformwarnevent:query") + public ApiResponse<PageData<PlatformWarnEvent>> findPage (@RequestBody PageWrap<PlatformWarnEvent> pageWrap) { + return ApiResponse.success(platformWarnEventService.findPage(pageWrap)); + } + + @ApiOperation("瀵煎嚭Excel") + @PostMapping("/exportExcel") + @RequiresPermissions("business:platformwarnevent:exportExcel") + public void exportExcel (@RequestBody PageWrap<PlatformWarnEvent> pageWrap, HttpServletResponse response) { + ExcelExporter.build(PlatformWarnEvent.class).export(platformWarnEventService.findPage(pageWrap).getRecords(), "鏈堝彴棰勮淇℃伅", response); + } + + @ApiOperation("鏍规嵁ID鏌ヨ") + @GetMapping("/{id}") + @RequiresPermissions("business:platformwarnevent:query") + public ApiResponse findById(@PathVariable Integer id) { + return ApiResponse.success(platformWarnEventService.findById(id)); + } +} diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWmsJobCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWmsJobCloudController.java index 03d84cf..ef332b8 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWmsJobCloudController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWmsJobCloudController.java @@ -84,8 +84,7 @@ @ApiOperation("鏍规嵁ID鏌ヨ") @GetMapping("/{id}") - @RequiresPermissions("business:platformwmsjob:query") - public ApiResponse findById(@PathVariable Integer id) { - return ApiResponse.success(platformWmsJobService.findById(id)); + public ApiResponse<PlatformWmsJob> findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + return ApiResponse.success(platformWmsJobService.findByDetailId(id)); } } diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java index b87d935..e9c0ba9 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java @@ -56,6 +56,9 @@ @Autowired private PlatformReasonService platformReasonService; + @Autowired + private PlatformWmsJobService platformWmsJobService; + @ApiOperation("鍏ュ洯鍘熷洜") @@ -149,4 +152,12 @@ return ApiResponse.success(platformJobService.lineUpDetail(lineUpDetailDTO)); } + + @ApiOperation("WMS杩愯緭鍗曡鎯�") + @GetMapping("/wmsJobDetail") + public ApiResponse<PlatformWmsJob> wmsJobDetail(@RequestParam Integer id) { + return ApiResponse.success(platformWmsJobService.findByDetailId(id)); + } + + } diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java index 8be5af1..73ca495 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java @@ -55,6 +55,9 @@ @Autowired private PlatformService platformService; + @Autowired + private PlatformWmsJobService platformWmsJobService; + @ApiOperation("鑾峰彇鏈堝彴缁勪俊鎭�") @PostMapping("/getPlatformGroupList") public ApiResponse<List<PlatformGroup>> getPlatformGroupList (@RequestBody PlatformDataDTO platformDataDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ @@ -100,7 +103,8 @@ @PostMapping("/platformInPark") public ApiResponse platformInPark (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { jobOperateDTO.setLoginUserInfo(getLoginUser(token)); - platformJobService.platformInPark(jobOperateDTO); + PlatformJob platformJob = platformJobService.platformInPark(jobOperateDTO); + platformJobService.sendInPark(platformJob); return ApiResponse.success("鎿嶄綔鎴愬姛"); } @@ -108,7 +112,11 @@ @PostMapping("/platformCallNumber") public ApiResponse platformCallNumber (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { jobOperateDTO.setLoginUserInfo(getLoginUser(token)); - platformJobService.platformCallNumber(jobOperateDTO); + PlatformJob oldPlatformJob = platformJobService.findById(jobOperateDTO.getJobId()); + PlatformJob platformJob = platformJobService.platformCallNumber(jobOperateDTO); + if(Constants.equalsInteger(oldPlatformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){ + platformJobService.sendInPark(platformJob); + } return ApiResponse.success("鎿嶄綔鎴愬姛"); } @@ -141,7 +149,8 @@ @PostMapping("/beginWork") public ApiResponse beginWork (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { jobOperateDTO.setLoginUserInfo(getLoginUser(token)); - platformJobService.beginWork(jobOperateDTO); + PlatformJob platformJob = platformJobService.beginWork(jobOperateDTO); + platformJobService.cancelInPark(platformJob); return ApiResponse.success("鎿嶄綔鎴愬姛"); } @@ -150,9 +159,18 @@ @PostMapping("/finishWork") public ApiResponse finishWork (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { jobOperateDTO.setLoginUserInfo(getLoginUser(token)); - platformJobService.finishWork(jobOperateDTO); + PlatformJob platformJob = platformJobService.finishWork(jobOperateDTO); + //涓嬪彂绂诲洯鏉冮檺 + platformJobService.sendInPark(platformJob); return ApiResponse.success("鎿嶄綔鎴愬姛"); } + @ApiOperation("WMS杩愯緭鍗曡鎯�") + @GetMapping("/wmsJobDetail") + public ApiResponse<PlatformWmsJob> wmsJobDetail(@RequestParam Integer id) { + return ApiResponse.success(platformWmsJobService.findByDetailId(id)); + } + + } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWarnEventMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWarnEventMapper.java new file mode 100644 index 0000000..3180246 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWarnEventMapper.java @@ -0,0 +1,12 @@ +package com.doumee.dao.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.doumee.dao.business.model.PlatformWarnEvent; + +/** + * @author 姹熻箘韫� + * @date 2024/09/25 09:41 + */ +public interface PlatformWarnEventMapper extends BaseMapper<PlatformWarnEvent> { + +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java index f91e1ab..2574f93 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java @@ -12,6 +12,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; + import java.util.Date; import java.math.BigDecimal; import java.util.List; @@ -188,10 +190,14 @@ private String workCarCode; @ApiModelProperty(value = "寮�濮嬫椂闂� yyyy-MM-dd", example = "1") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") @TableField(exist = false) private Date queryDateStart; @ApiModelProperty(value = "缁撴潫鏃堕棿 yyyy-MM-dd", example = "1") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") @TableField(exist = false) private Date queryDateEnd; diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWarnEvent.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWarnEvent.java new file mode 100644 index 0000000..143c80b --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWarnEvent.java @@ -0,0 +1,75 @@ +package com.doumee.dao.business.model; + +import com.doumee.core.annotation.excel.ExcelColumn; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; + +/** + * 鏈堝彴棰勮淇℃伅 + * @author 姹熻箘韫� + * @date 2024/09/25 09:41 + */ +@Data +@ApiModel("鏈堝彴棰勮淇℃伅") +@TableName("`platform_warn_event`") +public class PlatformWarnEvent { + + @ApiModelProperty(value = "涓婚敭", example = "1") + @ExcelColumn(name="涓婚敭") + private Integer id; + + @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1") + @ExcelColumn(name="鍒涘缓浜虹紪鐮�") + private Integer creator; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @ExcelColumn(name="鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date createDate; + + @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1") + @ExcelColumn(name="鏇存柊浜虹紪鐮�") + private Integer editor; + + @ApiModelProperty(value = "鏇存柊鏃堕棿") + @ExcelColumn(name="鏇存柊鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date editDate; + + @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1") + @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�") + private Integer isdeleted; + + @ApiModelProperty(value = "澶囨敞") + @ExcelColumn(name="澶囨敞") + private String remark; + + @ApiModelProperty(value = "鏈堝彴涓婚敭", example = "1") + @ExcelColumn(name="鏈堝彴涓婚敭") + private Integer platformId; + + @ApiModelProperty(value = "棰勮鏍囬") + @ExcelColumn(name="棰勮鏍囬") + private String title; + + @ApiModelProperty(value = "杞︾墝鍙�") + @ExcelColumn(name="杞︾墝鍙�") + private String carCode; + + @ApiModelProperty(value = "浜嬩欢鍐呭") + @ExcelColumn(name="浜嬩欢鍐呭") + private String eventContent; + + @ApiModelProperty(value = "浠诲姟涓婚敭", example = "1") + @ExcelColumn(name="浠诲姟涓婚敭") + private Integer platformJobId; + + @ApiModelProperty(value = "棰勮绫诲瀷 0 = 浣滀笟瓒呮椂 锛�1=鍋滈潬閿欒", example = "1") + @ExcelColumn(name="棰勮绫诲瀷 0 = 浣滀笟瓒呮椂 锛�1=鍋滈潬閿欒") + private Integer eventType; + +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java index f3b22db..d85176d 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; +import com.doumee.dao.business.vo.WmsJobContractVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import com.baomidou.mybatisplus.annotation.IdType; @@ -9,6 +10,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; + +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -109,11 +112,21 @@ @ApiModelProperty(value = "鍚堝悓鍙穈") @ExcelColumn(name="鍚堝悓鍙穈") private String contractNum; + @ApiModelProperty(value = "鏄惁鏂版暟鎹甡") @TableField(exist = false) private int isNew; + @ApiModelProperty(value = "鎬绘暟閲�") + @TableField(exist = false) + private BigDecimal ioQty; + + @ApiModelProperty(value = "鏈堝彴_WMS浣滀笟閫氱煡鍗曟槑缁�") @TableField(exist = false) private List<PlatformWmsDetail> platformWmsDetailList; + + @ApiModelProperty(value = "鍚堝悓鍒楄〃") + @TableField(exist = false) + private List<WmsJobContractVO> wmsJobContractVOList; } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitPark.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitPark.java index 4a62ca8..ed90548 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitPark.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitPark.java @@ -67,12 +67,12 @@ @ExcelColumn(name="杞︾墝鍙�") private String carCode; - @ApiModelProperty(value = "娴峰悍鏍囪瘑", example = "1") + @ApiModelProperty(value = "娴峰悍鏍囪瘑 棰勭害鏍囪瘑 reserveOrderNo", example = "1") @ExcelColumn(name="娴峰悍鏍囪瘑") - private Integer hkId; + private String hkId; - @ApiModelProperty(value = "娴峰悍鍚屾鐘舵�� 0鏈悓姝� 1宸插悓姝� 2鍚屾澶辫触", example = "1") - @ExcelColumn(name="娴峰悍鍚屾鐘舵�� 0鏈悓姝� 1宸插悓姝� 2鍚屾澶辫触") + @ApiModelProperty(value = "娴峰悍鍚屾鐘舵�� 0鏈悓姝� 1宸插悓姝� 2鍚屾澶辫触 3宸插彇娑�", example = "1") + @ExcelColumn(name="娴峰悍鍚屾鐘舵�� 0鏈悓姝� 1宸插悓姝� 2鍚屾澶辫触 3宸插彇娑�") private Integer hkStatus; @ApiModelProperty(value = "娴峰悍鏈�杩戝悓姝ユ椂闂�") @@ -91,6 +91,10 @@ @ExcelColumn(name="鍋滆溅搴撴捣搴风紪鐮�") private String parkHkId; + @ApiModelProperty(value = "涓氬姟绫诲瀷锛�0=璁垮鎶ュ锛�1=鏈堝彴鐗╂祦杞�", example = "1") + @ExcelColumn(name="涓氬姟绫诲瀷锛�0=璁垮鎶ュ锛�1=鏈堝彴鐗╂祦杞�") + private Integer objType; + @ApiModelProperty(value = "鍋滆溅鍦哄悕绉�", example = "1") @TableField(exist = false) private String parksName; diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/WmsJobContractVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/WmsJobContractVO.java new file mode 100644 index 0000000..d42123f --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/WmsJobContractVO.java @@ -0,0 +1,29 @@ +package com.doumee.dao.business.vo; + +import com.doumee.dao.business.model.Approve; +import com.doumee.dao.business.model.Platform; +import com.doumee.dao.business.model.PlatformWmsDetail; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Created by IntelliJ IDEA. + * + * @Author : Rk + * @create 2024/5/23 14:56 + */ +@Data +public class WmsJobContractVO { + + @ApiModelProperty(value = "鍚堝悓鍙�") + private String contractCode; + + @ApiModelProperty(value = "鏀惰揣鍦�") + private String address; + + @ApiModelProperty(value = "鏄庣粏淇℃伅") + private List<PlatformWmsDetail> platformWmsDetailList; + +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/SavePlatformWarnEventDTO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/SavePlatformWarnEventDTO.java new file mode 100644 index 0000000..804f323 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/SavePlatformWarnEventDTO.java @@ -0,0 +1,32 @@ +package com.doumee.dao.web.reqeust; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.doumee.core.annotation.excel.ExcelColumn; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * 鏈堝彴棰勮淇℃伅 + * @author 姹熻箘韫� + * @date 2024/09/25 09:41 + */ +@Data +public class SavePlatformWarnEventDTO { + + @ApiModelProperty(value = "鏈堝彴涓婚敭", example = "1") + private Integer platformId; + + @ApiModelProperty(value = "杞︾墝鍙�") + private String carCode; + + @ApiModelProperty(value = "浠诲姟涓婚敭", example = "1") + private Integer platformJobId; + + @ApiModelProperty(value = "棰勮绫诲瀷 0 = 浣滀笟瓒呮椂 锛�1=鍋滈潬閿欒", example = "1") + private Integer eventType; + +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java index d82cd9f..0100842 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java @@ -137,13 +137,25 @@ * 閫氱煡鍏ュ洯 * @param jobOperateDTO */ - void platformInPark(JobOperateDTO jobOperateDTO); + PlatformJob platformInPark(JobOperateDTO jobOperateDTO); + + /** + * 涓嬪彂鍏ュ洯鏉冮檺 + * @param platformJob + */ + void sendInPark(PlatformJob platformJob); + + /** + * 鍙栨秷鍏ュ洯鏉冮檺 + * @param platformJob + */ + void cancelInPark(PlatformJob platformJob); /** * 鏈堝彴鍙彿 * @param jobOperateDTO */ - void platformCallNumber(JobOperateDTO jobOperateDTO); + PlatformJob platformCallNumber(JobOperateDTO jobOperateDTO); /** * 杞Щ鏈堝彴 @@ -167,7 +179,7 @@ * 鎵嬪姩寮�濮嬩綔涓� * @param jobOperateDTO */ - void beginWork(JobOperateDTO jobOperateDTO); + PlatformJob beginWork(JobOperateDTO jobOperateDTO); /** * 鏈堝彴鐩告満 寮�濮嬩綔涓� @@ -179,7 +191,7 @@ * 瀹屾垚浣滀笟 * @param jobOperateDTO */ - void finishWork(JobOperateDTO jobOperateDTO); + PlatformJob finishWork(JobOperateDTO jobOperateDTO); /** * 鎵嬪姩鎺堟潈杞﹁締绂诲満 diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWarnEventService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWarnEventService.java new file mode 100644 index 0000000..4c917e9 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWarnEventService.java @@ -0,0 +1,101 @@ +package com.doumee.service.business; + +import com.doumee.core.model.PageData; +import com.doumee.core.model.PageWrap; +import com.doumee.dao.business.model.PlatformWarnEvent; +import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO; + +import java.util.List; + +/** + * 鏈堝彴棰勮淇℃伅Service瀹氫箟 + * @author 姹熻箘韫� + * @date 2024/09/25 09:41 + */ +public interface PlatformWarnEventService { + + /** + * 鍒涘缓 + * + * @param platformWarnEvent 瀹炰綋瀵硅薄 + * @return Integer + */ + Integer create(PlatformWarnEvent platformWarnEvent); + + /** + * 涓婚敭鍒犻櫎 + * + * @param id 涓婚敭 + */ + void deleteById(Integer id); + + /** + * 鍒犻櫎 + * + * @param platformWarnEvent 瀹炰綋瀵硅薄 + */ + void delete(PlatformWarnEvent platformWarnEvent); + + /** + * 鎵归噺涓婚敭鍒犻櫎 + * + * @param ids 涓婚敭闆� + */ + void deleteByIdInBatch(List<Integer> ids); + + /** + * 涓婚敭鏇存柊 + * + * @param platformWarnEvent 瀹炰綋瀵硅薄 + */ + void updateById(PlatformWarnEvent platformWarnEvent); + + /** + * 鎵归噺涓婚敭鏇存柊 + * + * @param platformWarnEvents 瀹炰綋闆� + */ + void updateByIdInBatch(List<PlatformWarnEvent> platformWarnEvents); + + /** + * 涓婚敭鏌ヨ + * + * @param id 涓婚敭 + * @return PlatformWarnEvent + */ + PlatformWarnEvent findById(Integer id); + + /** + * 鏉′欢鏌ヨ鍗曟潯璁板綍 + * + * @param platformWarnEvent 瀹炰綋瀵硅薄 + * @return PlatformWarnEvent + */ + PlatformWarnEvent findOne(PlatformWarnEvent platformWarnEvent); + + /** + * 鏉′欢鏌ヨ + * + * @param platformWarnEvent 瀹炰綋瀵硅薄 + * @return List<PlatformWarnEvent> + */ + List<PlatformWarnEvent> findList(PlatformWarnEvent platformWarnEvent); + + /** + * 鍒嗛〉鏌ヨ + * + * @param pageWrap 鍒嗛〉瀵硅薄 + * @return PageData<PlatformWarnEvent> + */ + PageData<PlatformWarnEvent> findPage(PageWrap<PlatformWarnEvent> pageWrap); + + /** + * 鏉′欢缁熻 + * + * @param platformWarnEvent 瀹炰綋瀵硅薄 + * @return long + */ + long count(PlatformWarnEvent platformWarnEvent); + + void savePlatformWarnEvent(SavePlatformWarnEventDTO savePlatformWarnEventDTO); +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWmsJobService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWmsJobService.java index c2b5330..e1b7fcd 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWmsJobService.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWmsJobService.java @@ -94,4 +94,7 @@ * @return long */ long count(PlatformWmsJob platformWmsJob); + + PlatformWmsJob findByDetailId(Integer id); + } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java index 3d112dd..0d6f813 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java @@ -7,6 +7,8 @@ import com.doumee.core.haikang.model.HKConstants; import com.doumee.core.haikang.model.param.BaseResponse; import com.doumee.core.haikang.model.param.request.CarChargeAddRequest; +import com.doumee.core.haikang.model.param.request.ParkReservationAddRequest; +import com.doumee.core.haikang.model.param.respose.ParkReservationAddResponse; import com.doumee.core.haikang.service.HKService; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; @@ -1467,16 +1469,24 @@ visitPark.setStartTime(visits.getStarttime()); visitPark.setEndTime(visits.getEndtime()); visitPark.setParkHkId(parks.getHkId()); + visitPark.setObjType(Constants.ZERO); - CarChargeAddRequest param = new CarChargeAddRequest(); - param.setPlateNo(visitPark.getCarCode()); - param.setParkSyscode(visitPark.getParkHkId()); - param.setStartTime(Objects.isNull(visitPark.getStartTime())?DateUtil.getDate(new Date(),"yyyy-MM-dd"):DateUtil.getShortTimeToNull(visitPark.getStartTime())); - param.setEndTime(Objects.isNull(visitPark.getEndTime())?"2999-12-31":DateUtil.getShortTimeToNull(visitPark.getEndTime())); - BaseResponse response = HKService.carChargeAddtion(param); + ParkReservationAddRequest request = new ParkReservationAddRequest(); + request.setPlateNo(visitPark.getCarCode()); + request.setParkSyscode(visitPark.getParkHkId()); + request.setPhoneNo(visits.getPhone()); + request.setOwner(visits.getName()); + request.setAllowTimes(Constants.ONE+""); + request.setIsCharge(Constants.ONE+""); + request.setStartTime(Objects.isNull(visitPark.getStartTime())?DateUtil.getISO8601Timestamp2(new Date()):DateUtil.getISO8601Timestamp2(visitPark.getStartTime())); + request.setEndTime(Objects.isNull(visitPark.getEndTime())?"2999-12-31T00:00:00+08:00":DateUtil.getISO8601Timestamp2(visitPark.getEndTime())); + BaseResponse response = HKService.parkReservationAddition(request); + visitPark.setHkDate(new Date()); if(response!=null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){ + ParkReservationAddResponse parkReservationAddResponse = (ParkReservationAddResponse) response.getData(); + visitPark.setHkId(parkReservationAddResponse.getReserveOrderNo()); visitPark.setHkStatus(Constants.ONE); visitPark.setRemark("鍖呮湡鎴愬姛"); }else{ @@ -1486,6 +1496,7 @@ sendStatus = false; } parkBookList.add(visitPark); + } visitParkMapper.insert(parkBookList); } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java index 11d0117..771f5c1 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java @@ -4,6 +4,13 @@ import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; +import com.doumee.core.haikang.model.HKConstants; +import com.doumee.core.haikang.model.param.BaseResponse; +import com.doumee.core.haikang.model.param.request.CarChargeAddRequest; +import com.doumee.core.haikang.model.param.request.ParkReservationAddRequest; +import com.doumee.core.haikang.model.param.request.ParkReservationDelRequest; +import com.doumee.core.haikang.model.param.respose.ParkReservationAddResponse; +import com.doumee.core.haikang.service.HKService; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; @@ -82,6 +89,12 @@ @Autowired private PlatformShowParamMapper platformShowParamMapper; + + @Autowired + private ParksMapper parksMapper; + + @Autowired + private VisitParkMapper visitParkMapper; @Override @@ -728,7 +741,7 @@ */ @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) - public void platformInPark(JobOperateDTO jobOperateDTO){ + public PlatformJob platformInPark(JobOperateDTO jobOperateDTO){ if(Objects.isNull(jobOperateDTO) || Objects.isNull(jobOperateDTO.getJobId()) || Objects.isNull(jobOperateDTO.getPlatformId())){ @@ -767,17 +780,110 @@ platformJob.setEditDate(new Date()); platformJobMapper.updateById(platformJob); - if(Constants.equalsInteger(platformJob.getType(),Constants.TWO) - || Constants.equalsInteger(platformJob.getType(),Constants.THREE) - || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){ - //TODO 涓嬪彂鍏ュ洯鏉冮檺 - - - } //瀛樺偍鎿嶄綔鏃ュ織 savePlatformLog(Constants.PlatformJobLogType.IN_WAIT.getKey(),oldPlatformJob,platformJob, Constants.PlatformJobLogType.IN_WAIT.getInfo()); + return platformJob; + } + + + @Override + public void sendInPark(PlatformJob platformJob){ + if(Constants.equalsInteger(platformJob.getType(),Constants.TWO) + || Constants.equalsInteger(platformJob.getType(),Constants.THREE) + || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){ + //鏌ヨ褰撳墠鍚敤鐨勫仠杞﹀満 + List<Parks> parksList = parksMapper.selectList(new QueryWrapper<Parks>() + .lambda() + .isNotNull(Parks::getHkId) + .eq(Parks::getIsdeleted,Constants.ZERO)); + List<VisitPark> visitParkList = new ArrayList<>(); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(parksList)){ + Boolean sendStatus = true; + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(parksList)){ + for (Parks parks:parksList) { + VisitPark visitPark = new VisitPark(); + visitPark.setIsdeleted(Constants.ZERO); + visitPark.setCreateDate(new Date()); + visitPark.setVisitApplyId(platformJob.getId().toString()); + visitPark.setCarCode(platformJob.getCarCodeFront()); + visitPark.setParkId(parks.getId().toString()); + visitPark.setStartTime(new Date()); + visitPark.setEndTime(DateUtil.getXMinuteAfterDate(visitPark.getStartTime(),Integer.valueOf(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.POWER_MINUTE).getCode()))); + visitPark.setParkHkId(parks.getHkId()); + visitPark.setObjType(Constants.ONE); + + ParkReservationAddRequest request = new ParkReservationAddRequest(); + request.setPlateNo(visitPark.getCarCode()); + request.setParkSyscode(visitPark.getParkHkId()); + request.setPhoneNo(platformJob.getDrivierPhone()); + request.setOwner(platformJob.getDriverName()); + request.setAllowTimes(Constants.ONE+""); + request.setIsCharge(Constants.ONE+""); + request.setStartTime(Objects.isNull(visitPark.getStartTime())?DateUtil.getISO8601Timestamp2(new Date()):DateUtil.getISO8601Timestamp2(visitPark.getStartTime())); + request.setEndTime(Objects.isNull(visitPark.getEndTime())?"2999-12-31T00:00:00+08:00":DateUtil.getISO8601Timestamp2(visitPark.getEndTime())); + BaseResponse response = HKService.parkReservationAddition(request); + + visitPark.setHkDate(new Date()); + if(response!=null + && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){ + ParkReservationAddResponse parkReservationAddResponse = (ParkReservationAddResponse) response.getData(); + visitPark.setHkId(parkReservationAddResponse.getReserveOrderNo()); + visitPark.setHkStatus(Constants.ONE); + visitPark.setRemark("鍖呮湡鎴愬姛"); + }else{ + visitPark.setHkStatus(Constants.TWO); + visitPark.setRemark("鍖呮湡澶辫触~"); + //涓嬪彂澶辫触 鏍囪涓讳笟鍔$姸鎬佷负涓嬪彂澶辫触 + sendStatus = false; + } + visitParkList.add(visitPark); + + } + visitParkMapper.insert(visitParkList); + platformJob.setInHkdate(new Date()); + if(sendStatus){ + platformJob.setInHkstatus(Constants.TWO); + }else{ + platformJob.setInHkstatus(Constants.THREE); + } + platformJobMapper.updateById(platformJob); + } + + } + } + } + + + @Override + public void cancelInPark(PlatformJob platformJob){ + if(Constants.equalsInteger(platformJob.getType(),Constants.TWO) + || Constants.equalsInteger(platformJob.getType(),Constants.THREE) + || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){ + + List<VisitPark> visitParkList = visitParkMapper.selectList(new QueryWrapper<VisitPark>().lambda() + .eq(VisitPark::getVisitApplyId,platformJob.getId()) + .eq(VisitPark::getObjType,Constants.ONE) + .eq(VisitPark::getHkStatus,Constants.ONE) + .isNotNull(VisitPark::getHkId) + .apply(" END_TIME > now() ") + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(visitParkList)){ + for (VisitPark visitPark:visitParkList) { + ParkReservationDelRequest param = new ParkReservationDelRequest(); + param.setReserveOrderNo(visitPark.getHkId()); + BaseResponse response = HKService.parkReservationDeletion(param); + if(response!=null + && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){ + visitPark.setHkStatus(Constants.THREE); + visitPark.setIsdeleted(Constants.ONE); + visitPark.setEditDate(new Date()); + visitParkMapper.updateById(visitPark); + } + } + } + } } /** @@ -785,7 +891,7 @@ */ @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) - public void platformCallNumber(JobOperateDTO jobOperateDTO){ + public PlatformJob platformCallNumber(JobOperateDTO jobOperateDTO){ if(Objects.isNull(jobOperateDTO) || Objects.isNull(jobOperateDTO.getJobId())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); @@ -836,6 +942,7 @@ //瀛樺偍鎿嶄綔鏃ュ織 savePlatformLog(Constants.PlatformJobLogType.CALLED.getKey(),oldPlatformJob,platformJob, Constants.PlatformJobLogType.CALLED.getInfo().replace("{data}",platform.getName())); + return platformJob; } @@ -958,7 +1065,7 @@ */ @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) - public void beginWork(JobOperateDTO jobOperateDTO){ + public PlatformJob beginWork(JobOperateDTO jobOperateDTO){ if(Objects.isNull(jobOperateDTO) || Objects.isNull(jobOperateDTO.getJobId())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); @@ -989,6 +1096,8 @@ //瀛樺偍鎿嶄綔鏃ュ織 savePlatformLog(Constants.PlatformJobLogType.WORKING.getKey(),oldPlatformJob,platformJob, Constants.PlatformJobLogType.WORKING.getInfo().replace("{data}",platform.getName())); + + return platformJob; } @@ -997,7 +1106,7 @@ */ @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) - public void finishWork(JobOperateDTO jobOperateDTO){ + public PlatformJob finishWork(JobOperateDTO jobOperateDTO){ if(Objects.isNull(jobOperateDTO) || Objects.isNull(jobOperateDTO.getJobId())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); @@ -1024,9 +1133,10 @@ //TODO 澶栧崗杞﹁璐� 鏌ヨTMS 鐢靛瓙閿佹儏鍐� }else if(Constants.equalsInteger(platformJob.getType(),Constants.ONE) || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){ - //TODO 澶栧崗杞﹀嵏璐� 鎴栬�� 甯傚叕鍙歌溅鍗歌揣 鍒欐牴鎹换鍔℃儏鍐佃繘琛屼笅鍙戠鍥潈闄� + //TODO 澶栧崗杞﹀嵏璐� 鎴栬�� 甯傚叕鍙歌溅鍗歌揣 鍒欐牴鎹换鍔℃儏鍐� } + return platformJob; } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java index 5ccb79f..6f2a9c0 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java @@ -342,7 +342,7 @@ .le(platform.getQueryDateEnd() != null, PlatformJob::getStartDate, Utils.Date.getEnd(platform.getQueryDateEnd())) ); //鏌ヨ2鏃ユ湡鐩稿樊澶╂暟 - Integer sumDays = DateUtil.daysBetweenDates(platform.getQueryDateStart(),platform.getQueryDateEnd()); + Integer sumDays = DateUtil.daysBetweenDates(platform.getQueryDateEnd(),platform.getQueryDateStart())+1; for (Platform bean:platformList) { List<PlatformJob> beanJobList = platformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),bean.getId())).collect(Collectors.toList()); bean.setStopCount(beanJobList.size()); diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWarnEventServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWarnEventServiceImpl.java new file mode 100644 index 0000000..ebab17e --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWarnEventServiceImpl.java @@ -0,0 +1,185 @@ +package com.doumee.service.business.impl; + +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; +import com.doumee.core.model.PageData; +import com.doumee.core.model.PageWrap; +import com.doumee.core.utils.Constants; +import com.doumee.core.utils.Utils; +import com.doumee.dao.business.PlatformWarnEventMapper; +import com.doumee.dao.business.model.PlatformWarnEvent; +import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO; +import com.doumee.service.business.PlatformWarnEventService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 鏈堝彴棰勮淇℃伅Service瀹炵幇 + * @author 姹熻箘韫� + * @date 2024/09/25 09:41 + */ +@Service +public class PlatformWarnEventServiceImpl implements PlatformWarnEventService { + + @Autowired + private PlatformWarnEventMapper platformWarnEventMapper; + + @Override + public Integer create(PlatformWarnEvent platformWarnEvent) { + platformWarnEventMapper.insert(platformWarnEvent); + return platformWarnEvent.getId(); + } + + @Override + public void deleteById(Integer id) { + platformWarnEventMapper.deleteById(id); + } + + @Override + public void delete(PlatformWarnEvent platformWarnEvent) { + UpdateWrapper<PlatformWarnEvent> deleteWrapper = new UpdateWrapper<>(platformWarnEvent); + platformWarnEventMapper.delete(deleteWrapper); + } + + @Override + public void deleteByIdInBatch(List<Integer> ids) { + if (CollectionUtils.isEmpty(ids)) { + return; + } + platformWarnEventMapper.deleteBatchIds(ids); + } + + @Override + public void updateById(PlatformWarnEvent platformWarnEvent) { + platformWarnEventMapper.updateById(platformWarnEvent); + } + + @Override + public void updateByIdInBatch(List<PlatformWarnEvent> platformWarnEvents) { + if (CollectionUtils.isEmpty(platformWarnEvents)) { + return; + } + for (PlatformWarnEvent platformWarnEvent: platformWarnEvents) { + this.updateById(platformWarnEvent); + } + } + + @Override + public PlatformWarnEvent findById(Integer id) { + return platformWarnEventMapper.selectById(id); + } + + @Override + public PlatformWarnEvent findOne(PlatformWarnEvent platformWarnEvent) { + QueryWrapper<PlatformWarnEvent> wrapper = new QueryWrapper<>(platformWarnEvent); + return platformWarnEventMapper.selectOne(wrapper); + } + + @Override + public List<PlatformWarnEvent> findList(PlatformWarnEvent platformWarnEvent) { + QueryWrapper<PlatformWarnEvent> wrapper = new QueryWrapper<>(platformWarnEvent); + return platformWarnEventMapper.selectList(wrapper); + } + + @Override + public PageData<PlatformWarnEvent> findPage(PageWrap<PlatformWarnEvent> pageWrap) { + IPage<PlatformWarnEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); + QueryWrapper<PlatformWarnEvent> queryWrapper = new QueryWrapper<>(); + Utils.MP.blankToNull(pageWrap.getModel()); + if (pageWrap.getModel().getId() != null) { + queryWrapper.lambda().eq(PlatformWarnEvent::getId, pageWrap.getModel().getId()); + } + if (pageWrap.getModel().getCreator() != null) { + queryWrapper.lambda().eq(PlatformWarnEvent::getCreator, pageWrap.getModel().getCreator()); + } + if (pageWrap.getModel().getCreateDate() != null) { + queryWrapper.lambda().ge(PlatformWarnEvent::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); + queryWrapper.lambda().le(PlatformWarnEvent::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); + } + if (pageWrap.getModel().getEditor() != null) { + queryWrapper.lambda().eq(PlatformWarnEvent::getEditor, pageWrap.getModel().getEditor()); + } + if (pageWrap.getModel().getEditDate() != null) { + queryWrapper.lambda().ge(PlatformWarnEvent::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); + queryWrapper.lambda().le(PlatformWarnEvent::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); + } + if (pageWrap.getModel().getIsdeleted() != null) { + queryWrapper.lambda().eq(PlatformWarnEvent::getIsdeleted, pageWrap.getModel().getIsdeleted()); + } + if (pageWrap.getModel().getRemark() != null) { + queryWrapper.lambda().eq(PlatformWarnEvent::getRemark, pageWrap.getModel().getRemark()); + } + if (pageWrap.getModel().getPlatformId() != null) { + queryWrapper.lambda().eq(PlatformWarnEvent::getPlatformId, pageWrap.getModel().getPlatformId()); + } + if (pageWrap.getModel().getTitle() != null) { + queryWrapper.lambda().eq(PlatformWarnEvent::getTitle, pageWrap.getModel().getTitle()); + } + if (pageWrap.getModel().getCarCode() != null) { + queryWrapper.lambda().eq(PlatformWarnEvent::getCarCode, pageWrap.getModel().getCarCode()); + } + if (pageWrap.getModel().getEventContent() != null) { + queryWrapper.lambda().eq(PlatformWarnEvent::getEventContent, pageWrap.getModel().getEventContent()); + } + if (pageWrap.getModel().getPlatformJobId() != null) { + queryWrapper.lambda().eq(PlatformWarnEvent::getPlatformJobId, pageWrap.getModel().getPlatformJobId()); + } + if (pageWrap.getModel().getEventType() != null) { + queryWrapper.lambda().eq(PlatformWarnEvent::getEventType, pageWrap.getModel().getEventType()); + } + for(PageWrap.SortData sortData: pageWrap.getSorts()) { + if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { + queryWrapper.orderByDesc(sortData.getProperty()); + } else { + queryWrapper.orderByAsc(sortData.getProperty()); + } + } + return PageData.from(platformWarnEventMapper.selectPage(page, queryWrapper)); + } + + @Override + public long count(PlatformWarnEvent platformWarnEvent) { + QueryWrapper<PlatformWarnEvent> wrapper = new QueryWrapper<>(platformWarnEvent); + return platformWarnEventMapper.selectCount(wrapper); + } + + + @Override + public void savePlatformWarnEvent(SavePlatformWarnEventDTO savePlatformWarnEventDTO){ + if(Objects.isNull(savePlatformWarnEventDTO) + || Objects.isNull(savePlatformWarnEventDTO.getEventType()) + || StringUtils.isBlank(savePlatformWarnEventDTO.getCarCode()) + ){ + return; + } + PlatformWarnEvent platformWarnEvent = new PlatformWarnEvent(); + platformWarnEvent.setCreateDate(new Date()); + platformWarnEvent.setIsdeleted(Constants.ZERO); + platformWarnEvent.setPlatformId(savePlatformWarnEventDTO.getPlatformId()); + Constants.PlatformWarnEvent cPl = Constants.PlatformWarnEvent.STOP_TIMEOUT; + if(Constants.equalsInteger(savePlatformWarnEventDTO.getEventType(),Constants.ZERO)){ + if(Objects.isNull(savePlatformWarnEventDTO.getPlatformJobId())){ + return; + } + platformWarnEvent.setPlatformJobId(savePlatformWarnEventDTO.getPlatformJobId()); + }else if(Constants.equalsInteger(savePlatformWarnEventDTO.getEventType(),Constants.ONE)){ + cPl = Constants.PlatformWarnEvent.STOP_ERROR; + } + platformWarnEvent.setTitle(cPl.getName()); + platformWarnEvent.setEventContent(cPl.getInfo().replace("${carCode}",savePlatformWarnEventDTO.getCarCode())); + platformWarnEventMapper.insert(platformWarnEvent); + } + + + +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java index eaf7f3a..b06acf9 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java @@ -1,10 +1,15 @@ package com.doumee.service.business.impl; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Utils; +import com.doumee.dao.business.PlatformWmsDetailMapper; import com.doumee.dao.business.PlatformWmsJobMapper; +import com.doumee.dao.business.model.PlatformWmsDetail; import com.doumee.dao.business.model.PlatformWmsJob; +import com.doumee.dao.business.vo.WmsJobContractVO; import com.doumee.service.business.PlatformWmsJobService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -14,7 +19,9 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.util.List; +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; /** * 鏈堝彴_WMS浣滀笟閫氱煡鍗曡鏁版嵁Service瀹炵幇 @@ -26,6 +33,9 @@ @Autowired private PlatformWmsJobMapper platformWmsJobMapper; + + @Autowired + private PlatformWmsDetailMapper platformWmsDetailMapper; @Override public Integer create(PlatformWmsJob platformWmsJob) { @@ -72,6 +82,41 @@ return platformWmsJobMapper.selectById(id); } + + + @Override + public PlatformWmsJob findByDetailId(Integer id) { + PlatformWmsJob platformWmsJob = platformWmsJobMapper.selectOne(new QueryWrapper<PlatformWmsJob>().lambda().eq(PlatformWmsJob::getJobId,id).last(" limit 1 ")); + if(Objects.isNull(platformWmsJob)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌杩愬崟淇℃伅"); + } + List<PlatformWmsDetail> platformWmsDetailList = platformWmsDetailMapper.selectList(new QueryWrapper<PlatformWmsDetail>() + .lambda().eq(PlatformWmsDetail::getJobId,id)); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformWmsDetailList)){ + platformWmsJob.setIoQty( + platformWmsDetailList.stream().map(m->m.getIoQty()).reduce(BigDecimal.ZERO,BigDecimal::add) + ); + //鑾峰彇鎵�鏈夊悎鍚屽彿 + List<String> ioCodeList = platformWmsDetailList.stream().map(m->m.getIocode()).collect(Collectors.toList()); + Set<String> ioCodeSet = new HashSet<String>(ioCodeList); + List<WmsJobContractVO> wmsJobContractVOList = new ArrayList<>(); + for (String ioCode:ioCodeSet) { + WmsJobContractVO wmsJobContractVO = new WmsJobContractVO(); + wmsJobContractVO.setContractCode(ioCode); + wmsJobContractVO.setAddress(platformWmsJob.getRepertotyAddress()); + wmsJobContractVO.setPlatformWmsDetailList( + platformWmsDetailList.stream().filter(i->i.getIocode().equals(ioCode)).collect(Collectors.toList()) + ); + wmsJobContractVOList.add(wmsJobContractVO); + } + + platformWmsJob.setWmsJobContractVOList(wmsJobContractVOList); + }else{ + platformWmsJob.setIoQty(BigDecimal.ZERO); + } + return platformWmsJob; + } + @Override public PlatformWmsJob findOne(PlatformWmsJob platformWmsJob) { QueryWrapper<PlatformWmsJob> wrapper = new QueryWrapper<>(platformWmsJob); diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java index 0f2803f..7a7ba92 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java @@ -103,7 +103,6 @@ }catch (Exception e){ } - } @Override diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java index b10d537..ba580d2 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java @@ -21,9 +21,11 @@ import com.doumee.dao.business.join.VisitsJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.system.model.SystemUser; +import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO; import com.doumee.service.business.DeviceEventService; import com.doumee.service.business.InterfaceLogService; import com.doumee.service.business.MemberService; +import com.doumee.service.business.impl.PlatformWarnEventServiceImpl; import com.github.yulichang.interfaces.MPJBaseJoin; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.hikvision.artemis.sdk.config.ArtemisConfig; @@ -82,6 +84,8 @@ private PlatformEventMapper platformEventMapper; @Autowired private PlatformLogMapper platformLogMapper; + @Autowired + private PlatformWarnEventServiceImpl platformWarnEventService; /** * 娴峰悍闂ㄧ浜嬩欢鎺ㄩ�� * @param param @@ -1026,7 +1030,14 @@ * @param status */ private void dealCarsInErrorPlatformBiz( PlatformJob model,EventPlatformCarsStatusInfoRequest status) { - //TODO-----------------澶勭悊杞﹁締杩涘叆閿欒鏈堝彴涓氬姟閫昏緫 + //澶勭悊杞﹁締杩涘叆閿欒鏈堝彴涓氬姟閫昏緫 + SavePlatformWarnEventDTO savePlatformWarnEventDTO = new SavePlatformWarnEventDTO(); + savePlatformWarnEventDTO.setPlatformJobId(model.getId()); + savePlatformWarnEventDTO.setPlatformId(model.getPlatformId()); + savePlatformWarnEventDTO.setCarCode(model.getCarCodeFront()); + savePlatformWarnEventDTO.setEventType(Constants.PlatformWarnEvent.STOP_ERROR.getKey()); + platformWarnEventService.savePlatformWarnEvent(savePlatformWarnEventDTO); + List<PlatformDevice> deviceList = platformDeviceMapper.selectList(new QueryWrapper<PlatformDevice>().lambda() .eq(PlatformDevice::getPlatformId,model.getPlatformId()) .eq(PlatformDevice::getIsdeleted,Constants.ZERO)); -- Gitblit v1.9.3