Merge remote-tracking branch 'origin/master'

master
陈恒杰 2 years ago
commit db81932f2c

@ -78,5 +78,17 @@ public interface RemoteSapService {
/**智慧工厂储位信息*/
@PostMapping("/sap/sapLgortInfo")
public R sapLgortInfo(@RequestBody(required = false) Map<String, Object> map);
public R sapLgortInfo(@RequestBody(required = false) List<Map<String, Object>> mapList);
/**成品下线入库*/
@PostMapping("/sapProductWarehousing")
public R sapProductWarehousing(@RequestBody(required = false) List<Map<String, Object>> mapList);
/**获取采购订单*/
@PostMapping("/sapPurchaseOrderSync")
public R sapPurchaseOrderSync(@RequestBody SapPurchaseOrderQuery sapPurchaseOrderQuery);
/**采购订单收货过账*/
@PostMapping("/sapPOrderGoodsReceipt")
public R sapPOrderGoodsReceipt(@RequestBody(required = false) List<Map<String, Object>> mapList);
}

@ -128,6 +128,10 @@ public class QcCheckTaskProduceDTO extends BaseEntity {
private String checkTimeEnd;
private String typeCode;
private String checkType;
private String carName;
private String carCode;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date produceDate;
@Excel(name = "抽样数量")
private BigDecimal sampleQuality;
@ -144,6 +148,30 @@ public class QcCheckTaskProduceDTO extends BaseEntity {
@Excel(name = "C类不合格数量")
private BigDecimal cNoOkquality;
public Date getProduceDate() {
return produceDate;
}
public void setProduceDate(Date produceDate) {
this.produceDate = produceDate;
}
public String getCarName() {
return carName;
}
public void setCarName(String carName) {
this.carName = carName;
}
public String getCarCode() {
return carCode;
}
public void setCarCode(String carCode) {
this.carCode = carCode;
}
public BigDecimal getaNoOkquality() {
return aNoOkquality;
}

@ -0,0 +1,258 @@
package com.op.system.api.domain.quality;
import com.op.common.core.annotation.Excel;
import com.op.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.List;
/**
* qc_user_material
*
* @author Open Platform
* @date 2023-10-09
*/
public class QcUserMaterialDTO extends BaseEntity {
private static final long serialVersionUID = 1L;
/** id */
private String id;
/** 员工编码 */
@Excel(name = "员工编码")
private String userCode;
/** 员工名称 */
@Excel(name = "员工名称")
private String userName;
/** 物料编码 */
@Excel(name = "物料编码")
private String materialCode;
/** 物料名称 */
@Excel(name = "物料名称")
private String materialName;
/** 预留字段1 */
@Excel(name = "预留字段1")
private String attr1;
/** 预留字段2 */
@Excel(name = "预留字段2")
private String attr2;
/** 预留字段3 */
@Excel(name = "预留字段3")
private String attr3;
/** 预留字段4 */
@Excel(name = "预留字段4")
private String attr4;
/** 工厂编码 */
@Excel(name = "工厂编码")
private String factoryCode;
/** 删除标识1删除0正常 */
private String delFlag;
/** 编号 */
private String userId;
/** 手机号 */
private String phonenumber;
private String email;
private String materialNames;
/** 状态 */
private String status;
private String materialId;
private String[] userCodes;
private String label;
private String key;
private List<String> selectedValues;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setUserCode(String userCode) {
this.userCode = userCode;
}
public String getUserCode() {
return userCode;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserName() {
return userName;
}
public void setMaterialCode(String materialCode) {
this.materialCode = materialCode;
}
public String getMaterialCode() {
return materialCode;
}
public void setMaterialName(String materialName) {
this.materialName = materialName;
}
public String getMaterialName() {
return materialName;
}
public void setAttr1(String attr1) {
this.attr1 = attr1;
}
public String getAttr1() {
return attr1;
}
public void setAttr2(String attr2) {
this.attr2 = attr2;
}
public String getAttr2() {
return attr2;
}
public void setAttr3(String attr3) {
this.attr3 = attr3;
}
public String getAttr3() {
return attr3;
}
public void setAttr4(String attr4) {
this.attr4 = attr4;
}
public String getAttr4() {
return attr4;
}
public void setFactoryCode(String factoryCode) {
this.factoryCode = factoryCode;
}
public String getFactoryCode() {
return factoryCode;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public String getDelFlag() {
return delFlag;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getPhonenumber() {
return phonenumber;
}
public void setPhonenumber(String phonenumber) {
this.phonenumber = phonenumber;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getMaterialNames() {
return materialNames;
}
public void setMaterialNames(String materialNames) {
this.materialNames = materialNames;
}
public String getMaterialId() {
return materialId;
}
public void setMaterialId(String materialId) {
this.materialId = materialId;
}
public String[] getUserCodes() {
return userCodes;
}
public void setUserCodes(String[] userCodes) {
this.userCodes = userCodes;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public List<String> getSelectedValues() {
return selectedValues;
}
public void setSelectedValues(List<String> selectedValues) {
this.selectedValues = selectedValues;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("userCode", getUserCode())
.append("userName", getUserName())
.append("materialCode", getMaterialCode())
.append("materialName", getMaterialName())
.append("attr1", getAttr1())
.append("attr2", getAttr2())
.append("attr3", getAttr3())
.append("attr4", getAttr4())
.append("userId", getUserId())
.append("phonenumber", getPhonenumber())
.append("status", getStatus())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("factoryCode", getFactoryCode())
.append("delFlag", getDelFlag())
.toString();
}
}

@ -90,10 +90,25 @@ public class RemoteSapFallbackFactory implements FallbackFactory<RemoteSapServic
}
@Override
public R sapLgortInfo(Map<String, Object> map) {
public R sapLgortInfo(List<Map<String, Object>> mapList) {
return R.fail("储位仓库信息获取失败" + throwable.getMessage());
}
@Override
public R sapProductWarehousing(List<Map<String, Object>> mapList) {
return R.fail("成品下线入库失败" + throwable.getMessage());
}
@Override
public R sapPurchaseOrderSync(SapPurchaseOrderQuery sapPurchaseOrderQuery) {
return R.fail("采购订单获取失败" + throwable.getMessage());
}
@Override
public R sapPOrderGoodsReceipt(List<Map<String, Object>> mapList) {
return R.fail("采购订单收货过账失败" + throwable.getMessage());
}
};
}
}

@ -21,7 +21,6 @@ public class DeviceInterfaceController {
@Autowired
private IDeviceInterfaceService deviceInterfaceService;
/**
*
* @return
@ -81,29 +80,6 @@ public class DeviceInterfaceController {
return deviceInterfaceService.getDeviceRefreshTime(equOperation);
}
/**
*
*/
@GetMapping("/getFaultDescriptionList")
public AjaxResult getFaultDescriptionList(EquFaultDescription equFaultDescription) {
return deviceInterfaceService.selectEquFaultDescriptionList(equFaultDescription);
}
/**
*
*/
@GetMapping("/getFaultMeasuresList")
public AjaxResult getFaultMeasuresList(EquFaultMeasures equFaultMeasures) {
return deviceInterfaceService.selectEquFaultMeasuresList(equFaultMeasures);
}
/**
*
*/
@GetMapping("/getFaultReasonList")
public AjaxResult getFaultReasonList(EquFaultReason equFaultReason) {
return deviceInterfaceService.selectEquFaultReasonList(equFaultReason);
}
/**
* -线
* @return

@ -10,7 +10,6 @@ import com.op.device.service.IDevicePDAService;
import com.op.device.service.IEquRepairOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
@ -175,4 +174,28 @@ public class DevicePDAController extends BaseController {
public AjaxResult startMaintenanceTask(PDADTO pdadto) {
return devicePDAService.startMaintenanceTask(pdadto);
}
/**
*
*/
@GetMapping("/getFaultDescriptionList")
public AjaxResult getFaultDescriptionList(EquFaultDescription equFaultDescription) {
return devicePDAService.selectEquFaultDescriptionList(equFaultDescription);
}
/**
*
*/
@GetMapping("/getFaultMeasuresList")
public AjaxResult getFaultMeasuresList(EquFaultMeasures equFaultMeasures) {
return devicePDAService.selectEquFaultMeasuresList(equFaultMeasures);
}
/**
*
*/
@GetMapping("/getFaultReasonList")
public AjaxResult getFaultReasonList(EquFaultReason equFaultReason) {
return devicePDAService.selectEquFaultReasonList(equFaultReason);
}
}

@ -46,22 +46,6 @@ public interface IDeviceInterfaceService {
*/
public AjaxResult getDeviceRefreshTime(EquOperation equOperation);
/**
*
*/
AjaxResult selectEquFaultDescriptionList(EquFaultDescription equFaultDescription);
/**
*
*/
AjaxResult selectEquFaultMeasuresList(EquFaultMeasures equFaultMeasures);
/**
*
*/
AjaxResult selectEquFaultReasonList(EquFaultReason equFaultReason);
public AjaxResult getDeviceRefreshTime(EquOperationRecord equOperationRecord);
/**
* -线
* @return

@ -123,4 +123,19 @@ public interface IDevicePDAService {
//查询设备列表
List<EquEquipment> selectEquEquipmentList(EquEquipment equEquipment);
/**
*
*/
AjaxResult selectEquFaultDescriptionList(EquFaultDescription equFaultDescription);
/**
*
*/
AjaxResult selectEquFaultMeasuresList(EquFaultMeasures equFaultMeasures);
/**
*
*/
AjaxResult selectEquFaultReasonList(EquFaultReason equFaultReason);
}

@ -33,16 +33,6 @@ public class DeviceInterfaceServiceImpl implements IDeviceInterfaceService {
@Autowired
private EquOperationRecordMapper equOperationRecordMapper;
@Autowired
private EquFaultMeasuresMapper equFaultMeasuresMapper;
@Autowired
private EquFaultDescriptionMapper equFaultDescriptionMapper;
@Autowired
private EquFaultReasonMapper equFaultReasonMapper;
/**
*
*
@ -229,55 +219,6 @@ public class DeviceInterfaceServiceImpl implements IDeviceInterfaceService {
return success(time);
}
/**
*
*
* @param equFaultMeasures
* @return
*/
@Override
@DS("#header.poolName")
public AjaxResult selectEquFaultMeasuresList(EquFaultMeasures equFaultMeasures) {
List<EquFaultMeasures> list = equFaultMeasuresMapper.selectEquFaultMeasuresList(equFaultMeasures);
return success(list);
}
/**
*
*
* @param equFaultDescription
* @return
*/
@Override
@DS("#header.poolName")
public AjaxResult selectEquFaultDescriptionList(EquFaultDescription equFaultDescription) {
List<EquFaultDescription> list = equFaultDescriptionMapper.selectEquFaultDescriptionList(equFaultDescription);
return success(list);
}
/**
*
*
* @param equFaultReason
* @return
*/
@Override
@DS("#header.poolName")
public AjaxResult selectEquFaultReasonList(EquFaultReason equFaultReason) {
List<EquFaultReason> list = equFaultReasonMapper.selectEquFaultReasonList(equFaultReason);
return success(list);
}
/**
*
*/
@Override
@DS("master")
public AjaxResult getDeviceRefreshTime(EquOperationRecord equOperationRecord) {
String refreshTime = deviceInterfaceMapper.getDeviceRefreshTime(equOperationRecord);
int time = Integer.parseInt(refreshTime);
return success(time);
}
/**
* -线

@ -72,6 +72,15 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
@Autowired
private EquOperationRecordMapper equOperationRecordMapper;
@Autowired
private EquFaultMeasuresMapper equFaultMeasuresMapper;
@Autowired
private EquFaultDescriptionMapper equFaultDescriptionMapper;
@Autowired
private EquFaultReasonMapper equFaultReasonMapper;
/**
* list-
@ -913,4 +922,43 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
equOperationRecordMapper.insertEquOperationRecord(newRecord);
}
/**
*
*
* @param equFaultMeasures
* @return
*/
@Override
@DS("#header.poolName")
public AjaxResult selectEquFaultMeasuresList(EquFaultMeasures equFaultMeasures) {
List<EquFaultMeasures> list = equFaultMeasuresMapper.selectEquFaultMeasuresList(equFaultMeasures);
return success(list);
}
/**
*
*
* @param equFaultDescription
* @return
*/
@Override
@DS("#header.poolName")
public AjaxResult selectEquFaultDescriptionList(EquFaultDescription equFaultDescription) {
List<EquFaultDescription> list = equFaultDescriptionMapper.selectEquFaultDescriptionList(equFaultDescription);
return success(list);
}
/**
*
*
* @param equFaultReason
* @return
*/
@Override
@DS("#header.poolName")
public AjaxResult selectEquFaultReasonList(EquFaultReason equFaultReason) {
List<EquFaultReason> list = equFaultReasonMapper.selectEquFaultReasonList(equFaultReason);
return success(list);
}
}

@ -79,7 +79,7 @@
<select id="getEquipmentIntactRate" parameterType="EquOperation" resultType="com.op.device.domain.EquOperation">
SELECT
SUM(CASE WHEN equipment_status = '1' or equipment_status = '3' THEN 1 Else 0 END) AS operationEquipment,
SUM(CASE WHEN equipment_status = '0' or equipment_status = '0' THEN 1 Else 0 END) AS faultEquipment,
SUM(CASE WHEN equipment_status = '0' or equipment_status = '2' THEN 1 Else 0 END) AS faultEquipment,
COUNT(*) AS totalEquipment,
CAST(SUM(CASE WHEN equipment_status = '1' or equipment_status = '3' THEN 1 Else 0 END)*100.00/COUNT(*) as decimal(18,2)) AS intactRate
FROM base_equipment

@ -83,7 +83,7 @@ public class OpenController extends BaseController {
}
/**创建生产过程(烘房 首检)检验*/
@PostMapping(value = "createCheckProduceTask")
@PostMapping(value = "/createCheckProduceTask")
public AjaxResult createCheckProduceTask(@RequestBody QcCheckTaskProduceDTO qcCheckTaskProduce) {
if(StringUtils.isBlank(qcCheckTaskProduce.getIncomeBatchNo())){
return error("[IncomeBatchNo]不能为空");

@ -7,10 +7,7 @@ import com.op.system.api.domain.mes.MesReportWorkConsumeDTO;
import com.op.system.api.domain.mes.MesReportWorkDTO;
import com.op.system.api.domain.mes.ProOrderWorkorderDTO;
import com.op.system.api.domain.mes.ProRfidProcessDetail;
import com.op.system.api.domain.quality.QcCheckTaskDetailDTO;
import com.op.system.api.domain.quality.QcCheckTaskProduceDTO;
import com.op.system.api.domain.quality.QcCheckTypeProjectDTO;
import com.op.system.api.domain.quality.QcMaterialGroupDetailDTO;
import com.op.system.api.domain.quality.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -78,5 +75,7 @@ public interface OpenMapper {
void insertQcCheckTaskProduce(QcCheckTaskProduceDTO qcCheckTaskProduce);
public int addBatch(@Param("list") List<QcCheckTaskDetailDTO> items);
QcUserMaterialDTO getUserByMaterial(String materialCode);
}

@ -23,10 +23,7 @@ import com.op.system.api.domain.mes.MesReportWorkConsumeDTO;
import com.op.system.api.domain.mes.MesReportWorkDTO;
import com.op.system.api.domain.mes.ProOrderWorkorderDTO;
import com.op.system.api.domain.mes.ProRfidProcessDetail;
import com.op.system.api.domain.quality.QcCheckTaskDetailDTO;
import com.op.system.api.domain.quality.QcCheckTaskProduceDTO;
import com.op.system.api.domain.quality.QcCheckTypeProjectDTO;
import com.op.system.api.domain.quality.QcMaterialGroupDetailDTO;
import com.op.system.api.domain.quality.*;
import com.op.system.api.domain.sap.SapCloseOrderQuery;
import com.op.system.api.domain.sap.SapRFW;
import org.apache.commons.lang.StringUtils;
@ -297,9 +294,7 @@ public class OpenServiceImpl implements OpenService {
String createBy = SecurityUtils.getUsername();
Date nowDate= DateUtils.getNowDate();
//获取当前所选工厂
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
String factoryCode = request.getHeader(key.substring(8)).replace("ds_","");
String factoryCode = qcCheckTaskProduce.getFactoryCode();
qcCheckTaskProduce.setCheckNo(bpDD+liushuiStr);
@ -307,6 +302,17 @@ public class OpenServiceImpl implements OpenService {
QcCheckTypeProjectDTO qctp= new QcCheckTypeProjectDTO();
qctp.setTypeId(qcCheckTaskProduce.getCheckType());//生产过程检验
qctp.setMaterialCode(qcCheckTaskProduce.getMaterialCode());//特性
/**qc_user_material取默认检查人**/
QcUserMaterialDTO qcUserMaterialDTO = openMapper.getUserByMaterial(qcCheckTaskProduce.getMaterialCode());
if(qcUserMaterialDTO == null){
qcCheckTaskProduce.setCheckManCode("mobile");
qcCheckTaskProduce.setCheckManName("手持测试用户");
}else{
qcCheckTaskProduce.setCheckManCode(qcUserMaterialDTO.getUserCode());
qcCheckTaskProduce.setCheckManName(qcUserMaterialDTO.getUserName());
}
/**qc_check_type_project**/
List<QcCheckTaskDetailDTO> items = openMapper.getTPByTypeMaterial(qctp);
if(CollectionUtils.isEmpty(items)){
@ -330,6 +336,9 @@ public class OpenServiceImpl implements OpenService {
qcCheckTaskProduce.setFactoryCode(factoryCode);
qcCheckTaskProduce.setCreateTime(nowDate);
qcCheckTaskProduce.setTypeCode("produce");//大检验节点
qcCheckTaskProduce.setIncomeTime(qcCheckTaskProduce.getProduceDate());
qcCheckTaskProduce.setSupplierCode(qcCheckTaskProduce.getCarCode());
qcCheckTaskProduce.setSupplierName(qcCheckTaskProduce.getCarName());
openMapper.insertQcCheckTaskProduce(qcCheckTaskProduce);
/**qc_check_task_detail**/
for(QcCheckTaskDetailDTO item:items){

@ -195,6 +195,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and qctp.type_id = #{typeId}
order by qctp.sort
</select>
<select id="getUserByMaterial" resultType="com.op.system.api.domain.quality.QcUserMaterialDTO">
select top 1 user_code userCode,
user_name userName
from qc_user_material where material_code = #{materialCode}
order by create_time desc
</select>
<insert id="insertEquRepairOrder" parameterType="DeviceRepairOrder">
insert into equ_repair_order

@ -45,6 +45,15 @@ public class QcCheckType extends BaseEntity {
private String delFlag;
private int taskNum;
private String checkManCode;
public String getCheckManCode() {
return checkManCode;
}
public void setCheckManCode(String checkManCode) {
this.checkManCode = checkManCode;
}
public int getTaskNum() {
return taskNum;

@ -2,6 +2,7 @@ package com.op.quality.service.impl;
import java.util.List;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
import com.op.common.core.utils.DateUtils;
@ -123,7 +124,8 @@ public class QcCheckTypeServiceImpl implements IQcCheckTypeService {
@Override
public List<QcCheckType> getTopTaskInfo(QcCheckType qcCheckType) {
DynamicDataSourceContextHolder.push(qcCheckType.getFactoryCode());// 这是数据源的key
return qcCheckTypeMapper.getTopTaskInfo(qcCheckType);
List<QcCheckType> dtos = qcCheckTypeMapper.getTopTaskInfo(qcCheckType);//检验任务
return dtos;
}
}

@ -1,5 +1,7 @@
package com.op.quality.service.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@ -73,6 +75,10 @@ public class QcUserMaterialServiceImpl implements IQcUserMaterialService {
@Override
@DS("#header.poolName")
public int insertQcUserMaterial(QcUserMaterial qcUserMaterial) {
List<String> userCodes = new ArrayList<>();
userCodes.add(qcUserMaterial.getUserCode());
qcUserMaterial.setUserCodes(userCodes.toArray(new String[userCodes.size()]));
Date now = DateUtils.getNowDate();
if (StringUtils.isNotEmpty(qcUserMaterial.getUserCodes())) {
//删除之前的关联关系

@ -47,21 +47,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
count(0) taskNum,
'检验任务' attr1
from qc_check_task qct
left join qc_check_type qc on qct.check_type = qc.order_code
where qct.check_status = '0'
left join qc_check_type qc on qct.check_type = qc.order_code
left join qc_user_material qum on qum.material_code = qct.material_code
where qct.check_status = '0' and qum.user_code = #{checkManCode}
group by qct.check_type,qc.check_name
union ALL
select qcu.type,
qc.check_name,
count(0) taskNum,
'不合格处理'
union all
select '','',
count(0) taskNum,
'不合格处理' attr1
from qc_check_unqualified qcu
left join qc_check_type qc on qcu.type = qc.order_code
where qcu.status != '2'
group by qcu.type,qc.check_name
left join qc_check_task qct on qcu.task_id = qct.record_id
left join qc_user_material qum on qum.material_code = qct.material_code
where qcu.status != '2' and qum.user_code = #{checkManCode}
</select>
<insert id="insertQcCheckType" parameterType="QcCheckType">
insert into qc_check_type
<trim prefix="(" suffix=")" suffixOverrides=",">

@ -66,6 +66,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="factoryCode" column="factory_code" />
<result property="delFlag" column="del_flag" />
<result property="checkType" column="check_type" />
<result property="aNoOkquality" column="aNoOkquality" />
<result property="bNoOkquality" column="bNoOkquality" />
<result property="cNoOkquality" column="cNoOkquality" />
<result property="sampleQuality" column="sample_quality" />
</resultMap>
<sql id="selectQuaVo">
select id,rfid,factory_id,factory_code,order_id,machine_id,bad_meg,product_id,isqua,file_id,attr1,attr2,
@ -248,7 +253,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
qct.material_code, qct.material_name, qct.quality, qct.unit,
qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_loc,
qct.check_status, qct.check_man_code,qct.check_man_name, qct.check_time, qct.check_result,
qct.status,qct.create_by,qct.create_time,qct.check_type
qct.status,qct.create_by,qct.create_time,qct.check_type,
qct.noOk_quality,qct.aNoOkquality,qct.bNoOkquality,qct.cNoOkquality,qct.sample_quality
from qc_check_task qct
<where>
and qct.del_flag = '0'

@ -81,10 +81,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and bp.product_code not in (
select um.material_code
from qc_user_material um
where um.user_code in
<foreach item="userCode" collection="userCodes" open="(" separator="," close=")">
#{userCode}
</foreach>
where um.user_code =#{userCode}
)
<if test="materialName != null and materialName != ''"> and bp.product_desc_zh like concat('%', #{materialName}, '%')</if>
</select>
@ -94,10 +91,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
concat(bp.product_desc_zh,'(',bp.product_code,')') label
from qc_user_material um
left join base_product bp on um.material_code = bp.product_code
where um.user_code in
<foreach item="userCode" collection="userCodes" open="(" separator="," close=")">
#{userCode}
</foreach>
where um.user_code = #{userCode}
<if test="materialName != null and materialName != ''"> and bp.product_desc_zh like concat('%', #{materialName}, '%')</if>
</select>

@ -405,6 +405,12 @@ public class SapController extends BaseController {
return sapOrderService.sapPurchaseOrderSync(sapPurchaseOrderQuery);
}
@PostMapping("/sapPOrderGoodsReceipt")
@Log(title = "采购订单收货过账", businessType = BusinessType.SAP)
public R sapPOrderGoodsReceipt(@RequestBody(required = false) List<Map<String, Object>> mapList){
return sapOrderService.sapPOrderGoodsReceipt(mapList);
}
/**
* 101
*
@ -421,13 +427,13 @@ public class SapController extends BaseController {
/**
*
* @param map
* @param mapList
* @return
*/
@PostMapping("/sapLgortInfo")
@Log(title = "智慧工厂储位信息", businessType = BusinessType.SAP)
public R sapLgortInfo(@RequestBody(required = false) Map<String, Object> map){
return sapWmsService.sapLgortInfo(map);
public R sapLgortInfo(@RequestBody(required = false) List<Map<String, Object>> mapList){
return sapWmsService.sapLgortInfo(mapList);
}
/**

@ -3,12 +3,8 @@ package com.op.sap.service;
import com.op.common.core.domain.R;
import com.op.sap.domain.vo.SapOrderReceiptQuery;
import com.op.sap.domain.vo.SapPurchaseOrderQuery;
import com.op.system.api.domain.sap.SapCloseOrderQuery;
import com.op.system.api.domain.sap.SapCreateOrder;
import com.op.system.api.domain.sap.SapRFW;
import com.op.system.api.domain.sap.SapShopOrderQuery;
import com.op.system.api.domain.sap.*;
import com.op.system.api.model.SapProOrder;
import java.util.List;
@ -56,4 +52,5 @@ public interface SapOrderService {
R sapOrderReceipt(SapOrderReceiptQuery sapOrderReceiptQuery);
R sapPOrderGoodsReceipt(List<Map<String, Object>> mapList);
}

@ -7,7 +7,7 @@ import java.util.Map;
public interface SapWmsService {
R sapLgortInfo(Map<String, Object> map);
R sapLgortInfo(List<Map<String, Object>> mapList);
R sapProductWarehousing(List<Map<String, Object>> mapList);
}

@ -8,13 +8,9 @@ import com.op.common.core.utils.StringUtils;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.sap.domain.vo.SapOrderReceiptQuery;
import com.op.sap.domain.vo.SapPurchaseOrderQuery;
import com.op.sap.service.SapOrderService;
import com.op.system.api.domain.sap.SapCloseOrderQuery;
import com.op.system.api.domain.sap.SapCreateOrder;
import com.op.system.api.domain.sap.SapRFW;
import com.op.system.api.domain.sap.SapShopOrderQuery;
import com.op.system.api.domain.sap.*;
import com.op.system.api.model.SapProOrder;
import com.sap.conn.jco.*;
@ -544,6 +540,81 @@ public class SapOrderServiceImpl implements SapOrderService {
}
}
@Override
public R sapPOrderGoodsReceipt(List<Map<String, Object>> mapList) {
try {
JCoRepository repository = dest.getRepository();
JCoFunction func = repository.getFunction("ZMES_PROMIGO_CREATE");
if (func == null) {
throw new RuntimeException("Function does not exist in SAP");
}
log.info("采购订单收货过账ZMES_PROMIGO_CREATE-------"+mapList.toString());
/**
EBELN
EBELP
BWART
PLANT
LGORT
MATNR
QUANTITY
MEINS
BATCH
HSDAT
VFDAT 寿
*/
JCoTable L_ITEM = func.getTableParameterList().getTable("L_ITEM");
for (Map<String, Object> stringObjectMap:mapList){
L_ITEM.appendRow();
L_ITEM.setValue("EBELN", stringObjectMap.get("EBELN"));
L_ITEM.setValue("EBELP", stringObjectMap.get("EBELP"));
L_ITEM.setValue("BWART", stringObjectMap.get("BWART"));
L_ITEM.setValue("PLANT", stringObjectMap.get("PLANT"));
L_ITEM.setValue("LGORT", stringObjectMap.get("LGORT"));
L_ITEM.setValue("KOSTL", stringObjectMap.get("KOSTL"));
L_ITEM.setValue("MATNR", stringObjectMap.get("MATNR"));
L_ITEM.setValue("QUANTITY", stringObjectMap.get("QUANTITY"));
L_ITEM.setValue("MEINS", stringObjectMap.get("MEINS"));
L_ITEM.setValue("BATCH", stringObjectMap.get("BATCH"));
L_ITEM.setValue("HSDAT", stringObjectMap.get("HSDAT"));
L_ITEM.setValue("VFDAT", stringObjectMap.get("VFDAT"));
}
System.out.println(L_ITEM);
func.execute(dest);//执行调用函数
// 获取 内表 - ZMES_PRO
JCoTable LT_RETURN = func.getTableParameterList().getTable("LT_RETURN");
StringBuilder Msg = new StringBuilder();
for (int i = 0; i < LT_RETURN.getNumRows(); i++) {
LT_RETURN.setRow(i);
String MESSAGE = LT_RETURN.getString("MESSAGE");
Msg.append(MESSAGE+"/");
}
String L_MSG= func.getExportParameterList().getString("L_MSG");
String RETCODE= func.getExportParameterList().getString("RETCODE");
String MATERIALDOCUMENT= func.getExportParameterList().getString("MATERIALDOCUMENT");
String MATDOCUMENTYEAR= func.getExportParameterList().getString("MATDOCUMENTYEAR");
System.out.println("L_MSG"+L_MSG);
System.out.println("返回值0-没有错误1-有错误:"+RETCODE);
System.out.println("物料凭证编号"+MATERIALDOCUMENT);
System.out.println("物料凭证年度"+MATDOCUMENTYEAR);
if (!("0").equals(RETCODE)){
return R.fail("",Msg.toString());
}else {
Map map=new HashMap();
map.put("MATERIALDOCUMENT",MATERIALDOCUMENT);
map.put("MATDOCUMENTYEAR",MATDOCUMENTYEAR);
return R.ok(map,Msg.toString());
}
}catch (Exception e){
log.error(e.getMessage());
return R.fail(e.getMessage());
}
}
// public static void main(String[] args) {
// List<SapBackflushMPQuery> sapBackflushMPQueryList=new ArrayList<>();
// SapBackflushMPQuery sapBackflushMPQuery=new SapBackflushMPQuery();

@ -24,21 +24,25 @@ public class SapWmsServicelmpl implements SapWmsService {
private JCoDestination dest;
@Override
public R sapLgortInfo(Map<String, Object> map) {
public R sapLgortInfo(List<Map<String, Object>> mapList) {
try {
JCoRepository repository = dest.getRepository();
JCoFunction func = repository.getFunction("ZMES_GET_LGORT");
if (func == null) {
throw new RuntimeException("Function does not exist in SAP");
}
log.info("获取储位信息入参-------"+map.toString());
if (!StringUtils.isNull(map.get("S_WERKS"))){
JCoTable S_MATNR = func.getTableParameterList().getTable("S_WERKS");
S_MATNR.appendRow();
S_MATNR.setValue("SIGN", "I");
S_MATNR.setValue("OPTION", "EQ");
S_MATNR.setValue("LOW", map.get("S_WERKS"));
log.info("获取储位信息入参-------"+mapList.toString());
JCoTable S_WERKS = func.getTableParameterList().getTable("S_WERKS");
JCoTable S_LGORT = func.getTableParameterList().getTable("S_LGORT");
System.out.println(S_WERKS);
// System.out.println(S_LGORT);
for (Map<String, Object> stringObjectMap:mapList){
S_WERKS.appendRow();
S_WERKS.setValue("SIGN", "I");
S_WERKS.setValue("OPTION", "EQ");
S_WERKS.setValue("LOW", stringObjectMap.get("S_WERKS"));
}
func.execute(dest);//执行调用函数
// 获取 内表 - ZMES_PRO
JCoTable maraTable = func.getTableParameterList().getTable("LT_LGORT");
@ -48,7 +52,7 @@ public class SapWmsServicelmpl implements SapWmsService {
* LGOBE
* ZTYPE
*/
List<Map> mapList=new ArrayList<>();
List<Map> mapLists=new ArrayList<>();
for (int i = 0; i <maraTable.getNumRows(); i++) {
maraTable.setRow(i);
String WERKS = maraTable.getString("WERKS");
@ -64,9 +68,9 @@ public class SapWmsServicelmpl implements SapWmsService {
entyMap.put("LGORT",LGORT);
entyMap.put("LGOBE",LGOBE);
entyMap.put("ZTYPE",ZTYPE);
mapList.add(entyMap);
mapLists.add(entyMap);
}
return R.ok(mapList);
return R.ok(mapLists);
}catch (Exception e){
log.error(e.getMessage());
return R.fail(e.getMessage());
@ -75,6 +79,7 @@ public class SapWmsServicelmpl implements SapWmsService {
@Override
public R sapProductWarehousing(List<Map<String, Object>> mapList) {
try {
JCoRepository repository = dest.getRepository();
JCoFunction func = repository.getFunction("ZMES_PRODUCT_MB1A");
@ -97,109 +102,51 @@ public class SapWmsServicelmpl implements SapWmsService {
VFDAT 寿
*/
JCoTable L_ITEM = func.getTableParameterList().getTable("L_ITEM");
System.out.println(L_ITEM);
System.out.println( L_ITEM.getNumRows());
for (int i=1;i<10;i++){
for (Map<String, Object> stringObjectMap:mapList){
L_ITEM.appendRow();
L_ITEM.setValue("AUFNR", "01234567890"+String.valueOf(i));
L_ITEM.setValue("POSN", "012"+String.valueOf(i));
L_ITEM.setValue("POSN", "012"+String.valueOf(i));
L_ITEM.setValue("POSN", "012"+String.valueOf(i));
L_ITEM.setValue("AUFNR", stringObjectMap.get("AUFNR"));
L_ITEM.setValue("POSNR", stringObjectMap.get("POSNR"));
L_ITEM.setValue("BWART", stringObjectMap.get("BWART"));
L_ITEM.setValue("PLANT", stringObjectMap.get("PLANT"));
L_ITEM.setValue("LGORT", stringObjectMap.get("LGORT"));
L_ITEM.setValue("KOSTL", stringObjectMap.get("KOSTL"));
L_ITEM.setValue("MATNR", stringObjectMap.get("MATNR"));
L_ITEM.setValue("QUANTITY", stringObjectMap.get("QUANTITY"));
L_ITEM.setValue("MEINS", stringObjectMap.get("MEINS"));
L_ITEM.setValue("BATCH", stringObjectMap.get("BATCH"));
L_ITEM.setValue("HSDAT", stringObjectMap.get("HSDAT"));
L_ITEM.setValue("VFDAT", stringObjectMap.get("VFDAT"));
}
System.out.println(L_ITEM);
// if (!StringUtils.isNull(map.get("AUFNR"))){
// JCoTable S_MATNR = func.getTableParameterList().getTable("AUFNR");
// S_MATNR.appendRow();
// S_MATNR.setValue("SIGN", "I");
// S_MATNR.setValue("OPTION", "EQ");
// S_MATNR.setValue("LOW", map.get("AUFNR"));
// }
// if (!StringUtils.isNull(map.get("POSNR"))){
// JCoTable S_MATNR = func.getTableParameterList().getTable("POSNR");
// S_MATNR.appendRow();
// S_MATNR.setValue("SIGN", "I");
// S_MATNR.setValue("OPTION", "EQ");
// S_MATNR.setValue("LOW", map.get("POSNR"));
// }
// if (!StringUtils.isNull(map.get("BWART"))){
// JCoTable S_MATNR = func.getTableParameterList().getTable("BWART");
// S_MATNR.appendRow();
// S_MATNR.setValue("SIGN", "I");
// S_MATNR.setValue("OPTION", "EQ");
// S_MATNR.setValue("LOW", map.get("BWART"));
// }
// if (!StringUtils.isNull(map.get("PLANT"))){
// JCoTable S_MATNR = func.getTableParameterList().getTable("PLANT");
// S_MATNR.appendRow();
// S_MATNR.setValue("SIGN", "I");
// S_MATNR.setValue("OPTION", "EQ");
// S_MATNR.setValue("LOW", map.get("PLANT"));
// }
// if (!StringUtils.isNull(map.get("LGORT"))){
// JCoTable S_MATNR = func.getTableParameterList().getTable("LGORT");
// S_MATNR.appendRow();
// S_MATNR.setValue("SIGN", "I");
// S_MATNR.setValue("OPTION", "EQ");
// S_MATNR.setValue("LOW", map.get("LGORT"));
// }
// if (!StringUtils.isNull(map.get("KOSTL"))){
// JCoTable S_MATNR = func.getTableParameterList().getTable("KOSTL");
// S_MATNR.appendRow();
// S_MATNR.setValue("SIGN", "I");
// S_MATNR.setValue("OPTION", "EQ");
// S_MATNR.setValue("LOW", map.get("KOSTL"));
// }
// if (!StringUtils.isNull(map.get("MATNR"))){
// JCoTable S_MATNR = func.getTableParameterList().getTable("MATNR");
// S_MATNR.appendRow();
// S_MATNR.setValue("SIGN", "I");
// S_MATNR.setValue("OPTION", "EQ");
// S_MATNR.setValue("LOW", map.get("MATNR"));
// }
// if (!StringUtils.isNull(map.get("QUANTITY"))){
// JCoTable S_MATNR = func.getTableParameterList().getTable("QUANTITY");
// S_MATNR.appendRow();
// S_MATNR.setValue("SIGN", "I");
// S_MATNR.setValue("OPTION", "EQ");
// S_MATNR.setValue("LOW", map.get("QUANTITY"));
// }
// if (!StringUtils.isNull(map.get("MEINS"))){
// JCoTable S_MATNR = func.getTableParameterList().getTable("MEINS");
// S_MATNR.appendRow();
// S_MATNR.setValue("SIGN", "I");
// S_MATNR.setValue("OPTION", "EQ");
// S_MATNR.setValue("LOW", map.get("MEINS"));
// }
// if (!StringUtils.isNull(map.get("BATCH"))){
// JCoTable S_MATNR = func.getTableParameterList().getTable("BATCH");
// S_MATNR.appendRow();
// S_MATNR.setValue("SIGN", "I");
// S_MATNR.setValue("OPTION", "EQ");
// S_MATNR.setValue("LOW", map.get("BATCH"));
// }
// func.execute(dest);//执行调用函数
// // 获取 内表 - ZMES_PRO
// JCoTable maraTable = func.getTableParameterList().getTable("LT_LGORT");
//
// List<Map> mapList=new ArrayList<>();
// for (int i = 0; i <maraTable.getNumRows(); i++) {
// maraTable.setRow(i);
// String WERKS = maraTable.getString("WERKS");
// String LGORT = maraTable.getString("LGORT");
// String LGOBE = maraTable.getString("LGOBE");
// String ZTYPE = maraTable.getString("ZTYPE");
// log.info("工厂:" + WERKS+
// "库存地点:" + LGORT+
// "仓储地点的描述:" + LGOBE+
// "已冻结标识:" + ZTYPE);
// Map entyMap=new HashMap();
// entyMap.put("WERKS",WERKS);
// entyMap.put("LGORT",LGORT);
// entyMap.put("LGOBE",LGOBE);
// entyMap.put("ZTYPE",ZTYPE);
// mapList.add(entyMap);
// }
return R.ok();
func.execute(dest);//执行调用函数
// 获取 内表 - ZMES_PRO
JCoTable LT_RETURN = func.getTableParameterList().getTable("LT_RETURN");
StringBuilder Msg = new StringBuilder();
for (int i = 0; i < LT_RETURN.getNumRows(); i++) {
LT_RETURN.setRow(i);
String MESSAGE = LT_RETURN.getString("MESSAGE");
Msg.append(MESSAGE+"/");
}
String L_MSG= func.getExportParameterList().getString("L_MSG");
String RETCODE= func.getExportParameterList().getString("RETCODE");
String MATERIALDOCUMENT= func.getExportParameterList().getString("MATERIALDOCUMENT");
String MATDOCUMENTYEAR= func.getExportParameterList().getString("MATDOCUMENTYEAR");
System.out.println("L_MSG"+L_MSG);
System.out.println("返回值0-没有错误1-有错误:"+RETCODE);
System.out.println("物料凭证编号"+MATERIALDOCUMENT);
System.out.println("物料凭证年度"+MATDOCUMENTYEAR);
if (!("0").equals(RETCODE)){
return R.fail("",Msg.toString());
}else {
Map map=new HashMap();
map.put("MATERIALDOCUMENT",MATERIALDOCUMENT);
map.put("MATDOCUMENTYEAR",MATDOCUMENTYEAR);
return R.ok(map,Msg.toString());
}
}catch (Exception e){
log.error(e.getMessage());
return R.fail(e.getMessage());

@ -255,6 +255,7 @@ public class OdsProcureOrderController extends BaseController {
List<OdsProcureOutOrder> result= odsProcureOrderService.ProductionMaterialRequisition(odsProcureOutOrder);
return success(result);
}
/**
* --
* @param wmsOdsMateStorageNewsSn
@ -277,4 +278,15 @@ public class OdsProcureOrderController extends BaseController {
Integer result= odsProcureOrderService.ProductionMaterialRequisitionAdd(orderList);
return success(result);
}
/**
*
* @param orderList
* @return
*/
@PostMapping("/OutboundPostingSAP")
public AjaxResult OutboundPostingSAP(@RequestBody List<OdsProcureOutOrder> orderList) {
odsProcureOrderService.OutboundPostingSAP(orderList);
return success();
}
}

@ -6,6 +6,8 @@ import com.op.common.core.domain.R;
import com.op.common.core.utils.StringUtils;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.log.annotation.Log;
import com.op.common.log.enums.BusinessType;
import com.op.wms.domain.*;
import com.op.wms.service.IBaseWarehouseService;
import com.op.wms.service.IOdsProcureOrderService;
@ -152,5 +154,39 @@ public WmsToWCSDTO packingMaterialsOutBoundCompleted(@RequestBody WmsToWCSDTO wc
List<OdsProcureOutOrder> result= odsProcureOrderService.ProductionMaterialRequisition(odsProcureOutOrder);
return success(result);
}
/**
* --
* @param wmsOdsMateStorageNewsSn
* @return
*/
@PostMapping("/ProductionMaterialRequisitionsn")
public AjaxResult ProductionMaterialRequisitionsn(@RequestBody WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn) {
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn1= odsProcureOrderService.ProductionMaterialRequisitionsn(wmsOdsMateStorageNewsSn);
return success(wmsOdsMateStorageNewsSn1);
}
/**
*
* @param orderList
* @return
*/
@PostMapping("/OutboundPostingSAP")
public AjaxResult OutboundPostingSAP(@RequestBody List<OdsProcureOutOrder> orderList) {
odsProcureOrderService.OutboundPostingSAP(orderList);
return success();
}
/**
* --
* @param orderList
* @return
*/
@PostMapping("/ProductionMaterialRequisitionAdd")
public AjaxResult ProductionMaterialRequisitionAdd(@RequestBody List<OdsProcureOutOrder> orderList) {
Integer result= odsProcureOrderService.ProductionMaterialRequisitionAdd(orderList);
return success(result);
}
@PostMapping("/sapPurchaseOrderSync")
public AjaxResult sapPurchaseOrderSync(@RequestBody OdsProcureOrder odsProcureOrder){
AjaxResult result= odsProcureOrderService.sapPurchaseOrderSync(odsProcureOrder);
return result;
}
}

@ -215,6 +215,26 @@ public class BaseEquipment extends BaseEntity {
@Excel(name = "设备类别")
private String equipmentCategory;
/** 资产分类名称 */
@Excel(name = "资产分类名称")
private String assetClassificationName;
/** 资产描述 */
@Excel(name = "资产描述")
private String assetDescription;
/** 数量 */
@Excel(name = "数量")
private String equipmentNumber;
/** 存货号 */
@Excel(name = "存货号")
private String inventoryNumber;
/** 计量单位 */
@Excel(name = "计量单位")
private String unitMeasurement;
private String imageFileList;
private String barCodeFileList;
@ -663,6 +683,46 @@ public class BaseEquipment extends BaseEntity {
return equipmentCategory;
}
//资产分类名称
public void setAssetClassificationName(String assetClassificationName) {
this.assetClassificationName = assetClassificationName;
}
public String getAssetClassificationName() {
return assetClassificationName;
}
//资产描述
public void setAssetDescription(String assetDescription) {
this.assetDescription = assetDescription;
}
public String getAssetDescription() {
return assetDescription;
}
//数量
public void setEquipmentNumber(String equipmentNumber) {
this.equipmentNumber = equipmentNumber;
}
public String getEquipmentNumber() {
return equipmentNumber;
}
//存货号
public void setInventoryNumber(String inventoryNumber) {
this.inventoryNumber = inventoryNumber;
}
public String getInventoryNumber() {
return inventoryNumber;
}
//计量单位
public void setUnitMeasurement(String unitMeasurement) {
this.unitMeasurement = unitMeasurement;
}
public String getUnitMeasurement() {
return unitMeasurement;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

@ -66,6 +66,16 @@ public class OdsProcureOutOrder extends BaseEntity {
@Excel(name = "计划数量")
private BigDecimal planNumber;
private String sn;
public String getSn() {
return sn;
}
public void setSn(String sn) {
this.sn = sn;
}
/** 单位 */
@Excel(name = "单位")
private String Unit;

@ -30,6 +30,15 @@ public class OrderLine extends BaseEntity {
private String siteCode;
private String unit;
private String userDefined2;
private String userDefined3;
public String getUserDefined3() {
return userDefined3;
}
public void setUserDefined3(String userDefined3) {
this.userDefined3 = userDefined3;
}
public String getMaterialCode() {
return materialCode;

@ -7,14 +7,14 @@ import com.op.wms.domain.BaseWarehouse;
/**
* Mapper
*
*
* @author Open Platform
* @date 2023-07-04
*/
public interface BaseWarehouseMapper {
/**
*
*
*
* @param warehouseId
* @return
*/
@ -22,7 +22,7 @@ public interface BaseWarehouseMapper {
/**
*
*
*
* @param baseWarehouse
* @return
*/
@ -30,7 +30,7 @@ public interface BaseWarehouseMapper {
/**
*
*
*
* @param baseWarehouse
* @return
*/
@ -38,7 +38,7 @@ public interface BaseWarehouseMapper {
/**
*
*
*
* @param baseWarehouse
* @return
*/
@ -46,7 +46,7 @@ public interface BaseWarehouseMapper {
/**
*
*
*
* @param warehouseId
* @return
*/
@ -54,7 +54,7 @@ public interface BaseWarehouseMapper {
/**
*
*
*
* @param warehouseIds
* @return
*/
@ -64,4 +64,6 @@ public interface BaseWarehouseMapper {
String checkWarehouseCodeUnique(BaseWarehouse baseWarehouse);
String checkWarehouseNameUnique(BaseWarehouse baseWarehouse);
String selectByCode(String locCode);
}

@ -3,6 +3,7 @@ package com.op.wms.mapper;
import java.util.List;
import com.op.wms.domain.OdsProcureOutOrder;
import org.apache.ibatis.annotations.Param;
/**
* Mapper
@ -62,4 +63,10 @@ public interface OdsProcureOutOrderMapper {
OdsProcureOutOrder selectmesPrepare(OdsProcureOutOrder odsProcureOrder);
List<OdsProcureOutOrder> selectmesPrepareDetail(OdsProcureOutOrder odsProcureOutOrder);
void insertWmsRawMissionOut(OdsProcureOutOrder order);
void updateOdsProcureOutOrderByid(OdsProcureOutOrder odsProcureOutOrder);
List<OdsProcureOutOrder> selectOdsProcureOutOrderListByIds(@Param("list") List<OdsProcureOutOrder> orderList);
}

@ -88,4 +88,8 @@ public interface IOdsProcureOrderService {
Integer ProductionMaterialRequisitionAdd(List<OdsProcureOutOrder> orderList);
WmsOdsMateStorageNewsSn ProductionMaterialRequisitionsn(WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn);
void OutboundPostingSAP(List<OdsProcureOutOrder> odsProcureOutOrder);
AjaxResult sapPurchaseOrderSync(OdsProcureOrder odsProcureOrder);
}

@ -17,7 +17,11 @@ import java.util.List;
import com.op.common.core.domain.R;
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;
import com.op.system.api.domain.sap.SapMaterialPosting;
import okhttp3.OkHttpClient;
import okhttp3.MediaType;
import okhttp3.RequestBody;
@ -53,7 +57,11 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
private WmsOdsMateStorageNewsMapper wmsOdsMateStorageNewsMapper;
@Autowired
private OdsProcureOutOrderMapper odsProcureOutOrderMapper;
@Autowired
private RemoteSapService remoteSapService;
@Autowired
private BaseWarehouseMapper baseWarehouseMapper;
/**
*
*
@ -262,7 +270,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
public OrderLine addPurchaseOrderOutbound(OrderLine orderLine) {
//自己生成行项目,,批次号
List<OrderLine> orderList= orderLine.getList();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHH:mm:ss");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
String formattedDate = dateFormat.format(date);
//根据订单号查询对应的最大批次号
@ -280,7 +288,9 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
orderList) {
OdsProcureOutOrder odsProcureOutOrder=new OdsProcureOutOrder();
odsProcureOutOrder.setID(IdUtils.fastSimpleUUID());
odsProcureOutOrder.setSiteCode(orderLine1.getSiteCode());
odsProcureOutOrder.setProduceCode(orderLine.getOrderNo());
odsProcureOutOrder.setLocCode(orderLine.getWarehouseNo());
odsProcureOutOrder.setMaterialCode(orderLine1.getMaterialCode());
odsProcureOutOrder.setMaterialDesc(orderLine1.getMaterialDesc());
odsProcureOutOrder.setPlanDate(new Date());
@ -289,8 +299,12 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
odsProcureOutOrder.setUserDefined1(orderLine1.getBatchNo());
odsProcureOutOrder.setActive("1");
odsProcureOutOrder.setOrderStatus("1");
odsProcureOutOrder.setPlanNumber(orderLine1.getPlanNumber());
odsProcureOutOrder.setPlanNumber(orderLine1.getQty());
odsProcureOutOrder.setUserDefined2(orderLine1.getOrderLineNo());
odsProcureOutOrder.setUserDefined3(orderLine1.getUserDefined3());
odsProcureOutOrder.setUserDefined10("1");
odsProcureOutOrder.setCreateBy(SecurityUtils.getUsername());
odsProcureOutOrder.setCreateDate(new Date());
//odsProcureOutOrder.set
odsProcureOutOrderMapper.insertOdsProcureOutOrder(odsProcureOutOrder);
}
@ -301,7 +315,9 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
orderList) {
OdsProcureOutOrder odsProcureOutOrder=new OdsProcureOutOrder();
odsProcureOutOrder.setID(IdUtils.fastSimpleUUID());
odsProcureOutOrder.setLocCode(orderLine.getWarehouseNo());
odsProcureOutOrder.setProduceCode(orderLine.getOrderNo());
odsProcureOutOrder.setSiteCode(orderLine1.getSiteCode());
odsProcureOutOrder.setMaterialCode(orderLine1.getMaterialCode());
odsProcureOutOrder.setMaterialDesc(orderLine1.getMaterialDesc());
odsProcureOutOrder.setPlanDate(new Date());
@ -310,9 +326,13 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
odsProcureOutOrder.setUserDefined1(orderLine1.getBatchNo());
odsProcureOutOrder.setActive("1");
odsProcureOutOrder.setOrderStatus("1");
odsProcureOutOrder.setPlanNumber(orderLine1.getPlanNumber());
odsProcureOutOrder.setUserDefined10("1");
odsProcureOutOrder.setPlanNumber(orderLine1.getQty());
odsProcureOutOrder.setUserDefined2(orderLine1.getOrderLineNo());
//odsProcureOutOrder.set
odsProcureOutOrder.setUserDefined3(orderLine1.getUserDefined3());
odsProcureOutOrder.setCreateBy(SecurityUtils.getUsername());
odsProcureOutOrder.setCreateDate(new Date());
odsProcureOutOrderMapper.insertOdsProcureOutOrder(odsProcureOutOrder);
}
}
@ -441,10 +461,64 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
//修改对应订单--插入对应出库托盘数据数据
// for (OdsProcureOutOrder odsProcureOutOrder:
// orderList) {
// //领料单,物料编号,物料名称,托盘号,出库数量,库位号,
// //领料单,物料编号,领料单批次,物料名称,托盘号,出库数量,库位号,
// odsProcureOutOrder.
// }
String factoryCode =orderList.get(0).getFactoryCode();
DynamicDataSourceContextHolder.push("ds_" +factoryCode);
for (OdsProcureOutOrder odsProcureOutOrder:
orderList) {
//领料单,物料编号,领料单批次,物料名称,托盘号,出库数量,库位号,
WmsToWCSDTO wcsdto =new WmsToWCSDTO();
wcsdto.setRfidNo(odsProcureOutOrder.getSn());
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn= wmsOdsMateStorageNewsSnMapper.selectwmsRfidNotwo(wcsdto);
//明细
//wms_raw_mission_out--保存
//ods_procure_out_order--修改
WCSInventoryPlan wcsInventoryPlan=new WCSInventoryPlan();
wcsInventoryPlan.setSku(odsProcureOutOrder.getMaterialCode());
WmsOdsMateStorageNews wmsOdsMateStorageNews= wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan);
OdsProcureOutOrder order=new OdsProcureOutOrder();
order.setProduceCode(odsProcureOutOrder.getProduceCode());//领料单
order.setMaterialCode(odsProcureOutOrder.getMaterialCode());//
order.setMaterialDesc(odsProcureOutOrder.getMaterialDesc());
order.setUserDefined1(odsProcureOutOrder.getUserDefined1());//批次
order.setSn(odsProcureOutOrder.getSn());
order.setPlanNumber(odsProcureOutOrder.getPlanNumber());
order.setLocCode(odsProcureOutOrder.getLocCode());
order.setID(IdUtils.fastSimpleUUID());
order.setUnit(wmsOdsMateStorageNews.getUserDefined1());
order.setFactoryCode(factoryCode);
order.setActive("1");
order.setCreateBy(SecurityUtils.getUsername());
order.setCreateDate(new Date());
odsProcureOutOrderMapper.insertWmsRawMissionOut(order);
OdsProcureOutOrder odsProcureOutOrder1= odsProcureOutOrderMapper.selectOdsProcureOutOrderByID(odsProcureOutOrder.getID());
BigDecimal realityNumber1 = odsProcureOutOrder1.getOutNumber();//累计数
BigDecimal realityNumber = odsProcureOutOrder1.getPlanNumber();//计划
BigDecimal planNumber =odsProcureOutOrder.getPlanNumber();
BigDecimal tem= realityNumber1.add(planNumber);
boolean isEqual = tem.equals(realityNumber);
if (isEqual){
odsProcureOutOrder1.setOrderStatus("3");
}else {
odsProcureOutOrder1.setOrderStatus("2");
}
odsProcureOutOrder1.setOutNumber(tem);
odsProcureOutOrderMapper.updateOdsProcureOutOrder(odsProcureOutOrder1);
WmsOdsEmStorageNews wmsOdsEmStorageNews=new WmsOdsEmStorageNews();
wmsOdsEmStorageNews.setWhCode(wmsOdsMateStorageNewsSn.getWhCode());//仓库编码
wmsOdsEmStorageNews.setWlCode(wmsOdsMateStorageNewsSn.getWlCode());//库位编码
wmsOdsEmStorageNews.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode());
wmsOdsEmStorageNews.setAmount(wmsOdsMateStorageNewsSn.getAmount());//库存
wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews);//库存调整
wmsOdsMateStorageNewsSn.setUserDefined1("1");
wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn);//库存明细
}
return null;
}
@ -457,6 +531,76 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
return wmsOdsMateStorageNewsSn1;
}
@Override
@DS("#header.poolName")
public void OutboundPostingSAP(List<OdsProcureOutOrder> orderList) {
// * 退料的移动类型为 262
// * 领料的移动类型为 261
List<OdsProcureOutOrder> orderList1=odsProcureOutOrderMapper.selectOdsProcureOutOrderListByIds(orderList);
for (OdsProcureOutOrder odsProcureOutOrder:
orderList1) {
//取sap仓库号
if ("X".equals(odsProcureOutOrder.getUserDefined3())){
List<SapBackflushMPQuery> sapBackflushMPQueryList=new ArrayList<>();
SapBackflushMPQuery sapBackflushMPQuery=new SapBackflushMPQuery();
sapBackflushMPQuery.setPlant(odsProcureOutOrder.getSiteCode()); //工厂
String lgort= baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode());
sapBackflushMPQuery.setLgort(lgort);//库存地点
sapBackflushMPQuery.setMatnr(odsProcureOutOrder.getMaterialCode());//物料号
sapBackflushMPQuery.setQuantity(odsProcureOutOrder.getOutNumber().toString()); //数量
sapBackflushMPQuery.setMeins(odsProcureOutOrder.getUnit()); //基本计量单位
sapBackflushMPQuery.setBatch(odsProcureOutOrder.getUserDefined2()); //批号
sapBackflushMPQueryList.add(sapBackflushMPQuery);
R result2= remoteSapService.sapBackflushMP(sapBackflushMPQueryList);//x
int code= result2.getCode();
String msg= result2.getMsg();
odsProcureOutOrder.setUserDefined11(msg);
if (code==200){//过账成功
odsProcureOutOrder.setUserDefined10("2");//成功
odsProcureOutOrderMapper.updateOdsProcureOutOrderByid(odsProcureOutOrder);
}else {//
odsProcureOutOrder.setUserDefined10("3");//失败
odsProcureOutOrderMapper.updateOdsProcureOutOrderByid(odsProcureOutOrder);
}
}else {
List<SapMaterialPosting> sapMaterialPostingList=new ArrayList<>();
SapMaterialPosting sapMaterialPosting =new SapMaterialPosting();
sapMaterialPosting.setAufnr(odsProcureOutOrder.getProduceCode());//订单号
sapMaterialPosting.setBwart("261"); //移动类型
sapMaterialPosting.setPlant(odsProcureOutOrder.getSiteCode()); //工厂
String lgort= baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode());
sapMaterialPosting.setLgort(lgort);//库存地点
sapMaterialPosting.setMatnr(odsProcureOutOrder.getMaterialCode());//物料号
sapMaterialPosting.setQuantity(odsProcureOutOrder.getOutNumber().toString()); //数量
sapMaterialPosting.setMeins(odsProcureOutOrder.getUnit()); //基本计量单位
sapMaterialPosting.setBatch(odsProcureOutOrder.getUserDefined2()); //批号
sapMaterialPostingList.add(sapMaterialPosting);
R result= remoteSapService.sapMaterialPosting(sapMaterialPostingList);
int code= result.getCode();
String msg= result.getMsg();
odsProcureOutOrder.setUserDefined11(msg);
if (code==200){//过账成功
odsProcureOutOrder.setUserDefined10("2");//成功
odsProcureOutOrderMapper.updateOdsProcureOutOrderByid(odsProcureOutOrder);
}else {//
odsProcureOutOrder.setUserDefined10("3");//失败
odsProcureOutOrderMapper.updateOdsProcureOutOrderByid(odsProcureOutOrder);
}
}
}
}
@Override
public AjaxResult sapPurchaseOrderSync(OdsProcureOrder odsProcureOrder) {
//remoteSapService.sapPurchaseOrderSync();
return null;
}
public String DesignatedPalletOutboundWCS(WMSDesignatedPalle wmsDesignatedPalle){
// 定义请求的URL地址
String url = "http://192.168.202.37:9001/api/v1/ReceiveMesMsg/packingMaterialsOutBoundByPallet";
@ -637,7 +781,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
orderLine.put("orderLineNo", orderLine1.getOrderLineNo());
orderLine.put("sku", orderLine1.getMaterialCode());
orderLine.put("batchNo",orderLine1.getBatchNo());
orderLine.put("qty", orderLine1.getPlanNumber());
orderLine.put("qty", orderLine1.getQty());
orderLine.put("qualityStatus", 1);
orderLine.put("location", orderLine1.getStationNo());
orderLines.add(orderLine);

@ -128,7 +128,7 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
*/
@Override
public WmsToWCSDTO packingMaterialsOutBoundCompleted(WmsToWCSDTO wcsdto) {
//记录明细消减库存
//记录明细消减库存--wms_raw_mission_out-
DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory());
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn= wmsOdsMateStorageNewsSnMapper.selectwmsRfidNotwo(wcsdto);

@ -49,6 +49,12 @@
<result property="factoryCode" column="factory_code" />
<result property="equipmentStatus" column="equipment_status" />
<result property="equipmentCategory" column="equipment_category" />
<result property="assetClassificationName" column="asset_classification_name" />
<result property="assetDescription" column="asset_description" />
<result property="equipmentNumber" column="equipment_number" />
<result property="inventoryNumber" column="inventory_number" />
<result property="unitMeasurement" column="unit_measurement" />
</resultMap>
<resultMap type="WmsSparePartsLedger" id="WmsSparePartsLedgerResult">
@ -164,7 +170,12 @@
equipment_head,
factory_code,
equipment_status,
equipment_category
equipment_category,
asset_classification_name,
asset_description,
equipment_number,
inventory_number,
unit_measurement
from base_equipment
</sql>
@ -208,6 +219,11 @@
<if test="factoryCode != null and factoryCode != ''"> and factory_code = #{factoryCode}</if>
<if test="equipmentStatus != null and equipmentStatus != ''"> and equipment_status = #{equipmentStatus}</if>
<if test="equipmentCategory != null and equipmentCategory != ''"> and equipment_category = #{equipmentCategory}</if>
<if test="assetClassificationName != null and assetClassificationName != ''"> and asset_classification_name = #{assetClassificationName}</if>
<if test="assetDescription != null and assetDescription != ''"> and asset_description = #{assetDescription}</if>
<if test="equipmentNumber != null and equipmentNumber != ''"> and equipment_number = #{equipmentNumber}</if>
<if test="inventoryNumber != null and inventoryNumber != ''"> and inventory_number = #{inventoryNumber}</if>
<if test="unitMeasurement != null and unitMeasurement != ''"> and unit_measurement = #{unitMeasurement}</if>
and del_flag ='0'
</where>
</select>
@ -263,6 +279,11 @@
<if test="factoryCode != null">factory_code,</if>
<if test="equipmentStatus != null">equipment_status,</if>
<if test="equipmentCategory != null">equipment_category,</if>
<if test="assetClassificationName != null">asset_classification_name,</if>
<if test="assetDescription != null">asset_description,</if>
<if test="equipmentNumber != null">equipment_number,</if>
<if test="inventoryNumber != null">inventory_number,</if>
<if test="unitMeasurement != null">unit_measurement,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="equipmentCode != null and equipmentCode != ''">#{equipmentCode},</if>
@ -307,6 +328,11 @@
<if test="factoryCode != null">#{factoryCode},</if>
<if test="equipmentStatus != null">#{equipmentStatus},</if>
<if test="equipmentCategory != null">#{equipmentCategory},</if>
<if test="assetClassificationName != null and assetClassificationName != ''"> #{assetClassificationName},</if>
<if test="assetDescription != null and assetDescription != ''"> #{assetDescription},</if>
<if test="equipmentNumber != null and equipmentNumber != ''"> #{equipmentNumber},</if>
<if test="inventoryNumber != null and inventoryNumber != ''"> #{inventoryNumber},</if>
<if test="unitMeasurement != null and unitMeasurement != ''"> #{unitMeasurement},</if>
</trim>
</insert>
@ -355,6 +381,11 @@
<if test="factoryCode != null">factory_code = #{factoryCode},</if>
<if test="equipmentStatus != null">equipment_status = #{equipmentStatus},</if>
<if test="equipmentCategory != null">equipment_category = #{equipmentCategory},</if>
<if test="assetClassificationName != null and assetClassificationName != ''"> asset_classification_name = #{assetClassificationName},</if>
<if test="assetDescription != null and assetDescription != ''"> asset_description = #{assetDescription},</if>
<if test="equipmentNumber != null and equipmentNumber != ''"> equipment_number = #{equipmentNumber},</if>
<if test="inventoryNumber != null and inventoryNumber != ''"> inventory_number = #{inventoryNumber},</if>
<if test="unitMeasurement != null and unitMeasurement != ''"> unit_measurement = #{unitMeasurement},</if>
</trim>
where equipment_id = #{equipmentId}
</update>

@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.op.wms.mapper.BaseWarehouseMapper">
<resultMap type="BaseWarehouse" id="BaseWarehouseResult">
<result property="warehouseId" column="warehouse_id" />
<result property="warehouseType" column="warehouse_type" />
@ -33,7 +33,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectBaseWarehouseList" parameterType="BaseWarehouse" resultMap="BaseWarehouseResult">
<include refid="selectBaseWarehouseVo"/>
<where>
<where>
<if test="warehouseType != null and warehouseType != ''"> and warehouse_type like concat('%', #{warehouseType}, '%')</if>
<if test="warehouseCode != null and warehouseCode != ''"> and warehouse_code like concat('%', #{warehouseCode}, '%')</if>
<if test="warehouseName != null and warehouseName != ''"> and warehouse_name like concat('%', #{warehouseName}, '%')</if>
@ -50,13 +50,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and del_flag = '0'
</where>
</select>
<select id="selectBaseWarehouseByWarehouseId" parameterType="String" resultMap="BaseWarehouseResult">
<include refid="selectBaseWarehouseVo"/>
where warehouse_id = #{warehouseId}
and del_flag = '0'
</select>
<insert id="insertBaseWarehouse" parameterType="BaseWarehouse">
insert into base_warehouse
<trim prefix="(" suffix=")" suffixOverrides=",">
@ -162,5 +162,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where warehouse_code = #{warehouseCode}
and del_flag = '0'
</select>
</mapper>
<select id="selectByCode" resultType ="java.lang.String">
select DISTINCT user_defined1
from base_warehouse
where warehouse_code = #{locCode}
and del_flag = '0'
</select>
</mapper>

@ -42,7 +42,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectOdsProcureOutOrderVo">
select Site_code, ID, Produce_Code, Material_Code, Material_Desc, Plan_Date, Plan_Number, Unit, Out_Number, Loc_Code, Loc_Desc, Production_Line_Desc, Production_Line_Code, Order_Status, User_Defined1, User_Defined2, User_Defined3, User_Defined4, User_Defined5, User_Defined6, User_Defined7, User_Defined8, User_Defined9, User_Defined10, User_Defined11, Supplier_Code, Supplier_Name, Create_By, Create_Date, Last_Update_By, Last_Update_Date, Active, Enterprise_Id, Enterprise_Code from ods_procure_out_order
select Site_code, ID, Produce_Code, Material_Code, Material_Desc, Plan_Date, Plan_Number, Unit, COALESCE(Out_Number, 0) as Out_Number , Loc_Code, Loc_Desc, Production_Line_Desc, Production_Line_Code, Order_Status, User_Defined1, User_Defined2, User_Defined3, User_Defined4, User_Defined5, User_Defined6, User_Defined7, User_Defined8, User_Defined9, User_Defined10, User_Defined11, Supplier_Code, Supplier_Name, Create_By, Create_Date, Last_Update_By, Last_Update_Date, Active, Enterprise_Id, Enterprise_Code from ods_procure_out_order
</sql>
<select id="selectOdsProcureOutOrderList" parameterType="OdsProcureOutOrder" resultMap="OdsProcureOutOrderResult">
@ -229,16 +229,68 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="selectmesPrepareDetail" parameterType="OdsProcureOutOrder" resultMap="OdsProcureOutOrderResult">
SELECT record_id ID,
prepare_id User_Defined2,
material_code Material_Code,
material_name Material_Desc,
prod_type User_Defined1,
unit Unit,
quantity Plan_Number,
factory_code Site_code
FROM mes_prepare_detail
WHERE prepare_id=#{ID}
SELECT
mes_prepare_detail.record_id ID,
mes_prepare.workorder_name,
mes_prepare_detail.prepare_id User_Defined2,
mes_prepare_detail.material_code Material_Code,
mes_prepare_detail.material_name Material_Desc,
mes_prepare_detail.prod_type User_Defined1,
mes_prepare_detail.unit Unit,
mes_prepare_detail.quantity Plan_Number,
COALESCE(out_order.Plan_Number, 0) Out_Number,
mes_prepare_detail.recoil User_Defined3,
mes_prepare_detail.factory_code Site_code
FROM
mes_prepare_detail
LEFT JOIN mes_prepare ON mes_prepare.prepare_id= mes_prepare_detail.prepare_id
LEFT JOIN (SELECT Produce_Code,Material_Code,SUM(Plan_Number) Plan_Number FROM ods_procure_out_order GROUP BY Produce_Code,Material_Code)AS out_order ON out_order.Produce_Code= mes_prepare.workorder_name AND out_order.Material_Code=mes_prepare_detail.material_code
WHERE
mes_prepare_detail.prepare_id= #{ID}
</select>
<insert id="insertWmsRawMissionOut" >
insert into wms_raw_mission_out(id,
prd_order,
material_code,
material_desc,
unit,
user_defined1,
sn,
amount,
origin_location,
factory_code,
active_flag,
create_by,
gmt_create
)values (
#{ID},
#{produceCode},
#{materialCode},
#{materialDesc},
#{Unit},
#{userDefined1},
#{sn},
#{planNumber},
#{locCode},
#{factoryCode},
#{Active},
#{createBy},
#{createDate} )
</insert>
<update id="updateOdsProcureOutOrderByid">
update ods_procure_out_order
set User_Defined10 = #{userDefined10},
User_Defined11 = #{userDefined11}
where ID = #{ID}
</update>
<select id="selectOdsProcureOutOrderListByIds" resultMap="OdsProcureOutOrderResult">
<include refid="selectOdsProcureOutOrderVo"/>
WHERE
<![CDATA[ Order_Status = '3' and (User_Defined10 <> '2' OR User_Defined10 is NULL ) ]]>
and ID in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.ID}
</foreach>
</select>
</mapper>

Loading…
Cancel
Save