新增311转储过账

master
FCD 2 months ago
parent b2cdd35b8c
commit 278319b6d2

@ -20,7 +20,6 @@ import java.util.Map;
* @author OP
*/
@FeignClient(contextId = "remoteSapService", value = ServiceNameConstants.SAP_SERVICE, fallbackFactory = RemoteSapFallbackFactory.class)
public interface RemoteSapService {
@PostMapping("/sap/shopOrderSync")
public R<List<SapProOrder>> shopOrderSync(@RequestBody SapShopOrderQuery sapProOrder);
@ -157,8 +156,14 @@ public interface RemoteSapService {
public R handMadeInStorage(@RequestBody List<SapHandMadeInStorage> list);
@PostMapping("/sap/updateMaterialEntry")
R updateMaterialEntry(@RequestBody List<SapMaterialEntry> list, @RequestParam("optionType") String optionType // 关键指定value
);
R updateMaterialEntry(@RequestBody List<SapMaterialEntry> list, @RequestParam("optionType") String optionType);
/**
* 311
* **/
@PostMapping("/sap/sapTransferPosting")
R sapTransferPosting(@RequestBody List<Map<String,Object>> list);
}

@ -198,6 +198,16 @@ public class RemoteSapFallbackFactory implements FallbackFactory<RemoteSapServic
return R.fail("更新物料库位失败" + throwable.getMessage());
}
/**
* 311
*
* @param list
**/
@Override
public R sapTransferPosting(List<Map<String, Object>> list) {
return R.fail("311转储过账" + throwable.getMessage());
}
};
}
}

@ -666,4 +666,13 @@ public class SapController extends BaseController {
public R updateMaterialEntry(@RequestBody List<SapMaterialEntry> list, @RequestParam("optionType") String optionType) {
return sapWmsService.updateMaterialEntry(list, optionType);
}
/**
* 311
* **/
@PostMapping("/sapTransferPosting")
@Log(title = "311转储过账", businessType = BusinessType.SAP)
public R sapTransferPosting(@RequestBody List<Map<String, Object>> list) {
return sapWmsService.sapTransferPosting(list);
}
}

@ -20,4 +20,6 @@ public interface SapWmsService {
R sapProductOutboundCostTW(List<Map<String, Object>> mapList);
R updateMaterialEntry(List<SapMaterialEntry> list, String optionType) ;
R sapTransferPosting(List<Map<String, Object>> list);
}

@ -375,4 +375,44 @@ public class SapWmsServicelmpl implements SapWmsService {
return R.fail(e.getMessage());
}
}
@Override
public R sapTransferPosting(List<Map<String, Object>> list) {
try {
if (list == null || list.isEmpty()) {
return R.fail();
}
JCoRepository repository = dest.getRepository();
JCoFunction func = repository.getFunction("ZMES_311_MB1B");
if (func == null) {
return R.fail("ZMES_311_MB1B函数不存在");
}
JCoTable item = func.getTableParameterList().getTable("L_ITEM");
log.info("311转储过账开始----------------------------------------");
for (Map<String,Object> map : list) {
item.appendRow();
item.setValue("PLANT", map.get("PLANT"));
item.setValue("LGORT", map.get("LGORT"));
item.setValue("MATNR", map.get("MATNR"));
item.setValue("QUANTITY", map.get("QUANTITY"));
item.setValue("MEINS", map.get("MEINS"));
item.setValue("MOVE_STLOC", map.get("MOVE_STLOC"));
}
func.execute(dest);
String msg = func.getExportParameterList().getString("L_MSG");
String code = func.getExportParameterList().getString("RETCODE");
String postCode = func.getExportParameterList().getString("MATERIALDOCUMENT");
if (!("0").equals(code)) {
return R.fail(msg);
} else {
Map<String,Object> map = new HashMap<>();
map.put("postCode", postCode);
return R.ok(map, msg);
}
}catch (Exception e){
return R.fail(e.getMessage());
}
}
}

