Merge branch 'master' into dev

pro
wj 2 years ago
commit 943cea1816

@ -47,6 +47,13 @@ public enum BasicExportTypeEnum {
*/
IO_ORDER("io_order", "单据信息"),
/**
*
*/
ORDER_INVOICE("io_order_invoice", "扫码单据发票信息"),
//
// NEW_ALL_ORDER("all_order", "出入库扫码单据"),
// ALL_BUS_ORDER("all_bus_order", "业务单据"),

@ -52,7 +52,6 @@ public class IoOrderInvoiceController {
fileService.download(syncFiles);
}
}
return ResultVOUtils.success("更新成功!");
} else
return baseResponse;

@ -137,6 +137,9 @@ public class IoOrderReviewController extends BaseController {
transferOrder(orderEntity, entrustReceEntity);
}
}
if (orderEntity.getFromType() == ConstantStatus.FROM_UDISP)
spGetHttp.reviewOrder(updateExportStatusRequest);
return updateReview(getUser(), orderEntity);
} else if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) {
return thirdUpdateReview(getUser(), orderEntity);
@ -452,7 +455,6 @@ public class IoOrderReviewController extends BaseController {
String errMsg = checkReviewAuth(billNo, userId + "");
EntrustReceEntity entrustReceEntity;
if (StrUtil.isNotEmpty(errMsg)) {
if (errMsg.equals("委托验收")) {
IoOrderEntity orderEntity = orderService.findByBillNo(billNo);
entrustReceEntity = entrustReceService.findByUnique(orderEntity.getAction(), userId);
@ -493,12 +495,19 @@ public class IoOrderReviewController extends BaseController {
orderEntity = orderEntities.get(0);
orderEntity.setUpdateTime(null);
orderEntity.setFromType(ConstantStatus.FROM_UDISP);
orderEntity.setReviewSp(true);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
IoOrderEntity temp = orderService.findByBillNo(orderEntity.getBillNo());
if (temp == null) {
orderEntity.setId(null);
orderService.insertOrder(orderEntity);
heartService.insetOrderDb(spsSyncOrderResponse, orderEntity);
orderEntity = orderService.findByBillNo(orderEntity.getBillNo());
addInoutService.dealProcess(orderEntity);
orderEntity = orderService.findByBillNo(orderEntity.getBillNo());
if (orderEntity.getStatus() != ConstantStatus.ORDER_STATS_ERROR && !ioCheckInoutService.checkManual(orderEntity.getBillNo())) {
ioCheckInoutService.check(orderEntity.getBillNo());
}
}
FilterOrderDetailResultRequest tempRequest = new FilterOrderDetailResultRequest();
tempRequest.setOrderIdFk(billNo);
@ -518,12 +527,30 @@ public class IoOrderReviewController extends BaseController {
return ResultVOUtils.success(acceptOrderEntity);
}
@Resource
IoAddInoutService addInoutService;
@Resource
InvBusUserService invBusUserService;
//校验用户是否验收权限
private String checkReviewAuth(String orderId, String userId) {
IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
if (orderEntity == null) {
ReviewSpmsRequest reviewSpmsRequest = new ReviewSpmsRequest();
reviewSpmsRequest.setBillNo(orderId);
BaseResponse<IoOrderEntity> response = spGetHttp.getSimpleOrder(reviewSpmsRequest, userId);
if (response.getCode() == 20000 && response.getData() != null) {
orderEntity = response.getData();
} else {
return "单据不存在!";
}
}
if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_REW && orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) {
return "单据非未验收状态,无法审核!";
}

@ -6,10 +6,15 @@ import com.github.pagehelper.PageInfo;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.dao.inv.InvPlaceOrderDetailDao;
import com.glxp.api.entity.inv.InvPlaceOrderDetailEntity;
import com.glxp.api.req.inv.FilterInvPlaceOrderRequest;
import com.glxp.api.req.inv.FilterInvPlaceRequest;
import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.res.inv.BindInvSpaceRequest;
import com.glxp.api.res.inv.InvPlaceDetailResponse;
import com.glxp.api.res.inv.InvPlaceOrderDetailResponse;
import com.glxp.api.service.inv.InvPlaceOrderService;
import com.glxp.api.service.inv.InvPlaceService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -18,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
/**
@ -28,6 +34,10 @@ public class InvPlaceController {
@Resource
private InvPlaceService invPlaceService;
@Resource
private InvPlaceOrderService invPlaceOrderService;
/**
*
@ -48,7 +58,7 @@ public class InvPlaceController {
* @return
*/
@PostMapping("/spms/inv/product/bindInvSpace")
public BaseResponse bindInvSpace(@RequestBody @Valid BindInvSpaceRequest bindInvSpaceRequest) {
public BaseResponse bindInvSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) {
if (null == bindInvSpaceRequest) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
@ -87,15 +97,21 @@ public class InvPlaceController {
/**
*
*
* @param filterInvPlaceRequest
* @param bindInvSpaceRequest
* @return
*/
@GetMapping("/spms/inv/product/getInvProductInfo")
private BaseResponse getInvProductInfo(FilterInvPlaceRequest filterInvPlaceRequest) {
List<InvPlaceDetailResponse> list = invPlaceService.getInvProductInfo(filterInvPlaceRequest);
if (CollUtil.isEmpty(list))
return ResultVOUtils.error(500, "库存未找到产品信息!");
return ResultVOUtils.success(list);
private BaseResponse getInvProductInfo(BindInvSpaceRequest bindInvSpaceRequest) {
List<InvPlaceDetailResponse> list = new ArrayList<>();
//判断有没有库存
String msg=invPlaceService.checkCount(bindInvSpaceRequest);
if(StrUtil.isEmpty(msg)){
//有库存做插入货位号
return invPlaceOrderService.bindInvSpaceOne(bindInvSpaceRequest);
}else{
return ResultVOUtils.error(500, msg);
}
}
/**
@ -114,4 +130,17 @@ public class InvPlaceController {
return ResultVOUtils.page(pageInfo);
}
/**
*
*
* @return
*/
@GetMapping("/spms/inv/product/getInvPlaceOrderDetailList")
public BaseResponse getInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest) {
List<InvPlaceOrderDetailResponse> list = invPlaceOrderService.filterInvPlaceOrderDetailList(filterInvPlaceOrderRequest);
PageInfo<InvPlaceOrderDetailResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.page(pageInfo);
}
}

@ -66,13 +66,15 @@ public class SyncDataSetController {
syncDataSetEntity.setId(1);
List<SyncDataBustypeEntity> busTypes = syncDataSetResponse.getBusTypes();
syncDataBustypeService.deleteAll(1);
if (CollUtil.isNotEmpty(busTypes))
if (CollUtil.isNotEmpty(busTypes)) {
syncDataBustypeService.inserts(busTypes);
}
List<SyncDataBustypeEntity> toInBusTypes = syncDataSetResponse.getToInBusTypes();
syncDataBustypeService.deleteAll(2);
if (CollUtil.isNotEmpty(toInBusTypes))
if (CollUtil.isNotEmpty(toInBusTypes)) {
syncDataBustypeService.inserts(toInBusTypes);
}
if (CollUtil.isNotEmpty(syncDataSetResponse.getChangeBusTypes())) {

@ -2,7 +2,14 @@ package com.glxp.api.dao.inv;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.inv.InvPlaceOrderDetailEntity;
import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.res.inv.InvPlaceOrderDetailResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface InvPlaceOrderDetailDao extends BaseMapper<InvPlaceOrderDetailEntity> {
List<InvPlaceOrderDetailResponse> selectDetailList(@Param("recordId") String recordId);
}

@ -44,4 +44,6 @@ public interface InvPreInProductDetailDao extends BaseMapperPlus<InvPreInProduct
List<IoOrderResponse> getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest);
Integer getInventoryQuantity(@Param("code") String code);
}

@ -43,4 +43,6 @@ public interface InvPreProductDetailDao extends BaseMapperPlus<InvPreProductDeta
void batchBindSpace(@Param("ids") List<Integer> ids, @Param("invSpaceCode") String invSpaceCode);
List<IoOrderResponse> getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest);
Integer getInventoryQuantity(@Param("code") String code);
}

@ -96,4 +96,6 @@ public interface InvProductDetailDao extends BaseMapperPlus<InvProductDetailDao,
* @return
*/
List<IoOrderResponse> getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest);
Integer getInventoryQuantity(@Param("code") String code);
}

@ -79,7 +79,7 @@ public class UdiProductEntity {
private String supId;
private Integer relSupId;
private Long relSupId;
public Boolean getAllowNoBatch() {

@ -195,6 +195,8 @@ public class IoOrderEntity {
@TableField(value = "entrustEnd")
private boolean entrustEnd;
@TableField(value = "reviewSp")
private boolean reviewSp; //是否验收外网单据时,需忽略流转更改为待审核
/**

@ -10,8 +10,8 @@ import lombok.Data;
@TableName(value = "inv_place_order_detail")
public class InvPlaceOrderDetailEntity {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private Long id;
/**
*

@ -15,8 +15,8 @@ import java.util.Date;
@TableName(value = "inv_place_order")
public class InvPlaceOrderEntity {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private Long id;
/**
*

@ -10,6 +10,7 @@ import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BasicExportTypeEnum;
import com.glxp.api.entity.basic.ProductInfoEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.inout.IoOrderInvoiceEntity;
import com.glxp.api.entity.sync.BasicExportStatusEntity;
import com.glxp.api.entity.sync.IOOrderStatusEntity;
@ -125,6 +126,19 @@ public class SpGetHttpClient {
}
public BaseResponse<IoOrderEntity> getSimpleOrder(ReviewSpmsRequest reviewSpmsRequest, String userId) {
String json = JSONUtil.toJsonStr(reviewSpmsRequest);
List<String> header = (List<String>) Convert.toList(buildHeader());
header.add("ADMIN_ID");
header.add(userId);
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/order/getSimpleOrder", json, Convert.toStrArray(header));
BaseResponse<IoOrderEntity> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<IoOrderEntity>>() {
});
return response;
}
public BaseResponse<List<IoOrderInvoiceEntity>> getIoOrderInvoices(RefreshInoiceRequest refreshInoiceRequest) {
String json = JSONUtil.toJsonStr(refreshInoiceRequest);
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/inout/order/refrshInvoice", json, buildHeader());
@ -244,7 +258,7 @@ public class SpGetHttpClient {
}
public BaseResponse<String> testConnect() {
String response = okHttpCli.doGet(getIpUrl() + "/sps/sync/connect/test");
String response = okHttpCli.doGet(getIpUrl() + "/udispsync/sync/testConnection");
try {
BaseResponse<String> data =
JSONObject.parseObject(response, new TypeReference<BaseResponse<String>>() {

@ -5,7 +5,7 @@ import lombok.Data;
@Data
public class CompanyProductRelevanceResponse {
private int id;
private Long id;
private Integer rlId;
private String thirdId;
private String thirdName;

@ -68,6 +68,8 @@ public class InvPlaceOrderDetailResponse {
*/
private String invSpaceCode;
private String invSpaceName;
/**
*
*/

@ -1,6 +1,7 @@
package com.glxp.api.service.basic.impl;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
@ -39,6 +40,8 @@ public class CompanyProductRelevanceServiceImpl extends ServiceImpl<CompanyProdu
@Override
public boolean insertCompanyProductRelevance(CompanyProductRelevanceEntity companyProductRelevanceEntity) {
if (companyProductRelevanceEntity.getId() == null)
companyProductRelevanceEntity.setId(IdUtil.getSnowflakeNextId());
return companyProductRelevanceDao.insertCompanyProductRelevance(companyProductRelevanceEntity);
}

@ -1,6 +1,7 @@
package com.glxp.api.service.basic.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.basic.UdiProductDao;
@ -96,6 +97,9 @@ public class UdiProductServiceImpl implements UdiProductService {
@Override
public boolean insertUdiInfo(UdiProductEntity udiProductEntity) {
if (udiProductEntity.getId() == null) {
udiProductEntity.setId(IdUtil.getSnowflakeNextId());
}
return udiProductDao.insertUdiInfo(udiProductEntity);
}

@ -3,6 +3,7 @@ package com.glxp.api.service.inout;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.UUID;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
@ -187,9 +188,12 @@ public class IoCheckInoutService {
UdiEntity udiEntity = FilterUdiUtils.getUdi(codeEntity.getCode());
IoCodeLostEntity codeLostEntity = codeLostService.findByCode(codeEntity.getCode());
if (codeLostEntity == null)
if (codeLostEntity == null) {
codeLostEntity = new IoCodeLostEntity();
codeLostEntity.setId(IdUtil.getSnowflakeNextId());
codeLostEntity.setNameCode(udiEntity.getUdi());
codeLostEntity.setCode(codeEntity.getCode());
}
//校验是否写入缺失表
boolean isTrue = false;
if (udiEntity != null) {
@ -211,8 +215,10 @@ public class IoCheckInoutService {
isTrue = true;
}
}
if (isTrue)
if (isTrue) {
codeLostEntity.setCreateTime(new Date());
codeLostService.insertOrUpdate(codeLostEntity);
}
}
}
@ -777,7 +783,7 @@ public class IoCheckInoutService {
if (!bussinessTypeEntity.isSecCheckCopy()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDISP) {
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDISP && !orderEntity.isReviewSp()) {
if (!bussinessTypeEntity.isSecCheckSp()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
}

@ -1,8 +1,13 @@
package com.glxp.api.service.inv;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.entity.inv.InvPlaceOrderDetailEntity;
import com.glxp.api.req.inv.AddInvPlaceOrderRequest;
import com.glxp.api.req.inv.FilterInvPlaceOrderRequest;
import com.glxp.api.req.inv.FilterInvPlaceRequest;
import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.res.inv.BindInvSpaceRequest;
import com.glxp.api.res.inv.InvPlaceOrderDetailResponse;
import com.glxp.api.res.inv.InvPlaceOrderResponse;
import java.util.List;
@ -16,4 +21,9 @@ public interface InvPlaceOrderService {
BaseResponse addInvPlaceOrder(AddInvPlaceOrderRequest addInvPlaceOrderRequest);
//单条绑定货位
BaseResponse bindInvSpaceOne(BindInvSpaceRequest bindInvSpaceRequest);
List<InvPlaceOrderDetailResponse> filterInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest);
}

@ -47,10 +47,10 @@ public interface InvPlaceService {
BaseResponse checkCodeSpace(BindInvSpaceRequest bindInvSpaceRequest);
/**
* @param filterInvPlaceRequest
* @param bindInvSpaceRequest
* @return
*/
List<InvPlaceDetailResponse> getInvProductInfo(FilterInvPlaceRequest filterInvPlaceRequest);
List<InvPlaceDetailResponse> getInvProductInfo(BindInvSpaceRequest bindInvSpaceRequest);
/**
*
@ -59,4 +59,8 @@ public interface InvPlaceService {
* @return
*/
List<IoOrderResponse> getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest);
//判断有没有库存
String checkCount(BindInvSpaceRequest bindInvSpaceRequest);
}

@ -1,7 +1,9 @@
package com.glxp.api.service.inv.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
@ -12,6 +14,10 @@ import com.glxp.api.entity.inv.InvPlaceOrderDetailEntity;
import com.glxp.api.entity.inv.InvPlaceOrderEntity;
import com.glxp.api.req.inv.AddInvPlaceOrderRequest;
import com.glxp.api.req.inv.FilterInvPlaceOrderRequest;
import com.glxp.api.req.inv.FilterInvPlaceRequest;
import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.res.inv.BindInvSpaceRequest;
import com.glxp.api.res.inv.InvPlaceOrderDetailResponse;
import com.glxp.api.res.inv.InvPlaceOrderResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.inv.InvPlaceOrderService;
@ -90,4 +96,80 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService {
invPlaceOrderDao.insert(orderEntity);
return ResultVOUtils.success();
}
@Override
public BaseResponse bindInvSpaceOne(BindInvSpaceRequest bindInvSpaceRequest) {
// QueryWrapper ew=new QueryWrapper();
// ew.eq("code",filterInvPlaceRequest.getCode());
// ew.isNull("invSpaceCode");
// ew.
// invPreInProductDetailDao.selectOne()
//判断是不是第一次进行添加 是就插入一条主表
String recordId = "";
if(StrUtil.isEmpty(bindInvSpaceRequest.getOrderId())){
InvPlaceOrderEntity invPlaceOrderEntity=new InvPlaceOrderEntity();
//操作人ID
String userId = customerService.getUserIdStr();
recordId = gennerOrderUtils.createInvPlaceOrderNo(new OrderNoTypeBean(Constant.INV_PLACE_ORDER, "yyyyMMdd"));
InvPlaceOrderEntity orderEntity = new InvPlaceOrderEntity();
orderEntity.setId(IdUtil.getSnowflakeNextId());
orderEntity.setRecordId(recordId);
orderEntity.setType(1);
// orderEntity.setOrderId(addInvPlaceOrderRequest.getOrderId());
orderEntity.setCreateUser(userId);
orderEntity.setCreateTime(new Date());
orderEntity.setUpdateTime(new Date());
invPlaceOrderDao.insert(orderEntity);
//插入附表
InvPlaceOrderDetailEntity invPlaceOrderDetailEntity=new InvPlaceOrderDetailEntity();
invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId());
invPlaceOrderDetailEntity.setRecordId(recordId);
invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode());
invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode());
invPlaceOrderDetailEntity.setCode(bindInvSpaceRequest.getCode());
invPlaceOrderDetailEntity.setCount(1);
invPlaceOrderDetailDao.insert(invPlaceOrderDetailEntity);
}else{
recordId=bindInvSpaceRequest.getOrderId();
//查询有没有存在一样的code有就加数量没有新增
QueryWrapper<InvPlaceOrderDetailEntity> ew=new QueryWrapper<>();
ew.eq("recordId",bindInvSpaceRequest.getOrderId());
ew.eq("code",bindInvSpaceRequest.getCode());
InvPlaceOrderDetailEntity invPlaceOrderDetailEntity=invPlaceOrderDetailDao.selectOne(ew);
if(invPlaceOrderDetailEntity!=null){
invPlaceOrderDetailEntity.setCount(invPlaceOrderDetailEntity.getCount()+1);
invPlaceOrderDetailDao.updateById(invPlaceOrderDetailEntity);
}else{
//插入附表
invPlaceOrderDetailEntity=new InvPlaceOrderDetailEntity();
invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId());
invPlaceOrderDetailEntity.setRecordId(bindInvSpaceRequest.getOrderId());
invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode());
invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode());
invPlaceOrderDetailEntity.setCode(bindInvSpaceRequest.getCode());
invPlaceOrderDetailEntity.setCount(1);
invPlaceOrderDetailDao.insert(invPlaceOrderDetailEntity);
}
}
return ResultVOUtils.success(recordId);
}
@Override
public List<InvPlaceOrderDetailResponse> filterInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest) {
if (null == filterInvPlaceOrderRequest) {
return Collections.emptyList();
}
if (null != filterInvPlaceOrderRequest.getPage() && null != filterInvPlaceOrderRequest.getLimit()) {
PageHelper.offsetPage((filterInvPlaceOrderRequest.getPage() - 1) * filterInvPlaceOrderRequest.getLimit(), filterInvPlaceOrderRequest.getLimit());
}
return invPlaceOrderDetailDao.selectDetailList(filterInvPlaceOrderRequest.getOrderId());
}
}

