wms新的收货优化

master
mengjiao 7 months ago
parent 61d3b1beb3
commit 2107dd5da5

@ -49,11 +49,18 @@ public class OdsProcureOrderController extends BaseController {
List<OdsProcureOrder> list = odsProcureOrderService.selectOdsProcureOrderList(odsProcureOrder);
return getDataTable(list);
}
/**获取标识卡**/
/**
* ---
*---使
* ----
*
*
**/
@PostMapping("/getIdCardList")
public AjaxResult getIdCardList(@RequestBody OdsProcureOrder odsProcureOrder) {
return success(odsProcureOrderService.getIdCardList(odsProcureOrder));
}
@PostMapping("/getIdCardListTH")
public AjaxResult getIdCardListTH(@RequestBody OdsProcureOrder odsProcureOrder) {
return success(odsProcureOrderService.getIdCardListTH(odsProcureOrder));

@ -106,10 +106,16 @@ public class WmsOdsMateStorageNewsSnController extends BaseController {
public AjaxResult cardDy(@RequestBody List<WmsOdsMateStorageNewsSn> list) {
return success(wmsOdsMateStorageNewsSnService.cardDy(list));
}
//特殊出库
//补打
@PostMapping("/cardBD")
public AjaxResult cardBD( @RequestBody List<OdsProcureOutOrder> orderList) {
String result = wmsOdsMateStorageNewsSnService.cardBD(orderList);
return success(result);
}
//删除
@PostMapping("/Removecard")
public AjaxResult Removecard( @RequestBody List<OdsProcureOutOrder> orderList) {
String result = wmsOdsMateStorageNewsSnService.Removecard(orderList);
return success(result);
}
}

@ -948,5 +948,20 @@ public class WmsToWCSmissionController {
public AjaxResult add(@RequestBody BpRawMaterialInDetail bpRawMaterialInDetail){
return success(bpRawMaterialInDetailService.insertBpRawMaterialInDetailSC(bpRawMaterialInDetail));
}
//根据送货单选择标识卡---非必须条件有送货单
@PostMapping("/selectCardList")
public AjaxResult selectCardList(@RequestBody OdsProcureOrder odsProcureOrder) {
return success(odsProcureOrderService.selectCardList(odsProcureOrder));
}
/**
*
* @param order
* @return
*/
@PostMapping("/addOrderCardXNew")
public AjaxResult addOrderCardXNew(@RequestBody OdsProcureOrder order) {
String result = odsProcureOrderService.addOrderCardXNew(order);
return success(result);
}
}

@ -362,6 +362,15 @@ public class BaseProduct extends BaseEntity {
private String palletNum;
private String warehouseCycle;
private String packType;
private String waCode;
public String getWaCode() {
return waCode;
}
public void setWaCode(String waCode) {
this.waCode = waCode;
}
public String getBoxType() {
return boxType;

@ -127,6 +127,15 @@ public class BaseProductAttached extends BaseEntity {
private String packType;
private String cpkType;
private String cpkTypeName;
private String waCode;
public String getWaCode() {
return waCode;
}
public void setWaCode(String waCode) {
this.waCode = waCode;
}
public String getCpkType() {
return cpkType;

@ -163,7 +163,7 @@ public class WmsRawOrderIn extends BaseEntity {
private String qualityStatus;
/**
* 01234
* 01234,5
*/
@Excel(name = "0创建1拒收2收货完成3上架完成4入库完成")
private String orderStatus;

@ -3,6 +3,7 @@ package com.op.wms.mapper;
import java.util.List;
import com.op.wms.domain.OdsProcureOrder;
import com.op.wms.domain.WmsRawOrderIn;
import org.apache.ibatis.annotations.Param;
/**
@ -60,27 +61,27 @@ public interface OdsProcureOrderMapper {
*/
public int deleteOdsProcureOrderByIDs(String[] IDs);
Integer updateRealityNuById(OdsProcureOrder odsProcureOrder);
public Integer updateRealityNuById(OdsProcureOrder odsProcureOrder);
String selectBaseSupplier(OdsProcureOrder odsProcureOrder);
public String selectBaseSupplier(OdsProcureOrder odsProcureOrder);
List<OdsProcureOrder> selectOdsProcureOrderAlreadyList(OdsProcureOrder odsProcureOrder);
public List<OdsProcureOrder> selectOdsProcureOrderAlreadyList(OdsProcureOrder odsProcureOrder);
void updateOdsProcureOrderAddOperationNumber(OdsProcureOrder odsProcureOrder);
public void updateOdsProcureOrderAddOperationNumber(OdsProcureOrder odsProcureOrder);
List<OdsProcureOrder> selectOdsProcureOrderAlreadyReaderList(OdsProcureOrder odsProcureOrder);
public List<OdsProcureOrder> selectOdsProcureOrderAlreadyReaderList(OdsProcureOrder odsProcureOrder);
void updateOdsProcureOrderByProcureCode(OdsProcureOrder odsProcureOrder);
public void updateOdsProcureOrderByProcureCode(OdsProcureOrder odsProcureOrder);
List<OdsProcureOrder> getIdCardList(OdsProcureOrder odsProcureOrder);
public List<OdsProcureOrder> getIdCardList(OdsProcureOrder odsProcureOrder);
void addBatchPallet(@Param("list")List<OdsProcureOrder> dtos);
public void addBatchPallet(@Param("list")List<OdsProcureOrder> dtos);
OdsProcureOrder selectOdsProcureOrderCard(OdsProcureOrder odsProcureOrder);
public OdsProcureOrder selectOdsProcureOrderCard(OdsProcureOrder odsProcureOrder);
void updateodsProcureOrderCard(OdsProcureOrder order1);
public void updateodsProcureOrderCard(OdsProcureOrder order1);
OdsProcureOrder selectOdsProcureOrderByIDAndSap(String id);
public OdsProcureOrder selectOdsProcureOrderByIDAndSap(String id);
/**
*
@ -109,4 +110,13 @@ public interface OdsProcureOrderMapper {
public String selectOdsProcureOrderUserDefined7New(@Param("formattedTEM")String formattedDate);
public List<OdsProcureOrder> selectOdsProcureOrderListSH(OdsProcureOrder order2);
public void deleteBatchPalletBycard(@Param("wlCode")String wlCode);
public void updateOdsProcureOrderBy(WmsRawOrderIn wmsRawOrderIn);
public List<OdsProcureOrder> selectCardList(OdsProcureOrder odsProcureOrder);
public List<OdsProcureOrder> selectCardListSH(OdsProcureOrder odsProcureOrder);
OdsProcureOrder selectOdsProcureOrderCardByUserDefined1new(OdsProcureOrder order);
}

@ -6,6 +6,7 @@ import com.op.wms.domain.WCSInventoryPlan;
import com.op.wms.domain.WmsOdsEmStorageNews;
import com.op.wms.domain.WmsOdsMateStorageNews;
import com.op.wms.domain.WmsToWCSDTO;
import org.apache.ibatis.annotations.Param;
/**
* Mapper
@ -69,13 +70,17 @@ public interface WmsOdsMateStorageNewsMapper {
public void updateWmsOdsMateStorageNewsUpdateStorageAmount(WmsOdsMateStorageNews wmsOdsMateStorageNews);
List<WmsOdsMateStorageNews> selectWmsOdsMateStorageNewslsList(WmsOdsMateStorageNews wmsOdsMateStorageNews);
public List<WmsOdsMateStorageNews> selectWmsOdsMateStorageNewslsList(WmsOdsMateStorageNews wmsOdsMateStorageNews);
WmsOdsMateStorageNews selectWmsOdsMateStorageNewsLSByStorageId(String storageId);
public WmsOdsMateStorageNews selectWmsOdsMateStorageNewsLSByStorageId(String storageId);
public List<WmsOdsMateStorageNews> selectWmsOdsMateStorageNewsNEWSList(WmsOdsMateStorageNews wmsOdsMateStorageNews);
List<WmsOdsMateStorageNews> listWmsOdsMateStorageNews(WmsOdsMateStorageNews wmsOdsMateStorageNews);
public List<WmsOdsMateStorageNews> listWmsOdsMateStorageNews(WmsOdsMateStorageNews wmsOdsMateStorageNews);
List<WmsOdsMateStorageNews> listwmsFpStorageNews(WmsOdsMateStorageNews wmsOdsMateStorageNews);
public List<WmsOdsMateStorageNews> listwmsFpStorageNews(WmsOdsMateStorageNews wmsOdsMateStorageNews);
public void deleteWmsOdsMateStorageNewsBycard(@Param("wlCode")String wlCode);
public void updateodsProcureOrderCard(@Param("userDefined6")String userDefined6);
}

@ -79,7 +79,9 @@ public interface WmsOdsMateStorageNewsSnMapper {
public void updateWmsOdsMateStorageNewsSnTWM(WmsOdsMateStorageNewsSn wmsRawOrderInNewsSn);
List<WmsOdsMateStorageNewsSn> cardDy(@Param("list")List<WmsOdsMateStorageNewsSn> list);
public List<WmsOdsMateStorageNewsSn> cardDy(@Param("list")List<WmsOdsMateStorageNewsSn> list);
String selectWmsOdsMateStorageNewsSnBC(OdsProcureOutOrder order);
public String selectWmsOdsMateStorageNewsSnBC(OdsProcureOutOrder order);
public void deleteWmsOdsMateStorageNewsSnBycard(@Param("wlCode")String wlCode);
}

@ -3,6 +3,7 @@ package com.op.wms.mapper;
import java.util.List;
import com.op.wms.domain.*;
import org.apache.ibatis.annotations.Param;
/**
* Mapper
@ -59,14 +60,16 @@ public interface WmsRawOrderInSnMapper {
*/
public int deleteWmsRawOrderInSnByRawOrderInSnIds(Long[] rawOrderInSnIds);
WmsRawOrderInSn selectwmsRfidNo(WmsToWCSDTO wmsToWCSDTO);
public WmsRawOrderInSn selectwmsRfidNo(WmsToWCSDTO wmsToWCSDTO);
void updateU1Byid(WmsRawOrderInSn wmsRawOrderInSn);
public void updateU1Byid(WmsRawOrderInSn wmsRawOrderInSn);
List<WmsRawOrderInSn> selecPurchaseOrderdeliPdaList(OdsProcureOrder odsProcureOrder);
public List<WmsRawOrderInSn> selecPurchaseOrderdeliPdaList(OdsProcureOrder odsProcureOrder);
void insertWmsLogotypeTable(WmsLogotypeTable wmsLogotypeTable);
public void insertWmsLogotypeTable(WmsLogotypeTable wmsLogotypeTable);
WmsRawOrderInSn selecPurchaseOrderdeliPdaById(OdsProcureOrder odsProcureOrder);
public WmsRawOrderInSn selecPurchaseOrderdeliPdaById(OdsProcureOrder odsProcureOrder);
public void deleteWmsRawOrderInByu5(@Param("dnNo")String dnNo,@Param("kem")String kem);
}

@ -147,4 +147,8 @@ public interface IOdsProcureOrderService {
String handleUpdateSAP103(List<OdsProcureOrder> odsProcureOrder);
String handleUpdateSAP105(List<OdsProcureOrder> odsProcureOrder);
List<OdsProcureOrder> selectCardList(OdsProcureOrder odsProcureOrder);
String addOrderCardXNew(OdsProcureOrder orderList);
}

@ -63,4 +63,6 @@ public interface IWmsOdsMateStorageNewsSnService {
String cardDy(List<WmsOdsMateStorageNewsSn> list);
String cardBD(List<OdsProcureOutOrder> orderList);
String Removecard(List<OdsProcureOutOrder> orderList);
}

@ -9,6 +9,8 @@ import com.alibaba.fastjson.JSONObject;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
@ -84,7 +86,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
@Autowired
private BaseProductAttachedMapper baseProductAttachedMapper;
private BaseAreaMapper baseAreaMapper;
@Value("${dayin.url1}")
private String dayinUrl1;
/**
@ -1121,7 +1123,6 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
@Override
@DS("#header.poolName")
public String getIdCardList(OdsProcureOrder odsProcureOrder) {
// DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
List<OdsProcureOrder> dtos = new ArrayList<>();
OdsProcureOrder order=odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
//根据采购单获取一托盘要装多少
@ -1133,6 +1134,21 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
//没有配置附属信息
return "没有配置附属信息";
}
if ("".equals(baseProductAttacheds.get(0).getWaCode())){
//没有配置附属信息
return "没有配置库区";
}
BaseArea baseArea=new BaseArea();
baseArea.setAreaCode(baseProductAttacheds.get(0).getWaCode());
List<BaseArea> baseAreas= baseAreaMapper.selectBaseAreaList(baseArea);
//根据库区查询仓库
if (baseAreas.size()==0){
//没有配置附属信息
return "库区配置错误,查询不到对应仓库";
}
String whCode = baseAreas.get(0).getWhCode();//仓库
String waCode = baseProductAttacheds.get(0).getWaCode();//库区
String name = odsProcureOrderMapper.selectBaseSupplier(order);
order.setSupplierName(name);
List<OdsProcureOrder> dtos0= odsProcureOrderMapper.getIdCardList(order);
@ -1142,7 +1158,6 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
int i = 1;
String palletNum = baseProductAttacheds.get(0).getPalletNum();
Date nowDate = DateUtils.getNowDate();
if(palletNum!=null){
BigDecimal pall = order.getPlanNumber();
BigDecimal pn = new BigDecimal(palletNum);
@ -1173,11 +1188,12 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
pw.setUserDefined1(pw.getProcureCode()+"-"+pw.getUserDefined3()+"-"+pw.getUserDefined8()+"-"+dateString+"-"+odsProcureOrder.getID()+"-"+pw.getCardNum());//采购单+行项目+类型+日期+板次
pw.setCreateTime(nowDate);
pw.setActive("1");
pw.setUserDefined5(whCode);
pw.setUserDefined6(waCode);
dtos.add(pw);
pall = pall.subtract(pn);
}
}
if(!CollectionUtils.isEmpty(dtos)){
int tem= dtos.size();
int ken=1;
@ -1227,6 +1243,8 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
pw.setUserDefined1(pw.getProcureCode()+"-"+pw.getUserDefined3()+"-"+pw.getUserDefined8()+"-"+dateString+"-"+odsProcureOrder.getID()+"-"+pw.getCardNum());//采购单+行项目+类型+日期+板次
pw.setCreateTime(nowDate);
pw.setActive("1");
pw.setUserDefined5(whCode);
pw.setUserDefined6(waCode);
dtos.add(pw);
pall = pall.subtract(pn);
}
@ -1260,6 +1278,247 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
String msg= dayin(dtos);
return msg;
}
@Override
public List<OdsProcureOrder> selectCardList(OdsProcureOrder odsProcureOrder) {
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
List<OdsProcureOrder> orderList= odsProcureOrderMapper.selectCardList(odsProcureOrder);
return orderList;
}
@Override
public String addOrderCardXNew(OdsProcureOrder ordernew) {
String factoryCode = ordernew.getFactoryCode();
//现在是传了个list标识卡集合
String result1="操作成功";
DynamicDataSourceContextHolder.push("ds_" + factoryCode);
List<OdsProcureOrder> orderList= odsProcureOrderMapper.selectCardListSH(ordernew);
if (orderList.size()==0){
result1="生成的标识卡已经暂收完成";
return result1;
}
//到货单生成
LocalDateTime now = LocalDateTime.now(); // 获取当前时间
// 格式化当前时间为指定的字符串格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); // 定义时间格式
String dnNo = "sn" + now.format(formatter); // 生成流水号
String receiptNoCode = orderList.get(0).getReceiptNoCode();
//如果这样的话,就区分出来单子和对应的物料。然后根据集合放入暂收集合中
List<OdsProcureOrder> orderList1=new ArrayList<>();//
for (OdsProcureOrder order:
orderList) {
OdsProcureOrder order1= odsProcureOrderMapper.selectOdsProcureOrderCardByUserDefined1(order);
order.setUserDefined7(order1.getUserDefined7());//批次
order.setPoLine(order1.getUserDefined3());
order.setUnit(order1.getUnit());
order.setID(order1.getID());
order.setReceiptNoCode(dnNo);
if (orderList1.size()>0){
String tem="0";
for (OdsProcureOrder odsProcureOrder:orderList1){
if (odsProcureOrder.getID().equals(order1.getID())){
tem="1";//已经保存对应订单了
}
}
if (tem.equals("0")){
orderList1.add(order1);
}
}else {
orderList1.add(order1);
}
}
for (OdsProcureOrder odsProcureOrder:
orderList1) {
//单子
BigDecimal czNumber=new BigDecimal("0");
for ( OdsProcureOrder order :
orderList) {
if (order.getID().equals(odsProcureOrder.getID())){
czNumber=czNumber.add(order.getPlanNumber());
}
}
odsProcureOrder.setCzNumber(czNumber);//累计数量
}
List<Map> mapList = new ArrayList<>();
for (OdsProcureOrder order :
orderList1) {
Map paramMap=new HashMap<>();
paramMap.put("EBELN",order.getProcureCode());//
paramMap.put("EBELP",order.getUserDefined3());//行项目
paramMap.put("MATNR",order.getMaterialCode());//物料
paramMap.put("WERKS",order.getSiteCode());//工厂
paramMap.put("QUANTITY",order.getCzNumber());//数量
paramMap.put("P_LFSNR",order.getUserDefined5());//送
mapList.add(paramMap);
}
R result2 = remoteSapService.temporarilyCollected(mapList);
int code = result2.getCode();
if (code == 200){
//对应采购单的标识卡
for (OdsProcureOrder order1k:
orderList) {
//标识卡信息
//wms_raw_order_in_sn
WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn();
wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID());
wmsRawOrderInSn.setUserDefined1("1");//1是收货,2是入库
wmsRawOrderInSn.setUserDefined2(order1k.getUserDefined7());//批次
wmsRawOrderInSn.setWhCode(order1k.getWhCode());//厂库编号
wmsRawOrderInSn.setWaCode(order1k.getWaCode());
wmsRawOrderInSn.setWlCode(order1k.getSn());//库位设置为托盘
wmsRawOrderInSn.setPoNo(order1k.getProcureCode());//采购单号
wmsRawOrderInSn.setPoLine(order1k.getPoLine());//行项目
wmsRawOrderInSn.setMaterialCode(order1k.getMaterialCode());
wmsRawOrderInSn.setMaterialDesc(order1k.getMaterialDesc());
wmsRawOrderInSn.setAmount(order1k.getPlanNumber());//实际输入数量
wmsRawOrderInSn.setFactoryCode(order1k.getFactoryCode());
wmsRawOrderInSn.setCreateBy(order1k.getCreateBy());
wmsRawOrderInSn.setGmtCreate(new Date());
wmsRawOrderInSn.setActiveFlag("1");
wmsRawOrderInSn.setUserDefined4(order1k.getUnit());//单位
wmsRawOrderInSn.setSn(order1k.getSn());//托盘号
wmsRawOrderInSn.setFactoryCode(order1k.getFactoryCode());
wmsRawOrderInSn.setUserDefined3(order1k.getID());
wmsRawOrderInSn.setUserDefined5(order1k.getReceiptNoCode());
//wmsRawOrderInSn.setd
wmsRawOrderInSn.setUserDefined6(order1k.getUserDefined6());//标识码绑定
wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn);
//标识码绑定
if (order1k.getUserDefined6()!=null){
WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable();
wmsLogotypeTable.setId(IdUtils.fastSimpleUUID());
wmsLogotypeTable.setLogotype(order1k.getUserDefined6());
wmsLogotypeTable.setSn(order1k.getSn());
wmsLogotypeTable.setActiveFlag("1");
wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable);
}
odsProcureOrderMapper.updateodsProcureOrderCard(order1k);
}
Map map = new HashMap();
map = (Map) result2.getData();
String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT");
String MATDOCUMENTYEAR = (String) map.get("MATDOCUMENTYEAR");
for (OdsProcureOrder odsProcureOrder:
orderList1) {
BigDecimal planNumber= odsProcureOrder.getPlanNumber();
;//操作数量
odsProcureOrder.setOrderStatus("1");
BigDecimal result = odsProcureOrder.getRealityNumber().add(odsProcureOrder.getCzNumber());
System.out.println(result);
if (result.compareTo(planNumber)== 0) {
odsProcureOrder.setOrderStatus("2");
}
odsProcureOrder.setPlanNumber(odsProcureOrder.getCzNumber());
odsProcureOrderMapper.updateRealityNuById(odsProcureOrder);
}
for (OdsProcureOrder odsProcureOrder:
orderList1) {
//标识卡记录已经录入,订单已经修改完成
OdsProcureOrder order1 = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
order1.setSapTempInfor(result2.getMsg());
WmsRawOrderIn wmsRawOrderIn=new WmsRawOrderIn();
wmsRawOrderIn.setRawOrderInId(IdUtils.fastSimpleUUID());
wmsRawOrderIn.setFactoryCode(odsProcureOrder.getFactoryCode());
wmsRawOrderIn.setOrderNo(order1.getUserDefined5());//送货单
wmsRawOrderIn.setDnNo(receiptNoCode);
wmsRawOrderIn.setPoNo(odsProcureOrder.getProcureCode());
wmsRawOrderIn.setPoLine(odsProcureOrder.getPoLine());
wmsRawOrderIn.setMaterialCode(odsProcureOrder.getMaterialCode());
wmsRawOrderIn.setMaterialDesc(odsProcureOrder.getMaterialDesc());
wmsRawOrderIn.setRequestAmount(odsProcureOrder.getCzNumber());
wmsRawOrderIn.setUnit(odsProcureOrder.getUnit());
wmsRawOrderIn.setRequestTime(new Date());
wmsRawOrderIn.setOrderStatus("0");//暂收
wmsRawOrderIn.setActiveFlag("1");
wmsRawOrderIn.setSupplyCode(odsProcureOrder.getSupplierCode());
//wmsRawOrderIn.setUserDefined1();
wmsRawOrderIn.setAccountingStatus("0");//0是暂收
wmsRawOrderIn.setUserDefined1(MATERIALDOCUMENT);//物料凭证编号
wmsRawOrderIn.setUserDefined2(MATDOCUMENTYEAR);//年凭证号
wmsRawOrderIn.setUserDefined3(result2.getMsg());//暂收信息
//wmsRawOrderIn.setAccountingMessage(result2.getMsg());
wmsRawOrderIn.setSapFactoryCode(factoryCode);
wmsRawOrderIn.setCreateBy(odsProcureOrder.getCreateBy());
wmsRawOrderIn.setGmtCreate(new Date());
wmsRawOrderInMapper.insertWmsRawOrderIn(wmsRawOrderIn);
order1.setSapTempStatus("1");//0是失败。1是成功
odsProcureOrderMapper.updateOdsProcureOrder(order1);
}
for (OdsProcureOrder odsProcureOrder1:orderList){
//收货
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = new WmsOdsMateStorageNewsSn();
wmsOdsMateStorageNewsSn.setMateOrderInSnId(IdUtils.fastSimpleUUID());
wmsOdsMateStorageNewsSn.setWhCode(odsProcureOrder1.getWhCode());//仓库编码
wmsOdsMateStorageNewsSn.setWaCode(odsProcureOrder1.getWaCode());
wmsOdsMateStorageNewsSn.setWlCode(odsProcureOrder1.getSn());//库位编码-
wmsOdsMateStorageNewsSn.setMaterialCode(odsProcureOrder1.getMaterialCode());
wmsOdsMateStorageNewsSn.setMaterialDesc(odsProcureOrder1.getMaterialDesc());
wmsOdsMateStorageNewsSn.setSn(odsProcureOrder1.getSn());
wmsOdsMateStorageNewsSn.setAmount(odsProcureOrder1.getPlanNumber());
wmsOdsMateStorageNewsSn.setCreateBy(odsProcureOrder1.getCreateBy());
wmsOdsMateStorageNewsSn.setGmtCreate(new Date());
wmsOdsMateStorageNewsSn.setUserDefined2(odsProcureOrder1.getUserDefined7());//批次
wmsOdsMateStorageNewsSn.setUserDefined1("RK");
wmsOdsMateStorageNewsSn.setUserDefined3("0");//0是暂收1是真收
wmsOdsMateStorageNewsSn.setFactoryCode(odsProcureOrder1.getFactoryCode());
wmsOdsMateStorageNewsSn.setSapFactoryCode(odsProcureOrder1.getFactoryCode());
wmsOdsMateStorageNewsSn.setActiveFlag("1");
wmsOdsMateStorageNewsSnMapper.insertWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn);
//修改库存
//2,修改库存---/加库存数量-/-冻结数量
WmsOdsEmStorageNews wmsOdsEmStorageNews = new WmsOdsEmStorageNews();
wmsOdsEmStorageNews.setWhCode(odsProcureOrder1.getWhCode());//仓库编码
wmsOdsEmStorageNews.setWlCode(odsProcureOrder1.getSn());//库位编码
wmsOdsEmStorageNews.setWaCode(odsProcureOrder1.getWaCode());//库位编码
wmsOdsEmStorageNews.setMaterialCode(odsProcureOrder1.getMaterialCode());
wmsOdsEmStorageNews.setUserDefined2(odsProcureOrder1.getUserDefined7());//批次
wmsOdsEmStorageNews.setAmount(odsProcureOrder1.getPlanNumber());
//添加库存--这个要有个判断有没有这个库存如果没有的话,就插入
WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectByWhCodeAndMate(wmsOdsEmStorageNews);
if (wmsOdsMateStorageNews == null) {
WmsOdsMateStorageNews wmsOdsMateStorageNews1 = new WmsOdsMateStorageNews();
wmsOdsMateStorageNews1.setStorageId(IdUtils.fastSimpleUUID());
wmsOdsMateStorageNews1.setWhCode(odsProcureOrder1.getWhCode());
wmsOdsMateStorageNews1.setWlCode(odsProcureOrder1.getSn());
wmsOdsMateStorageNews1.setWaCode(odsProcureOrder1.getWaCode());
wmsOdsMateStorageNews1.setAmount(odsProcureOrder1.getPlanNumber());
wmsOdsMateStorageNews1.setStorageAmount(odsProcureOrder1.getPlanNumber());
wmsOdsMateStorageNews1.setMaterialCode(odsProcureOrder1.getMaterialCode());
wmsOdsMateStorageNews1.setMaterialDesc(odsProcureOrder1.getMaterialDesc());
wmsOdsMateStorageNews1.setStorageType("BC");
wmsOdsMateStorageNews1.setCreateBy(odsProcureOrder1.getCreateBy());
wmsOdsMateStorageNews1.setGmtCreate(new Date());
wmsOdsMateStorageNews1.setActiveFlag("1");
wmsOdsMateStorageNews1.setFactoryCode(odsProcureOrder1.getFactoryCode());
wmsOdsMateStorageNews1.setSapFactoryCode(odsProcureOrder1.getFactoryCode());
wmsOdsMateStorageNews1.setUserDefined1(odsProcureOrder1.getUnit());//单位
wmsOdsMateStorageNewsMapper.insertWmsOdsMateStorageNews(wmsOdsMateStorageNews1);
} else {
wmsOdsMateStorageNewsSnMapper.updateAdd(wmsOdsEmStorageNews);
}
// wmsRawOrderInSnMapper.updateU1Byid(wmsRawOrderInSn);//入库
}
}else {////失败|
result1="暂收失败";
for (OdsProcureOrder order :
orderList1) {
OdsProcureOrder order2 = odsProcureOrderMapper.selectOdsProcureOrderByID(order.getID());
order2.setSapTempInfor(result2.getMsg());
order2.setSapTempStatus("0");//0是失败。1是成功
odsProcureOrderMapper.updateOdsProcureOrder(order2);
}
return result1;
}
return result1;
}
@Override
@DS("#header.poolName")
@ -2627,6 +2886,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
* @return
*/
@Override
@DS("#header.poolName")
public String handleUpdateSAP103(List<OdsProcureOrder> odsProcureOrders) {
String result="操作成功";
for (OdsProcureOrder order: odsProcureOrders){
@ -2652,8 +2912,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
//成功了--成功了,根据
WmsRawOrderInSn wmsRawOrderInSn=new WmsRawOrderInSn();
wmsRawOrderInSn.setUserDefined5(wmsRawOrderIn.getDnNo());
wmsRawOrderInSn.setUserDefined1("1");//暂收--是收货是入库3是103冲销
wmsRawOrderInSn.setUserDefined1("1");//暂收--1是收货,2是入库,,
wmsRawOrderInSn.setUserDefined3(wmsRawOrderIn.getKem());
List<WmsRawOrderInSn> wmsRawOrderInSnList= wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn);
for (WmsRawOrderInSn wmsRawOrderInSn1:
@ -2664,30 +2923,31 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
wmsRawOrderInNewsSn.setWhCode(wmsRawOrderInSn1.getWhCode());
wmsRawOrderInNewsSn.setWlCode(wmsRawOrderInSn1.getWlCode());
wmsRawOrderInNewsSn.setUserDefined3("1");
wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSnTWM(wmsRawOrderInNewsSn);//wms_ods_mate_storage_news_sn
wmsRawOrderInSn1.setUserDefined1("2");
wmsRawOrderInSnMapper.updateWmsRawOrderInSn(wmsRawOrderInSn1);
wmsOdsMateStorageNewsSnMapper.deleteWmsOdsMateStorageNewsSnBycard(wmsRawOrderInNewsSn.getWlCode());//wms_ods_mate_storage_news_sn
wmsRawOrderInSn1.setUserDefined1("2");//直接删掉
WmsOdsMateStorageNews wmsOdsMateStorageNews=new WmsOdsMateStorageNews();
wmsOdsMateStorageNews.setMaterialCode(wmsRawOrderInSn1.getMaterialCode());
wmsOdsMateStorageNews.setWaCode(wmsRawOrderInSn1.getWaCode());
wmsOdsMateStorageNews.setWlCode(wmsRawOrderInSn1.getWlCode());
wmsOdsMateStorageNews.setWhCode(wmsRawOrderInSn1.getWhCode());
wmsOdsMateStorageNews.setStorageAmount(wmsRawOrderInSn1.getAmount());
wmsOdsMateStorageNewsMapper.updateWmsOdsMateStorageNewsUpdateStorageAmount(wmsOdsMateStorageNews);
wmsOdsMateStorageNewsMapper.deleteWmsOdsMateStorageNewsBycard(wmsOdsMateStorageNews.getWlCode());
//修改card
wmsOdsMateStorageNewsMapper.updateodsProcureOrderCard(wmsRawOrderInSn1.getUserDefined6());
}
wmsRawOrderIn.setOrderStatus("1");
wmsRawOrderIn.setAccountingTime(new Date());
wmsRawOrderIn.setAccountingMessage(result2.getMsg());
wmsRawOrderIn.setUserDefined4(MATERIALDOCUMENT);
wmsRawOrderIn.setUserDefined5(MATDOCUMENTYEAR);
wmsRawOrderInSnMapper.deleteWmsRawOrderInByu5(wmsRawOrderIn.getDnNo(),wmsRawOrderIn.getKem());//---原材料收货明细
wmsRawOrderIn.setOrderStatus("5");//冲销
wmsRawOrderIn.setGmtModified(new Date());
wmsRawOrderIn.setUserDefined9(result2.getMsg());
wmsRawOrderIn.setUserDefined6(MATERIALDOCUMENT);
wmsRawOrderIn.setUserDefined7(MATDOCUMENTYEAR);
wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn);
odsProcureOrderMapper.updateOdsProcureOrderBy(wmsRawOrderIn);
}else {
//失败了
wmsRawOrderIn.setAccountingTime(new Date());
wmsRawOrderIn.setAccountingMessage(result2.getMsg());
wmsRawOrderIn.setGmtModified(new Date());
wmsRawOrderIn.setUserDefined9(result2.getMsg());
wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn);
}
}
return result;
@ -2763,6 +3023,8 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
return result;
}
// @Override
// public String addReturnSC(List<OdsProcureOrder> orderList) {
// String factoryCode = orderList.get(0).getFactoryCode();

@ -160,7 +160,7 @@ public class WmsOdsMateStorageNewsSnServiceImpl implements IWmsOdsMateStorageNew
*/
@Override
@DS("#header.poolName")
public String cardBD(List<OdsProcureOutOrder> orderList) {//
public String cardBD(List<OdsProcureOutOrder> orderList) {
//获取当前所选工厂
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
@ -246,6 +246,27 @@ public class WmsOdsMateStorageNewsSnServiceImpl implements IWmsOdsMateStorageNew
return msg;
}
@Override
@DS("#header.poolName")
public String Removecard(List<OdsProcureOutOrder> orderList) {
//获取当前所选工厂
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
String msg="删除成功";
// String factoryCode = request.getHeader(key.substring(8)).replace("ds_", "");
for (OdsProcureOutOrder order:
orderList) {
//入参是物料,仓库,库区,数量,生成标识卡,
odsProcureOrderMapper.deleteBatchPalletBycard(order.getWlCode());//更具标识卡删除
wmsOdsMateStorageNewsMapper.deleteWmsOdsMateStorageNewsBycard(order.getWlCode());
wmsOdsMateStorageNewsSnMapper.deleteWmsOdsMateStorageNewsSnBycard(order.getWlCode());
}
return msg;
}
public String dayin( List<OdsProcureOrder> orderList) {
// 定义请求的URL地址
String url = dayinUrl1;

@ -29,7 +29,7 @@
</resultMap>
<sql id="selectBaseProductAttachedVo">
select id, product_code, category, pc, iei, man_standar, spray_way, blank_diameter, blank_no, spray_volume, liquid_no, endometrial_dosage, outer_film_dosage, support, support_no, pvc, support_plate, pallet_num, other from base_product_attached
select id, product_code, category, pc, iei, man_standar, spray_way, blank_diameter, blank_no, spray_volume, liquid_no, endometrial_dosage, outer_film_dosage, support, support_no, pvc, support_plate, pallet_num, other,wa_code from base_product_attached
</sql>
<select id="selectBaseProductAttachedList" parameterType="BaseProductAttached"
@ -53,6 +53,7 @@
<if test="pvc != null ">and pvc = #{pvc}</if>
<if test="supportPlate != null ">and support_plate = #{supportPlate}</if>
<if test="other != null and other != ''">and other = #{other}</if>
<if test="waCode != null and waCode != ''">and wa_code = #{waCode}</if>
</where>
</select>
@ -106,6 +107,7 @@
<if test="pvc != null">pvc,</if>
<if test="supportPlate != null">support_plate,</if>
<if test="other != null">other,</if>
<if test="waCode != null">wa_code,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
@ -130,6 +132,7 @@
<if test="pvc != null">#{pvc},</if>
<if test="supportPlate != null">#{supportPlate},</if>
<if test="other != null">#{other},</if>
<if test="waCode != null">#{waCode},</if>
</trim>
</insert>
@ -167,7 +170,8 @@
pack_type = #{packType},
category=#{category},
other=#{other},
cpk_type=#{cpkType}
cpk_type=#{cpkType},
wa_code=#{waCode}
where id = #{id}
</update>

@ -73,6 +73,7 @@
<result property="palletNum" column="palletNum"/>
<result property="warehouseCycle" column="warehouse_cycle"/>
<result property="packType" column="pack_type"/>
<result property="waCode" column="wa_code"/>
<!--附属属性-->
<result property="id" column="id"/>
@ -222,7 +223,8 @@
bpa.pvc,
bpa.support_plate,
bpa.other,bpa.warehouse_cycle,bpa.pallet_num palletNum,
bpa.pack_type,bpa.cpk_type
bpa.pack_type,bpa.cpk_type,
bpa.wa_code
from base_product bp
left join base_product_attached bpa on bpa.product_code = right(bp.product_code,11)
where product_id = #{productId}

@ -41,6 +41,9 @@
<result property="sn" column="sn"/>
<result property="palletNum" column="pallet_num"/>
<result property="returnNumber" column="returnNumber"/>
<result property="whCode" column="whCode"/>
<result property="waCode" column="waCode"/>
<result property="factoryCode" column="factoryCode"/>
</resultMap>
<sql id="selectOdsProcureOrderVo">
@ -757,6 +760,9 @@
#{item.ID}
</foreach>
</delete>
<delete id="deleteBatchPalletBycard" >
delete from ods_procure_order_card where User_Defined1=#{wlCode}
</delete>
<select id="getIdCardListByU1" parameterType="OdsProcureOrder" resultMap="OdsProcureOrderResult">
SELECT
Site_code,
@ -811,5 +817,109 @@
AND (Plan_Number-COALESCE ( Operation_Number, 0 ))>0
order by Create_Date desc
</select>
<update id="updateOdsProcureOrderBy" >
update ods_procure_order
SET Order_Status = '1',
Reality_Number = COALESCE(Reality_Number, 0) - #{requestAmount}
where ID = #{kem}
</update>
<select id="selectCardList" resultMap="OdsProcureOrderResult">
SELECT
ods_procure_order_card.Site_code,
ods_procure_order_card.ID,
ods_procure_order_card.Procure_Code,
ods_procure_order_card.Material_Code,
ods_procure_order_card.Material_Desc,
ods_procure_order_card.Plan_Date,
ods_procure_order_card.Plan_Number,
ods_procure_order_card.Unit,
COALESCE ( ods_procure_order_card.Reality_Number, 0 ) Reality_Number,
ods_procure_order_card.card_num cardNum,
ods_procure_order_card.User_Defined1,
ods_procure_order_card.User_Defined2,
ods_procure_order_card.User_Defined3,
ods_procure_order_card.User_Defined4,
ods_procure_order_card.User_Defined5 whCode,
ods_procure_order_card.User_Defined6 waCode,
ods_procure_order_card.User_Defined7,
ods_procure_order_card.User_Defined8,
ods_procure_order_card.User_Defined9,
ods_procure_order_card.User_Defined10,
ods_procure_order_card.User_Defined11,
ods_procure_order_card.Supplier_Code,
ods_procure_order_card.Supplier_Name,
ods_procure_order_card.Remark,
ods_procure_order_card.Create_By,
ods_procure_order_card.Create_Date,
ods_procure_order_card.Last_Update_By,
ods_procure_order_card.Last_Update_Date,
ods_procure_order_card.Active,
ods_procure_order_card.Enterprise_Id,
ods_procure_order_card.Enterprise_Code,
ods_procure_order.user_defined5 User_Defined5,
COALESCE ( ods_procure_order_card.Operation_Number, 0 ) Operation_Number
FROM
ods_procure_order_card
LEFT JOIN ods_procure_order ON ods_procure_order.ID = TRY_CAST(ods_procure_order_card.User_Defined4 AS INT)
WHERE ods_procure_order.user_defined5=#{userDefined5}
</select>
<select id="selectCardListSH" resultMap="OdsProcureOrderResult">
SELECT
ods_procure_order_card.Site_code factoryCode,
ods_procure_order_card.Procure_Code,
ods_procure_order_card.Material_Code,
ods_procure_order_card.Material_Desc,
ods_procure_order_card.Plan_Number,
ods_procure_order_card.User_Defined1 User_Defined6,
ods_procure_order_card.User_Defined1 sn,
ods_procure_order_card.User_Defined5 whCode,
ods_procure_order_card.User_Defined6 waCode,
ods_procure_order.user_defined5 User_Defined5
FROM
ods_procure_order_card
LEFT JOIN ods_procure_order ON ods_procure_order.ID = TRY_CAST(ods_procure_order_card.User_Defined4 AS INT)
WHERE ods_procure_order.user_defined5=#{userDefined5}
AND ods_procure_order_card.User_Defined10='0'
</select>
<select id="selectOdsProcureOrderCardByUserDefined1new" parameterType="OdsProcureOrder" resultMap="OdsProcureOrderResult">
SELECT
ods_procure_order.Site_code,
ods_procure_order.ID,
ods_procure_order.Procure_Code,
ods_procure_order.Material_Code,
ods_procure_order.Material_Desc,
ods_procure_order.Plan_Date,
ods_procure_order.Plan_Number,
ods_procure_order.Unit,
COALESCE ( ods_procure_order.Reality_Number, 0 ) Reality_Number,
ods_procure_order.Order_Status,
ods_procure_order.User_Defined1,
ods_procure_order.User_Defined2,
ods_procure_order.User_Defined3,
ods_procure_order.User_Defined4,
ods_procure_order.User_Defined5,
ods_procure_order.User_Defined6,
ods_procure_order.User_Defined7,
ods_procure_order.User_Defined8,
ods_procure_order.User_Defined9,
ods_procure_order.User_Defined10,
ods_procure_order.User_Defined11,
ods_procure_order.Supplier_Code,
ods_procure_order.Supplier_Name,
ods_procure_order.Remark,
ods_procure_order.Create_By,
ods_procure_order.Create_Date,
ods_procure_order.Last_Update_By,
ods_procure_order.Last_Update_Date,
ods_procure_order.Active,
ods_procure_order.Enterprise_Id,
ods_procure_order.Enterprise_Code,
COALESCE ( ods_procure_order.Operation_Number, 0 ) Operation_Number
FROM
ods_procure_order_card
LEFT JOIN ods_procure_order ON ods_procure_order_card.User_Defined4= ods_procure_order.ID
WHERE
ods_procure_order_card.User_Defined1= #{userDefined1}
</select>
</mapper>

@ -382,7 +382,9 @@
<delete id="deleteWmsOdsMateStorageNewsByStorageId" parameterType="String">
delete from wms_ods_mate_storage_news where storage_id = #{storageId}
</delete>
<delete id="deleteWmsOdsMateStorageNewsBycard" >
delete from wms_ods_mate_storage_news where wl_code = #{wlCode}
</delete>
<delete id="deleteWmsOdsMateStorageNewsByStorageIds" parameterType="String">
delete from wms_ods_mate_storage_news where storage_id in
<foreach item="storageId" collection="array" open="(" separator="," close=")">
@ -429,4 +431,9 @@
<if test="materialCode != null">product_code = #{materialCode}</if>
</where>
</select>
<update id="updateodsProcureOrderCard" >
update ods_procure_order_card
SET User_Defined10 = '0'
where User_Defined1 = #{userDefined6}
</update>
</mapper>

@ -238,7 +238,9 @@
<delete id="deleteWmsOdsMateStorageNewsSnByMateOrderInSnId" parameterType="Long">
delete from wms_ods_mate_storage_news_sn where mate_order_in_sn_id = #{mateOrderInSnId}
</delete>
<delete id="deleteWmsOdsMateStorageNewsSnBycard" >
delete from wms_ods_mate_storage_news_sn where wl_code=#{wlCode}
</delete>
<delete id="deleteWmsOdsMateStorageNewsSnByMateOrderInSnIds" parameterType="String">
delete from wms_ods_mate_storage_news_sn where mate_order_in_sn_id in
<foreach item="mateOrderInSnId" collection="array" open="(" separator="," close=")">

@ -254,4 +254,7 @@
#{activeFlag}
)
</insert>
<delete id="deleteWmsRawOrderInByu5" >
delete from wms_raw_order_in_sn where user_defined5 = #{dnNo} and user_defined3=#{kem}
</delete>
</mapper>

Loading…
Cancel
Save