@ -5,6 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.op.common.security.annotation.EnableCustomConfig;
import com.op.common.security.annotation.EnableRyFeignClients;
import com.op.common.swagger.annotation.EnableCustomSwagger2;
import org.springframework.cloud.openfeign.EnableFeignClients;
/**
*
@ -15,6 +16,7 @@ import com.op.common.swagger.annotation.EnableCustomSwagger2;
@EnableCustomSwagger2
@EnableRyFeignClients
@SpringBootApplication
@EnableFeignClients(basePackages = "com.op.system.api")
public class WmsApplication {
public static void main(String[] args) {
SpringApplication.run(WmsApplication.class, args);

@ -3,6 +3,7 @@ package com.op.wms.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.op.common.core.context.SecurityContextHolder;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.wms.service.IOdsProcureOrderService;
import org.springframework.beans.factory.annotation.Autowired;
@ -210,4 +211,23 @@ public class OdsProcureOutOrderController extends BaseController {
odsProcureOrderService.batchSapTl(orderList);
return success();
}
/**
*
* **/
@PostMapping("/submitTransferPosting")
@Log(title = "电脑端提交转储过账")
public AjaxResult submitTransferPosting(@RequestBody List<OdsProcureOutOrder> orderList) {
return odsProcureOutOrderService.submitTransferPosting(orderList,SecurityContextHolder.getUserName());
}
/**
*
* **/
@PostMapping("/submitReversePosting")
@Log(title = "电脑端提交反冲过账")
public AjaxResult submitReversePosting(@RequestBody List<OdsProcureOutOrder> orderList) {
odsProcureOutOrderService.submitReversePosting(orderList,SecurityContextHolder.getUserName());
return success();
}
}

@ -0,0 +1,58 @@
package com.op.wms.controller;
import com.op.common.core.context.SecurityContextHolder;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.log.annotation.Log;
import com.op.wms.domain.OdsProcureOutOrder;
import com.op.wms.domain.query.BatchProductionMaterialQuery;
import com.op.wms.service.IWmsRawMaterialOutService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
*
* @author 019117
* @date
*/
@RestController
@RequestMapping("/rawMaterialOut")
@RequiredArgsConstructor
public class WmsRawMaterialOutController {
private final IWmsRawMaterialOutService wmsRawMaterialOutService;
/**
*
* **/
@GetMapping("/transferMaterialList")
public AjaxResult getTransferMaterialList(BatchProductionMaterialQuery query) {
List<OdsProcureOutOrder> list = wmsRawMaterialOutService.getTransferMaterialList(query);
return AjaxResult.success(list);
}
/**
*
* **/
@PostMapping("/submitTransferList")
@Log(title = "手机端提交转储数据")
public AjaxResult submitTransferMaterialList(@RequestBody OdsProcureOutOrder params) {
return wmsRawMaterialOutService.submitTransferMaterialList(params);
}
/**
*
* **/
@PostMapping("/submitReverseList")
@Log(title = "手机端提交反冲数据")
public AjaxResult submitReverseMaterialList(@RequestBody OdsProcureOutOrder params) {
return wmsRawMaterialOutService.submitReverseMaterialList(params);
}
}