@ -1,31 +1,32 @@
package com.glxp.api.service.inv.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.auth.InvSpaceDao;
import com.glxp.api.dao.auth.InvWarehouseDao;
import com.glxp.api.dao.inv.InvPreInProductDetailDao;
import com.glxp.api.dao.inv.InvPreProductDetailDao;
import com.glxp.api.dao.inv.InvProductDetailDao;
import com.glxp.api.dao.inv.*;
import com.glxp.api.entity.auth.InvSpace;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.inv.InvPreInProductDetailEntity;
import com.glxp.api.entity.inv.InvPreProductDetailEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.entity.inv.*;
import com.glxp.api.req.inv.AddInvPlaceOrderRequest;
import com.glxp.api.req.inv.FilterInvPlaceRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.res.inv.BindInvSpaceRequest;
import com.glxp.api.res.inv.InvPlaceDetailResponse;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.inv.InvPlaceOrderService;
import com.glxp.api.service.inv.InvPlaceService;
import com.glxp.api.util.BeanCopyUtils;
import com.glxp.api.util.OrderNoTypeBean;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -34,6 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@ -54,6 +56,14 @@ public class InvPlaceServiceImpl implements InvPlaceService {
private InvSpaceDao invSpaceDao;
@Resource
private InvPlaceOrderService invPlaceOrderService;
@Resource
private InvPlaceOrderDao invPlaceOrderDao;
@Resource
private InvPlaceOrderDetailDao invPlaceOrderDetailDao;
@Resource
private UdiRelevanceService udiRelevanceService;
@Override
public List<InvPlaceDetailResponse> getPlaceDetailList(FilterInvPlaceRequest filterInvPlaceRequest) {
@ -75,67 +85,160 @@ public class InvPlaceServiceImpl implements InvPlaceService {
List<InvProductDetailEntity> list = new ArrayList<>();
if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) {
List<InvPreInProductDetailEntity> invPreInProductDetailEntities = invPreInProductDetailDao.selectList(new QueryWrapper<InvPreInProductDetailEntity>()
.select("id", "code", "relId", "batchNo")
.eq("deptCode", deptCode)
.eq("invCode", bindInvSpaceRequest.getInvCode())
.in("code", bindInvSpaceRequest.getCodeArray())
);
for (InvPreInProductDetailEntity invPreInProductDetailEntity : invPreInProductDetailEntities) {
InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity();
BeanCopyUtils.copy(invPreInProductDetailEntity, invProductDetailEntity);
list.add(invProductDetailEntity);
List<InvPlaceOrderDetailEntity> invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper<InvPlaceOrderDetailEntity>().eq("recordId",bindInvSpaceRequest.getOrderId()));
for (InvPlaceOrderDetailEntity invPlaceOrderDetailEntity : invPlaceOrderDetailEntityList) {
for (Integer i = 0; i < invPlaceOrderDetailEntity.getCount(); i++) {
//拆解库存表
QueryWrapper<InvPreInProductDetailEntity> ew=new QueryWrapper<>();
ew.eq("code",invPlaceOrderDetailEntity.getCode());
ew.and(o-> o.isNull("invSpaceCode").or().eq("invSpaceCode",""));
ew.gt("inCount",0);
ew.last("limit 1");
InvPreInProductDetailEntity invPreInProductDetailEntity=invPreInProductDetailDao.selectOne(ew);
if(invPreInProductDetailEntity.getInCount()>0){
invPreInProductDetailEntity.setInCount(invPreInProductDetailEntity.getInCount()-1);
invPreInProductDetailEntity.setCount(invPreInProductDetailEntity.getCount()-1);
// invPreInProductDetailEntity.setReCount(invPreInProductDetailEntity.getReCount()-getActCount(invPlaceOrderDetailEntity.get));
invPreInProductDetailDao.updateById(invPreInProductDetailEntity);
ew.clear();
ew.eq("code",invPlaceOrderDetailEntity.getCode());
ew.eq("invSpaceCode",invPlaceOrderDetailEntity.getInvSpaceCode());
InvPreInProductDetailEntity invPreInProductDetailEntity1=invPreInProductDetailDao.selectOne(ew);
if(invPreInProductDetailEntity1!=null){
invPreInProductDetailEntity1.setCount(invPreInProductDetailEntity1.getCount()+1);
invPreInProductDetailEntity1.setInCount(invPreInProductDetailEntity1.getInCount()+1);
invPreInProductDetailDao.updateById(invPreInProductDetailEntity1);
}else{
invPreInProductDetailEntity.setId(null);
invPreInProductDetailEntity.setInCount(1);
invPreInProductDetailEntity.setCount(1);
invPreInProductDetailEntity.setOutCount(0);
invPreInProductDetailEntity.setInvSpaceCode(invPlaceOrderDetailEntity.getInvSpaceCode());
invPreInProductDetailDao.insert(invPreInProductDetailEntity);
}
}
}
}
} else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
List<InvPreProductDetailEntity> invPreProductDetailEntities = invPreProductDetailDao.selectList(new QueryWrapper<InvPreProductDetailEntity>()
.select("id", "code", "relId", "batchNo")
.eq("deptCode", deptCode)
.eq("invCode", bindInvSpaceRequest.getInvCode())
.in("code", bindInvSpaceRequest.getCodeArray())
);
for (InvPreProductDetailEntity invPreInProductDetailEntity : invPreProductDetailEntities) {
InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity();
BeanCopyUtils.copy(invPreInProductDetailEntity, invProductDetailEntity);
list.add(invProductDetailEntity);
List<InvPlaceOrderDetailEntity> invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper<InvPlaceOrderDetailEntity>().eq("recordId",bindInvSpaceRequest.getOrderId()));
for (InvPlaceOrderDetailEntity invPlaceOrderDetailEntity : invPlaceOrderDetailEntityList) {
for (Integer i = 0; i < invPlaceOrderDetailEntity.getCount(); i++) {
//拆解库存表
QueryWrapper<InvPreProductDetailEntity> ew=new QueryWrapper<>();
ew.eq("code",invPlaceOrderDetailEntity.getCode());
ew.and(o-> o.isNull("invSpaceCode").or().eq("invSpaceCode",""));
ew.gt("inCount",0);
ew.last("limit 1");
InvPreProductDetailEntity invPreInProductDetailEntity=invPreProductDetailDao.selectOne(ew);
if(invPreInProductDetailEntity.getInCount()>0){
invPreInProductDetailEntity.setInCount(invPreInProductDetailEntity.getInCount()-1);
invPreInProductDetailEntity.setCount(invPreInProductDetailEntity.getCount()-1);
// invPreInProductDetailEntity.setReCount(invPreInProductDetailEntity.getReCount()-getActCount(invPlaceOrderDetailEntity.get));
invPreProductDetailDao.updateById(invPreInProductDetailEntity);
ew.clear();
ew.eq("code",invPlaceOrderDetailEntity.getCode());
ew.eq("invSpaceCode",invPlaceOrderDetailEntity.getInvSpaceCode());
InvPreProductDetailEntity invPreInProductDetailEntity1=invPreProductDetailDao.selectOne(ew);
if(invPreInProductDetailEntity1!=null){
invPreInProductDetailEntity1.setCount(invPreInProductDetailEntity1.getCount()+1);
invPreInProductDetailEntity1.setInCount(invPreInProductDetailEntity1.getInCount()+1);
invPreProductDetailDao.updateById(invPreInProductDetailEntity1);
}else{
invPreInProductDetailEntity.setId(null);
invPreInProductDetailEntity.setInCount(1);
invPreInProductDetailEntity.setCount(1);
invPreInProductDetailEntity.setOutCount(0);
invPreInProductDetailEntity.setInvSpaceCode(invPlaceOrderDetailEntity.getInvSpaceCode());
invPreProductDetailDao.insert(invPreInProductDetailEntity);
}
}
}
}
} else {
list = invProductDetailDao.selectList(new QueryWrapper<InvProductDetailEntity>()
.select("id", "code", "relId", "batchNo")
.eq("deptCode", deptCode)
.eq("invCode", bindInvSpaceRequest.getInvCode())
.in("code", bindInvSpaceRequest.getCodeArray())
);
}
if (CollUtil.isNotEmpty(list)) {
List<Integer> ids = list.stream().map(InvProductDetailEntity::getId).collect(Collectors.toList());
log.info("本次绑定货位的库存详情数量为:{} 条", ids.size());
if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) {
invPreInProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode());
} else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
invPreProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode());
} else {
invProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode());
List<InvPlaceOrderDetailEntity> invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper<InvPlaceOrderDetailEntity>().eq("recordId",bindInvSpaceRequest.getOrderId()));
for (InvPlaceOrderDetailEntity invPlaceOrderDetailEntity : invPlaceOrderDetailEntityList) {
for (Integer i = 0; i < invPlaceOrderDetailEntity.getCount(); i++) {
//拆解库存表
QueryWrapper<InvProductDetailEntity> ew=new QueryWrapper<>();
ew.eq("code",invPlaceOrderDetailEntity.getCode());
ew.and(o-> o.isNull("invSpaceCode").or().eq("invSpaceCode",""));
ew.gt("inCount",0);
ew.last("limit 1");
InvProductDetailEntity invPreInProductDetailEntity=invProductDetailDao.selectOne(ew);
if(invPreInProductDetailEntity.getInCount()>0){
invPreInProductDetailEntity.setInCount(invPreInProductDetailEntity.getInCount()-1);
invPreInProductDetailEntity.setCount(invPreInProductDetailEntity.getCount()-1);
// invPreInProductDetailEntity.setReCount(invPreInProductDetailEntity.getReCount()-getActCount(invPlaceOrderDetailEntity.get));
invProductDetailDao.updateById(invPreInProductDetailEntity);
ew.clear();
ew.eq("code",invPlaceOrderDetailEntity.getCode());
ew.eq("invSpaceCode",invPlaceOrderDetailEntity.getInvSpaceCode());
InvProductDetailEntity invPreInProductDetailEntity1=invProductDetailDao.selectOne(ew);
if(invPreInProductDetailEntity1!=null){
invPreInProductDetailEntity1.setCount(invPreInProductDetailEntity1.getCount()+1);
invPreInProductDetailEntity1.setInCount(invPreInProductDetailEntity1.getInCount()+1);
invProductDetailDao.updateById(invPreInProductDetailEntity1);
}else{
invPreInProductDetailEntity.setId(null);
invPreInProductDetailEntity.setInCount(1);
invPreInProductDetailEntity.setCount(1);
invPreInProductDetailEntity.setOutCount(0);
invPreInProductDetailEntity.setInvSpaceCode(invPlaceOrderDetailEntity.getInvSpaceCode());
invProductDetailDao.insert(invPreInProductDetailEntity);
}
}
}
}
//添加物资上架记录
AddInvPlaceOrderRequest addInvPlaceOrderRequest = new AddInvPlaceOrderRequest();
addInvPlaceOrderRequest.setType(bindInvSpaceRequest.getType());
addInvPlaceOrderRequest.setOrderId(bindInvSpaceRequest.getOrderId());
addInvPlaceOrderRequest.setCodeList(list);
addInvPlaceOrderRequest.setInvCode(bindInvSpaceRequest.getInvCode());
addInvPlaceOrderRequest.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode());
invPlaceOrderService.addInvPlaceOrder(addInvPlaceOrderRequest);
return ResultVOUtils.success("绑定成功!本次绑定货位的库存详情数量为:" + ids.size() + "条");
} else {
log.info("绑定货位列表查询无数据");
return ResultVOUtils.error(500, "绑定货位列表查询无数据");
}
// if (CollUtil.isNotEmpty(list)) {
// List<Integer> ids = list.stream().map(InvProductDetailEntity::getId).collect(Collectors.toList());
// log.info("本次绑定货位的库存详情数量为:{} 条", ids.size());
//
//
// if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) {
// invPreInProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode());
// } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
// invPreProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode());
// } else {
// invProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode());
// }
//
//
// //添加物资上架记录
// AddInvPlaceOrderRequest addInvPlaceOrderRequest = new AddInvPlaceOrderRequest();
// addInvPlaceOrderRequest.setType(bindInvSpaceRequest.getType());
// addInvPlaceOrderRequest.setOrderId(bindInvSpaceRequest.getOrderId());
// addInvPlaceOrderRequest.setCodeList(list);
// addInvPlaceOrderRequest.setInvCode(bindInvSpaceRequest.getInvCode());
// addInvPlaceOrderRequest.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode());
// invPlaceOrderService.addInvPlaceOrder(addInvPlaceOrderRequest);
// return ResultVOUtils.success("绑定成功!本次绑定货位的库存详情数量为:" + ids.size() + "条");
// } else {
// log.info("绑定货位列表查询无数据");
// return ResultVOUtils.error(500, "绑定货位列表查询无数据");
// }
return ResultVOUtils.success();
}
@Override
@ -229,16 +332,16 @@ public class InvPlaceServiceImpl implements InvPlaceService {
}
@Override
public List<InvPlaceDetailResponse> getInvProductInfo(FilterInvPlaceRequest filterInvPlaceRequest) {
InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper<InvWarehouseEntity>().eq("code", filterInvPlaceRequest.getInvCode()));
if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) {
return invPreInProductDetailDao.getInvProductInfo(filterInvPlaceRequest);
} else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
return invPreProductDetailDao.getInvProductInfo(filterInvPlaceRequest);
} else
return invProductDetailDao.getInvProductInfo(filterInvPlaceRequest);
public List<InvPlaceDetailResponse> getInvProductInfo(BindInvSpaceRequest bindInvSpaceRequest) {
return null;
//
// InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper<InvWarehouseEntity>().eq("code", filterInvPlaceRequest.getInvCode()));
// if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) {
// return invPreInProductDetailDao.getInvProductInfo(filterInvPlaceRequest);
// } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
// return invPreProductDetailDao.getInvProductInfo(filterInvPlaceRequest);
// } else
// return invProductDetailDao.getInvProductInfo(filterInvPlaceRequest);
}
@Override
@ -261,4 +364,79 @@ public class InvPlaceServiceImpl implements InvPlaceService {
}
@Override
public String checkCount(BindInvSpaceRequest bindInvSpaceRequest) {
InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper<InvWarehouseEntity>().eq("code", bindInvSpaceRequest.getInvCode()));
if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) {
Integer count = invPreInProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode());
if(count==null || count<=0){
return "该产品库存不足!";
}
if(StrUtil.isNotBlank(bindInvSpaceRequest.getOrderId())){
QueryWrapper ew=new QueryWrapper();
ew.eq("recordId",bindInvSpaceRequest.getOrderId());
ew.eq("code",bindInvSpaceRequest.getCode());
InvPlaceOrderDetailEntity invPlaceOrderDetailEntity =invPlaceOrderDetailDao.selectOne(ew);
if(invPlaceOrderDetailEntity.getCount()>=count){
return "该产品库存不足!";
}
}
} else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
Integer count = invPreProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode());
if(count==null || count<=0){
return "该产品库存不足!";
}
if(StrUtil.isNotBlank(bindInvSpaceRequest.getOrderId())){
QueryWrapper ew=new QueryWrapper();
ew.eq("recordId",bindInvSpaceRequest.getOrderId());
ew.eq("code",bindInvSpaceRequest.getCode());
InvPlaceOrderDetailEntity invPlaceOrderDetailEntity =invPlaceOrderDetailDao.selectOne(ew);
if(invPlaceOrderDetailEntity.getCount()>=count){
return "该产品库存不足!";
}
}
} else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_NORMAL){
Integer count = invProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode());
if(count==null || count<=0){
return "该产品库存不足!";
}
if(StrUtil.isNotBlank(bindInvSpaceRequest.getOrderId())){
QueryWrapper ew=new QueryWrapper();
ew.eq("recordId",bindInvSpaceRequest.getOrderId());
ew.eq("code",bindInvSpaceRequest.getCode());
InvPlaceOrderDetailEntity invPlaceOrderDetailEntity =invPlaceOrderDetailDao.selectOne(ew);
if(invPlaceOrderDetailEntity.getCount()>=count){
return "该产品库存不足!";
}
}
}
return "";
}
public int getActCount(String nameCode) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(nameCode);
int count = getActCount(udiRelevanceResponse);
return count;
}
public int getActCount(UdiRelevanceResponse udiRelevanceResponse) {
int actCount;
if (!udiRelevanceResponse.getUseDy() && (udiRelevanceResponse.getDiType() == null || udiRelevanceResponse.getDiType() != 2)) {
if (udiRelevanceResponse.getBhzxxsbzsl() == 0) {
actCount = udiRelevanceResponse.getZxxsbzbhsydysl();
} else {
if (udiRelevanceResponse.getBhzxxsbzsl() == 0) {
udiRelevanceResponse.setBhzxxsbzsl(1);
}
if (udiRelevanceResponse.getZxxsbzbhsydysl() == null || udiRelevanceResponse.getZxxsbzbhsydysl() == 0) {
udiRelevanceResponse.setZxxsbzbhsydysl(1);
}
actCount = udiRelevanceResponse.getBhzxxsbzsl() * udiRelevanceResponse.getZxxsbzbhsydysl();
}
} else {
actCount = udiRelevanceResponse.getBhzxxsbzsl();
}
return actCount;
}
}

