bug修改

pro
anthonywj 2 years ago
parent 972ed90e40
commit 23dacbc0d7

@ -43,10 +43,7 @@ import com.glxp.api.service.inout.*;
import com.glxp.api.service.inv.*; import com.glxp.api.service.inv.*;
import com.glxp.api.service.purchase.SupProductService; import com.glxp.api.service.purchase.SupProductService;
import com.glxp.api.service.system.SystemParamConfigService; import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.CustomUtil; import com.glxp.api.util.*;
import com.glxp.api.util.DateUtil;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import com.glxp.api.util.udi.FilterUdiUtils; import com.glxp.api.util.udi.FilterUdiUtils;
import com.glxp.api.util.udi.UdiCalCountUtil; import com.glxp.api.util.udi.UdiCalCountUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -495,7 +492,7 @@ public class IoCodeTempController extends BaseController {
//校验预验收库存是否已存在 //校验预验收库存是否已存在
if (bussinessTypeEntity.isScanPreIn()) { if (bussinessTypeEntity.isScanPreIn()) {
if (bussinessTypeEntity.getBackPreinType() == 1) {//按单出库&& bussinessTypeEntity.isPreInBack() if (bussinessTypeEntity.getBackPreinType() == 1 && bussinessTypeEntity.isPreInBack()) {//按单出库&& bussinessTypeEntity.isPreInBack()
String orderIds = addOrderRequest.getCheckPreInOrders(); String orderIds = addOrderRequest.getCheckPreInOrders();
if (StrUtil.isNotEmpty(orderIds)) { if (StrUtil.isNotEmpty(orderIds)) {
String[] orderIdArray = orderIds.split(","); String[] orderIdArray = orderIds.split(",");
@ -1097,8 +1094,8 @@ public class IoCodeTempController extends BaseController {
IoOrderDetailCodeEntity orderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(orderEntity.getBillNo(), codeTempEntity.getRelId(), codeTempEntity.getBatchNo()); IoOrderDetailCodeEntity orderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(orderEntity.getBillNo(), codeTempEntity.getRelId(), codeTempEntity.getBatchNo());
if (orderDetailCodeEntity != null) { if (orderDetailCodeEntity != null) {
//扫码数量-1 //扫码数量-1
int orderCount = orderDetailCodeEntity.getCount(); int orderCount = IntUtil.value(orderDetailCodeEntity.getCount());
int orderReCount = orderDetailCodeEntity.getReCount(); int orderReCount = IntUtil.value(orderDetailCodeEntity.getReCount());
if (orderCount > 1) { if (orderCount > 1) {
orderDetailCodeEntity.setCount(orderCount - 1); orderDetailCodeEntity.setCount(orderCount - 1);
orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getActCount(codeTempEntity.getNameCode())); orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getActCount(codeTempEntity.getNameCode()));

@ -139,7 +139,7 @@ public class IoOrderReviewController extends BaseController {
} }
if (orderEntity.getFromType() == ConstantStatus.FROM_UDISP) if (orderEntity.getFromType() == ConstantStatus.FROM_UDISP)
spGetHttp.reviewOrder(updateExportStatusRequest); spGetHttp.reviewOrder(updateExportStatusRequest, getUserId() + "");
return updateReview(getUser(), orderEntity); return updateReview(getUser(), orderEntity);
} else if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) { } else if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) {
return thirdUpdateReview(getUser(), orderEntity); return thirdUpdateReview(getUser(), orderEntity);
@ -224,7 +224,6 @@ public class IoOrderReviewController extends BaseController {
acceptOrderEntity.setFinishAccept(true); acceptOrderEntity.setFinishAccept(true);
return ResultVOUtils.success(acceptOrderEntity); return ResultVOUtils.success(acceptOrderEntity);
} }
return ResultVOUtils.success(acceptOrderEntity); return ResultVOUtils.success(acceptOrderEntity);
} }
@ -269,12 +268,15 @@ public class IoOrderReviewController extends BaseController {
redisUtil.del(ConstantStatus.REDIS_BILLNO + orderEntity.getBillNo()); redisUtil.del(ConstantStatus.REDIS_BILLNO + orderEntity.getBillNo());
redisUtil.del(ConstantStatus.REDIS_BILLNO_CODES + orderEntity.getBillNo()); redisUtil.del(ConstantStatus.REDIS_BILLNO_CODES + orderEntity.getBillNo());
return ResultVOUtils.success("验收成功!"); return ResultVOUtils.success("验收成功!");
} else } else {
return updateReview(authAdmin, orderEntity); return updateReview(authAdmin, orderEntity);
}
} }
} else } else {
return updateReview(authAdmin, orderEntity); return updateReview(authAdmin, orderEntity);
}
} }
@Resource @Resource

