长泰预备货问题解决,系统配置是否拆单问题

dev
anthonywj 1 year ago
parent 17491a6e7a
commit 2cff973619

@ -23,6 +23,7 @@ import com.glxp.mipsdl.dao.basic.BasicCorpDao;
import com.glxp.mipsdl.dao.basic.BasicProductsDao;
import com.glxp.mipsdl.dao.basic.BasicUdirelDao;
import com.glxp.mipsdl.dao.inout.*;
import com.glxp.mipsdl.dao.system.SysParamConfigMapper;
import com.glxp.mipsdl.dao.thrsys.ThrInvWarehouseDao;
import com.glxp.mipsdl.dao.thrsys.ThrProductsDao;
import com.glxp.mipsdl.dao.thrsys.ThrSystemBusApiDao;
@ -37,6 +38,7 @@ import com.glxp.mipsdl.entity.ctqyy.MaterialDictEntity;
import com.glxp.mipsdl.entity.ctqyy.PriceClassEntity;
import com.glxp.mipsdl.entity.ctqyy.ThrHslbEntity;
import com.glxp.mipsdl.entity.inout.*;
import com.glxp.mipsdl.entity.system.SysParamConfigEntity;
import com.glxp.mipsdl.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.mipsdl.entity.thrsys.ThrProductsEntity;
import com.glxp.mipsdl.entity.thrsys.ThrSystemBusApiEntity;
@ -50,6 +52,7 @@ import com.glxp.mipsdl.res.BaseResponse;
import com.glxp.mipsdl.res.ctqyy.CtBaseResponse;
import com.glxp.mipsdl.res.udiwms.*;
import com.glxp.mipsdl.service.auth.AuthWarehouseService;
import com.glxp.mipsdl.service.system.SysParamConfigService;
import com.glxp.mipsdl.service.thrsys.ThrCorpService;
import com.glxp.mipsdl.service.thrsys.ThrSystemDetailService;
import com.glxp.mipsdl.util.DateUtil;
@ -439,6 +442,8 @@ public class CtqyyClient extends CommonHttpClient {
return null;
}
@Resource
SysParamConfigService sysParamConfigService;
@Override
public BaseResponse submitOrders(UdiwmsOrderRequest udiwmsOrderRequest) {
@ -539,7 +544,7 @@ public class CtqyyClient extends CommonHttpClient {
//查询业务单据详情
List<IoOrderDetailBizEntity> detailBizEntities = orderDetailBizDao.selectList(new QueryWrapper<IoOrderDetailBizEntity>().eq("orderIdFk", orderEntity.getBillNo()));
setOrderDetailList(ioCodeEntities, items, detailBizEntities);
zaxzyyOrderRequest.setItem(items);
zaxzyyOrderRequest.setItems(items);
if (CollUtil.isEmpty(items)) {
log.error("\"产品信息对照异常,无法上传\"");
return ResultVOUtils.error(500, "产品信息对照异常,无法上传");
@ -579,19 +584,26 @@ public class CtqyyClient extends CommonHttpClient {
// zaZyRequest.setMsgHeader(getMsgHeader("saveMasterialInput"));
// zaZyRequest.setMsgBody(JSONUtil.toJsonStr(zaxzyyOrderRequest));
// }
Map<String, List<UdiwmsOrderDetailRequest>> splitMap = items.stream()
.collect(Collectors.groupingBy(UdiwmsOrderDetailRequest::getFirstSalesInvNo));
BaseResponse baseResponse = null;
int index = 1;
if (splitMap.size() > 1) {
for (List<UdiwmsOrderDetailRequest> splitItems : splitMap.values()) {
zaxzyyOrderRequest.setItem(splitItems);
Boolean b = sysParamConfigService.selectByKey("ct_split_groupbuy");
if (b) {
Map<String, List<UdiwmsOrderDetailRequest>> splitMap = items.stream()
.collect(Collectors.groupingBy(UdiwmsOrderDetailRequest::getFirstSalesInvNo));
BaseResponse baseResponse = null;
int index = 1;
if (splitMap.size() > 1) {
for (List<UdiwmsOrderDetailRequest> splitItems : splitMap.values()) {
zaxzyyOrderRequest.setItems(splitItems);
zaZyRequest.setMsgHeader(getMsgHeader("saveMasterialInput"));
zaZyRequest.setMsgBody(JSONUtil.toJsonStr(zaxzyyOrderRequest));
orderEntity.setBillNo(orderEntity.getBillNo() + "-" + index);
baseResponse = submitOrder(orderEntity, zaZyRequest);
}
return baseResponse;
} else {
zaZyRequest.setMsgHeader(getMsgHeader("saveMasterialInput"));
zaZyRequest.setMsgBody(JSONUtil.toJsonStr(zaxzyyOrderRequest));
orderEntity.setBillNo(orderEntity.getBillNo() + "-" + index);
baseResponse = submitOrder(orderEntity, zaZyRequest);
return submitOrder(orderEntity, zaZyRequest);
}
return baseResponse;
} else {
zaZyRequest.setMsgHeader(getMsgHeader("saveMasterialInput"));
zaZyRequest.setMsgBody(JSONUtil.toJsonStr(zaxzyyOrderRequest));
@ -601,10 +613,10 @@ public class CtqyyClient extends CommonHttpClient {
} else if (thrSystemBusApiEntity.getUrl().equals("saveMaterialHight")) {
// 1.先提交到物资
zaZyRequest.setMsgHeader(getMsgHeader("saveMasterialInput"));
zaZyRequest.setMsgBody(JSONUtil.toJsonStr(zaxzyyOrderRequest));
submitOrder(orderEntity, zaZyRequest);
// // 1.先提交到物资
// zaZyRequest.setMsgHeader(getMsgHeader("saveMasterialInput"));
// zaZyRequest.setMsgBody(JSONUtil.toJsonStr(zaxzyyOrderRequest));
// submitOrder(orderEntity, zaZyRequest);
//2.提交到预备货
@ -886,6 +898,16 @@ public class CtqyyClient extends CommonHttpClient {
BeanUtils.copyProperties(udiwmsOrderRequest, udiwmsPreInOrderRequest);
udiwmsPreInOrderRequest.setLocInvCode(udiwmsOrderRequest.getLocStorageCode());
udiwmsPreInOrderRequest.setLocInvName(udiwmsOrderRequest.getLocStorageName());
String deptCode = "70";
if (StrUtil.isNotEmpty(orderEntity.getOriginUllageSupNo())) {
IoOrderEntity temp = orderDao.selectOne(new QueryWrapper<IoOrderEntity>().eq("billNo", orderEntity.getOriginUllageSupNo()).last("limit 1"));
if (temp != null && StrUtil.isNotEmpty(temp.getFromInvCode())) {
AuthWarehouseEntity authWarehouseEntity =
authWarehouseDao.selectOne(new QueryWrapper<AuthWarehouseEntity>().eq("code", temp.getFromInvCode()).last("limit 1"));
deptCode = authWarehouseEntity.getThirdId();
}
}
udiwmsPreInOrderRequest.setDeptCode(deptCode);
if (orderEntity.getReviewUser() != null) {
AuthUserEntity authUser = authUserDao.selectById(orderEntity.getReviewUser());
udiwmsPreInOrderRequest.setActor(authUser.getEmployeeName());
@ -894,14 +916,20 @@ public class CtqyyClient extends CommonHttpClient {
udiwmsPreInOrderRequest.setActor(authUser.getEmployeeName());
}
List<UdiwmsPreInOrderRequest.ItemDTO> itemDTOS = new ArrayList<>();
if (CollUtil.isNotEmpty(udiwmsOrderRequest.getItem())) {
for (UdiwmsOrderDetailRequest udiwmsOrderDetail : udiwmsOrderRequest.getItem()) {
if (CollUtil.isNotEmpty(udiwmsOrderRequest.getItems())) {
for (UdiwmsOrderDetailRequest udiwmsOrderDetail : udiwmsOrderRequest.getItems()) {
if (CollUtil.isNotEmpty(udiwmsOrderDetail.getCodeList())) {
for (UdiwmsOrderDetailRequest.CodeDetailEntity codeDetaiEntity : udiwmsOrderDetail.getCodeList()) {
UdiwmsPreInOrderRequest.ItemDTO itemDTO = new UdiwmsPreInOrderRequest.ItemDTO();
BeanUtils.copyProperties(udiwmsOrderDetail, itemDTO);
itemDTO.setCode(codeDetaiEntity.getCode());
String code = codeDetaiEntity.getCode();
if (code.contains("\u001D")) {
code = code.replace("\u001D", "zysoft");
}
itemDTO.setCode(code);
itemDTO.setCount(codeDetaiEntity.getCount());
itemDTO.setNameCode(codeDetaiEntity.getNameCode());
itemDTOS.add(itemDTO);
}

@ -671,4 +671,6 @@ public class ZaxyyClient extends CommonHttpClient {
return udiwmsPreInOrderRequest;
}
}

@ -0,0 +1,9 @@
package com.glxp.mipsdl.dao.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.mipsdl.entity.system.SysParamConfigEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SysParamConfigMapper extends BaseMapper<SysParamConfigEntity> {
}

@ -0,0 +1,69 @@
package com.glxp.mipsdl.entity.system;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
*
*/
@Data
@TableName(value = "sys_param_config")
public class SysParamConfigEntity implements Serializable {
/**
* ID
*/
@TableId(value = "id", type = IdType.INPUT)
private Integer id;
/**
* ID
*/
@TableField(value = "parentId")
private Integer parentId;
/**
*
*/
@TableField(value = "paramName")
private String paramName;
/**
*
*/
@TableField(value = "paramKey")
private String paramKey;
/**
*
*/
@TableField(value = "paramValue")
private String paramValue;
/**
* 01erp
*/
@TableField(value = "paramStatus")
private Integer paramStatus;
/**
*
*/
@TableField(value = "paramType")
private Integer paramType;
/**
*
*/
@TableField(value = "paramExplain")
private String paramExplain;
@TableField(value = "updateTime")
private Date updateTime;
private static final long serialVersionUID = 1L;
}

@ -15,6 +15,7 @@ public class UdiwmsPreInOrderRequest {
private String corpName;
private String locInvCode;
private String locInvName;
private String deptCode;
private String actor;
private String thirdSys;
private String remark;
@ -38,5 +39,6 @@ public class UdiwmsPreInOrderRequest {
private String secSalesListNo;
private String firstSalesInvNo;
private String remark;
private String nameCode;
}
}

@ -0,0 +1,29 @@
package com.glxp.mipsdl.service.system;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.mipsdl.util.IntUtil;
import org.apache.logging.log4j.spi.Terminable;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.mipsdl.dao.system.SysParamConfigMapper;
import com.glxp.mipsdl.entity.system.SysParamConfigEntity;
import javax.annotation.Resource;
@Service
public class SysParamConfigService extends ServiceImpl<SysParamConfigMapper, SysParamConfigEntity> {
@Resource
SysParamConfigMapper sysParamConfigMapper;
public Boolean selectByKey(String key) {
SysParamConfigEntity sysParamConfigEntity = sysParamConfigMapper.selectOne(new QueryWrapper<SysParamConfigEntity>().eq("paramKey", key).last("limit 1"));
if (sysParamConfigEntity != null) {
String value = sysParamConfigEntity.getParamValue();
if (IntUtil.value(value) > 0) {
return true;
}
}
return false;
}
}

@ -0,0 +1,22 @@
<?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.glxp.mipsdl.dao.system.SysParamConfigMapper">
<resultMap id="BaseResultMap" type="com.glxp.mipsdl.entity.system.SysParamConfigEntity">
<!--@mbg.generated-->
<!--@Table sys_param_config-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="parentId" jdbcType="INTEGER" property="parentId" />
<result column="paramName" jdbcType="VARCHAR" property="paramName" />
<result column="paramKey" jdbcType="VARCHAR" property="paramKey" />
<result column="paramValue" jdbcType="VARCHAR" property="paramValue" />
<result column="paramStatus" jdbcType="INTEGER" property="paramStatus" />
<result column="paramType" jdbcType="INTEGER" property="paramType" />
<result column="paramExplain" jdbcType="VARCHAR" property="paramExplain" />
<result column="updateTime" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, parentId, paramName, paramKey, paramValue, paramStatus, paramType, paramExplain,
updateTime
</sql>
</mapper>
Loading…
Cancel
Save