Merge remote-tracking branch 'origin/master'

master
wws 2 years ago
commit 1ee85f0700

@ -319,6 +319,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
}
//母工单报工
logger.info("==========================母工单报工开始");
pHzWork.setQuantityFeedback(sHzWorks.getQuantityFeedback());
this.reportHzToSap(pHzWork);
logger.info("==========================母工单报工结束");
//最终报工标识:关闭子母工单

@ -119,8 +119,9 @@ public class QcProCheckServiceImpl implements QcProCheckService {
@Override
public List<QcCheckTaskIncome> getCheckTaskList(QcCheckTaskIncome qcCheckTaskIncome) {
DynamicDataSourceContextHolder.push("ds_"+qcCheckTaskIncome.getFactoryCode());
return qcProCheckMapper.getCheckTaskList(qcCheckTaskIncome);
DynamicDataSourceContextHolder.push(qcCheckTaskIncome.getFactoryCode());
List<QcCheckTaskIncome> dtos = qcProCheckMapper.getCheckTaskList(qcCheckTaskIncome);
return dtos;
}
@Override

@ -254,7 +254,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and qct.del_flag = '0'
<if test="checkType != null and checkType != ''"> and qct.check_type = #{checkType}</if>
<if test="checkManCode != null and checkManCode != ''"> and qct.check_man_code = #{checkManCode}</if>
<if test="checkStatus != null and checkStatus != ''"> and qct.check_status in (#{checkStatus})</if>
<if test="checkStatus != null and checkStatus != ''"> and qct.check_status in (${checkStatus})</if>
</where>
order by qct.create_time desc
</select>

@ -33,11 +33,12 @@ public class WmsToWCSmissionController {
* @return
*/
@PostMapping("/packingMaterialsRequestInbound")
public WmsToWCSDTO PackagingStorage(@RequestBody WmsToWCSDTO wcsdto) {
public WmsToWCSODTO PackagingStorage(@RequestBody WmsToWCSDTO wcsdto) {
if(StringUtils.isBlank(wcsdto.getFactory())){
wcsdto.setCode("1");
wcsdto.setMessage("factory is not null");
return wcsdto;
WmsToWCSODTO wmsToWCSODTO=new WmsToWCSODTO();
wmsToWCSODTO.setCode("1");
wmsToWCSODTO.setMessage("factory is not null");
return wmsToWCSODTO;
}
return iWmsToWCSmissionService.packagingStorage(wcsdto);
}
@ -73,7 +74,7 @@ public WmsToWCSDTO packingMaterialsOutBoundCompleted(@RequestBody WmsToWCSDTO wc
wcsdto.setMessage("factory is not null");
return wcsdto;
}
return iWmsToWCSmissionService.packingMaterialsOutBoundCompleted(wcsdto);
return iWmsToWCSmissionService.packingMaterialsOutBoundCompleted(wcsdto);
}
/**
*

@ -0,0 +1,35 @@
package com.op.wms.domain;
import com.fasterxml.jackson.annotation.JsonInclude;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class WmsToWCSODTO {
private String code;//返回代码
private String Message;//返回信息
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMessage() {
return Message;
}
private String reqCode;//请求ID
public String getReqCode() {
return reqCode;
}
public void setReqCode(String reqCode) {
this.reqCode = reqCode;
}
public void setMessage(String message) {
Message = message;
}
}

@ -63,4 +63,5 @@ public interface WmsOdsMateStorageNewsSnMapper {
void updateAdd(WmsOdsEmStorageNews wmsOdsEmStorageNews);
void updatekdd(WmsOdsEmStorageNews wmsOdsEmStorageNews);
}

@ -63,4 +63,6 @@ public interface WmsRawOrderInSnMapper {
WmsRawOrderInSn selectwmsRfidNo(WmsToWCSDTO wmsToWCSDTO);
void updateU1Byid(WmsRawOrderInSn wmsRawOrderInSn);
WmsRawOrderInSn selectwmsRfidNotwo(WmsToWCSDTO wmsToWCSDTO);
}

@ -1,9 +1,10 @@
package com.op.wms.service;
import com.op.wms.domain.WmsToWCSDTO;
import com.op.wms.domain.WmsToWCSODTO;
public interface IWmsToWCSmissionService {
WmsToWCSDTO packagingStorage(WmsToWCSDTO wcsdto);
WmsToWCSODTO packagingStorage(WmsToWCSDTO wcsdto);
WmsToWCSDTO packingMaterialsInboundCompleted(WmsToWCSDTO wcsdto);

@ -268,15 +268,29 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
orderLine1.setOrderLineNo(String.format("%05d", orderItem));
orderLine1.setBatchNo("00001");
}
//String meg= addPurchaseOrderOutboundSAP(orderLine);
//if ("OK".equals(meg)){//成功
String meg= addPurchaseOrderOutboundSAP(orderLine);
if ("OK".equals(meg)){//成功
for (OrderLine orderLine1:
orderList) {
OdsProcureOutOrder odsProcureOutOrder=new OdsProcureOutOrder();
odsProcureOutOrder.setID(IdUtils.fastSimpleUUID());
odsProcureOutOrder.setProduceCode(orderLine.getOrderNo());
odsProcureOutOrder.setMaterialCode(orderLine1.getMaterialCode());
odsProcureOutOrder.setMaterialDesc(orderLine1.getMaterialDesc());
odsProcureOutOrder.setPlanDate(new Date());
odsProcureOutOrder.setUnit(orderLine1.getUnit());
odsProcureOutOrder.setProductionLineCode(orderLine1.getStationNo());
odsProcureOutOrder.setUserDefined1(orderLine1.getBatchNo());
odsProcureOutOrder.setActive("1");
odsProcureOutOrder.setOrderStatus("1");
odsProcureOutOrder.setPlanNumber(orderLine1.getPlanNumber());
odsProcureOutOrder.setUserDefined2(orderLine1.getOrderLineNo());
//odsProcureOutOrder.set
odsProcureOutOrderMapper.insertOdsProcureOutOrder(odsProcureOutOrder);
//修改库存
//}
}
}
return orderLine;
}
@ -390,7 +404,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
Date date = new Date();
String formattedDate = dateFormat.format(date);
JSONObject payload = new JSONObject();
payload.put("reqCode", "eb7f8e9f-d1e8-499e-9bcb-e72d3ac195b0");
payload.put("reqCode", IdUtils.fastSimpleUUID());
payload.put("reqTime",formattedDate );
payload.put("warehouseNo", orderLinete.getWarehouseNo());
payload.put("orderNo", orderLinete.getOrderNo());
@ -401,9 +415,9 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
orderList ) {
JSONObject orderLine = new JSONObject();
orderLine.put("orderLineNo", orderLine1.getOrderLineNo());
orderLine.put("sku", orderLine1.getSku());
orderLine.put("sku", orderLine1.getMaterialCode());
orderLine.put("batchNo",orderLine1.getBatchNo());
orderLine.put("qty", orderLine1.getQty());
orderLine.put("qty", orderLine1.getPlanNumber());
orderLine.put("qualityStatus", 1);
orderLine.put("location", orderLine1.getStationNo());
orderLines.add(orderLine);

@ -1,15 +1,12 @@
package com.op.wms.service.impl;
import com.alibaba.nacos.shaded.com.google.gson.Gson;
import com.alibaba.nacos.shaded.com.google.gson.GsonBuilder;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
import com.op.wms.domain.WmsOdsEmStorageNews;
import com.op.wms.domain.WmsOdsMateStorageNewsSn;
import com.op.wms.domain.WmsRawOrderInSn;
import com.op.wms.domain.WmsToWCSDTO;
import com.op.wms.mapper.WmsOdsEmStorageNewsMapper;
import com.op.wms.mapper.WmsOdsMateStorageNewsSnMapper;
import com.op.wms.mapper.WmsRawOrderInMapper;
import com.op.wms.mapper.WmsRawOrderInSnMapper;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.wms.domain.*;
import com.op.wms.mapper.*;
import com.op.wms.service.IWmsToWCSmissionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -28,14 +25,16 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
private WmsOdsMateStorageNewsSnMapper wmsOdsMateStorageNewsSnMapper;
@Autowired
private WmsOdsEmStorageNewsMapper wmsOdsEmStorageNewsMapper;
@Autowired
private WmsOdsMateStorageNewsMapper wmsOdsMateStorageNewsMapper;
@Override
public WmsToWCSDTO packagingStorage(WmsToWCSDTO wcsdto) {
public WmsToWCSODTO packagingStorage(WmsToWCSDTO wcsdto) {
DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory());
WmsToWCSDTO wmsToWCSDTO= wmsRawOrderInMapper.packagingStorage(wcsdto);
// wmsToWCSDTO.set//
if (wmsToWCSDTO==null){
WmsToWCSDTO wms=new WmsToWCSDTO();
WmsToWCSODTO wms=new WmsToWCSODTO();
wms.setCode("0");
wms.setReqCode(wcsdto.getReqCode());
wms.setMessage("OK");
@ -45,7 +44,17 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
wmsToWCSDTO.setCode("0");
wmsToWCSDTO.setReqCode(wcsdto.getReqCode());
wmsToWCSDTO.setMessage("OK");
return wmsToWCSDTO;
WmsToWCSODTO wmsToWCSODTO=new WmsToWCSODTO();
wmsToWCSODTO.setCode("0");
// 创建Gson对象
Gson gson = new GsonBuilder().setPrettyPrinting().create();
// 将对象转换为JSON格式的字符串并格式化输出
String MESSAGE = gson.toJson(wmsToWCSDTO);
wmsToWCSODTO.setMessage(MESSAGE);
return wmsToWCSODTO;
}
/**
@ -68,23 +77,43 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
wmsOdsMateStorageNewsSn.setAmount(wmsRawOrderInSn.getAmount());
wmsOdsMateStorageNewsSn.setCreateBy("AGV");
wmsOdsMateStorageNewsSn.setGmtCreate(new Date());
wmsOdsMateStorageNewsSn.setMateOrderInSnId(IdUtils.fastSimpleUUID());
wmsOdsMateStorageNewsSn.setFactoryCode(wmsToWCSDTO.getFactory());
wmsOdsMateStorageNewsSn.setSapFactoryCode(wmsToWCSDTO.getFactory());
wmsOdsMateStorageNewsSnMapper.insertWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn);
//修改库存
//2,修改库存---/加库存数量-/-冻结数量
//2,修改库存---/加库存数量storage_amount = IFNULL(storage_amount, 0) + #{amount},
WmsOdsEmStorageNews wmsOdsEmStorageNews=new WmsOdsEmStorageNews();
wmsOdsEmStorageNews.setWhCode(wmsRawOrderInSn.getWhCode());//仓库编码
wmsOdsEmStorageNews.setWlCode(wmsRawOrderInSn.getWlCode());//库位编码
wmsOdsEmStorageNews.setMaterialCode(wmsRawOrderInSn.getMaterialCode());
wmsOdsEmStorageNews.setAmount(new BigDecimal(wmsToWCSDTO.getQty()));
wmsOdsEmStorageNews.setAmount(wmsRawOrderInSn.getAmount());
//添加库存--这个要有个判断有没有这个库存如果没有的话,就插入
WmsOdsMateStorageNews wmsOdsMateStorageNews= wmsOdsMateStorageNewsMapper.selectByWhCodeAndMate(wmsOdsEmStorageNews);
if (wmsOdsMateStorageNews==null){
WmsOdsMateStorageNews wmsOdsMateStorageNews1=new WmsOdsMateStorageNews();
wmsOdsMateStorageNews1.setStorageId(IdUtils.fastSimpleUUID());
wmsOdsMateStorageNews1.setWhCode(wmsRawOrderInSn.getWhCode());
wmsOdsMateStorageNews1.setWlCode(wmsRawOrderInSn.getWlCode());
wmsOdsMateStorageNews1.setAmount(wmsRawOrderInSn.getAmount());
// wmsOdsMateStorageNews1.setStorageAmount(wmsRawOrderInSn.getAmount());
wmsOdsMateStorageNews1.setMaterialCode(wmsRawOrderInSn.getMaterialCode());
wmsOdsMateStorageNews1.setMaterialDesc(wmsRawOrderInSn.getMaterialDesc());
wmsOdsMateStorageNews1.setStorageType("BC");
wmsOdsMateStorageNews1.setCreateBy("wcs");
wmsOdsMateStorageNews1.setGmtCreate(new Date());
wmsOdsMateStorageNews1.setActiveFlag("1");
wmsOdsMateStorageNews1.setFactoryCode(wmsToWCSDTO.getFactory());
wmsOdsMateStorageNews1.setSapFactoryCode(wmsToWCSDTO.getFactory());
wmsOdsMateStorageNews1.setUserDefined1(wmsRawOrderInSn.getUserDefined4());//单位
wmsOdsMateStorageNewsMapper.insertWmsOdsMateStorageNews(wmsOdsMateStorageNews1);
}else {
wmsOdsMateStorageNewsSnMapper.updateAdd(wmsOdsEmStorageNews);
//修改托盘记录为入库
}
//修改托盘记录为入库
wmsRawOrderInSnMapper.updateU1Byid(wmsRawOrderInSn);
wmsToWCSDTO.setCode("0");
wmsToWCSDTO.setMessage("OK");
return wmsToWCSDTO;
}
@ -99,6 +128,18 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
//记录明细消减库存
DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory());
WmsRawOrderInSn wmsRawOrderInSn= wmsRawOrderInSnMapper.selectwmsRfidNotwo(wcsdto);
//修改库存
//修改库存加库存数量storage_amount = IFNULL(storage_amount, 0) + #{amount},
WmsOdsEmStorageNews wmsOdsEmStorageNews=new WmsOdsEmStorageNews();
wmsOdsEmStorageNews.setWhCode(wmsRawOrderInSn.getWhCode());//仓库编码
wmsOdsEmStorageNews.setWlCode(wmsRawOrderInSn.getWlCode());//库位编码
wmsOdsEmStorageNews.setMaterialCode(wmsRawOrderInSn.getMaterialCode());
wmsOdsEmStorageNews.setAmount(wmsRawOrderInSn.getAmount());
wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews);
return wcsdto;
}
}

@ -191,9 +191,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<update id="updateAdd">
update wms_ods_mate_storage_news
set amount = IFNULL(amount, 0) + #{amount},
storage_amount = IFNULL(storage_amount, 0) + #{amount},
gmt_modified=now()
set amount = ISNULL(amount, 0) + #{amount},
gmt_modified=GETDATE()
where wh_code=#{whCode} and wl_code=#{wlCode} and material_code=#{materialCode}
</update>
<update id="updatekdd">
update wms_ods_mate_storage_news
set amount = ISNULL(amount, 0) - #{amount},
gmt_modified=GETDATE()
where wh_code=#{whCode} and wl_code=#{wlCode} and material_code=#{materialCode}
</update>
<select id="selectByWhCodeAndMate">

@ -190,8 +190,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where
sn=#{rfidNo}
and
user_defined1='1'
active_flag='1'
and user_defined1='1'
</select>
<select id="selectwmsRfidNotwo" parameterType="com.op.wms.domain.WmsToWCSDTO" resultMap="WmsRawOrderInSnResult">
<include refid="selectWmsRawOrderInSnVo"/>
where
sn=#{rfidNo}
and
active_flag='1'
and user_defined1='2'
</select>
<update id="updateU1Byid">
update wms_raw_order_in_sn

Loading…
Cancel
Save