@ -407,4 +407,9 @@ public class BasicBussinessTypeEntity {
private boolean advancePreIn; private boolean advancePreIn;
@TableField(value = "sortNum") @TableField(value = "sortNum")
private Integer sortNum; private Integer sortNum;
//是否按货位出库 0不按货位出库1:按货位出库
@TableField(value = "spaceOut")
private int spaceOut;
} }

@ -148,6 +148,7 @@ public class IoCodeEntity implements Serializable {
return 0; return 0;
return count; return count;
} }
@JsonIgnore @JsonIgnore
public int getMyReCount() { public int getMyReCount() {
if (reCount == null) { if (reCount == null) {

@ -24,4 +24,8 @@ public class SyncDataBustypeEntity {
private Integer orderStatus; //单据状态 private Integer orderStatus; //单据状态
@TableField(value = "`direct`") @TableField(value = "`direct`")
private int direct; //1:UDI管理系统->SPMS 2:SPMS->UDI管理系统 private int direct; //1:UDI管理系统->SPMS 2:SPMS->UDI管理系统
@TableField(value = "`syncStatus`")
private Integer syncStatus; //同步后单据状态
@TableField(value = "`syncChange`")
private boolean syncChange; //同步后是否自动补单
} }

@ -146,9 +146,15 @@ public class SpGetHttpClient {
} }
//验收自助平台单据--直连接口 //验收自助平台单据--直连接口
public BaseResponse<String> reviewOrder(ReviewFinishRequest reviewFinishRequest) { public BaseResponse<String> reviewOrder(ReviewFinishRequest reviewFinishRequest, String userId) {
List<String> header = (List<String>) Convert.toList(buildHeader());
header.add("ADMIN_ID");
header.add(userId);
String json = JSONUtil.toJsonStr(reviewFinishRequest); String json = JSONUtil.toJsonStr(reviewFinishRequest);
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/spms/inout/order/web/updateStatus", json, buildHeader()); String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/spms/inout/order/web/updateStatus", json, Convert.toStrArray(header));
BaseResponse<String> response = BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() { JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
}); });
@ -158,6 +164,8 @@ public class SpGetHttpClient {
// 最小销售标识获取国家库信息 // 最小销售标识获取国家库信息
public BaseResponse<PageSimpleResponse<ProductInfoEntity>> getSyncDi(ProductInfoFilterRequest productInfoFilterRequest) { public BaseResponse<PageSimpleResponse<ProductInfoEntity>> getSyncDi(ProductInfoFilterRequest productInfoFilterRequest) {
Map<String, String> paramMap = new HashMap<>(16); Map<String, String> paramMap = new HashMap<>(16);
paramMap.put("nameCode", productInfoFilterRequest.getNameCode()); paramMap.put("nameCode", productInfoFilterRequest.getNameCode());
paramMap.put("page", productInfoFilterRequest.getPage() + ""); paramMap.put("page", productInfoFilterRequest.getPage() + "");

@ -1,6 +1,5 @@
package com.glxp.api.res.basic; package com.glxp.api.res.basic;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
/** /**
@ -151,4 +150,6 @@ public class BasicBussinessTypeResponse {
private Integer backPreinType; private Integer backPreinType;
private Boolean advancePreIn; private Boolean advancePreIn;
private Integer sortNum; private Integer sortNum;
private int spaceOut;
} }

@ -71,7 +71,7 @@ public class InvSpaceServiceImpl extends ServiceImpl<InvSpaceDao, InvSpace> impl
//获取当前仓库下的最大货位编码 //获取当前仓库下的最大货位编码
String maxSpaceCode = invSpaceDao.getMaxSpaceCode(null); String maxSpaceCode = invSpaceDao.getMaxSpaceCode(null);
if (StrUtil.isBlank(maxSpaceCode)) { if (StrUtil.isBlank(maxSpaceCode)) {
maxSpaceCode = "0000"; maxSpaceCode = "1000";
} }
String spaceCode = getSpaceCode(maxSpaceCode); String spaceCode = getSpaceCode(maxSpaceCode);
invSpace.setCode(spaceCode); invSpace.setCode(spaceCode);

@ -86,6 +86,9 @@ public class IoChangeInoutService {
//普通出入库单据流转 //普通出入库单据流转
public void genNewOrder(IoOrderEntity orderEntity, List<InvProductDetailEntity> invProductDetailEntities) { public void genNewOrder(IoOrderEntity orderEntity, List<InvProductDetailEntity> invProductDetailEntities) {
if (orderEntity.getFromType() == ConstantStatus.FROM_UDISP && (orderEntity.getOutChangeEnable() != null && !orderEntity.getOutChangeEnable())) {
return;
}
BasicBusTypePreEntity basicBusTypePreEntity = basicBusTypePreService.findByOriginAction(orderEntity.getAction()); BasicBusTypePreEntity basicBusTypePreEntity = basicBusTypePreService.findByOriginAction(orderEntity.getAction());
List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderEntity.getBillNo()); List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderEntity.getBillNo());
if (basicBusTypePreEntity.getSupplementAll()) {//全量补单 if (basicBusTypePreEntity.getSupplementAll()) {//全量补单

@ -737,7 +737,8 @@ public class IoOrderServiceImpl implements IoOrderService {
//查询往来单位名称 //查询往来单位名称
if (StrUtil.isNotBlank(order.getFromCorp())) { if (StrUtil.isNotBlank(order.getFromCorp())) {
BasicCorpEntity corpEntity = basicCorpDao.selectByErpId(order.getFromCorp()); BasicCorpEntity corpEntity = basicCorpDao.selectByErpId(order.getFromCorp());
response.setFromCorpName(corpEntity.getName()); if (corpEntity != null)
response.setFromCorpName(corpEntity.getName());
} else if (StrUtil.isNotBlank(order.getFromInvCode())) { } else if (StrUtil.isNotBlank(order.getFromInvCode())) {
String fromInvName = invWarehouseDao.selectNameByCode(order.getFromInvCode()); String fromInvName = invWarehouseDao.selectNameByCode(order.getFromInvCode());
response.setFromCorpName(fromInvName); response.setFromCorpName(fromInvName);

@ -1356,6 +1356,8 @@ public class HeartService {
return ResultVOUtils.success(); return ResultVOUtils.success();
} }
@Resource
SyncDataBustypeService syncDataBustypeService;
//下载最近更新扫码单据--上级服务 //下载最近更新扫码单据--上级服务
@Transactional(propagation = Propagation.NESTED) @Transactional(propagation = Propagation.NESTED)
@ -1391,21 +1393,35 @@ public class HeartService {
try { try {
List<IoOrderEntity> orderEntities = syncDataResponse.getOrderEntities(); List<IoOrderEntity> orderEntities = syncDataResponse.getOrderEntities();
for (IoOrderEntity orderEntity : orderEntities) { for (IoOrderEntity orderEntity : orderEntities) {
SyncDataBustypeEntity syncDataBustypeEntity = syncDataBustypeService.findByAction(orderEntity.getAction(), 2);
orderEntity.setUpdateTime(null); orderEntity.setUpdateTime(null);
orderEntity.setFromType(ConstantStatus.FROM_UDISP); orderEntity.setFromType(ConstantStatus.FROM_UDISP);
orderEntity.setProcessStatus(ConstantStatus.ORDER_DEAL_POST); orderEntity.setProcessStatus(ConstantStatus.ORDER_DEAL_POST);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
if (syncDataBustypeEntity != null) {
if (syncDataBustypeEntity.getSyncStatus() == 1) {
orderEntity.setProcessStatus(ConstantStatus.ORDER_DEAL_DRAFT);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);
}
if (syncDataBustypeEntity.isSyncChange()) {
orderEntity.setOutChangeEnable(syncDataBustypeEntity.isSyncChange());
}
}
IoOrderEntity temp = orderService.findByBillNo(orderEntity.getBillNo()); IoOrderEntity temp = orderService.findByBillNo(orderEntity.getBillNo());
if (temp == null) { if (temp == null) {
orderEntity.setId(null); orderEntity.setId(null);
orderService.insertOrder(orderEntity); orderService.insertOrder(orderEntity);
insetOrderDb(syncDataResponse, orderEntity); insetOrderDb(syncDataResponse, orderEntity);
orderEntity = orderService.findByBillNo(orderEntity.getBillNo()); orderEntity = orderService.findByBillNo(orderEntity.getBillNo());
addInoutService.dealProcess(orderEntity); if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_TEMP_SAVE) {
orderEntity = orderService.findByBillNo(orderEntity.getBillNo()); addInoutService.dealProcess(orderEntity);
if (orderEntity.getStatus() != ConstantStatus.ORDER_STATS_ERROR && !ioCheckInoutService.checkManual(orderEntity.getBillNo())) { orderEntity = orderService.findByBillNo(orderEntity.getBillNo());
ioCheckInoutService.check(orderEntity.getBillNo()); if (orderEntity.getStatus() != ConstantStatus.ORDER_STATS_ERROR && !ioCheckInoutService.checkManual(orderEntity.getBillNo())) {
ioCheckInoutService.check(orderEntity.getBillNo());
}
} }
} }
} }
if (fileJson != null&&fileJson.size()>0) { if (fileJson != null&&fileJson.size()>0) {

@ -10,6 +10,9 @@ public interface SyncDataBustypeService extends IService<SyncDataBustypeEntity>
List<SyncDataBustypeEntity> findAll(Integer direct); List<SyncDataBustypeEntity> findAll(Integer direct);
SyncDataBustypeEntity findByAction(String action, Integer direct);
boolean deleteAll(Integer direct); boolean deleteAll(Integer direct);
void inserts(List<SyncDataBustypeEntity> syncDataBustypeEntities); void inserts(List<SyncDataBustypeEntity> syncDataBustypeEntities);

@ -1,5 +1,6 @@
package com.glxp.api.service.sync.impl; package com.glxp.api.service.sync.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.sync.SyncDataBustypeDao; import com.glxp.api.dao.sync.SyncDataBustypeDao;
@ -23,6 +24,17 @@ public class SyncDataBustypeServiceImpl extends ServiceImpl<SyncDataBustypeDao,
return syncDataBustypeDao.selectList(new QueryWrapper<SyncDataBustypeEntity>().eq("direct", direct)); return syncDataBustypeDao.selectList(new QueryWrapper<SyncDataBustypeEntity>().eq("direct", direct));
} }
@Override
public SyncDataBustypeEntity findByAction(String action, Integer direct) {
List<SyncDataBustypeEntity> syncDataBustypeEntities = syncDataBustypeDao.selectList(new QueryWrapper<SyncDataBustypeEntity>().eq(direct != null, "direct", direct).eq("action", action));
if (CollUtil.isNotEmpty(syncDataBustypeEntities)) {
return syncDataBustypeEntities.get(0);
}
return null;
}
@Override @Override
public boolean deleteAll(Integer direct) { public boolean deleteAll(Integer direct) {
return syncDataBustypeDao.delete(new QueryWrapper<SyncDataBustypeEntity>().eq("direct", direct)) > 0 ? true : false; return syncDataBustypeDao.delete(new QueryWrapper<SyncDataBustypeEntity>().eq("direct", direct)) > 0 ? true : false;

@ -0,0 +1,18 @@
package com.glxp.api.util;
public class IntUtil {
public static int value(Integer value) {
if (value == null)
return 0;
else return value.intValue();
}
public static long value(Long value) {
if (value == null)
return 0l;
else return value.longValue();
}
}

@ -390,11 +390,12 @@
</select> </select>
<select id="getMaxSpaceCode" resultType="java.lang.String"> <select id="getMaxSpaceCode" resultType="java.lang.String">
select max(code) select max(CONVERT(code, signed))
from auth_space from auth_space;
<where> <where>
<if test="invCode != null and invCode != ''"> <if test="invCode != null and invCode != ''">
and invWarehouseCode = #{invCode} and invWarehouseCode =
#{invCode}
</if> </if>
</where> </where>
</select> </select>

@ -73,7 +73,7 @@
thrCheckPdaUn, thrCheckPdaEd, thrCheckUdims, thrCheckPc, thrCheckSp, thrCheckPdaUn, thrCheckPdaEd, thrCheckUdims, thrCheckPc, thrCheckSp,
thrCheckChange, thrCheckBalance, thrCheckCopy, fillCodeRel, checkVailDate, thrCheckChange, thrCheckBalance, thrCheckCopy, fillCodeRel, checkVailDate,
checkExpire, checkCertExpire, preInBackAction, backPreinType, checkExpire, checkCertExpire, preInBackAction, backPreinType,
sortNum) sortNum, spaceOut)
values (#{mainAction}, #{action}, #{name}, #{enable}, #{remark}, #{thirdSysFk}, #{genUnit}, #{innerOrder}, values (#{mainAction}, #{action}, #{name}, #{enable}, #{remark}, #{thirdSysFk}, #{genUnit}, #{innerOrder},
#{secCheckEnable}, #{checkEnable}, #{checkUdims}, #{checkPdaEd}, #{checkPdaUn}, #{checkPc}, #{secCheckEnable}, #{checkEnable}, #{checkUdims}, #{checkPdaEd}, #{checkPdaUn}, #{checkPc},
#{checkWebNew}, #{checkSp}, #{checkChange}, #{secCheckUdims}, #{secCheckPdaEd}, #{secCheckPdaUn}, #{checkWebNew}, #{checkSp}, #{checkChange}, #{secCheckUdims}, #{secCheckPdaEd}, #{secCheckPdaUn},
@ -86,7 +86,7 @@
#{thrCheckPdaUn}, #{thrCheckPdaEd}, #{thrCheckUdims}, #{thrCheckPc}, #{thrCheckSp}, #{thrCheckPdaUn}, #{thrCheckPdaEd}, #{thrCheckUdims}, #{thrCheckPc}, #{thrCheckSp},
#{thrCheckChange}, #{thrCheckBalance}, #{thrCheckCopy}, #{fillCodeRel}, #{checkVailDate}, #{thrCheckChange}, #{thrCheckBalance}, #{thrCheckCopy}, #{fillCodeRel}, #{checkVailDate},
#{checkExpire}, #{checkCertExpire}, #{preInBackAction}, #{backPreinType}, #{checkExpire}, #{checkCertExpire}, #{preInBackAction}, #{backPreinType},
#{sortNum}) #{sortNum}, #{spaceOut})
</insert> </insert>
<select id="selectBusList" resultType="com.glxp.api.entity.basic.BasicBussinessTypeEntity"> <select id="selectBusList" resultType="com.glxp.api.entity.basic.BasicBussinessTypeEntity">

@ -11,13 +11,13 @@
<insert id="inserts" parameterType="com.glxp.api.entity.system.SyncDataBustypeEntity" useGeneratedKeys="true"> <insert id="inserts" parameterType="com.glxp.api.entity.system.SyncDataBustypeEntity" useGeneratedKeys="true">
replace INTO sync_data_bustypes replace INTO sync_data_bustypes
(id, `action`, `name`, outChange, orderStatus, direct) (id, `action`, `name`, outChange, orderStatus, direct, syncStatus, syncChange)
values values
<foreach collection="syncDataBustypeEntities" item="item" index="index" <foreach collection="syncDataBustypeEntities" item="item" index="index"
separator=","> separator=",">
(#{item.id}, #{item.action}, #{item.name}, (#{item.id}, #{item.action}, #{item.name},
#{item.outChange}, #{item.orderStatus}, #{item.direct}) #{item.outChange}, #{item.orderStatus}, #{item.direct}, #{item.syncStatus}, #{item.syncChange})
</foreach> </foreach>
</insert> </insert>
</mapper> </mapper>

@ -408,4 +408,7 @@ CALL Pro_Temp_ColumnWork('inv_place_order_detail', 'nameCode', 'varchar(255)', 1
CALL Pro_Temp_ColumnWork('inv_place_order_detail', 'supId', 'varchar(255)', 1); CALL Pro_Temp_ColumnWork('inv_place_order_detail', 'supId', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('inv_place_order_detail', 'expireDate', 'varchar(255)', 1); CALL Pro_Temp_ColumnWork('inv_place_order_detail', 'expireDate', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('inv_place_order_detail', 'produceDate', 'varchar(255)', 1); CALL Pro_Temp_ColumnWork('inv_place_order_detail', 'produceDate', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('inv_place_order_detail', 'serialNo', 'varchar(255)', 1); CALL Pro_Temp_ColumnWork('inv_place_order_detail', 'serialNo', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('sync_data_bustypes', 'syncStatus', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('sync_data_bustypes', 'syncChange', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'spaceOut', 'tinyint', 1);

Loading…
Cancel
Save