From 150b2456609e99e51d33655a48b777b8ee8d4710 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期三, 09 十月 2024 13:43:42 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java | 600 ++++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 409 insertions(+), 191 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java
index 54652e2..fb0e58e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java
@@ -1,22 +1,27 @@
package com.doumee.service.business.impl.wms;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.HttpsUtil;
import com.doumee.core.wms.model.request.*;
import com.doumee.core.wms.model.response.WmsBaseDataResponse;
import com.doumee.core.wms.model.response.WmsBaseResponse;
+import com.doumee.core.wms.model.response.WmsInventoryDataResponse;
import com.doumee.dao.business.*;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.WmsService;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
/**
* WMS骞冲彴瀵规帴Service瀹炵幇
@@ -24,6 +29,7 @@
* @date 2023/11/30 15:33
*/
@Service
+@Slf4j
public class WmsServiceImpl implements WmsService {
@Autowired
private PlatformWmsJobMapper platformWmsJobMapper;
@@ -32,10 +38,155 @@
@Autowired
private CarsMapper carsMapper;
@Autowired
+ private MemberMapper memberMapper;
+ @Autowired
private PlatformJobMapper platformJobMapper;
@Autowired
private PlatformWmsDetailMapper platformWmsDetailMapper;
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private WmsInterfaceLogMapper wmsInterfaceLogMapper;
+ /**
+ * 鍏ュ簱閫氱煡浠诲姟涓氬姟澶勭悊
+ * @param job 鍙傛暟
+ * @return
+ */
+ @Override
+ public WmsBaseResponse<WmsBaseDataResponse> orderPlatformBind(PlatformJob job) {
+ if(StringUtils.isBlank(job.getBillCode()) || StringUtils.isBlank(job.getPlatformWmsCode())){
+
+ return null;
+ }
+ int type = 0;
+ if(Constants.equalsInteger(job.getType(),Constants.ONE)
+ || Constants.equalsInteger(job.getType(),Constants.THREE)){
+ //濡傛灉鏄璐э紙鍑哄簱锛�
+ type =1 ;
+ }else if(Constants.equalsInteger(job.getType(),Constants.ZERO)
+ || Constants.equalsInteger(job.getType(),Constants.TWO)){
+ //濡傛灉鏄璐э紙鍑哄簱锛�
+ type =0 ;
+ }else{
+ return null;
+ }
+ WmsOrderPlatformRequest param = new WmsOrderPlatformRequest();
+ param.setData(new ArrayList<>());
+ WmsOrderPlatformInfoRequest o = new WmsOrderPlatformInfoRequest();
+ o.setCarrierBillCode(job.getBillCode());
+ o.setRailwayNo(job.getPlatformWmsCode());
+ param.getData().add(o);
+ String url = type == 0?systemDictDataBiz.queryByCode(Constants.WSM_PARAM,Constants.WMS_INBOUND_PLATFROM_URL).getCode():systemDictDataBiz.queryByCode(Constants.WSM_PARAM,Constants.WMS_OUTBOUND_PLATFROM_URL).getCode();;
+ String name = type ==0?"銆怶MS銆戝叆搴綔涓氬崟鍒嗛厤鏈堝彴":"銆怶MS銆戝嚭搴撲綔涓氱殑鍒嗛厤鏈堝彴";
+ WmsBaseResponse<WmsBaseDataResponse> response = sendHttpRequest(url,name,JSONObject.toJSONString(param),new TypeReference< WmsBaseResponse<WmsBaseDataResponse>>(){});
+ PlatformJob update = new PlatformJob();
+ update.setId(job.getId());
+ update.setWmsSendDate(new Date());
+ update.setWmsSendNum(job.getWmsSendNum() + 1);
+ update.setWmsSendPlatformCode(job.getPlatformWmsCode());
+ if(response!=null && response.getData() !=null
+ && response.getData().size()>0 && StringUtils.equals(response.getData().get(0).getSuccess(),WmsBaseResponse.CODE_SUCCESS)){
+ //濡傛灉鎴愬姛
+ update.setWmsSendStatus(Constants.ONE);
+ update.setWmsSendInfo("閫氱煡WMS浣滀笟鍗曞垎閰嶆湀鍙版垚鍔�");
+ }else{
+ //濡傛灉澶辫触
+ update.setWmsSendStatus(Constants.TWO);
+ update.setWmsSendInfo("閫氱煡WMS浣滀笟鍗曞垎閰嶆湀鍙板け璐�:"+(response!=null?JSONObject.toJSONString(response):"鎺ュ彛璋冪敤澶辫触"));
+ }
+ platformJobMapper.updateById(update);
+ return response;
+
+ }
+ /**
+ * 鍏ュ簱閫氱煡浠诲姟涓氬姟澶勭悊
+ * @return
+ */
+ @Override
+ public WmsBaseResponse<WmsInventoryDataResponse> getInventoryList(){
+ String url = systemDictDataBiz.queryByCode(Constants.WSM_PARAM,Constants.WMS_GET_INVENTORYLIST_URL).getCode() ;
+ String name = "銆怶MS銆戝簱瀛樻煡璇�" ;
+ WmsBaseResponse<WmsInventoryDataResponse> response = sendHttpRequest(url,name,JSONObject.toJSONString(new JSONObject()),new TypeReference< WmsBaseResponse<WmsInventoryDataResponse>>(){});
+ if(response!=null
+ && response.getData() !=null
+ && response.getData().size()>0
+ && StringUtils.equals(response.getData().get(0).getSuccess(),WmsBaseResponse.CODE_SUCCESS)){
+ //濡傛灉璇锋眰鎴愬姛
+
+ }else{
+ //濡傛灉澶辫触
+ if(response ==null){
+ response = new WmsBaseResponse();
+ response.setData(new ArrayList<>());
+ }
+ if(response.getData() == null){
+ response.setData(new ArrayList<>());
+ }
+ }
+ return response;
+
+ }
+ @Override
+ public void saveInterfaceLog(String url,String name,String param,Integer success,String respone,int type){
+ if(wmsInterfaceLogMapper ==null){
+ return;
+ }
+ WmsInterfaceLog log = new WmsInterfaceLog();
+ log.setCreateDate(new Date());
+ log.setUrl(url);
+ log.setEditDate(log.getCreateDate());
+ log.setPlat(Constants.ZERO);
+ log.setName(name);
+ log.setIsdeleted(Constants.ZERO);
+ log.setRequest(param);
+ log.setType(type);
+ log.setSuccess(success);
+ log.setRepose(respone);
+ wmsInterfaceLogMapper.insert(log);
+ }
+
+ /**
+ * 鍙戣捣wms鎺ュ彛璇锋眰
+ * @param url
+ * @param name
+ * @param param
+ * @param typeReference
+ * @return
+ * @param <T>
+ */
+ public <T> WmsBaseResponse<T> sendHttpRequest(String url, String name, String param,TypeReference<WmsBaseResponse<T>> typeReference){
+ log.info("銆�"+name+"銆�================寮�濮�===="+ JSONObject.toJSONString(param));
+ if ( StringUtils.isNotBlank(url)) {
+ String res = null;
+ int success = 0;
+ try {
+ Map<String,String> headers = new HashMap<>();
+ res = HttpsUtil.postJson(url,param);
+ WmsBaseResponse result = JSONObject.parseObject(res, typeReference.getType());
+ logResult(result,name);
+ if(result!=null && result.getData() !=null ){
+
+ }else{
+ success =1;
+ }
+ return result;
+ }catch (Exception e){
+ success = 1;
+ log.error("銆�"+name+"銆�================澶辫触===="+ JSONObject.toJSONString(param));
+ }finally {
+ saveInterfaceLog(url,name,param,success,res,Constants.ZERO);
+ }
+ }
+ return null;
+ }
+ private static void logResult(WmsBaseResponse<WmsBaseDataResponse> res,String name) {
+ if(StringUtils.equals(res.getData().get(0).getSuccess(), WmsBaseResponse.CODE_SUCCESS)){
+ log.info("銆怶MS鎺ュ彛锛�"+name+"銆�================鎴愬姛====\n"+res);
+ }else{
+ log.error("銆怶MS鎺ュ彛锛�"+name+"銆�================澶辫触====锛歕n"+ res);
+ }
+ }
/**
* 鍏ュ簱閫氱煡浠诲姟涓氬姟澶勭悊
* @param list 鍙傛暟
@@ -43,75 +194,82 @@
*/
@Override
@Transactional
- public WmsBaseResponse inboundNotice(List<WmsInboundNoticeRequest> list) {
- if(list ==null || list.size() ==0){
- return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
- }
- List<PlatformJob> jobList = new ArrayList<>();
- List<PlatformWmsDetail> details = new ArrayList<>();
- List<String> iocodeList = new ArrayList<>();
- for(WmsInboundNoticeRequest param : list){
- if(StringUtils.isBlank(param.getIoCode()) ||
- StringUtils.isBlank(param.getCarrierBillCode())||
- StringUtils.isBlank(param.getPlateNumber())||
- StringUtils.isBlank(param.getDriverPhone())){
- return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶅悎娉�!");
+ public WmsBaseResponse<WmsBaseDataResponse> inboundNotice(WmsBaseRequest<WmsInboundNoticeRequest> list) {
+ try{
+ if(list ==null || list.getData()==null|| list.getData().size() ==0){
+ return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
}
- //鏍规嵁鎵胯繍鍗曞彿鏌ヨ浠诲姟淇℃伅
- PlatformWmsJob job = platformWmsJobMapper.selectOne(new QueryWrapper<PlatformWmsJob>().lambda()
- .eq(PlatformWmsJob::getCarryBillCode,param.getCarrierBillCode())
- .eq(PlatformWmsJob::getIsdeleted, Constants.ZERO)
- .last("limit 1" ));
-
- if(job == null){
-
- PlatformJob model =dealJobBizInbound(param);
- job = new PlatformWmsJob();
- job.setCreateDate(new Date());
- job.setIsdeleted(Constants.ZERO);
- job.setIsNew(Constants.ONE);
- job.setCarryBillCode(param.getCarrierBillCode());
- job.setIocode(param.getIoCode());
- job.setCarrierName(param.getCarrierName());
- job.setPlateNumber(param.getPlateNumber());
- job.setType(Constants.ONE);
- job.setIoCreatedate(param.getCreateDate());
- job.setJobId(model.getId());
- job.setDriverPhone(param.getDriverPhone());
- platformWmsJobMapper.insert(job);
- jobList.add(model);
- }
- if(param.getDetails()!=null && param.getDetails().size()>0){
- for(WmsInboundDetailRequest d :param.getDetails()){
- PlatformWmsDetail entity = new PlatformWmsDetail();
- entity.setCreateDate(new Date());
- entity.setIsdeleted(Constants.ZERO);
- entity.setIocode(d.getIoCode());
- entity.setJobId(job.getId());
- entity.setIoQty(d.getIoQty());
- entity.setStatus(Constants.ZERO);
- entity.setRate(d.getRate());
- entity.setMaterialName(d.getMaterialName());
- entity.setInRepertotyCode(d.getInRepertotyCode());
- iocodeList.add(d.getIoCode());
- details.add(entity);
+ List<PlatformJob> jobList = new ArrayList<>();
+ List<PlatformWmsDetail> details = new ArrayList<>();
+ List<String> iocodeList = new ArrayList<>();
+ for(WmsInboundNoticeRequest param : list.getData()){
+ if(StringUtils.isBlank(param.getIoCode()) ||
+ StringUtils.isBlank(param.getCarrierBillCode())||
+ StringUtils.isBlank(param.getPlateNumber())||
+ StringUtils.isBlank(param.getDriverPhone())){
+ return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶅悎娉�!");
}
- if(job.getIsNew() == 1&& iocodeList.size()>0){
- //鍏堟竻鐞嗗悓涓�涓壙杩愬崟鍙蜂笅閲嶅鎺ㄩ�佺殑iocode鏁版嵁锛屼互鏈�鍚庝竴娆℃帹閫佷负涓�
- platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
- .set(PlatformWmsDetail::getIsdeleted,Constants.ONE)
- .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
- .eq(PlatformWmsDetail::getJobId,job.getJobId())
- .in(PlatformWmsDetail::getIocode,iocodeList)
- );
+ //鏍规嵁鎵胯繍鍗曞彿鏌ヨ浠诲姟淇℃伅
+ PlatformWmsJob job = platformWmsJobMapper.selectOne(new QueryWrapper<PlatformWmsJob>().lambda()
+ .eq(PlatformWmsJob::getCarryBillCode,param.getCarrierBillCode())
+ .eq(PlatformWmsJob::getIsdeleted, Constants.ZERO)
+ .last("limit 1" ));
+
+ if(job == null){
+ PlatformJob model =dealJobBizInbound(param);
+ job = new PlatformWmsJob();
+ job.setCreateDate(new Date());
+ job.setIsdeleted(Constants.ZERO);
+ job.setIsNew(Constants.ONE);
+ job.setStatus(Constants.ONE);
+ job.setCarryBillCode(param.getCarrierBillCode());
+ job.setIocode(param.getIoCode());
+ job.setCarrierName(param.getCarrierName());
+ job.setDriverName(param.getDriverName());
+ job.setPlateNumber(param.getPlateNumber());
+ job.setType(Constants.ZERO);
+ job.setIoCreatedate(param.getCreateDate());
+ job.setJobId(model.getId());
+ job.setDriverPhone(param.getDriverPhone());
+ platformWmsJobMapper.insert(job);
+ jobList.add(model);
+ }
+ if(param.getDetails()!=null && param.getDetails().size()>0){
+ for(WmsInboundDetailRequest d :param.getDetails()){
+ PlatformWmsDetail entity = new PlatformWmsDetail();
+ entity.setCreateDate(new Date());
+ entity.setIsdeleted(Constants.ZERO);
+ entity.setIocode(d.getIoCode());
+ entity.setJobId(job.getJobId());
+ entity.setWmsJobId(job.getId());
+ entity.setIoQty(d.getIoQty());
+ entity.setStatus(Constants.ZERO);
+ entity.setRate(d.getRate());
+ entity.setMaterialName(d.getMaterialName());
+ entity.setInRepertotyCode(d.getInRepertotyCode());
+ iocodeList.add(d.getIoCode());
+ details.add(entity);
+ }
+ if(job.getIsNew() != 1&& iocodeList.size()>0){
+ //鍏堟竻鐞嗗悓涓�涓壙杩愬崟鍙蜂笅閲嶅鎺ㄩ�佺殑iocode鏁版嵁锛屼互鏈�鍚庝竴娆℃帹閫佷负涓�
+ platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
+ .set(PlatformWmsDetail::getIsdeleted,Constants.ONE)
+ .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
+ .eq(PlatformWmsDetail::getWmsJobId,job.getId())
+ .in(PlatformWmsDetail::getIocode,iocodeList)
+ );
+ }
}
}
- }
- if(details.size()>0){
- platformWmsDetailMapper.insert(details);
- }
- if(jobList.size()>0){
- startEndNoticeToDriver(jobList);
+ if(details.size()>0){
+ platformWmsDetailMapper.insert(details);
+ }
+ if(jobList.size()>0){
+ startEndNoticeToDriver(jobList);
+ }
+ }catch (Exception e){
+ log.error("銆怶MS銆戝鐞嗗叆搴撳彇娑堥�氱煡涓氬姟===============涓氬姟澶勭悊寮傚父"+e.getMessage());
+ return returnFailReuslt("涓氬姟澶勭悊寮傚父");
}
return returnSuccessReuslt(null);
}
@@ -128,17 +286,30 @@
job.setIsdeleted(Constants.ZERO);
job.setType(Constants.platformJobType.wxcxh);//榛樿鏄鍗忚溅鍗歌揣
job.setStatus(Constants.PlatformJobStatus.WAIT_CONFIRM.getKey());//榛樿寰呯‘璁ょ姸鎬�
+ job.setBillCode(param.getCarrierBillCode());
+ job.setCarrierName(param.getCarrierName());
+ job.setCarCodeFront(param.getPlateNumber());
+ job.setDrivierPhone(param.getDriverPhone());
+ job.setDriverName(param.getDriverName());
+ //澶勭悊浣滀笟鐨勮溅杈嗐�佸徃鏈恒�佹湀鍙扮粍鍏宠仈鍏崇郴锛屽嵏璐�
+ dealCarPlatformAndDriverInfo(job,0);
+// platformJobMapper.insert(job);
+ return job;
+ }
+
+ private void dealCarPlatformAndDriverInfo(PlatformJob job,int type) {
//鏌ヨ杞﹁締鏄惁鑷湁杞︼紝浠ュ強jobNum琛ㄧず浣嗘眰浣滀笟鏁伴噺锛堥潪宸茬鍥殑浣滀笟鏁�)
Cars car = carsMapper.selectOne(new QueryWrapper<Cars>()
- .select("*,(select count(1) from platform_job b where b.plate_num='"+param.getPlateNumber()+"' and b.status in("+
- Constants.PlatformJobStatus.LEAVED+")) as jobNum")
+ .select("*,(select count(1) from platform_job b where b.plate_num='"+job.getCarCodeFront()+"' and b.status in("+
+ Constants.PlatformJobStatus.LEAVED.getKey()+")) as jobNum")
.lambda()
.eq(Cars::getIsdeleted,Constants.ZERO)
.eq(Cars::getType,Constants.ONE)
- .eq(Cars::getCode,param.getPlateNumber()));
+ .eq(Cars::getCode,job.getCarCodeFront()));
if(car !=null){
//濡傛灉鏄嚜鏈夌墿娴佽溅
- job.setType(Constants.platformJobType.zycxh);//鑷湁杞﹀嵏璐�
+ job.setType(type==0?Constants.platformJobType.zycxh:Constants.platformJobType.zyczh);//鑷湁杞﹀嵏璐�/瑁呰揣
+ job.setCarCodeBack(job.getCarCodeFront());//鑷湁杞﹂粯璁ゅ墠鍚庤溅鐗屼竴鏍�
if(Constants.equalsInteger(car.getInStatus(),Constants.ONE) && car.getJobNum() == 0) {
//濡傛灉杞﹁締鍦ㄥ洯
job.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());//鍦ㄥ洯鏃犱綔涓氱姸鎬侊紝鍒欒嚜鍔ㄣ�愬凡绛惧埌銆戝鐞�
@@ -146,117 +317,125 @@
}
PlatformGroup group = platformGroupMapper.selectOne(new QueryWrapper<PlatformGroup>().lambda()
.eq(PlatformGroup::getIsdeleted,Constants.ZERO)
- .eq(PlatformGroup::getType,Constants.ONE)
+ .eq(PlatformGroup::getType,type==0?Constants.ZERO:Constants.ONE)
.last("limit 1") );//鏌ヨ鍗歌揣鏈堝彴缁勭紪鐮�
job.setPlatformGroupId(group!=null?group.getId():null);
+ Member driver = memberMapper.selectJoinOne(Member.class,new MPJLambdaWrapper<Member>()
+ .selectAll(Member.class)
+ .selectAs(Company::getCompanyNamePath,Member::getCompanyNamePath)
+ .leftJoin(Company.class,Company::getId,Member::getCompanyId)
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .eq(Member::getPhone,job.getDrivierPhone())
+ .last("limit 1") );//鏌ヨ瑁呰揣鏈堝彴缁勭紪鐮�
+ if(driver!=null){
+ job.setDriverId(driver.getId());
+ job.setCompanyId(driver.getCompanyId());
+ job.setCompanyNamePath(driver.getCompanyNamePath());
+ }
platformJobMapper.insert(job);
- return job;
}
+
private PlatformJob dealJobBizOutbound(WmsOutboundNoticeRequest param) {
PlatformJob job = new PlatformJob();
job.setCreateDate(new Date());
job.setIsdeleted(Constants.ZERO);
job.setType(Constants.platformJobType.wxczh);//榛樿鏄鍗忚溅瑁呭ソ
job.setStatus(Constants.PlatformJobStatus.WAIT_CONFIRM.getKey());//榛樿寰呯‘璁ょ姸鎬�
- //鏌ヨ杞﹁締鏄惁鑷湁杞︼紝浠ュ強jobNum琛ㄧず浣嗘眰浣滀笟鏁伴噺锛堥潪宸茬鍥殑浣滀笟鏁�)
- Cars car = carsMapper.selectOne(new QueryWrapper<Cars>()
- .select("*,(select count(1) from platform_job b where b.plate_num='"+param.getPlateNumber()+"' and b.status in("+
- Constants.PlatformJobStatus.LEAVED+")) as jobNum")
- .lambda()
- .eq(Cars::getIsdeleted,Constants.ZERO)
- .eq(Cars::getType,Constants.ONE)
- .eq(Cars::getCode,param.getPlateNumber()));
- if(car !=null){
- //濡傛灉鏄嚜鏈夌墿娴佽溅
- job.setType(Constants.platformJobType.zyczh);//鑷湁杞﹁璐�
- if(Constants.equalsInteger(car.getInStatus(),Constants.ONE) && car.getJobNum() == 0) {
- //濡傛灉杞﹁締鍦ㄥ洯
- job.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());//鍦ㄥ洯鏃犱綔涓氱姸鎬侊紝鍒欒嚜鍔ㄣ�愬凡绛惧埌銆戝鐞�
- }
- }
- PlatformGroup group = platformGroupMapper.selectOne(new QueryWrapper<PlatformGroup>().lambda()
- .eq(PlatformGroup::getIsdeleted,Constants.ZERO)
- .eq(PlatformGroup::getType,Constants.ZERO)
- .last("limit 1") );//鏌ヨ瑁呰揣鏈堝彴缁勭紪鐮�
- job.setPlatformGroupId(group!=null?group.getId():null);
- platformJobMapper.insert(job);
+ job.setBillCode(param.getCarrierBillCode());
+ job.setCarrierName(param.getCarrierName());
+ job.setCarCodeFront(param.getPlateNumber());
+ job.setDrivierPhone(param.getDriverPhone());
+ job.setDriverName(param.getDriverName());
+ //澶勭悊浣滀笟鐨勮溅杈嗐�佸徃鏈恒�佹湀鍙扮粍鍏宠仈鍏崇郴锛岃璐�
+ dealCarPlatformAndDriverInfo(job,1);
return job;
}
-
-
/**
* 鍑哄簱閫氱煡浠诲姟涓氬姟澶勭悊
* @param list 鍙傛暟
* @return
*/
@Override
- public WmsBaseResponse outboundNotice(List<WmsOutboundNoticeRequest> list) {
- if(list ==null || list.size() ==0){
- return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
- }
- List<PlatformJob> jobList = new ArrayList<>();
- List<PlatformWmsDetail> details = new ArrayList<>();
- List<String> iocodeList = new ArrayList<>();
- for(WmsOutboundNoticeRequest param : list){
- if(StringUtils.isBlank(param.getIoCode()) ||
- StringUtils.isBlank(param.getCarrierBillCode())||
- StringUtils.isBlank(param.getPlateNumber())||
- StringUtils.isBlank(param.getDriverPhone())){
- return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶅悎娉�!");
- }
- //鏍规嵁鎵胯繍鍗曞彿鏌ヨ浠诲姟淇℃伅
- PlatformWmsJob job = platformWmsJobMapper.selectOne(new QueryWrapper<PlatformWmsJob>().lambda()
- .eq(PlatformWmsJob::getCarryBillCode,param.getCarrierBillCode())
- .eq(PlatformWmsJob::getIsdeleted, Constants.ZERO)
- .last("limit 1" ));
+ public WmsBaseResponse outboundNotice(WmsBaseRequest<WmsOutboundNoticeRequest> list) {
- if(job == null){
- PlatformJob model =dealJobBizOutbound(param);
- job = new PlatformWmsJob();
- job.setCreateDate(new Date());
- job.setIsdeleted(Constants.ZERO);
- job.setIsNew(Constants.ONE);
- job.setCarryBillCode(param.getCarrierBillCode());
- job.setIocode(param.getIoCode());
- job.setCarrierName(param.getCarrierName());
- job.setPlateNumber(param.getPlateNumber());
- job.setType(Constants.ONE);
- job.setIoCreatedate(param.getCreateDate());
- job.setJobId(model.getId());
- job.setDriverPhone(param.getDriverPhone());
- platformWmsJobMapper.insert(job);
- jobList.add(model);
+ try{
+ if(list ==null ||list.getData()==null || list.getData().size() ==0){
+ return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
}
- if(param.getDetails()!=null && param.getDetails().size()>0){
- for(WmsOutboundDetailRequest d :param.getDetails()){
- PlatformWmsDetail entity = new PlatformWmsDetail();
- entity.setCreateDate(new Date());
- entity.setIsdeleted(Constants.ZERO);
- entity.setIocode(d.getIoCode());
- entity.setJobId(job.getId());
- entity.setIoQty(d.getIoQty());
- entity.setStatus(Constants.ZERO);
- entity.setRate(d.getRate());
- entity.setMaterialName(d.getMaterialName());
- iocodeList.add(d.getIoCode());
- details.add(entity);
+ List<PlatformJob> jobList = new ArrayList<>();
+ List<PlatformWmsDetail> details = new ArrayList<>();
+ List<String> iocodeList = new ArrayList<>();
+ for(WmsOutboundNoticeRequest param : list.getData()){
+ if(StringUtils.isBlank(param.getIoCode()) ||
+ StringUtils.isBlank(param.getCarrierBillCode())||
+ StringUtils.isBlank(param.getPlateNumber())||
+ StringUtils.isBlank(param.getDriverPhone())){
+ return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶅悎娉�!");
}
- if(job.getIsNew() == 1&& iocodeList.size()>0){
- //鍏堟竻鐞嗗悓涓�涓壙杩愬崟鍙蜂笅閲嶅鎺ㄩ�佺殑iocode鏁版嵁锛屼互鏈�鍚庝竴娆℃帹閫佷负涓�
- platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
- .set(PlatformWmsDetail::getIsdeleted,Constants.ONE)
- .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
- .eq(PlatformWmsDetail::getJobId,job.getJobId())
- .in(PlatformWmsDetail::getIocode,iocodeList)
- );
+ //鏍规嵁鎵胯繍鍗曞彿鏌ヨ浠诲姟淇℃伅
+ PlatformWmsJob job = platformWmsJobMapper.selectOne(new QueryWrapper<PlatformWmsJob>().lambda()
+ .eq(PlatformWmsJob::getCarryBillCode,param.getCarrierBillCode())
+ .eq(PlatformWmsJob::getIsdeleted, Constants.ZERO)
+ .last("limit 1" ));
+
+ if(job == null){
+ PlatformJob model =dealJobBizOutbound(param);
+ job = new PlatformWmsJob();
+ job.setCreateDate(new Date());
+ job.setIsdeleted(Constants.ZERO);
+ job.setStatus(Constants.ZERO);
+ job.setIsNew(Constants.ONE);
+ job.setCarryBillCode(param.getCarrierBillCode());
+ job.setIocode(param.getIoCode());
+ job.setCarrierName(param.getCarrierName());
+ job.setPlateNumber(param.getPlateNumber());
+ job.setDriverName(param.getDriverName());
+ job.setType(Constants.ONE);
+ job.setIoCreatedate(param.getCreateDate());
+ job.setJobId(model.getId());
+ job.setRepertotyAddress(param.getRepertotyAddress());
+ job.setContractNum(param.getContractNum());
+ job.setDriverPhone(param.getDriverPhone());
+ job.setDriverName(param.getDriverName());
+ platformWmsJobMapper.insert(job);
+ jobList.add(model);
+ }
+ if(param.getDetails()!=null && param.getDetails().size()>0){
+ for(WmsOutboundDetailRequest d :param.getDetails()){
+ PlatformWmsDetail entity = new PlatformWmsDetail();
+ entity.setCreateDate(new Date());
+ entity.setIsdeleted(Constants.ZERO);
+ entity.setIocode(d.getIoCode());
+ entity.setJobId(job.getJobId());
+ entity.setWmsJobId(job.getId());
+ entity.setIoQty(d.getIoQty());
+ entity.setWmsJobId(job.getId());
+ entity.setStatus(Constants.ZERO);
+ entity.setRate(d.getRate());
+ entity.setMaterialName(d.getMaterialName());
+ iocodeList.add(d.getIoCode());
+ details.add(entity);
+ }
+ if(job.getIsNew() != 1 && iocodeList.size()>0){
+ //鍏堟竻鐞嗗悓涓�涓壙杩愬崟鍙蜂笅閲嶅鎺ㄩ�佺殑iocode鏁版嵁锛屼互鏈�鍚庝竴娆℃帹閫佷负涓�
+ platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
+ .set(PlatformWmsDetail::getIsdeleted,Constants.ONE)
+ .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
+ .eq(PlatformWmsDetail::getWmsJobId,job.getId())
+ .in(PlatformWmsDetail::getIocode,iocodeList)
+ );
+ }
}
}
- }
- if(details.size()>0){
- platformWmsDetailMapper.insert(details);
- }
- if(jobList.size()>0){
- startEndNoticeToDriver(jobList);
+ if(details.size()>0){
+ platformWmsDetailMapper.insert(details);
+ }
+ if(jobList.size()>0){
+ startEndNoticeToDriver(jobList);
+ }
+ }catch (Exception e){
+ log.error("銆怶MS銆戝鐞嗗叆搴撳彇娑堥�氱煡涓氬姟===============涓氬姟澶勭悊寮傚父"+e.getMessage());
+ return returnFailReuslt("涓氬姟澶勭悊寮傚父");
}
return returnSuccessReuslt(null);
}
@@ -266,13 +445,30 @@
* @return
*/
@Override
- public WmsBaseResponse cancelInbound(List<WmsActionNoticeRequest> list) {
- //TODO-------------------澶勭悊鍏ュ簱鍙栨秷閫氱煡涓氬姟--------------------
- if(list ==null || list.size() ==0){
- return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
+ public WmsBaseResponse cancelInbound(WmsBaseRequest<WmsActionNoticeRequest> list) {
+ //-----------------澶勭悊鍏ュ簱鍙栨秷閫氱煡涓氬姟--------------------
+ try {
+ if(list ==null||list.getData()==null || list.getData().size() ==0 || list.getData().get(0).getIoCode() == null){
+ return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
+ }
+ List<String> iocodeList = new ArrayList<>();
+ for(WmsActionNoticeRequest param :list.getData()){
+ if(StringUtils.isNotBlank(param.getIoCode())){
+ iocodeList.add(param.getIoCode());
+ }
+ }
+ if(iocodeList.size() ==0 ){
+ return returnFailReuslt("璇锋眰鍙傛暟iocode涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
+ }
+ //鍙栨秷鍏ㄩ儴鏁版嵁鐘舵�佷负 銆愬凡鍙栨秷銆�
+ platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
+ .set(PlatformWmsDetail::getStatus,Constants.TWO)
+ .in(PlatformWmsDetail::getIocode,iocodeList)
+ .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO));
+ }catch (Exception e){
+ log.error("銆怶MS銆戝鐞嗗叆搴撳彇娑堥�氱煡涓氬姟===============涓氬姟澶勭悊寮傚父"+e.getMessage());
+ return returnFailReuslt("涓氬姟澶勭悊寮傚父");
}
-
-
return returnSuccessReuslt(null);
}
/**
@@ -281,19 +477,29 @@
* @return
*/
@Override
- public WmsBaseResponse cancelOutbound(List<WmsActionNoticeRequest> list) {
- if(list ==null || list.size() ==0){
- return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
+ public WmsBaseResponse cancelOutbound(WmsBaseRequest<WmsActionNoticeRequest> list) {
+ try {
+ if(list ==null||list.getData()==null || list.getData().size() ==0 ){
+ return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
+ }
+ List<String> iocodeList = new ArrayList<>();
+ for(WmsActionNoticeRequest param :list.getData()){
+ if(StringUtils.isNotBlank(param.getIoCode())){
+ iocodeList.add(param.getIoCode());
+ }
+ }
+ if(iocodeList.size() ==0 ){
+ return returnFailReuslt("璇锋眰鍙傛暟iocode涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
+ }
+ //鍙栨秷鍏ㄩ儴鏁版嵁鐘舵�佷负 銆愬凡鍙栨秷銆�
+ platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
+ .set(PlatformWmsDetail::getStatus,Constants.TWO)
+ .in(PlatformWmsDetail::getIocode,iocodeList)
+ .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO));
+ }catch (Exception e){
+ log.error("銆怶MS銆戝嚭搴撳彇娑堥�氱煡浠诲姟涓氬姟澶勭悊===============涓氬姟澶勭悊寮傚父"+e.getMessage());
+ return returnFailReuslt("涓氬姟澶勭悊寮傚父");
}
- List<String> iocodeList = new ArrayList<>();
- for(WmsActionNoticeRequest param :list){
- iocodeList.add(param.getIoCode());
- }
- //鍙栨秷鍏ㄩ儴鏁版嵁鐘舵�佷负 銆愬凡鍙栨秷銆�
- platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
- .set(PlatformWmsDetail::getStatus,Constants.TWO)
- .in(PlatformWmsDetail::getIocode,iocodeList)
- .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO));
return returnSuccessReuslt(null);
}
/**
@@ -302,20 +508,29 @@
* @return
*/
@Override
- public WmsBaseResponse doneTask(List<WmsActionNoticeRequest> list) {
- if(list ==null || list.size() ==0){
- return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
+ public WmsBaseResponse doneTask(WmsBaseRequest<WmsActionNoticeRequest> list) {
+ try {
+ if(list ==null||list.getData()==null || list.getData().size() ==0){
+ return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
+ }
+ List<String> iocodeList = new ArrayList<>();
+ for(WmsActionNoticeRequest param :list.getData()){
+ if(StringUtils.isNotBlank(param.getIoCode())){
+ iocodeList.add(param.getIoCode());
+ }
+ }
+ if(iocodeList.size() ==0 ){
+ return returnFailReuslt("璇锋眰鍙傛暟iocode涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
+ }
+ //鍙栨秷鍏ㄩ儴鏁版嵁鐘舵�佷负 銆愬凡瀹屾垚銆�
+ platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
+ .set(PlatformWmsDetail::getStatus,Constants.ONE)
+ .in(PlatformWmsDetail::getIocode,iocodeList)
+ .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO));
+ }catch (Exception e){
+ log.error("銆怶MS銆戜綔涓氬畬鎴愰�氱煡浠诲姟涓氬姟澶勭悊===============涓氬姟澶勭悊寮傚父"+e.getMessage());
+ return returnFailReuslt("涓氬姟澶勭悊寮傚父");
}
- List<String> iocodeList = new ArrayList<>();
- for(WmsActionNoticeRequest param :list){
- iocodeList.add(param.getIoCode());
- }
- //鍙栨秷鍏ㄩ儴鏁版嵁鐘舵�佷负 銆愬凡瀹屾垚銆�
- platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
- .set(PlatformWmsDetail::getStatus,Constants.ONE)
- .in(PlatformWmsDetail::getIocode,iocodeList)
- .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO));
-
return returnSuccessReuslt(null);
}
@@ -327,6 +542,7 @@
private WmsBaseResponse returnFailReuslt(String msg) {
WmsBaseResponse response = new WmsBaseResponse();
+ response.setCode(-1);
response.setData(new ArrayList<>());
WmsBaseDataResponse rData = new WmsBaseDataResponse();
rData.setMsgDescr(msg);
@@ -340,8 +556,10 @@
* @return
*/
+
private WmsBaseResponse returnSuccessReuslt(String msg) {
WmsBaseResponse response = new WmsBaseResponse();
+ response.setCode(1);
response.setData(new ArrayList<>());
WmsBaseDataResponse rData = new WmsBaseDataResponse();
rData.setMsgDescr(StringUtils.defaultString(msg,"鎿嶄綔鎴愬姛"));
--
Gitblit v1.9.3