@ -421,6 +421,11 @@ public class OdsProcureOutOrder extends BaseEntity {
* **/
private String sort;
/**
*
* **/
private String isPost = "0";
public String getWhCode() {
return whCode;
}
@ -741,6 +746,14 @@ public class OdsProcureOutOrder extends BaseEntity {
this.sort = sort;
}
public String getIsPost() {
return isPost;
}
public void setIsPost(String isPost) {
this.isPost = isPost;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)

@ -0,0 +1,72 @@
package com.op.wms.domain.query;
import lombok.Data;
import java.util.List;
/**
*
*
* @author 019117
* @date
*/
@Data
public class BatchProductionMaterialQuery {
/**
*
* **/
private String code;
/**
*
* **/
private String type;
/**
*
* **/
private String workOrderCode;
/**
*
* **/
private String factoryCode;
/**
*
* **/
private String operator;
/**
*
* **/
private String productDate;
/**
*
* **/
private String orderStatus;
/**
*
* **/
private String active;
/**
*
* **/
private String userDefined3;
/**
* -
* **/
private String userDefined6;
/**
*
* **/
private String userDefined10;
}

@ -0,0 +1,22 @@
package com.op.wms.mapper;
import com.op.wms.domain.query.BatchProductionMaterialQuery;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* remark
*
* @author 019117
* @date
*/
@Mapper
public interface MesPrepareMapper {
/**
*
* **/
List<String> selectMesPrepareList(BatchProductionMaterialQuery query);
}

@ -2,8 +2,9 @@ package com.op.wms.mapper;
import java.util.List;
import com.op.system.api.domain.sap.SapMaterialPosting;
import com.op.wms.domain.*;
import com.op.wms.domain.query.BatchProductionMaterialQuery;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
@ -12,6 +13,7 @@ import org.apache.ibatis.annotations.Param;
* @author Open Platform
* @date 2023-07-06
*/
@Mapper
public interface OdsProcureOutOrderMapper {
/**
*
@ -188,4 +190,8 @@ public interface OdsProcureOutOrderMapper {
List<WmsStockAreaEntry> batchCheckDuplication(List<WmsStockAreaEntry> list );
void batchInsertMaterialEntry(List<WmsStockAreaEntry> list);
List<OdsProcureOutOrder> getBatchProductionMaterialList(BatchProductionMaterialQuery query);
void batchUpdateWmsOdsProcureOutOrder(@Param("orderList") List<OdsProcureOutOrder> orderList);
}

@ -3,7 +3,7 @@ package com.op.wms.mapper;
import com.op.wms.domain.ProOrderWorkorder;
import com.op.wms.domain.ProWetMaterialPlanDetail;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@ -15,6 +15,7 @@ import java.util.List;
* @date 2023-07-18
*/
@Mapper
public interface ProOrderWorkorderMapper {
List<ProOrderWorkorder> selectProOrderWorkorderList999(ProOrderWorkorder proOrderWorkorder);

@ -2,6 +2,7 @@ package com.op.wms.service;
import java.util.List;
import com.op.common.core.web.domain.AjaxResult;
import com.op.wms.domain.OdsProcureOutOrder;
/**
@ -90,4 +91,7 @@ public interface IOdsProcureOutOrderService {
List<OdsProcureOutOrder> selectOdsProcureOutOrderListZCTC(OdsProcureOutOrder odsProcureOutOrder);
public int removeReturn(List<String> iDs);
AjaxResult submitTransferPosting(List<OdsProcureOutOrder> list, String operator);
AjaxResult submitReversePosting( List<OdsProcureOutOrder> list, String operator);
}

@ -0,0 +1,23 @@
package com.op.wms.service;
import com.op.common.core.web.domain.AjaxResult;
import com.op.wms.domain.OdsProcureOutOrder;
import com.op.wms.domain.query.BatchProductionMaterialQuery;
import java.util.List;
/**
* remark
*
* @author 019117
* @date
*/
public interface IWmsRawMaterialOutService {
List<OdsProcureOutOrder> getTransferMaterialList(BatchProductionMaterialQuery query);
AjaxResult submitTransferMaterialList(OdsProcureOutOrder params);
AjaxResult submitReverseMaterialList(OdsProcureOutOrder params);
}

@ -8,6 +8,7 @@ import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
import com.op.common.core.domain.R;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.security.utils.SecurityUtils;
import com.op.system.api.RemoteSapService;
import com.op.system.api.domain.sap.SapBackflushMPQuery;
@ -633,4 +634,98 @@ public class OdsProcureOutOrderServiceImpl implements IOdsProcureOutOrderService
}
@Override
@DS("#header.poolName")
public AjaxResult submitTransferPosting(List<OdsProcureOutOrder> orderList, String operator) {
List<Map<String,Object>> list = new ArrayList<>();
for(OdsProcureOutOrder order : orderList){
Map<String,Object> map = new HashMap<>();
map.put("PLANT", order.getSiteCode());
map.put("LGORT", "0001");
map.put("MATNR", order.getMaterialCode());
map.put("QUANTITY", order.getOutNumber());
map.put("MEINS", order.getUnit());
map.put("MOVE_STLOC", "0087");
list.add(map);
}
//过账
R result = remoteSapService.sapTransferPosting(list);
//过账后处理
return postHandle(result,orderList,operator);
}
@Override
@DS("#header.poolName")
public AjaxResult submitReversePosting(List<OdsProcureOutOrder> orderList, String operator) {
List<Map<String,Object>> list = new ArrayList<>();
for(OdsProcureOutOrder order : orderList){
Map<String,Object> map = new HashMap<>();
map.put("PLANT", order.getSiteCode());
map.put("LGORT", "0001");
map.put("MATNR", order.getMaterialCode());
map.put("QUANTITY", order.getOutNumber());
map.put("MEINS", order.getUnit());
map.put("MOVE_STLOC", "0013");
list.add(map);
}
//过账
R result = remoteSapService.sapTransferPosting(list);
//过账后处理
return postHandle(result,orderList,operator);
}
private AjaxResult postHandle( R result, List<OdsProcureOutOrder> orderList, String operator){
String msg = result.getMsg();
if (result.getCode() == 200) {
//过账成功
Map<String,Object> map = (Map<String,Object>) result.getData();
String postCode = (String) map.get("postCode");
updateOdsProcureOutOrderAndRawMissionOut(orderList, msg, postCode, operator, "2");
odsProcureOutOrderMapper.batchUpdateWmsOdsProcureOutOrder(orderList);
return AjaxResult.success(msg);
} else {
//过账失败
updateOdsProcureOutOrderAndRawMissionOut(orderList, msg, "", operator, "3");
odsProcureOutOrderMapper.batchUpdateWmsOdsProcureOutOrder(orderList);
return AjaxResult.error(msg);
}
}
//更新出库单及出库明细
private void updateOdsProcureOutOrderAndRawMissionOut(List<OdsProcureOutOrder> orderList,String msg, String postCode, String operator, String postingStatus) {
//遍历列表
for (OdsProcureOutOrder order : orderList) {
//更新更新出库数量以及出库状态
order.setOrderStatus("3");
order.setUserDefined9(postCode);
order.setUserDefined10(postingStatus);
order.setUserDefined11(msg);
order.setLastUpdateBy(operator);
order.setLastUpdateDate(new Date());
//新增出库明细
if ("2".equals(postingStatus)){
OdsProcureOutOrder missionOut = new OdsProcureOutOrder();
missionOut.setID(IdUtils.fastSimpleUUID());
missionOut.setProduceCode(order.getProduceCode());
missionOut.setMaterialCode(order.getMaterialCode());
missionOut.setMaterialDesc(order.getMaterialDesc());
missionOut.setUnit(order.getUnit());
missionOut.setPlanNumber(order.getOutNumber());
missionOut.setActive("1");
missionOut.setUserDefined3(order.getUserDefined3());
missionOut.setUserDefined4(order.getUserDefined4());
missionOut.setUserDefined5(postingStatus);
missionOut.setFactoryCode(order.getSiteCode());
missionOut.setCreateBy(operator);
missionOut.setCreateDate(new Date());
//出库记录
odsProcureOutOrderMapper.insertWmsRawMissionOut(missionOut);
}
}
}
}

@ -0,0 +1,235 @@
package com.op.wms.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.domain.R;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.core.web.domain.AjaxResult;
import com.op.system.api.RemoteSapService;
import com.op.system.api.domain.sap.SapBackflushMPQuery;
import com.op.wms.domain.OdsProcureOutOrder;
import com.op.wms.domain.query.BatchProductionMaterialQuery;
import com.op.wms.mapper.MesPrepareMapper;
import com.op.wms.mapper.OdsProcureOutOrderMapper;
import com.op.wms.service.IWmsRawMaterialOutService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
/**
* remark
*
* @author 019117
* @date
*/
@Service
@RequiredArgsConstructor
public class WmsRawMaterialOutServiceImpl implements IWmsRawMaterialOutService {
private final OdsProcureOutOrderMapper odsProcureOutOrderMapper;
private final MesPrepareMapper mesPrepareMapper;
private final RemoteSapService remoteSapService;
@Override
@DS("#header.poolName")
public List<OdsProcureOutOrder> getTransferMaterialList(BatchProductionMaterialQuery query) {
//获取当前生产工单号
List<String> workOrderCodeList = mesPrepareMapper.selectMesPrepareList(query);
//查询包材出库单是否有数据(查询每张订单是否都有物料)
for (String code : workOrderCodeList) {
query.setUserDefined6(code);
List<OdsProcureOutOrder> list = odsProcureOutOrderMapper.getBatchProductionMaterialList(query);
if (list.isEmpty()){
//如果没有数据则从生产工单获取到生产物料
OdsProcureOutOrder order = new OdsProcureOutOrder();
order.setWorkorderCode(code);
List<OdsProcureOutOrder> orderList= odsProcureOutOrderMapper.selectMesPrepareDetailBC(order);
Integer orderItem = 0;
for (OdsProcureOutOrder order1: orderList) {
orderItem++;
OdsProcureOutOrder odsProcureOutOrder1 = new OdsProcureOutOrder();
odsProcureOutOrder1.setID(IdUtils.fastSimpleUUID());
odsProcureOutOrder1.setSiteCode(query.getFactoryCode());
odsProcureOutOrder1.setProduceCode(query.getCode());
odsProcureOutOrder1.setOutNumber(new BigDecimal("0"));
odsProcureOutOrder1.setMaterialCode(order1.getMaterialCode());
odsProcureOutOrder1.setMaterialDesc(order1.getMaterialDesc());
odsProcureOutOrder1.setPlanDate(new Date());
odsProcureOutOrder1.setUnit(order1.getUnit());
odsProcureOutOrder1.setActive("1");
odsProcureOutOrder1.setOrderStatus("1");
odsProcureOutOrder1.setPlanNumber(order1.getPlanNumber());
odsProcureOutOrder1.setUserDefined2(String.format("%05d", orderItem));
odsProcureOutOrder1.setUserDefined3("ZC");
odsProcureOutOrder1.setUserDefined4(query.getCode());
odsProcureOutOrder1.setUserDefined10("1");
odsProcureOutOrder1.setUserDefined5(order1.getNeedDate());
odsProcureOutOrder1.setUserDefined6(code);
odsProcureOutOrder1.setCreateBy(query.getOperator());
odsProcureOutOrder1.setCreateDate(new Date());
//写入包材出库单
odsProcureOutOrderMapper.insertWmsOdsProcureOutOrder(odsProcureOutOrder1);
}
}
}
//重新查询(相同物料需要合并计算)
query.setUserDefined6(null);
return odsProcureOutOrderMapper.getBatchProductionMaterialList(query);
}
@Override
@DS("#header.poolName")
public AjaxResult submitTransferMaterialList(OdsProcureOutOrder params) {
//更新出库单及新增出库明细
updateOdsProcureOutOrder(params);
//获取已完成,但没有过账的转储物料
BatchProductionMaterialQuery query = new BatchProductionMaterialQuery();
query.setUserDefined3("ZC");
query.setOrderStatus("3");
query.setActive("1");
query.setUserDefined10("1");
List<OdsProcureOutOrder> orderList = odsProcureOutOrderMapper.getBatchProductionMaterialList(query);
if (orderList.isEmpty()){
return AjaxResult.success();
}
List<Map<String,Object>> list = new ArrayList<>();
for(OdsProcureOutOrder order : orderList){
Map<String,Object> map = new HashMap<>();
map.put("PLANT", params.getFactoryCode());
map.put("LGORT", "0001");
map.put("MATNR", order.getMaterialCode());
map.put("QUANTITY", order.getOutNumber());
map.put("MEINS", order.getUnit());
map.put("MOVE_STLOC", "0087");
list.add(map);
}
//过账
R result = remoteSapService.sapTransferPosting(list);
return postHandle(result,orderList);
}
@Override
@DS("#header.poolName")
public AjaxResult submitReverseMaterialList(OdsProcureOutOrder params) {
//更新出库单及新增出库明细
updateOdsProcureOutOrder(params);
//获取已完成,但没有过账的反冲物料
BatchProductionMaterialQuery query = new BatchProductionMaterialQuery();
query.setUserDefined3("X");
query.setOrderStatus("3");
query.setActive("1");
query.setUserDefined10("1");
List<OdsProcureOutOrder> orderList = odsProcureOutOrderMapper.getBatchProductionMaterialList(query);
if (orderList.isEmpty()){
return AjaxResult.success();
}
List<Map<String,Object>> list = new ArrayList<>();
for(OdsProcureOutOrder order : orderList){
Map<String,Object> map = new HashMap<>();
map.put("PLANT", params.getFactoryCode());
map.put("LGORT", "0001");
map.put("MATNR", order.getMaterialCode());
map.put("QUANTITY", order.getOutNumber());
map.put("MEINS", order.getUnit());
map.put("MOVE_STLOC", "0013");
list.add(map);
}
R result = remoteSapService.sapTransferPosting(list);
return postHandle(result,orderList);
}
//更新出库单及出库明细
private void updateOdsProcureOutOrder(OdsProcureOutOrder params) {
List<OdsProcureOutOrder> orderList = params.getOrderList();
//遍历列表
for (OdsProcureOutOrder order : orderList) {
//计划数量
BigDecimal planQty = order.getPlanNumber();
//已出数量
BigDecimal outQty = order.getOutNumber();
//当前需出库数量
BigDecimal currentQty = order.getQty();
//应出数量 = 已出+需出
BigDecimal totalQty = BigDecimal.ZERO;
if (currentQty == null) {
totalQty = outQty;
}else {
totalQty = outQty.add(currentQty);
}
//已出+需出=计划数量,则满足出库状态
if (totalQty.compareTo(planQty) >= 0) {
order.setOrderStatus("3");
}else {
order.setOrderStatus("2");
}
if ("1".equals(order.getIsPost())){
order.setOrderStatus("3");
}
if ("3".equals(order.getOrderStatus())) {
//应出数量为0返回错误
if (totalQty.compareTo(BigDecimal.ZERO) == 0) {
throw new RuntimeException("物料编码:"+ order.getMaterialCode() + "出库数量为0无法过账");
}
}
//更新已出数量
order.setOutNumber(totalQty);
order.setLastUpdateBy(params.getCreateBy());
order.setLastUpdateDate(new Date());
//更新出库单
odsProcureOutOrderMapper.updateWmsOdsProcureOutOrder(order);
//新增出库明细
order.setID(IdUtils.fastSimpleUUID());
order.setActive("1");
order.setCreateBy(params.getCreateBy());
order.setCreateDate(new Date());
order.setUserDefined1(null);
order.setUserDefined2(null);
odsProcureOutOrderMapper.insertWmsRawMissionOut(order);
}
}
//过账信息处理
private AjaxResult postHandle(R result, List<OdsProcureOutOrder> list) {
int code = result.getCode();
OdsProcureOutOrder order = new OdsProcureOutOrder();
String msg = result.getMsg();
order.setUserDefined11(msg);
if (code == 200) {
//过账成功
Map<String,Object> map = (Map<String,Object>) result.getData();
String userDefined9 = (String) map.get("postCode");
order.setUserDefined9(userDefined9);
//成功
order.setUserDefined10("2");
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, list);
return AjaxResult.success(msg);
} else {
order.setUserDefined9("");
//失败
order.setUserDefined10("3");
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, list);
return AjaxResult.error(msg);
}
}
}

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.op.wms.mapper.MesPrepareMapper">
<select id="selectMesPrepareList" parameterType="com.op.wms.domain.query.BatchProductionMaterialQuery" resultType="String">
select ow.workorder_code workorderCode
from mes_prepare ms
left join pro_order_workorder ow on ms.workorder_code = ow.workorder_code
<where>
ow.del_flag = '0' and ow.parent_order = '0' and ms.del_flag = '0'
<if test="productDate != null "> and ow.product_date = #{productDate}</if>
</where>
</select>
</mapper>