@ -14,4 +14,6 @@ public interface SyncDataBustypeService extends IService<SyncDataBustypeEntity>
void inserts(List<SyncDataBustypeEntity> syncDataBustypeEntities);
boolean isExits(List<SyncDataBustypeEntity> syncDataBustypeEntities, Integer direct);
}

@ -13,7 +13,7 @@ import java.util.List;
@Service
@Transactional(rollbackFor = Exception.class)
public class SyncDataBustypeServiceImpl extends ServiceImpl<SyncDataBustypeDao,SyncDataBustypeEntity> implements SyncDataBustypeService {
public class SyncDataBustypeServiceImpl extends ServiceImpl<SyncDataBustypeDao, SyncDataBustypeEntity> implements SyncDataBustypeService {
@Resource
SyncDataBustypeDao syncDataBustypeDao;
@ -32,4 +32,10 @@ public class SyncDataBustypeServiceImpl extends ServiceImpl<SyncDataBustypeDao,S
public void inserts(List<SyncDataBustypeEntity> syncDataBustypeEntities) {
syncDataBustypeDao.inserts(syncDataBustypeEntities);
}
@Override
public boolean isExits(List<SyncDataBustypeEntity> syncDataBustypeEntities, Integer direct) {
//
return false;
}
}

@ -61,7 +61,7 @@ public class DateUtil extends DateUtils {
* yyyy-MM-dd HH:mm:ss
*/
public static String formatDateTime(Date date) {
Date currentTime = new Date();
Date currentTime = date;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(currentTime);
return dateString;

@ -1,6 +1,7 @@
package com.glxp.api.util.udi;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.entity.basic.UdiProductEntity;
@ -26,6 +27,9 @@ public class UdiInfoUtil {
public static List<UdiProductEntity> initUdiInfoEntitys(List<UdiProductEntity> udiProductEntities) {
if (CollUtil.isNotEmpty(udiProductEntities)) {
for (UdiProductEntity udiProductEntity : udiProductEntities) {
if (udiProductEntity.getId() == null) {
udiProductEntity.setId(IdUtil.getSnowflakeNextId());
}
udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_UDI);
if (StrUtil.isNotEmpty(udiProductEntity.getScbssfbhph()) && "否".equals(udiProductEntity.getScbssfbhph())) {
udiProductEntity.setAllowNoBatch(true);

@ -5,10 +5,10 @@
<insert id="insertCompanyProductRelevance"
parameterType="com.glxp.api.entity.basic.CompanyProductRelevanceEntity">
replace
INTO company_product_relevance(customerId, productId, enterpriseId, registrationId,
INTO company_product_relevance(id, customerId, productId, enterpriseId, registrationId,
createTime, updateTime, auditStatus, productUuid, udiRlIdFk, unitFk,
price)
values (#{customerId},
values (#{id}, #{customerId},
#{productId},
#{enterpriseId},
#{registrationId},

@ -31,66 +31,66 @@
<select id="filterUdiInfo2" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
SELECT basic_products.id,
basic_udirel.thirdId,
basic_udirel.thirdName,
basic_udirel.isUseDy,
basic_udirel.thirdId1,
basic_udirel.thirdId2,
basic_udirel.thirdId3,
basic_udirel.thirdId4,
basic_udirel.ybbm,
basic_udirel.sptm,
basic_udirel.isDisable,
basic_udirel.thirdName1,
basic_udirel.thirdName2,
basic_udirel.thirdName3,
basic_udirel.thirdName4,
basic_udirel.manufactory,
basic_udirel.measname,
basic_udirel.udplatCode,
basic_products.nameCode,
basic_products.packRatio,
basic_products.packLevel,
basic_products.packUnit,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
basic_products.addType,
basic_products.deviceRecordKey,
basic_products.cpmctymc,
basic_products.cplb,
basic_products.flbm,
basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.uuid,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,
basic_products.cpms,
basic_products.originUuid,
basic_products.allowNoBatch,
basic_products.allowNoExpire,
basic_products.allowNoProduct,
basic_products.allowNoSerial,
basic_products.spmc,
basic_products.cplx,
basic_products.hchzsb
basic_udirel.thirdId,
basic_udirel.thirdName,
basic_udirel.isUseDy,
basic_udirel.thirdId1,
basic_udirel.thirdId2,
basic_udirel.thirdId3,
basic_udirel.thirdId4,
basic_udirel.ybbm,
basic_udirel.sptm,
basic_udirel.isDisable,
basic_udirel.thirdName1,
basic_udirel.thirdName2,
basic_udirel.thirdName3,
basic_udirel.thirdName4,
basic_udirel.manufactory,
basic_udirel.measname,
basic_udirel.udplatCode,
basic_products.nameCode,
basic_products.packRatio,
basic_products.packLevel,
basic_products.packUnit,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
basic_products.addType,
basic_products.deviceRecordKey,
basic_products.cpmctymc,
basic_products.cplb,
basic_products.flbm,
basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.uuid,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,
basic_products.cpms,
basic_products.originUuid,
basic_products.allowNoBatch,
basic_products.allowNoExpire,
basic_products.allowNoProduct,
basic_products.allowNoSerial,
basic_products.spmc,
basic_products.cplx,
basic_products.hchzsb
FROM (company_product_relevance
inner JOIN basic_udirel
ON company_product_relevance.udiRlIdFk = basic_udirel.id)
inner JOIN basic_products
ON basic_udirel.uuid = basic_products.uuid
inner JOIN basic_udirel
ON company_product_relevance.udiRlIdFk = basic_udirel.id)
inner JOIN basic_products
ON basic_udirel.uuid = basic_products.uuid
<where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc LIKE concat(#{ylqxzcrbarmc}, '%')
@ -128,7 +128,6 @@
<if test="originUuid != '' and originUuid != null">
AND originUuid = #{originUuid}
</if>
</where>
ORDER BY updateTime DESC
</select>
@ -165,134 +164,134 @@
</select>
<insert id="insertUdiInfo" keyProperty="id" parameterType="com.glxp.api.entity.basic.UdiProductEntity">
replace
INTO basic_products
(uuid, originUuid, nameCode, deviceRecordKey, packRatio, packLevel, packUnit, bhxjsl, bhzxxsbzsl,
zxxsbzbhsydysl, bhxjcpbm, bzcj, cpmctymc, cplb, flbm, ggxh, qxlb, tyshxydm,
ylqxzcrbarmc, zczbhhzbapzbh, ylqxzcrbarywmc, sydycpbs, sjcpbm, versionNumber, diType, ybbm, sptm,
manufactory, measname, productType, scbssfbhph, scbssfbhxlh, scbssfbhscrq, scbssfbhsxrq, cpms,
allowNoBatch, allowNoExpire,
allowNoProduct, allowNoSerial, spmc, cplx, hchzsb, cpdls, price, basicPrductRemak1, basicPrductRemak2,
basicPrductRemak3, basicPrductRemak4, basicPrductRemak5, basicPrductRemak6, basicPrductRemak7,
basicPrductRemak8)
values (#{uuid},
#{originUuid},
#{nameCode},
#{deviceRecordKey},
#{packRatio},
#{packLevel},
#{packUnit},
#{bhxjsl},
#{bhzxxsbzsl },
#{zxxsbzbhsydysl},
#{bhxjcpbm},
#{bzcj},
#{cpmctymc},
#{cplb},
#{flbm},
#{ggxh},
#{qxlb},
#{tyshxydm},
#{ylqxzcrbarmc},
#{zczbhhzbapzbh},
#{ylqxzcrbarywmc},
#{sydycpbs},
#{sjcpbm},
#{versionNumber},
#{diType},
#{ybbm},
#{sptm},
#{manufactory},
#{measname},
#{productType},
#{scbssfbhph},
#{scbssfbhxlh},
#{scbssfbhscrq},
#{scbssfbhsxrq},
#{cpms},
#{allowNoBatch},
#{allowNoExpire},
#{allowNoProduct}, #{allowNoSerial},
#{spmc},
#{cplx},
#{hchzsb},
#{cpdls},
#{price},
#{basicPrductRemak1},
#{basicPrductRemak2},
#{basicPrductRemak3},
#{basicPrductRemak4},
#{basicPrductRemak5},
#{basicPrductRemak6},
#{basicPrductRemak7},
#{basicPrductRemak8})
INTO basic_products
(id, uuid, originUuid, nameCode, deviceRecordKey, packRatio, packLevel, packUnit, bhxjsl, bhzxxsbzsl,
zxxsbzbhsydysl, bhxjcpbm, bzcj, cpmctymc, cplb, flbm, ggxh, qxlb, tyshxydm,
ylqxzcrbarmc, zczbhhzbapzbh, ylqxzcrbarywmc, sydycpbs, sjcpbm, versionNumber, diType, ybbm, sptm,
manufactory, measname, productType, scbssfbhph, scbssfbhxlh, scbssfbhscrq, scbssfbhsxrq, cpms,
allowNoBatch, allowNoExpire,
allowNoProduct, allowNoSerial, spmc, cplx, hchzsb, cpdls, price, basicPrductRemak1, basicPrductRemak2,
basicPrductRemak3, basicPrductRemak4, basicPrductRemak5, basicPrductRemak6, basicPrductRemak7,
basicPrductRemak8)
values (#{id}, #{uuid},
#{originUuid},
#{nameCode},
#{deviceRecordKey},
#{packRatio},
#{packLevel},
#{packUnit},
#{bhxjsl},
#{bhzxxsbzsl },
#{zxxsbzbhsydysl},
#{bhxjcpbm},
#{bzcj},
#{cpmctymc},
#{cplb},
#{flbm},
#{ggxh},
#{qxlb},
#{tyshxydm},
#{ylqxzcrbarmc},
#{zczbhhzbapzbh},
#{ylqxzcrbarywmc},
#{sydycpbs},
#{sjcpbm},
#{versionNumber},
#{diType},
#{ybbm},
#{sptm},
#{manufactory},
#{measname},
#{productType},
#{scbssfbhph},
#{scbssfbhxlh},
#{scbssfbhscrq},
#{scbssfbhsxrq},
#{cpms},
#{allowNoBatch},
#{allowNoExpire},
#{allowNoProduct}, #{allowNoSerial},
#{spmc},
#{cplx},
#{hchzsb},
#{cpdls},
#{price},
#{basicPrductRemak1},
#{basicPrductRemak2},
#{basicPrductRemak3},
#{basicPrductRemak4},
#{basicPrductRemak5},
#{basicPrductRemak6},
#{basicPrductRemak7},
#{basicPrductRemak8})
</insert>
<insert id="insertUdiInfos" keyProperty="id" parameterType="java.util.List">
replace INTO basic_products
(id,uuid, originUuid, nameCode, deviceRecordKey, packRatio, packLevel, packUnit, bhxjsl, bhzxxsbzsl,
zxxsbzbhsydysl, bhxjcpbm, bzcj, cpmctymc, cplb, flbm, ggxh, qxlb, tyshxydm,
ylqxzcrbarmc, zczbhhzbapzbh, ylqxzcrbarywmc, sydycpbs, sjcpbm, versionNumber, diType, ybbm, sptm,
manufactory, measname, productType, scbssfbhph, scbssfbhxlh, scbssfbhscrq, scbssfbhsxrq, cpms,
allowNoBatch, allowNoExpire,
allowNoProduct, allowNoSerial, spmc, cplx, hchzsb, cpdls, price, basicPrductRemak1, basicPrductRemak2,
basicPrductRemak3, basicPrductRemak4, basicPrductRemak5, basicPrductRemak6, basicPrductRemak7,
basicPrductRemak8)
values
(id, uuid, originUuid, nameCode, deviceRecordKey, packRatio, packLevel, packUnit, bhxjsl, bhzxxsbzsl,
zxxsbzbhsydysl, bhxjcpbm, bzcj, cpmctymc, cplb, flbm, ggxh, qxlb, tyshxydm,
ylqxzcrbarmc, zczbhhzbapzbh, ylqxzcrbarywmc, sydycpbs, sjcpbm, versionNumber, diType, ybbm, sptm,
manufactory, measname, productType, scbssfbhph, scbssfbhxlh, scbssfbhscrq, scbssfbhsxrq, cpms,
allowNoBatch, allowNoExpire,
allowNoProduct, allowNoSerial, spmc, cplx, hchzsb, cpdls, price, basicPrductRemak1, basicPrductRemak2,
basicPrductRemak3, basicPrductRemak4, basicPrductRemak5, basicPrductRemak6, basicPrductRemak7,
basicPrductRemak8)
values
<foreach collection="udiInfoEntities" item="item" index="index"
separator=",">
(#{item.id},
#{item.uuid},
#{item.originUuid},
#{item.nameCode},
#{item.deviceRecordKey},
#{item.packRatio},
#{item.packLevel},
#{item.packUnit},
#{item.bhxjsl},
#{item.bhzxxsbzsl},
#{item.zxxsbzbhsydysl},
#{item.bhxjcpbm},
#{item.bzcj},
#{item.cpmctymc},
#{item.cplb},
#{item.flbm},
#{item.ggxh},
#{item.qxlb},
#{item.tyshxydm},
#{item.ylqxzcrbarmc},
#{item.zczbhhzbapzbh},
#{item.ylqxzcrbarywmc},
#{item.sydycpbs},
#{item.sjcpbm},
#{item.versionNumber},
#{item.diType},
#{item.ybbm},
#{item.sptm},
#{item.manufactory},
#{item.measname},
#{item.productType},
#{item.scbssfbhph},
#{item.scbssfbhxlh},
#{item.scbssfbhscrq},
#{item.scbssfbhsxrq},
#{item.cpms},
#{item.allowNoBatch},
#{item.allowNoExpire},
#{item.allowNoProduct}, #{item.allowNoSerial},
#{item.spmc},
#{item.cplx},
#{item.hchzsb},
#{item.cpdls},
#{item.price},
#{item.basicPrductRemak1},
#{item.basicPrductRemak2},
#{item.basicPrductRemak3},
#{item.basicPrductRemak4},
#{item.basicPrductRemak5},
#{item.basicPrductRemak6},
#{item.basicPrductRemak7},
#{item.basicPrductRemak8})
#{item.originUuid},
#{item.nameCode},
#{item.deviceRecordKey},
#{item.packRatio},
#{item.packLevel},
#{item.packUnit},
#{item.bhxjsl},
#{item.bhzxxsbzsl},
#{item.zxxsbzbhsydysl},
#{item.bhxjcpbm},
#{item.bzcj},
#{item.cpmctymc},
#{item.cplb},
#{item.flbm},
#{item.ggxh},
#{item.qxlb},
#{item.tyshxydm},
#{item.ylqxzcrbarmc},
#{item.zczbhhzbapzbh},
#{item.ylqxzcrbarywmc},
#{item.sydycpbs},
#{item.sjcpbm},
#{item.versionNumber},
#{item.diType},
#{item.ybbm},
#{item.sptm},
#{item.manufactory},
#{item.measname},
#{item.productType},
#{item.scbssfbhph},
#{item.scbssfbhxlh},
#{item.scbssfbhscrq},
#{item.scbssfbhsxrq},
#{item.cpms},
#{item.allowNoBatch},
#{item.allowNoExpire},
#{item.allowNoProduct}, #{item.allowNoSerial},
#{item.spmc},
#{item.cplx},
#{item.hchzsb},
#{item.cpdls},
#{item.price},
#{item.basicPrductRemak1},
#{item.basicPrductRemak2},
#{item.basicPrductRemak3},
#{item.basicPrductRemak4},
#{item.basicPrductRemak5},
#{item.basicPrductRemak6},
#{item.basicPrductRemak7},
#{item.basicPrductRemak8})
</foreach>
</insert>
@ -468,7 +467,7 @@
</if>
</trim>
WHERE nameCode = #{nameCode}
and uuid = #{uuid}
and uuid = #{uuid}
</update>
<update id="updateUdiInfoByUuid" parameterType="com.glxp.api.entity.basic.UdiProductEntity">
@ -818,7 +817,7 @@
<select id="selectGgxhList" resultType="java.lang.String">
select distinct ggxh
from basic_products
left join basic_udirel on basic_products.uuid = basic_udirel.uuid
left join basic_udirel on basic_products.uuid = basic_udirel.uuid
where basic_udirel.id = #{relId}
</select>
@ -957,6 +956,9 @@
</update>
<select id="selectAllowNoBatch" resultType="com.glxp.api.entity.basic.UdiProductEntity">
select id, allowNoBatch from basic_products where nameCode = #{nameCode} limit 1
select id, allowNoBatch
from basic_products
where nameCode = #{nameCode}
limit 1
</select>
</mapper>

@ -1,4 +1,33 @@
<?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.api.dao.inv.InvPlaceOrderDetailDao">
<select id="selectDetailList" resultType="com.glxp.api.res.inv.InvPlaceOrderDetailResponse">
SELECT
a1.count,
a2.relId,
bp.cpmctymc as productName,
bp.ggxh,
a2.batchNo,
a2.serialNo,
bp.measname,
bp.zczbhhzbapzbh,
bp.manufactory,
asp.name as invSpaceName
FROM
inv_place_order_detail a1
LEFT JOIN inv_prein_product_detail a2 ON a1.CODE = a2.CODE
LEFT JOIN basic_udirel bu ON bu.id = a2.relId
LEFT JOIN basic_products bp ON bp.uuid = bu.uuid
LEFT JOIN auth_space asp on a1.invSpaceCode=asp.`code`
<where>
<if test="recordId != null and recordId != ''">
AND a1.recordId = #{recordId}
</if>
</where>
GROUP BY a1.code
</select>
</mapper>

@ -221,4 +221,16 @@
</where>
group by ipd.orderId
</select>
<select id="getInventoryQuantity" resultType="Integer">
SELECT
SUM( inCount )- SUM( outCount )
FROM
inv_prein_product_detail ipd
WHERE
CODE = #{code}
and (invSpaceCode is null or invSpaceCode = '' )
</select>
</mapper>

@ -221,4 +221,15 @@
</where>
group by ipd.orderId
</select>
<select id="getInventoryQuantity" resultType="Integer">
SELECT
SUM( inCount )- SUM( outCount )
FROM
inv_pre_product_detail ipd
WHERE
CODE = #{code}
and (invSpaceCode is null or invSpaceCode = '' )
</select>
</mapper>

@ -303,4 +303,15 @@
</where>
group by ipd.orderId
</select>
<select id="getInventoryQuantity" resultType="Integer">
SELECT
SUM( inCount )- SUM( outCount )
FROM
inv_product_detail ipd
WHERE
CODE = #{code}
and (invSpaceCode is null or invSpaceCode = '' )
</select>
</mapper>

@ -10,7 +10,7 @@
<insert id="inserts" parameterType="com.glxp.api.entity.system.SyncDataBustypeEntity" useGeneratedKeys="true">
insert INTO sync_data_bustypes
replace INTO sync_data_bustypes
(id, `action`, `name`, outChange, orderStatus, direct)
values

@ -22,7 +22,7 @@
, unCheckCert, checkedCert, companyCert, manufacturerCert, productCert, basicDept
, systemConfig
, printConfig, scanChangeConfig, supCert, dbDiCompany, busChangeConfig
, udiCodeLost, udiCodeRel, orderInvoice)
, udiCodeLost, udiCodeRel, orderInvoice, orderToInSyncTime, orderSyncDlTime)
values (#{id},
#{typeBus},
#{typeScan},
@ -51,6 +51,6 @@
#{unCheckCert},
#{checkedCert}, #{companyCert}, #{manufacturerCert}, #{productCert}, #{basicDept},
#{systemConfig}, #{printConfig}, #{scanChangeConfig}, #{supCert}, #{dbDiCompany}, #{busChangeConfig},
#{udiCodeLost}, #{udiCodeRel}, #{orderInvoice})
#{udiCodeLost}, #{udiCodeRel}, #{orderInvoice}, #{orderToInSyncTime}, #{orderSyncDlTime})
</insert>
</mapper>

@ -393,3 +393,8 @@ CALL Pro_Temp_ColumnWork('sup_cert', 'filePath', 'text', 2);
CALL Pro_Temp_ColumnWork('sync_data_bustypes', 'id', 'bigint', 2);
CALL Pro_Temp_ColumnWork('io_order_invoice', 'id', 'bigint ', 2);
CALL Pro_Temp_ColumnWork('sync_data_set', 'orderInvoice', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('io_order', 'regStatus', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('io_order', 'reviewSp', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'regStatus', 'tinyint', 1);

Loading…
Cancel
Save