@ -2203,4 +2203,55 @@
)
</foreach>
</insert>
<select id="getBatchProductionMaterialList" parameterType="com.op.wms.domain.query.BatchProductionMaterialQuery" resultType="com.op.wms.domain.OdsProcureOutOrder">
SELECT
ID,
Produce_Code produceCode,
Material_Code materialCode,
Material_Desc materialDesc,
Site_code siteCode,
Site_code factoryCode,
Plan_Number planNumber,
COALESCE ( Out_Number, 0 ) AS outNumber,
unit,
Order_Status orderStatus,
User_Defined1 userDefined1,
User_Defined2 userDefined2,
User_Defined3 userDefined3,
User_Defined4 userDefined4,
User_Defined6 userDefined6,
User_Defined7 userDefined7,
User_Defined8 userDefined8,
User_Defined9 userDefined9,
User_Defined10 userDefined10
FROM wms_ods_procure_out_order
<where>
<if test="code != null and code != ''"> and User_Defined4 = #{code} </if>
<if test="orderStatus != null and orderStatus != ''"> and Order_Status = #{orderStatus} </if>
<if test="active != null and active != ''"> and Active = #{active} </if>
<if test="userDefined3 != null and userDefined3 != ''"> and User_Defined3 = #{userDefined3} </if>
<if test="userDefined6 != null and userDefined6 != ''"> and User_Defined6 = #{userDefined6} </if>
<if test="userDefined10 != null and userDefined10 != ''"> and User_Defined10 = #{userDefined10} </if>
</where>
ORDER BY userDefined10, userDefined6, userDefined2
</select>
<update id="batchUpdateWmsOdsProcureOutOrder" parameterType="com.op.wms.domain.OdsProcureOutOrder">
<foreach collection="orderList" item="item" separator=";" open="" close="">
UPDATE wms_ods_procure_out_order
SET
order_status = #{item.orderStatus},
Out_Number = #{item.outNumber},
user_defined9 = #{item.userDefined9},
user_defined10 = #{item.userDefined10},
user_defined11 = #{item.userDefined11},
last_update_by = #{item.lastUpdateBy},
last_update_date = #{item.lastUpdateDate}
WHERE
id = #{item.ID}
</foreach>
</update>
</mapper>

Loading…
Cancel
Save