单据号自动生成,bug修复

master
anthonyywj2 3 years ago
parent 0b38bfd616
commit a6990442d8

@ -198,44 +198,4 @@ public class CorpImportLogController {
return ResultVOUtils.success("上传成功"); return ResultVOUtils.success("上传成功");
} }
public boolean filterEmpty(Row row) {
if (row.getCell(0) != null) {
row.getCell(0).setCellType(CellType.STRING);
}
if (row.getCell(1) != null) {
row.getCell(1).setCellType(CellType.STRING);
}
if (row.getCell(2) != null) {
row.getCell(2).setCellType(CellType.STRING);
}
if (row.getCell(3) != null) {
row.getCell(3).setCellType(CellType.STRING);
}
if (row.getCell(4) != null) {
row.getCell(4).setCellType(CellType.STRING);
}
if (row.getCell(5) != null) {
row.getCell(5).setCellType(CellType.STRING);
}
if (row.getCell(6) != null) {
row.getCell(6).setCellType(CellType.STRING);
}
if ((row.getCell(0) == null && row.getCell(1) == null && row.getCell(2) == null
&& row.getCell(3) == null && row.getCell(4) == null && row.getCell(5) == null && row.getCell(6) == null) ||
(
(row.getCell(0) != null && row.getCell(1) != null && row.getCell(2) != null
&& row.getCell(3) != null && row.getCell(4) != null && row.getCell(5) != null && row.getCell(6) != null) &&
("".equals(row.getCell(0).getStringCellValue())
&& "".equals(row.getCell(1).getStringCellValue())
&& "".equals(row.getCell(2).getStringCellValue())
&& "".equals(row.getCell(3).getStringCellValue())
&& "".equals(row.getCell(4).getStringCellValue())
&& "".equals(row.getCell(5).getStringCellValue())
&& "".equals(row.getCell(6).getStringCellValue()))
)) {
return true;
}
return false;
}
} }

@ -92,7 +92,6 @@ public class UdiRelevanceController {
@Resource @Resource
RedisUtil redisUtil; RedisUtil redisUtil;
//客户端器械信息下载
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("/udi/udirel/download") @GetMapping("/udi/udirel/download")
public BaseResponse downloadProducts(FilterUdiInfoRequest filterUdiInfoRequest, public BaseResponse downloadProducts(FilterUdiInfoRequest filterUdiInfoRequest,
@ -112,7 +111,6 @@ public class UdiRelevanceController {
return ResultVOUtils.success(pageSimpleResponse); return ResultVOUtils.success(pageSimpleResponse);
} }
//客户端器械信息下载
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("/udi/udirel/mutil/download") @GetMapping("/udi/udirel/mutil/download")
public BaseResponse downloadMutilProducts(FilterUdiInfoRequest filterUdiInfoRequest, public BaseResponse downloadMutilProducts(FilterUdiInfoRequest filterUdiInfoRequest,

@ -35,10 +35,7 @@ import com.glxp.sale.admin.service.inout.*;
import com.glxp.sale.admin.service.inventory.InvStockPrintService; import com.glxp.sale.admin.service.inventory.InvStockPrintService;
import com.glxp.sale.admin.service.inventory.InvWarehouseService; import com.glxp.sale.admin.service.inventory.InvWarehouseService;
import com.glxp.sale.admin.service.param.SystemParamConfigService; import com.glxp.sale.admin.service.param.SystemParamConfigService;
import com.glxp.sale.admin.util.CustomUtil; import com.glxp.sale.admin.util.*;
import com.glxp.sale.admin.util.DateUtil;
import com.glxp.sale.admin.util.JasperUtils;
import com.glxp.sale.admin.util.StockOrderBillNoUtils;
import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.enums.ResultEnum;
import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.res.BaseResponse;
import com.glxp.sale.common.util.ResultVOUtils; import com.glxp.sale.common.util.ResultVOUtils;
@ -100,6 +97,8 @@ public class StockOrderController {
InvWarehouseService invWarehouseService; InvWarehouseService invWarehouseService;
@Resource @Resource
WarehouseUserService warehouseUserService; WarehouseUserService warehouseUserService;
@Resource
GennerOrderUtils gennerOrderUtils;
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("/udiwms/stock/order/error") @GetMapping("/udiwms/stock/order/error")
@ -149,27 +148,6 @@ public class StockOrderController {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
} }
Integer userId = customerService.getUserId(); Integer userId = customerService.getUserId();
boolean noRepeatBillNo = false;
boolean newBillNo = false;
StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest();
while (!noRepeatBillNo) {
if (newBillNo) {
String billNo = StockOrderBillNoUtils.getBillNo(stockOrderPostRequest.getBillType());
stockOrderPostRequest.setBillNo(billNo);
}
if (StringUtils.isBlank(stockOrderPostRequest.getBillNo())) {
newBillNo = true;
continue;
}
stockOrderFilterRequest.setBillNo(stockOrderPostRequest.getBillNo());
if (stockOrderService.findOne(stockOrderFilterRequest) == null) {
noRepeatBillNo = true;
newBillNo = false;
} else {
newBillNo = true;
}
}
StockOrderEntity stockOrderEntity = new StockOrderEntity(); StockOrderEntity stockOrderEntity = new StockOrderEntity();
BeanUtils.copyProperties(stockOrderPostRequest, stockOrderEntity); BeanUtils.copyProperties(stockOrderPostRequest, stockOrderEntity);
stockOrderEntity.setCreateUser(userId); stockOrderEntity.setCreateUser(userId);
@ -189,6 +167,12 @@ public class StockOrderController {
} }
} }
if (StringUtils.isBlank(stockOrderEntity.getId())) { if (StringUtils.isBlank(stockOrderEntity.getId())) {
BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(stockOrderEntity.getBillType());
if (StrUtil.isEmpty(stockOrderPostRequest.getBillNo())) {
String orderNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean("ZY" + MyStrUtil.trim(bussinessLocalTypeEntity.getLocalPrefix()), "yyyyMMdd"));
stockOrderPostRequest.setBillNo(orderNo);
stockOrderEntity.setBillNo(orderNo);
}
if (!getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) { if (!getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) {
CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(stockOrderPostRequest.getCustomerId())); CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(stockOrderPostRequest.getCustomerId()));
stockOrderEntity.setCorpId(companyEntity.getUnitIdFk()); stockOrderEntity.setCorpId(companyEntity.getUnitIdFk());
@ -197,7 +181,6 @@ public class StockOrderController {
} else { } else {
if (stockOrderPostRequest.getCorpId() == null) { if (stockOrderPostRequest.getCorpId() == null) {
BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByName(stockOrderPostRequest.getCorpName()); BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByName(stockOrderPostRequest.getCorpName());
BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(stockOrderEntity.getBillType());
if (basicUnitMaintainEntity == null && bussinessLocalTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessLocalTypeEntity.isGenUnit()) { if (basicUnitMaintainEntity == null && bussinessLocalTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessLocalTypeEntity.isGenUnit()) {
basicUnitMaintainEntity = new BasicUnitMaintainEntity(); basicUnitMaintainEntity = new BasicUnitMaintainEntity();
basicUnitMaintainEntity.setErpId(CustomUtil.getUnitId()); basicUnitMaintainEntity.setErpId(CustomUtil.getUnitId());

@ -335,7 +335,7 @@ public class StockQRCodeTextController {
@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) throws Exception { @RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) throws Exception {
StockOrderEntity stockOrderEntity = StockOrderEntity stockOrderEntity =
stockOrderService.findById(inspectionPDFTemplateRequest.getOrderId()); stockOrderService.findById(inspectionPDFTemplateRequest.getQueryId());
if (stockOrderEntity == null) { if (stockOrderEntity == null) {
return ResultVOUtils.error(ResultEnum.DATA_NOT, "未找到该订单"); return ResultVOUtils.error(ResultEnum.DATA_NOT, "未找到该订单");
} }

@ -12,10 +12,7 @@ import com.glxp.sale.admin.entity.basic.BasicUnitMaintainEntity;
import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; import com.glxp.sale.admin.entity.basic.BussinessTypeEntity;
import com.glxp.sale.admin.entity.info.CompanyEntity; import com.glxp.sale.admin.entity.info.CompanyEntity;
import com.glxp.sale.admin.entity.info.CompanyProductRelevanceEntity; import com.glxp.sale.admin.entity.info.CompanyProductRelevanceEntity;
import com.glxp.sale.admin.entity.inout.ErpOrderEntity; import com.glxp.sale.admin.entity.inout.*;
import com.glxp.sale.admin.entity.inout.OrderEntity;
import com.glxp.sale.admin.entity.inout.WarehouseEntity;
import com.glxp.sale.admin.entity.inout.WarehouseUserEntity;
import com.glxp.sale.admin.entity.param.SystemParamConfigEntity; import com.glxp.sale.admin.entity.param.SystemParamConfigEntity;
import com.glxp.sale.admin.entity.udid.UdiEntity; import com.glxp.sale.admin.entity.udid.UdiEntity;
import com.glxp.sale.admin.exception.JsonException; import com.glxp.sale.admin.exception.JsonException;
@ -38,9 +35,7 @@ import com.glxp.sale.admin.service.info.CompanyService;
import com.glxp.sale.admin.service.inout.*; import com.glxp.sale.admin.service.inout.*;
import com.glxp.sale.admin.service.param.SystemParamConfigService; import com.glxp.sale.admin.service.param.SystemParamConfigService;
import com.glxp.sale.admin.thread.IoTransInoutService; import com.glxp.sale.admin.thread.IoTransInoutService;
import com.glxp.sale.admin.util.CustomUtil; import com.glxp.sale.admin.util.*;
import com.glxp.sale.admin.util.DateUtil;
import com.glxp.sale.admin.util.FilterUdiUtils;
import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.enums.ResultEnum;
import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.res.BaseResponse;
import com.glxp.sale.common.util.ResultVOUtils; import com.glxp.sale.common.util.ResultVOUtils;
@ -65,8 +60,6 @@ public class WareHouseController {
private CodesService codesService; private CodesService codesService;
@Resource @Resource
private OrderService orderService; private OrderService orderService;
@Resource
private MyErpOrderService myErpOrderService;
@Resource @Resource
private IoTransInoutService ioTransInoutService; private IoTransInoutService ioTransInoutService;
@ -95,7 +88,10 @@ public class WareHouseController {
@Resource @Resource
SystemParamConfigService systemParamConfigService; SystemParamConfigService systemParamConfigService;
Logger logger = LoggerFactory.getLogger(StockOrderController.class); Logger logger = LoggerFactory.getLogger(StockOrderController.class);
@Resource
StockOrderService stockOrderService;
@Resource
GennerOrderUtils gennerOrderUtils;
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("admin/warehouse/inout/list") @GetMapping("admin/warehouse/inout/list")
public BaseResponse list(WarehouseQueryRequest warehouseQueryRequest) { public BaseResponse list(WarehouseQueryRequest warehouseQueryRequest) {
@ -169,6 +165,12 @@ public class WareHouseController {
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("spms/inout/dlcode/findByOrderId") @GetMapping("spms/inout/dlcode/findByOrderId")
public BaseResponse downloadCodesByOrderId(WarehouseQueryRequest warehouseQueryRequest) { public BaseResponse downloadCodesByOrderId(WarehouseQueryRequest warehouseQueryRequest) {
StockOrderEntity stockOrderEntity = stockOrderService.findByBillNo(warehouseQueryRequest.getOrderId());
if (stockOrderEntity != null) {
warehouseQueryRequest.setOrderId(stockOrderEntity.getOrderIdFk());
}
List<WarehouseEntity> warehouseEntityList = codesService.findByOrderId(warehouseQueryRequest); List<WarehouseEntity> warehouseEntityList = codesService.findByOrderId(warehouseQueryRequest);
PageInfo<WarehouseEntity> pageInfo; PageInfo<WarehouseEntity> pageInfo;
pageInfo = new PageInfo<>(warehouseEntityList); pageInfo = new PageInfo<>(warehouseEntityList);
@ -367,8 +369,6 @@ public class WareHouseController {
return ResultVOUtils.error(505, "当前产品临近过期,距过期还剩" + time + "天,是否确定继续添加?"); return ResultVOUtils.error(505, "当前产品临近过期,距过期还剩" + time + "天,是否确定继续添加?");
} }
} }
} }
} }
@ -397,10 +397,10 @@ public class WareHouseController {
//先生成扫码单据 //先生成扫码单据
OrderEntity orderEntity = orderService.findById(orderId); OrderEntity orderEntity = orderService.findById(orderId);
if (StringUtils.isBlank(orderId) || orderEntity == null) { if (StringUtils.isBlank(orderId) || orderEntity == null) {
orderId = "SM" + CustomUtil.getId(); String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("MS" + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
orderId = orderNo;
} }
WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest();
warehouseQueryRequest.setOrderId(orderId); warehouseQueryRequest.setOrderId(orderId);
warehouseQueryRequest.setCode(code); warehouseQueryRequest.setCode(code);
@ -671,19 +671,6 @@ public class WareHouseController {
} }
public void updateErpOrderId(List<ErpOrderEntity> erpOrderEntities, String oldId, String newId) {
if (erpOrderEntities != null) {
List<ErpOrderEntity> inserts = new ArrayList<>();
for (ErpOrderEntity erpOrderEntity : erpOrderEntities) {
if (erpOrderEntity.getOrderIdFk().equals(oldId)) {
erpOrderEntity.setOrderIdFk(newId);
inserts.add(erpOrderEntity);
}
}
myErpOrderService.insertErpOrders(inserts);
}
}
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/admin/warehouse/inout/save") @PostMapping("/admin/warehouse/inout/save")

@ -49,274 +49,12 @@ public class ContrastErpUtil {
UdiDlHttpClient udiDlHttpClient; UdiDlHttpClient udiDlHttpClient;
public ContrastErpUtil() { public ContrastErpUtil() {
} }
public ContrastErpUtil(String udiUrl) { public ContrastErpUtil(String udiUrl) {
this.udiUrl = udiUrl; this.udiUrl = udiUrl;
} }
public void contrastErp(UdiInfoService udiInfoService, UdiRelevanceService udiRelevanceService,
OrderDetailService orderDetailService,
OrderService orderService,
List<WarehouseEntity> warehouseEntityList, SystemParamConfigService setupService, BussinessTypeEntity bussinessTypeEntity) {
//单据详情初始化
String orderIdFk = warehouseEntityList.get(0).getOrderId();
FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest();
filterErpOrderRequest.setOrderId(orderIdFk);
mErpOrderEntities = orderDetailService.filterAllMyErpOrder(filterErpOrderRequest);
if (mErpOrderEntities != null && mErpOrderEntities.size() > 0)
for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) {
erpTotalCount = erpTotalCount + erpOrderEntity.getErpCount();
erpOrderEntity.setCount(0);
}
String errMsg = null;
String resultMsg = null;
//获取当前订单
OrderFilterRequest orderFilterRequest = new OrderFilterRequest();
orderFilterRequest.setId(orderIdFk);
OrderEntity orderEntity = orderService.findOne(orderFilterRequest);
//校验单据详情是否有包含一个di多个绑定
errMsg = vailMutiDi();
if (errMsg != null) {
orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL);
orderEntity.setRemark(errMsg);
orderEntity.setUpdateTime(new Date());
orderService.updateOrder(orderEntity);
return;
}
//校验业务单据是否被其他扫码单校验
ErpOrderEntity vailExitMsg = vailErpExit(orderDetailService, mErpOrderEntities, orderIdFk);
SystemParamConfigRequest systemParamConfigRequest = new SystemParamConfigRequest();
systemParamConfigRequest.setParamKey("erp_forbidSameErp");
SystemParamConfigEntity systemParamConfigEntity = setupService.selectByParamKey(systemParamConfigRequest);
if (vailExitMsg != null && systemParamConfigEntity != null && systemParamConfigEntity.getParamValue().equals("1")) {
errMsg = "所选ERP单" + vailExitMsg.getErpOrderId() + "已被其他出入库单" + vailExitMsg.getOrderIdFk() + "绑定!";
}
//开始校验
List<WarehouseEntity> errorData = new ArrayList<>();
for (WarehouseEntity warehouseEntity : warehouseEntityList) {
// if (warehouseEntity.getCode().substring(0, 1).equals("#")) {
// UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(warehouseEntity.getNameCode());
// if (udiRelevanceResponse != null) {
// //校验单据详情
// errMsg = vaildOrder(warehouseEntityList, warehouseEntity, udiRelevanceResponse);
// if (errMsg != null && (errMsg.equals("产品信息不匹配") || errMsg.equals("非此单产品批次号"))) {
// errorData.add(warehouseEntity);
// }
// } else {
// errMsg = "产品信息未维护";
// errorData.add(warehouseEntity);
// }
//
// } else {
//
// FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
// filterUdiInfoRequest.setNameCode(warehouseEntity.getNameCode());
// List<UdiRelevanceResponse> udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest);
// if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && erpOrderEntity.getBindRlFk() == null) {
// erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI);
// myErpOrderService.updateErpOrder(erpOrderEntity);
// errMsg = "该产品DI绑定多个产品ID请在扫码单据详情绑定对应产品ID";
// }
//
// }
UdiInfoEntity udiInfoEntity = null;
udiInfoEntity = new InoutUtils(udiUrl).getUdiInfoByRlId(udiInfoService, udiRelevanceService, warehouseEntity.getCode(), udiDlHttpClient);
if (warehouseEntity.getCount() > 1) {
udiInfoEntity.setCount(warehouseEntity.getCount());
}
List<UdiRelevanceEntity> udiRelevanceEntities = udiRelevanceService.selectByUuid(udiInfoEntity.getUuid());
if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 0) {
UdiRelevanceEntity udiRelevanceEntity = checkGoodsId(udiRelevanceEntities, bussinessTypeEntity);
if (udiRelevanceEntity != null) {
udiInfoEntity.setThirdId(udiRelevanceEntity.getThirdId());
udiInfoEntity.setThirdName(udiRelevanceEntity.getThirdName());
udiInfoEntity.setWarehouseCode(warehouseEntity.getWarehouseCode());
errMsg = vaildErpOrder(warehouseEntityList, udiInfoEntity);
if (errMsg != null && (errMsg.equals("产品信息不匹配") || errMsg.equals("非此单产品批次号"))) {
errorData.add(warehouseEntity);
}
} else {
errMsg = "产品信息不匹配";
errorData.add(warehouseEntity);
}
} else {
errMsg = "产品信息未维护";
errorData.add(warehouseEntity);
}
if (resultMsg == null && errMsg != null) {
resultMsg = errMsg;
}
}
if (mErpOrderEntities != null && mErpOrderEntities.size() > 0)
for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) {
if (erpOrderEntity.getErpCount() != erpOrderEntity.getCount()) {
errMsg = "所选ERP单" + erpOrderEntity.getErpOrderId() + "下" + erpOrderEntity.getGoodsname() + "数量不匹配";
}
}
if (errMsg != null) {
orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL);
orderEntity.setRemark(errMsg);
orderEntity.setUpdateTime(new Date());
orderService.updateOrder(orderEntity);
} else {
orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_SUCCESS);
orderEntity.setUpdateTime(new Date());
orderService.updateOrder(orderEntity);
ioTransInoutService.printOrder(orderEntity.getId());
if (orderEntity.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) {
InvProductsTrService.genInvProducts(orderEntity.getId());
}
}
if (errorData.size() > 0) {
new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, orderDetailService, errorData, udiDlHttpClient);
}
}
//验证产品ID,批次号,仓位号
public String vaildOrder(List<WarehouseEntity> warehouseEntityList, WarehouseEntity warehouseEntity) {
String errMsg = "产品信息不匹配";
if (mErpOrderEntities.size() > 0) {
for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) {
errMsg = vailCode(erpOrderEntity, warehouseEntity, null);
if (errMsg == null) {
int erpCount = erpOrderEntity.getCount() + warehouseEntity.getCount();
if (erpOrderEntity.getErpCount() != erpCount) {
erpOrderEntity.setCount(erpCount);
if (erpOrderEntity.getErpCount() != erpCount)
return "该" + warehouseEntity.getBatchNo() + "批次号下" + "订单数目不匹配";
}
erpOrderEntity.setCount(erpCount);
return null;
}
}
}
if (errMsg == null && getSelectedCount(warehouseEntityList) + warehouseEntity.getCount() != erpTotalCount) {
return "订单数目匹配失败";
}
return errMsg;
}
public String vailMutiDi() {
String errMsg = null;
for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) {
FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
filterUdiInfoRequest.setNameCode(erpOrderEntity.getNameCode());
List<UdiRelevanceResponse> udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest);
if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && erpOrderEntity.getBindRlFk() == null) {
erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI);
myErpOrderService.updateErpOrder(erpOrderEntity);
errMsg = "该产品维护了多个产品信息请在扫码单据详情绑定对应产品ID";
}
}
return errMsg;
}
public String vailCode(ErpOrderEntity erpOrderEntity, WarehouseEntity warehouseEntity, String udiRl) {
String errMsg = null;
if (erpOrderEntity.getBatchNo().equals(warehouseEntity.getBatchNo())) {
if (erpOrderEntity.getGoodsid().equals(udiRl)) {
if (erpOrderEntity.getWarehouseCode() != null && warehouseEntity.getWarehouseCode() != null) {
if (erpOrderEntity.getWarehouseCode().equals(warehouseEntity.getWarehouseCode())) {
return null;
} else
errMsg = "仓位号不匹配";
} else
return null;
} else
errMsg = "产品信息不匹配";
} else {
errMsg = "非此单产品批次号";
}
return errMsg;
}
public String checkRlId(ErpOrderEntity erpOrderEntity, WarehouseEntity warehouseEntity) {
FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
filterUdiInfoRequest.setNameCode(warehouseEntity.getNameCode());
List<UdiRelevanceResponse> udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest);
if (udiRelevanceEntities.size() > 1) {
for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceEntities) {
}
}
return null;
}
public String checkBatchNo() {
return null;
}
public String checkWarehouse() {
return null;
}
public String checkProduceDate() {
return null;
}
public String checkExpireDate() {
return null;
}
public UdiRelevanceEntity checkGoodsId(List<UdiRelevanceEntity> udiRelevanceEntities, BussinessTypeEntity bussinessTypeEntity) {
if (mErpOrderEntities.size() > 0) {
for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) {
for (UdiRelevanceEntity udiRelevanceEntity : udiRelevanceEntities) {
if (bussinessTypeEntity.getThirdSysFk() == null) {
if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId())) {
return udiRelevanceEntity;
}
} else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId")) {
if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId())) {
return udiRelevanceEntity;
}
} else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId1")) {
if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId1())) {
udiRelevanceEntity.setThirdId(udiRelevanceEntity.getThirdId1());
udiRelevanceEntity.setThirdName(udiRelevanceEntity.getThirdName1());
return udiRelevanceEntity;
}
} else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId2")) {
if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId2())) {
udiRelevanceEntity.setThirdId(udiRelevanceEntity.getThirdId2());
udiRelevanceEntity.setThirdName(udiRelevanceEntity.getThirdName2());
return udiRelevanceEntity;
}
} else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId3")) {
if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId3())) {
udiRelevanceEntity.setThirdId(udiRelevanceEntity.getThirdId3());
udiRelevanceEntity.setThirdName(udiRelevanceEntity.getThirdName3());
return udiRelevanceEntity;
}
} else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId4")) {
if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId4())) {
udiRelevanceEntity.setThirdId(udiRelevanceEntity.getThirdId4());
udiRelevanceEntity.setThirdName(udiRelevanceEntity.getThirdName4());
return udiRelevanceEntity;
}
}
}
}
}
return null;
}
public int getSelectedCount(List<WarehouseEntity> warehouseEntityList) { public int getSelectedCount(List<WarehouseEntity> warehouseEntityList) {
int total = 0; int total = 0;
@ -326,29 +64,6 @@ public class ContrastErpUtil {
return total; return total;
} }
//验证产品ID,批次号,仓位号
public String vaildErpOrder(List<WarehouseEntity> warehouseEntityList, UdiInfoEntity udiInfoEntity) {
String errMsg = "产品信息不匹配";
if (mErpOrderEntities.size() > 0) {
for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) {
errMsg = isPass(erpOrderEntity, udiInfoEntity);
if (errMsg == null) {
int erpCount = erpOrderEntity.getCount() + udiInfoEntity.getCount();
if (erpOrderEntity.getErpCount() != erpCount) {
erpOrderEntity.setCount(erpCount);
if (erpOrderEntity.getErpCount() != erpCount)
return "该" + udiInfoEntity.getBatchNo() + "批次号下" + udiInfoEntity.getCpmctymc() + "订单数目不匹配";
}
erpOrderEntity.setCount(erpCount);
return null;
}
}
}
if (errMsg == null && getSelectedCount(warehouseEntityList) + udiInfoEntity.getCount() != erpTotalCount) {
return "订单数目匹配失败";
}
return errMsg;
}
public String isPass(ErpOrderEntity erpOrderEntity, UdiInfoEntity udiInfoEntity) { public String isPass(ErpOrderEntity erpOrderEntity, UdiInfoEntity udiInfoEntity) {
String errMsg = null; String errMsg = null;
@ -369,48 +84,6 @@ public class ContrastErpUtil {
return errMsg; return errMsg;
} }
// public List<ErpOrderEntity> transErp(List<ErpOrderEntity> erpOrderEntities, UdiRelevanceService udiRelevanceService, String orderFk) {
// List<ErpOrderEntity> returnOrders = new ArrayList<>();
// Map<String, ErpOrderEntity> filterMap = new HashMap<>();
// if (erpOrderEntities != null && erpOrderEntities.size() > 0) {
// for (ErpOrderEntity erpOrderEntity : erpOrderEntities) {
//
// FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
// filterUdiInfoRequest.setThirdId(erpOrderEntity.getGoodsid());
// filterUdiInfoRequest.setPage(1);
// filterUdiInfoRequest.setLimit(100);
// List<UdiRelevanceResponse> udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest);
//
// if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 0) {
// UdiRelevanceResponse temp = udiRelevanceEntities.get(0);
// erpOrderEntity.setCoName(temp.getCpmctymc());
// erpOrderEntity.setAuthCode(temp.getZczbhhzbapzbh());
// erpOrderEntity.setPackSpec(temp.getGgxh());
// erpOrderEntity.setPackRatio(temp.getPackRatio());
// erpOrderEntity.setProductCompany(temp.getYlqxzcrbarmc());
// erpOrderEntity.setOrderIdFk(orderFk);
// }
// erpOrderEntity.setOrderIdFk(orderFk);
// String key = erpOrderEntity.getBatchNo() + erpOrderEntity.getGoodsid() + erpOrderEntity.getWarehouseCode();
// ErpOrderEntity filterTemp = filterMap.get(key);
// if (filterTemp != null) {
// filterTemp.setErpCount(filterTemp.getErpCount() + erpOrderEntity.getErpCount());
// filterTemp.setErpOrderId(filterTemp.getErpOrderId() + "," + erpOrderEntity.getErpOrderId());
// } else {
// filterTemp = erpOrderEntity;
// }
// filterMap.put(key, filterTemp);
// }
// for (Map.Entry<String, ErpOrderEntity> entry : filterMap.entrySet()) {
// returnOrders.add(entry.getValue());
// }
// }
//
//
// return returnOrders;
// }
public List<String> getDocids(List<ErpOrderEntity> erpOrderEntities) { public List<String> getDocids(List<ErpOrderEntity> erpOrderEntities) {
Map<String, String> filter = new HashMap<>(); Map<String, String> filter = new HashMap<>();
List<String> docids = new ArrayList<>(); List<String> docids = new ArrayList<>();

@ -1,8 +1,14 @@
package com.glxp.sale.admin.controller.inout.utils; package com.glxp.sale.admin.controller.inout.utils;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.glxp.sale.admin.constant.ConstantStatus;
import com.glxp.sale.admin.constant.ConstantType; import com.glxp.sale.admin.constant.ConstantType;
import com.glxp.sale.admin.dao.inout.UdimsOrderDetailDao;
import com.glxp.sale.admin.entity.basic.UdiInfoEntity; import com.glxp.sale.admin.entity.basic.UdiInfoEntity;
import com.glxp.sale.admin.entity.basic.UdiRelevanceEntity; import com.glxp.sale.admin.entity.basic.UdiRelevanceEntity;
import com.glxp.sale.admin.entity.inout.OrderEntity;
import com.glxp.sale.admin.entity.inout.UdimsOrderDetailBean;
import com.glxp.sale.admin.entity.param.SystemParamConfigEntity; import com.glxp.sale.admin.entity.param.SystemParamConfigEntity;
import com.glxp.sale.admin.entity.inout.ErpOrderEntity; import com.glxp.sale.admin.entity.inout.ErpOrderEntity;
import com.glxp.sale.admin.entity.inout.WarehouseEntity; import com.glxp.sale.admin.entity.inout.WarehouseEntity;
@ -11,6 +17,7 @@ import com.glxp.sale.admin.req.param.SystemParamConfigRequest;
import com.glxp.sale.admin.res.basic.UdiRelevanceResponse; import com.glxp.sale.admin.res.basic.UdiRelevanceResponse;
import com.glxp.sale.admin.service.basic.UdiInfoService; import com.glxp.sale.admin.service.basic.UdiInfoService;
import com.glxp.sale.admin.service.basic.UdiRelevanceService; import com.glxp.sale.admin.service.basic.UdiRelevanceService;
import com.glxp.sale.admin.service.inout.OrderService;
import com.glxp.sale.admin.service.param.SystemParamConfigService; import com.glxp.sale.admin.service.param.SystemParamConfigService;
import com.glxp.sale.admin.service.inout.CodesService; import com.glxp.sale.admin.service.inout.CodesService;
import com.glxp.sale.admin.service.inout.OrderDetailService; import com.glxp.sale.admin.service.inout.OrderDetailService;
@ -18,13 +25,22 @@ import com.glxp.sale.admin.thread.UdiDlHttpClient;
import com.glxp.sale.admin.util.DateUtil; import com.glxp.sale.admin.util.DateUtil;
import com.glxp.sale.admin.util.FilterUdiUtils; import com.glxp.sale.admin.util.FilterUdiUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@Service
public class InoutUtils { public class InoutUtils {
@Resource
UdimsOrderDetailDao udimsOrderDetailDao;
@Resource
OrderService orderService;
String udiUrl = ""; String udiUrl = "";
public InoutUtils() { public InoutUtils() {
@ -195,7 +211,7 @@ public class InoutUtils {
} }
public UdiInfoEntity getUdiInfoByRlId(UdiInfoService udiInfoService, UdiRelevanceService udiRelevanceService, String code,UdiDlHttpClient udiDlHttpClient) { public UdiInfoEntity getUdiInfoByRlId(UdiInfoService udiInfoService, UdiRelevanceService udiRelevanceService, String code, UdiDlHttpClient udiDlHttpClient) {
String prefix; String prefix;
prefix = FilterUdiUtils.getDiStr(code); prefix = FilterUdiUtils.getDiStr(code);
UdiInfoEntity udiInfoEntity = new UdiInfoEntity(); UdiInfoEntity udiInfoEntity = new UdiInfoEntity();
@ -207,7 +223,7 @@ public class InoutUtils {
udiRelevanceResponse = udiRelevanceResponses.get(0); udiRelevanceResponse = udiRelevanceResponses.get(0);
} }
if (udiRelevanceResponse == null) { if (udiRelevanceResponse == null) {
udiInfoEntity = getUdiInfo(udiInfoService, udiRelevanceService, code,udiDlHttpClient); udiInfoEntity = getUdiInfo(udiInfoService, udiRelevanceService, code, udiDlHttpClient);
} else { } else {
BeanUtils.copyProperties(udiRelevanceResponse, udiInfoEntity); BeanUtils.copyProperties(udiRelevanceResponse, udiInfoEntity);
udiInfoEntity.setRelId(udiRelevanceResponse.getId() + ""); udiInfoEntity.setRelId(udiRelevanceResponse.getId() + "");
@ -224,12 +240,13 @@ public class InoutUtils {
public void generateConstrastDetail(UdiInfoService udiInfoService, UdiRelevanceService udiRelevanceService, public void generateConstrastDetail(UdiInfoService udiInfoService, UdiRelevanceService udiRelevanceService,
OrderDetailService orderDetailService, OrderDetailService orderDetailService,
List<WarehouseEntity> warehouseEntityList,UdiDlHttpClient udiDlHttpClient) { List<WarehouseEntity> warehouseEntityList, UdiDlHttpClient udiDlHttpClient) {
if (warehouseEntityList != null && warehouseEntityList.size() > 0) { if (warehouseEntityList != null && warehouseEntityList.size() > 0) {
List<UdiInfoEntity> udiInfoEntities = new ArrayList<>(); List<UdiInfoEntity> udiInfoEntities = new ArrayList<>();
for (WarehouseEntity warehouseEntity : warehouseEntityList) { for (WarehouseEntity warehouseEntity : warehouseEntityList) {
UdiInfoEntity udiInfoEntity = null; UdiInfoEntity udiInfoEntity = null;
udiInfoEntity = new InoutUtils(udiUrl).getUdiInfoByRlId(udiInfoService, udiRelevanceService, warehouseEntity.getCode(),udiDlHttpClient); udiInfoEntity = new InoutUtils(udiUrl).getUdiInfoByRlId(udiInfoService, udiRelevanceService, warehouseEntity.getCode(), udiDlHttpClient);
if (udiInfoEntity != null) { if (udiInfoEntity != null) {
udiInfoEntity.setCount(getActCount(warehouseEntity, udiRelevanceService) * warehouseEntity.getCount()); udiInfoEntity.setCount(getActCount(warehouseEntity, udiRelevanceService) * warehouseEntity.getCount());
udiInfoEntity.setRelId(warehouseEntity.getRelId()); udiInfoEntity.setRelId(warehouseEntity.getRelId());
@ -238,7 +255,8 @@ public class InoutUtils {
udiInfoEntities.add(udiInfoEntity); udiInfoEntities.add(udiInfoEntity);
} }
} }
String orderId = warehouseEntityList.get(0).getOrderId();
OrderEntity orderEntity = orderService.findById(orderId);
List<UdiInfoEntity> returnOrderDetail = new ArrayList<>(); List<UdiInfoEntity> returnOrderDetail = new ArrayList<>();
Map<String, UdiInfoEntity> sortMaps = new HashMap<>(); Map<String, UdiInfoEntity> sortMaps = new HashMap<>();
for (UdiInfoEntity detailCodeEntity : udiInfoEntities) { for (UdiInfoEntity detailCodeEntity : udiInfoEntities) {
@ -254,6 +272,11 @@ public class InoutUtils {
System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue()); System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
returnOrderDetail.add(entry.getValue()); returnOrderDetail.add(entry.getValue());
} }
List<UdimsOrderDetailBean> udimsOrderDetailBeans = null;
if (orderEntity.getFromType() == ConstantStatus.FROM_UDIMS) {
udimsOrderDetailBeans = udimsOrderDetailDao.filterOrderDetails(orderId);
}
List<ErpOrderEntity> erpOrderEntities = new ArrayList<>(); List<ErpOrderEntity> erpOrderEntities = new ArrayList<>();
for (UdiInfoEntity erpDetailCodeEntity : returnOrderDetail) { for (UdiInfoEntity erpDetailCodeEntity : returnOrderDetail) {
@ -273,14 +296,45 @@ public class InoutUtils {
erpOrderEntity.setPackSpec(erpDetailCodeEntity.getGgxh()); erpOrderEntity.setPackSpec(erpDetailCodeEntity.getGgxh());
erpOrderEntity.setUuidFk(erpDetailCodeEntity.getUuid()); erpOrderEntity.setUuidFk(erpDetailCodeEntity.getUuid());
erpOrderEntity.setSupId(erpDetailCodeEntity.getSupId()); erpOrderEntity.setSupId(erpDetailCodeEntity.getSupId());
UdimsOrderDetailBean udimsOrderDetailBean = vailUdiMs(udimsOrderDetailBeans, udiRelevanceService, erpOrderEntity);
if (udimsOrderDetailBean != null) {
erpOrderEntity.setFirstSalesInvNo(udimsOrderDetailBean.getFirstSalesInvNo());
erpOrderEntity.setInvoiceDate(udimsOrderDetailBean.getInvoiceDate());
erpOrderEntity.setPrice(udimsOrderDetailBean.getPrice());
erpOrderEntity.setSecSalesListNo(udimsOrderDetailBean.getSecSalesListNo());
erpOrderEntity.setSecSalesInvNo(udimsOrderDetailBean.getSecSalesInvNo());
}
erpOrderEntities.add(erpOrderEntity); erpOrderEntities.add(erpOrderEntity);
} }
if (!erpOrderEntities.isEmpty()) if (!erpOrderEntities.isEmpty()) {
orderDetailService.insertErpOrders(erpOrderEntities); orderDetailService.insertErpOrders(erpOrderEntities);
if (orderEntity.getFromType() == ConstantStatus.FROM_UDIMS) {
udimsOrderDetailDao.deleteById(orderId);
}
}
} }
} }
public UdimsOrderDetailBean vailUdiMs(List<UdimsOrderDetailBean> udimsOrderDetailBeans, UdiRelevanceService udiRelevanceService, ErpOrderEntity erpOrderEntity) {
if (CollUtil.isNotEmpty(udimsOrderDetailBeans)) {
for (UdimsOrderDetailBean udimsOrderDetailBean : udimsOrderDetailBeans) {
List<UdiRelevanceEntity> udiRelevanceEntities = udiRelevanceService.selectByUuid(udimsOrderDetailBean.getUuidFk());
if (CollUtil.isNotEmpty(udiRelevanceEntities)) {
for (UdiRelevanceEntity udiRelevanceEntity : udiRelevanceEntities) {
if (udiRelevanceEntity.getId().equals(erpOrderEntity.getBindRlFk()) && StrUtil.isNotEmpty(udimsOrderDetailBean.getBatchNo()) &&
StrUtil.isNotEmpty(erpOrderEntity.getBatchNo())&& udimsOrderDetailBean.getBatchNo().equals(erpOrderEntity.getBatchNo())) {
return udimsOrderDetailBean;
}
}
}
}
}
return null;
}
public int getActCount(WarehouseEntity warehouseEntity, UdiRelevanceService udiRelevanceService) { public int getActCount(WarehouseEntity warehouseEntity, UdiRelevanceService udiRelevanceService) {
UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode());
if (udiInfoBean != null) { if (udiInfoBean != null) {

@ -0,0 +1,19 @@
package com.glxp.sale.admin.dao.inout;
import com.glxp.sale.admin.entity.inout.UdimsOrderDetailBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface UdimsOrderDetailDao {
List<UdimsOrderDetailBean> filterOrderDetails(@Param("orderId") String orderId);
boolean insertOrderDetail(@Param("details") List<UdimsOrderDetailBean> udimsOrderDetailBean);
boolean deleteById(@Param("orderId") String orderId);
}

@ -26,4 +26,6 @@ public class BussinessLocalTypeEntity {
private String thirdAction; private String thirdAction;
private String thirdSys; private String thirdSys;
private Date updateTime; private Date updateTime;
private String prefix;
private String localPrefix;
} }

@ -54,4 +54,7 @@ public class BussinessTypeEntity {
private boolean expireTip; private boolean expireTip;
private Date updateTime; private Date updateTime;
private String prefix;
private String localPrefix;
} }

@ -0,0 +1,18 @@
package com.glxp.sale.admin.entity.inout;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class UdimsOrderDetailBean {
private String uuidFk;
private BigDecimal price;
private String firstSalesInvNo;
private String secSalesInvNo;
private String secSalesListNo;
private String invoiceDate;
private String orderIdFk;
private String batchNo;
}

@ -7,7 +7,7 @@ import java.util.Date;
@Data @Data
public class SystemPDFModuleEntity { public class SystemPDFModuleEntity {
private int id; private Integer id;
private String name; private String name;
private String param; private String param;
private String fieldExplain; private String fieldExplain;

@ -1,6 +1,7 @@
package com.glxp.sale.admin.req.inout; package com.glxp.sale.admin.req.inout;
import com.glxp.sale.admin.entity.inout.OrderEntity; import com.glxp.sale.admin.entity.inout.OrderEntity;
import com.glxp.sale.admin.entity.inout.UdimsOrderDetailBean;
import com.glxp.sale.admin.entity.inout.WarehouseEntity; import com.glxp.sale.admin.entity.inout.WarehouseEntity;
import lombok.Data; import lombok.Data;
@ -25,6 +26,7 @@ public class PostUdimsOrderRequest {
private String fromCorp; private String fromCorp;
private String remark; private String remark;
private List<CodeBean> codes; private List<CodeBean> codes;
private List<UdimsOrderDetailBean> orderDetails;
@Data @Data
public static class CodeBean { public static class CodeBean {
@ -54,6 +56,7 @@ public class PostUdimsOrderRequest {
private Integer status; private Integer status;
private String locStorageCode; private String locStorageCode;
} }
} }

@ -55,5 +55,6 @@ public class BussinessTypResponse {
private boolean useDyCount; private boolean useDyCount;
private boolean expireTip; private boolean expireTip;
private String prefix;
private String localPrefix;
} }

@ -76,7 +76,7 @@ public class SyncUdiService {
// return ResultVOUtils.error(500, "请输入完整的产品通用名称!"); // return ResultVOUtils.error(500, "请输入完整的产品通用名称!");
// } // }
productInfoFilterRequest.setIsNewest(1); productInfoFilterRequest.setIsNewest(1);
productInfoFilterRequest.setDiType("1"); // productInfoFilterRequest.setDiType("1");
List<ProductInfoEntity> productInfoEntityList = productInfoService.filterUdi(productInfoFilterRequest); List<ProductInfoEntity> productInfoEntityList = productInfoService.filterUdi(productInfoFilterRequest);
PageInfo<ProductInfoEntity> pageInfo; PageInfo<ProductInfoEntity> pageInfo;
pageInfo = new PageInfo<>(productInfoEntityList); pageInfo = new PageInfo<>(productInfoEntityList);

@ -24,19 +24,37 @@ public class CompanyProductsRelService {
@Async @Async
public void insertCompanyProducts(UdiInfoExportRequest udiInfoExportRequest) { public void insertCompanyProducts(UdiInfoExportRequest udiInfoExportRequest) {
//选中导出 //选中导出
if (udiInfoExportRequest.getRlIds() != null && udiInfoExportRequest.getRlIds().size() > 0) { if (udiInfoExportRequest.getRlIds().size() > 0) {
List<String> rlIdS = udiInfoExportRequest.getRlIds(); if (udiInfoExportRequest.getRlIds() != null) {
for (String uuid : rlIdS) { List<String> rlIdS = udiInfoExportRequest.getRlIds();
CompanyProductRelevanceEntity companyProductRelevanceEntity = new CompanyProductRelevanceEntity(); for (String uuid : rlIdS) {
companyProductRelevanceEntity.setCreate_time(new Date()); CompanyProductRelevanceEntity companyProductRelevanceEntity = new CompanyProductRelevanceEntity();
companyProductRelevanceEntity.setUpdate_time(new Date()); companyProductRelevanceEntity.setCreate_time(new Date());
companyProductRelevanceEntity.setAuditStatus("3"); companyProductRelevanceEntity.setUpdate_time(new Date());
companyProductRelevanceEntity.setUnitFk(udiInfoExportRequest.getUnitFk()); companyProductRelevanceEntity.setAuditStatus("3");
companyProductRelevanceEntity.setUdiRlIdFk(Integer.parseInt(uuid)); companyProductRelevanceEntity.setUnitFk(udiInfoExportRequest.getUnitFk());
companyProductRelevanceEntity.setCustomerId(udiInfoExportRequest.getCustomerId()); companyProductRelevanceEntity.setUdiRlIdFk(Integer.parseInt(uuid));
boolean b = companyProductRelevanceService.insertCompanyProductRelevance(companyProductRelevanceEntity); companyProductRelevanceEntity.setCustomerId(udiInfoExportRequest.getCustomerId());
} boolean b = companyProductRelevanceService.insertCompanyProductRelevance(companyProductRelevanceEntity);
}
} else {//一键导出 //todo暂时去掉
// FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
// BeanUtils.copyProperties(udiInfoExportRequest, filterUdiInfoRequest);
// filterUdiInfoRequest.setPage(null);
// List<UdiRelevanceResponse> udiRelevanceResponses = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest);
// for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) {
// CompanyProductRelevanceEntity companyProductRelevanceEntity = new CompanyProductRelevanceEntity();
// companyProductRelevanceEntity.setCreate_time(new Date());
// companyProductRelevanceEntity.setUpdate_time(new Date());
// companyProductRelevanceEntity.setAuditStatus("3");
// companyProductRelevanceEntity.setUnitFk(udiInfoExportRequest.getUnitFk());
// companyProductRelevanceEntity.setUdiRlIdFk(udiRelevanceResponse.getId());
// companyProductRelevanceEntity.setProductUuid(udiRelevanceResponse.getUuid());
// companyProductRelevanceEntity.setCustomerId(udiInfoExportRequest.getCustomerId());
// boolean b = companyProductRelevanceService.insertCompanyProductRelevance(companyProductRelevanceEntity);
// }
}
} else {//一键导出 //todo暂时去掉 } else {//一键导出 //todo暂时去掉
// FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); // FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
// BeanUtils.copyProperties(udiInfoExportRequest, filterUdiInfoRequest); // BeanUtils.copyProperties(udiInfoExportRequest, filterUdiInfoRequest);

@ -1,5 +1,6 @@
package com.glxp.sale.admin.thread; package com.glxp.sale.admin.thread;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.glxp.sale.admin.config.WebSocketServer; import com.glxp.sale.admin.config.WebSocketServer;
import com.glxp.sale.admin.constant.Constant; import com.glxp.sale.admin.constant.Constant;
@ -9,6 +10,7 @@ import com.glxp.sale.admin.controller.inout.utils.CheckOrderUtils;
import com.glxp.sale.admin.controller.inout.utils.ContrastErpUtil; import com.glxp.sale.admin.controller.inout.utils.ContrastErpUtil;
import com.glxp.sale.admin.controller.inout.utils.DataTransUtil; import com.glxp.sale.admin.controller.inout.utils.DataTransUtil;
import com.glxp.sale.admin.controller.inout.utils.InoutUtils; import com.glxp.sale.admin.controller.inout.utils.InoutUtils;
import com.glxp.sale.admin.dao.inout.UdimsOrderDetailDao;
import com.glxp.sale.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.sale.admin.entity.basic.BasicThirdSysDetailEntity;
import com.glxp.sale.admin.entity.basic.BasicUnitMaintainEntity; import com.glxp.sale.admin.entity.basic.BasicUnitMaintainEntity;
import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; import com.glxp.sale.admin.entity.basic.BussinessTypeEntity;
@ -115,6 +117,8 @@ public class IoTransInoutService {
InvPreProductService invPreProductService; InvPreProductService invPreProductService;
@Resource @Resource
UdiDlHttpClient udiDlHttpClient; UdiDlHttpClient udiDlHttpClient;
@Resource
UdimsOrderDetailDao udimsOrderDetailDao;
//web端新增订单 //web端新增订单
@Async @Async
@ -258,7 +262,7 @@ public class IoTransInoutService {
orderEntity.setId(orderId); orderEntity.setId(orderId);
orderEntity.setCreateUser(postUdimsOrderRequest.getUserId()); orderEntity.setCreateUser(postUdimsOrderRequest.getUserId());
orderEntity.setMainAction(ConstantType.TYPE_PUT); orderEntity.setMainAction(ConstantType.TYPE_PUT);
orderEntity.setActDate(DateUtil.getDate()); orderEntity.setActDate(DateUtil.formatDateTime(new Date()));
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
orderEntity.setExportStatus(ConstantStatus.ORDER_EXPORT_UN); orderEntity.setExportStatus(ConstantStatus.ORDER_EXPORT_UN);
orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN);
@ -289,7 +293,13 @@ public class IoTransInoutService {
UdiEntity udiEntity = FilterUdiUtils.getUdi(temp.getCode()); UdiEntity udiEntity = FilterUdiUtils.getUdi(temp.getCode());
temp.setNameCode(udiEntity.getUdi()); temp.setNameCode(udiEntity.getUdi());
} }
if (CollUtil.isNotEmpty(postUdimsOrderRequest.getOrderBeans())) {
List<UdimsOrderDetailBean> udimsOrderDetailBeans = orderBean.getOrderDetails();
for (UdimsOrderDetailBean udimsOrderDetailBean : udimsOrderDetailBeans) {
udimsOrderDetailBean.setOrderIdFk(orderId);
}
udimsOrderDetailDao.insertOrderDetail(udimsOrderDetailBeans);
}
codesTempService.insertCodesTemp(warehouseEntities); codesTempService.insertCodesTemp(warehouseEntities);
} }
} }
@ -321,7 +331,7 @@ public class IoTransInoutService {
public void transInout(OrderEntity orderEntity) { public void transInout(OrderEntity orderEntity) {
orderEntity.setRemark("正在处理!"); orderEntity.setRemark("正在处理!");
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_DOING); // orderEntity.setStatus(ConstantStatus.ORDER_STATUS_DOING);
orderEntity.setUpdateTime(new Date()); orderEntity.setUpdateTime(new Date());
orderService.updateOrder(orderEntity); orderService.updateOrder(orderEntity);
@ -330,7 +340,7 @@ public class IoTransInoutService {
orderFilterRequest.setCustomerId(orderEntity.getCustomerId()); orderFilterRequest.setCustomerId(orderEntity.getCustomerId());
orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS);
List<OrderEntity> orderEntities = orderService.findAllOrders(orderFilterRequest); List<OrderEntity> orderEntities = orderService.findAllOrders(orderFilterRequest);
if (orderEntities.size() > 1) { if (orderEntities.size() > 0) {
orderEntity.setRemark("单据重复上传"); orderEntity.setRemark("单据重复上传");
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_FAIL); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_FAIL);
orderEntity.setUpdateTime(new Date()); orderEntity.setUpdateTime(new Date());
@ -341,6 +351,10 @@ public class IoTransInoutService {
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction());
if (bussinessTypeEntity == null) { if (bussinessTypeEntity == null) {
orderEntity.setRemark("单据类型不存在");
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_FAIL);
orderEntity.setUpdateTime(new Date());
orderService.updateOrder(orderEntity);
return; return;
} }
if (orderEntity.getFromCorp() == null) { if (orderEntity.getFromCorp() == null) {
@ -764,8 +778,11 @@ public class IoTransInoutService {
return null; return null;
} }
@Resource
InoutUtils inoutUtils;
public void genOrderDetail(List<WarehouseEntity> warehouseEntityList) { public void genOrderDetail(List<WarehouseEntity> warehouseEntityList) {
new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, warehouseEntityList, udiDlHttpClient); inoutUtils.generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, warehouseEntityList, udiDlHttpClient);
} }
@ -811,6 +828,11 @@ public class IoTransInoutService {
stockOrderDetailEntity.setProductName(erpOrderEntity.getGoodsname()); stockOrderDetailEntity.setProductName(erpOrderEntity.getGoodsname());
stockOrderDetailEntity.setYlqxzcrbarmc(udiRelevanceEntity.getYlqxzcrbarmc()); stockOrderDetailEntity.setYlqxzcrbarmc(udiRelevanceEntity.getYlqxzcrbarmc());
stockOrderDetailEntity.setManufactory(udiRelevanceEntity.getManufactory()); stockOrderDetailEntity.setManufactory(udiRelevanceEntity.getManufactory());
stockOrderDetailEntity.setPrice(erpOrderEntity.getPrice());
stockOrderDetailEntity.setFirstSalesInvNo(erpOrderEntity.getFirstSalesInvNo());
stockOrderDetailEntity.setSecSalesInvNo(erpOrderEntity.getSecSalesInvNo());
stockOrderDetailEntity.setInvoiceDate(erpOrderEntity.getInvoiceDate());
stockOrderDetailEntity.setSecSalesListNo(erpOrderEntity.getSecSalesListNo());
stockOrderDetailEntity.setZczbhhzbapzbh(erpOrderEntity.getAuthCode()); stockOrderDetailEntity.setZczbhhzbapzbh(erpOrderEntity.getAuthCode());
if (erpOrderEntity.getGoodsid() == null) if (erpOrderEntity.getGoodsid() == null)
stockOrderDetailEntity.setProductId(erpOrderEntity.getNameCode()); stockOrderDetailEntity.setProductId(erpOrderEntity.getNameCode());

@ -13,4 +13,8 @@ public class Constant {
public static final String CAPTCHAS = "captchas:"; public static final String CAPTCHAS = "captchas:";
public static final String SERIAL_CACHE_PREFIX = "serial_";
public static final String SERIAL_CACHE_PREFIX_ST = "serialst_";
} }

@ -0,0 +1,148 @@
package com.glxp.sale.admin.util;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Random;
@Service
public class GennerOrderUtils {
@Resource
RedisUtil redisUtil;
/**
*
*/
private static String getFormNoPrefix(OrderNoTypeBean orderNoTypeEnum) {
//格式化时间
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(orderNoTypeEnum.getDatePattern());
StringBuffer sb = new StringBuffer();
sb.append(orderNoTypeEnum.getPrefix());
sb.append(formatter.format(LocalDateTime.now()));
return sb.toString();
}
/**
* Key
*
* @param serialPrefix
* @return Key
*/
private static String getStCacheKey(String serialPrefix) {
return Constant.SERIAL_CACHE_PREFIX_ST.concat(serialPrefix);
}
private static String getScCacheKey(String serialPrefix) {
return Constant.SERIAL_CACHE_PREFIX.concat(serialPrefix);
}
/**
*
*
* @param serialPrefix
* @param incrementalSerial
* @author mengqiang
* @date 2019/1/1
*/
private static String completionSerial(String serialPrefix, Long incrementalSerial,
OrderNoTypeBean orderNoTypeEnum) {
StringBuffer sb = new StringBuffer(serialPrefix);
//需要补0的长度=流水号长度 -当日自增计数长度
int length = orderNoTypeEnum.getSerialLength() - String.valueOf(incrementalSerial).length();
//补零
for (int i = 0; i < length; i++) {
sb.append("0");
}
//redis当日自增数
sb.append(incrementalSerial);
return sb.toString();
}
/**
*
*
* @param serialWithPrefix
* @param orderNoTypeEnum
* @author mengqiang
* @date 2019/1/1
*/
private static String completionRandom(String serialWithPrefix, OrderNoTypeBean orderNoTypeEnum) {
StringBuilder sb = new StringBuilder(serialWithPrefix);
//随机数长度
int length = orderNoTypeEnum.getRandomLength();
if (length > 0) {
Random random = new Random();
for (int i = 0; i < length; i++) {
//十以内随机数补全
sb.append(random.nextInt(10));
}
}
return sb.toString();
}
/**
* @param orderNoTypeEnum:
* @Description redis( + )
* @author wangliangzhi
* @Date: 2021/12/21
* @time: 14:15
* @return: java.lang.String
**/
public String createScOrderNo(OrderNoTypeBean orderNoTypeEnum) {
//获得单号前缀
//格式 固定前缀 +时间前缀 示例
String formNoPrefix = getFormNoPrefix(orderNoTypeEnum);
//获得缓存key
String cacheKey = getScCacheKey(formNoPrefix);
//获得当日自增数
Long incrementalSerial = redisUtil.incr(cacheKey, 1);
// 设置key过期时间, 保证每天的流水号从1开始
if (incrementalSerial == 1) {
//设置失效时间 凌晨过期
redisUtil.expire(cacheKey, getSecondsNextEarlyMorning());
}
//组合单号并补全流水号
String serialWithPrefix = completionSerial(formNoPrefix, incrementalSerial, orderNoTypeEnum);
//补全随机数
return completionRandom(serialWithPrefix, orderNoTypeEnum);
}
public String createStOrderNo(OrderNoTypeBean orderNoTypeEnum) {
//获得单号前缀
//格式 固定前缀 +时间前缀 示例
String formNoPrefix = getFormNoPrefix(orderNoTypeEnum);
//获得缓存key
String cacheKey = getStCacheKey(formNoPrefix);
//获得当日自增数
Long incrementalSerial = redisUtil.incr(cacheKey, 1);
// 设置key过期时间, 保证每天的流水号从1开始
if (incrementalSerial == 1) {
//设置失效时间 凌晨过期
redisUtil.expire(cacheKey, getSecondsNextEarlyMorning());
}
//组合单号并补全流水号
String serialWithPrefix = completionSerial(formNoPrefix, incrementalSerial, orderNoTypeEnum);
//补全随机数
return completionRandom(serialWithPrefix, orderNoTypeEnum);
}
private Long getSecondsNextEarlyMorning() {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_YEAR, 1);
// 改成这样就好了
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.MILLISECOND, 0);
return (cal.getTimeInMillis() - System.currentTimeMillis()) / 1000;
}
}

@ -0,0 +1,11 @@
package com.glxp.sale.admin.util;
public class MyStrUtil {
public static String trim(String data) {
if (data == null)
return "";
return data;
}
}

@ -0,0 +1,45 @@
package com.glxp.sale.admin.util;
import lombok.Data;
@Data
public class OrderNoTypeBean {
private String prefix;
/**
*
* yyyyMMdd
*/
private String datePattern;
/**
* --
*/
private Integer serialLength;
/**
* --使
*/
private Integer randomLength;
/**
*
*/
private Integer totalLength;
public OrderNoTypeBean(String prefix, String datePattern, Integer serialLength, Integer randomLength, Integer totalLength) {
this.prefix = prefix;
this.datePattern = datePattern;
this.serialLength = serialLength;
this.randomLength = randomLength;
this.totalLength = totalLength;
}
public OrderNoTypeBean(String prefix, String datePattern) {
this.prefix = prefix;
this.datePattern = datePattern;
this.serialLength = 4;
this.randomLength = 0;
this.totalLength = 5;
}
}

@ -28,9 +28,9 @@ logging.level.com.glxp.api.admin.dao.inout=debug
logging.level.com.glxp.api.admin.dao.inventory=debug logging.level.com.glxp.api.admin.dao.inventory=debug
logging.level.com.glxp.api.admin.dao.thrsys=debug logging.level.com.glxp.api.admin.dao.thrsys=debug
# \u8F93\u51FA\u65E5\u5FD7\u5230\u9879\u76EE\u6839\u76EE\u5F55\u4E0B\u7684springboot.log\u6587\u4EF6\u4E2D // \u914D\u7F6E logback-spring.xml\u65F6 \u6B64\u65E5\u5FD7\u8F93\u51FA\u65B9\u5F0F\u4F1A\u88AB\u8986\u76D6\u3002 # \u8F93\u51FA\u65E5\u5FD7\u5230\u9879\u76EE\u6839\u76EE\u5F55\u4E0B\u7684springboot.log\u6587\u4EF6\u4E2D // \u914D\u7F6E logback-spring.xml\u65F6 \u6B64\u65E5\u5FD7\u8F93\u51FA\u65B9\u5F0F\u4F1A\u88AB\u8986\u76D6\u3002
logging.file=D:/1s/udiwms/udiwms.log logging.file=D:/glxpdata/udiwms/udiwms.log
#file_path=/home/glxpdata/udiwms #file_path=/home/glxpdata/udiwms
file_path=D:/1s/udiwms file_path=D:/glxpdata/udiwms
#UDI\u6570\u636E\u4E0B\u8F7D #UDI\u6570\u636E\u4E0B\u8F7D
UDI_KEY=6b137c66-6286-46c6-8efa-c2f5dd9237df UDI_KEY=6b137c66-6286-46c6-8efa-c2f5dd9237df
UDI_SERVER_URL=https://www.udims.com/UDI_DL_Server_test UDI_SERVER_URL=https://www.udims.com/UDI_DL_Server_test

@ -75,8 +75,8 @@
parameterType="com.glxp.sale.admin.entity.basic.BasicUnitMaintainEntity"> parameterType="com.glxp.sale.admin.entity.basic.BasicUnitMaintainEntity">
REPLACE REPLACE
INTO basic_corp INTO basic_corp
(thirdId,erpId,name,spell, (thirdId,erpId,`name`,spell,
addr,status,type,creditNo,contact,mobile,thirdId1,thirdId2,thirdId3,thirdId4, addr,status,`type`,creditNo,contact,mobile,thirdId1,thirdId2,thirdId3,thirdId4,
thirdName,thirdName1,thirdName2,thirdName3,thirdName4,updateTime,corpType,outType) thirdName,thirdName1,thirdName2,thirdName3,thirdName4,updateTime,corpType,outType)
values values
( (
@ -111,8 +111,8 @@
insert insert
ignore ignore
INTO basic_corp INTO basic_corp
(thirdId,erpId,name,spell, (thirdId,erpId,`name`,spell,
addr,status,type,creditNo,contact,mobile,thirdId1,thirdId2,thirdId3,thirdId4, addr,status,`type`,creditNo,contact,mobile,thirdId1,thirdId2,thirdId3,thirdId4,
thirdName,thirdName1,thirdName2,thirdName3,thirdName4,updateTime,corpType,outType) thirdName,thirdName1,thirdName2,thirdName3,thirdName4,updateTime,corpType,outType)
values values
( (
@ -136,15 +136,16 @@
#{thirdName3}, #{thirdName3},
#{thirdName4}, #{thirdName4},
#{updateTime}, #{updateTime},
#{corpType},#{outType} #{corpType},
#{outType}
) )
</insert> </insert>
<insert id="insert" parameterType="com.glxp.sale.admin.entity.basic.BasicUnitMaintainEntity"> <insert id="insert" parameterType="com.glxp.sale.admin.entity.basic.BasicUnitMaintainEntity">
insert INTO basic_corp(thirdId, erpId, name, spell, addr, insert INTO basic_corp(thirdId, erpId, `name`, spell, addr,
status, type, creditNo, contact, mobile, thirdId1, thirdId2, thirdId3, thirdId4, status, `type`, creditNo, contact, mobile, thirdId1, thirdId2, thirdId3, thirdId4,
thirdName, thirdName1, thirdName2, thirdName3, thirdName4, updateTime, corpType,outType) thirdName, thirdName1, thirdName2, thirdName3, thirdName4, updateTime, corpType, outType)
values (#{thirdId}, values (#{thirdId},
#{erpId}, #{erpId},
#{name}, #{name},
@ -156,7 +157,8 @@
#{contact}, #{contact},
#{mobile}, #{mobile},
#{thirdId1}, #{thirdId2}, #{thirdId3}, #{thirdId4}, #{thirdId1}, #{thirdId2}, #{thirdId3}, #{thirdId4},
#{thirdName}, #{thirdName1}, #{thirdName2}, #{thirdName3}, #{thirdName4}, #{updateTime}, #{corpType},#{outType}) #{thirdName}, #{thirdName1}, #{thirdName2}, #{thirdName3}, #{thirdName4}, #{updateTime}, #{corpType},
#{outType})
</insert> </insert>
@ -165,11 +167,11 @@
<trim prefix="set" suffixOverrides=","> <trim prefix="set" suffixOverrides=",">
<if test="thirdId != null">thirdId=#{thirdId},</if> <if test="thirdId != null">thirdId=#{thirdId},</if>
<if test="erpId != null">erpId=#{erpId},</if> <if test="erpId != null">erpId=#{erpId},</if>
<if test="name != null">name=#{name},</if> <if test="name != null">`name`=#{name},</if>
<if test="spell != null">spell=#{spell},</if> <if test="spell != null">spell=#{spell},</if>
<if test="addr != null">addr=#{addr},</if> <if test="addr != null">addr=#{addr},</if>
<if test="status != null">status=#{status},</if> <if test="status != null">status=#{status},</if>
<if test="type != null">type=#{type},</if> <if test="type != null">`type`=#{type},</if>
<if test="creditNo != null">creditNo=#{creditNo},</if> <if test="creditNo != null">creditNo=#{creditNo},</if>
<if test="contact != null">contact=#{contact},</if> <if test="contact != null">contact=#{contact},</if>
<if test="mobile != null">mobile=#{mobile},</if> <if test="mobile != null">mobile=#{mobile},</if>
@ -230,8 +232,8 @@
<insert id="importBasicUnitMaintain" keyProperty="id"> <insert id="importBasicUnitMaintain" keyProperty="id">
REPLACE REPLACE
INTO basic_corp INTO basic_corp
( thirdId, erpId, name, spell, ( thirdId, erpId, `name`, spell,
addr, status, type, creditNo, contact, mobile, thirdId1, thirdId2, thirdId3, thirdId4, addr, status, `type`, creditNo, contact, mobile, thirdId1, thirdId2, thirdId3, thirdId4,
thirdName, thirdName1, thirdName2, thirdName3, thirdName4, updateTime, corpType,outType) thirdName, thirdName1, thirdName2, thirdName3, thirdName4, updateTime, corpType,outType)
values ( values (
#{thirdId}, #{thirdId},
@ -254,7 +256,8 @@
#{thirdName3}, #{thirdName3},
#{thirdName4}, #{thirdName4},
#{updateTime}, #{updateTime},
#{corpType},#{outType} #{corpType},
#{outType}
) )
</insert> </insert>
</mapper> </mapper>

@ -55,6 +55,7 @@
basic_bussiness_type.name , basic_bussiness_type.name ,
basic_bussiness_type.action,basic_bussiness_type.checkEnable,basic_bustype_local.advanceType,basic_bustype_local.changeEnable, basic_bussiness_type.action,basic_bussiness_type.checkEnable,basic_bustype_local.advanceType,basic_bustype_local.changeEnable,
basic_bustype_local.spUse,basic_bussiness_type.storageCode,basic_bussiness_type.corpType,basic_bussiness_type.mainAction basic_bustype_local.spUse,basic_bussiness_type.storageCode,basic_bussiness_type.corpType,basic_bussiness_type.mainAction
,basic_bussiness_type.prefix,basic_bustype_local.prefix localPrefix
FROM basic_bustype_local FROM basic_bustype_local
inner join basic_bussiness_type inner join basic_bussiness_type
on basic_bustype_local.action = basic_bussiness_type.localAction on basic_bustype_local.action = basic_bussiness_type.localAction
@ -84,7 +85,7 @@
basic_bussiness_type.action,basic_bussiness_type.checkEnable,basic_bustype_local.advanceType,basic_bustype_local.changeEnable, basic_bussiness_type.action,basic_bussiness_type.checkEnable,basic_bustype_local.advanceType,basic_bustype_local.changeEnable,
basic_bustype_local.spUse,basic_bussiness_type.storageCode,basic_bussiness_type.corpType,basic_bussiness_type.mainAction, basic_bustype_local.spUse,basic_bussiness_type.storageCode,basic_bussiness_type.corpType,basic_bussiness_type.mainAction,
basic_bussiness_type.defaultUnit,basic_bussiness_type.genUnit,basic_bustype_origin.action basic_bussiness_type.defaultUnit,basic_bussiness_type.genUnit,basic_bustype_origin.action
thirdAction,basic_bustype_origin.thirdSys thirdAction,basic_bustype_origin.thirdSys,basic_bussiness_type.prefix,basic_bustype_local.prefix localPrefix
FROM basic_bustype_local FROM basic_bustype_local
inner join basic_bussiness_type on basic_bustype_local.action = basic_bussiness_type.localAction inner join basic_bussiness_type on basic_bustype_local.action = basic_bussiness_type.localAction
INNER JOIN inv_warehouse_bussiness_type on basic_bussiness_type.action = inv_warehouse_bussiness_type.action INNER JOIN inv_warehouse_bussiness_type on basic_bussiness_type.action = inv_warehouse_bussiness_type.action
@ -122,6 +123,7 @@
basic_bussiness_type.name , basic_bussiness_type.name ,
basic_bussiness_type.action,basic_bussiness_type.checkEnable,basic_bustype_local.advanceType,basic_bustype_local.changeEnable, basic_bussiness_type.action,basic_bussiness_type.checkEnable,basic_bustype_local.advanceType,basic_bustype_local.changeEnable,
basic_bustype_local.spUse,basic_bussiness_type.storageCode,basic_bussiness_type.corpType,basic_bussiness_type.mainAction basic_bustype_local.spUse,basic_bussiness_type.storageCode,basic_bussiness_type.corpType,basic_bussiness_type.mainAction
,basic_bussiness_type.prefix,basic_bustype_local.prefix localPrefix
FROM basic_bustype_local FROM basic_bustype_local
LEFT JOIN basic_bussiness_type on basic_bussiness_type.localAction = basic_bustype_local.action LEFT JOIN basic_bussiness_type on basic_bussiness_type.localAction = basic_bustype_local.action
<where> <where>
@ -141,10 +143,10 @@
<insert id="insertBussinessType" keyProperty="id" <insert id="insertBussinessType" keyProperty="id"
parameterType="com.glxp.sale.admin.entity.basic.BussinessLocalTypeEntity"> parameterType="com.glxp.sale.admin.entity.basic.BussinessLocalTypeEntity">
replace INTO basic_bustype_local replace INTO basic_bustype_local
(action, name, remark, originAction, advanceType, changeEnable, spUse,updateTime) (action, name, remark, originAction, advanceType, changeEnable, spUse,updateTime,prefix)
values (#{action}, values (#{action},
#{name}, #{name},
#{remark}, #{originAction}, #{advanceType}, #{changeEnable}, #{spUse},#{updateTime}) #{remark}, #{originAction}, #{advanceType}, #{changeEnable}, #{spUse},#{updateTime},#{prefix})
</insert> </insert>
<update id="updateBusLocalType" parameterType="com.glxp.sale.admin.entity.basic.BussinessLocalTypeEntity"> <update id="updateBusLocalType" parameterType="com.glxp.sale.admin.entity.basic.BussinessLocalTypeEntity">
@ -158,7 +160,7 @@
<if test="changeEnable != null">changeEnable = #{changeEnable},</if> <if test="changeEnable != null">changeEnable = #{changeEnable},</if>
<if test="spUse != null">spUse = #{spUse},</if> <if test="spUse != null">spUse = #{spUse},</if>
<if test="updateTime != null">updateTime = #{updateTime},</if> <if test="updateTime != null">updateTime = #{updateTime},</if>
<if test="prefix != null">prefix = #{prefix},</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>

@ -73,12 +73,17 @@
<insert id="insertBusOriginType" keyProperty="id" <insert id="insertBusOriginType" keyProperty="id"
parameterType="com.glxp.sale.admin.entity.basic.BussinessOriginTypeEntity"> parameterType="com.glxp.sale.admin.entity.basic.BussinessOriginTypeEntity">
replace INTO basic_bustype_origin replace
INTO basic_bustype_origin
(`action`, `name`, enable, remark, thirdSys, thirdSysName) (`action`, `name`, enable, remark, thirdSys, thirdSysName)
values (#{action}, values (
#{name}, #{action},
#{enable}, #{name},
#{remark}, #{thirdSys}, #{thirdSysName}) #{enable},
#{remark},
#{thirdSys},
#{thirdSysName}
)
</insert> </insert>

@ -17,7 +17,8 @@
basic_bustype_local.changeEnable,basic_bussiness_type.genUnit,basic_bussiness_type.innerOrder, basic_bustype_local.changeEnable,basic_bussiness_type.genUnit,basic_bussiness_type.innerOrder,
basic_bustype_local.spUse,corpType,basic_bussiness_type.storageCode,basic_bussiness_type.checkBalacne, basic_bustype_local.spUse,corpType,basic_bussiness_type.storageCode,basic_bussiness_type.checkBalacne,
basic_bussiness_type.secCheckBalacne, defaultUnit,basic_bustype_origin.action basic_bussiness_type.secCheckBalacne, defaultUnit,basic_bustype_origin.action
thirdAction,basic_bustype_origin.thirdSys,basic_bussiness_type.useDyCount,basic_bussiness_type.expireTip thirdAction,basic_bustype_origin.thirdSys,basic_bussiness_type.useDyCount,basic_bussiness_type.expireTip,basic_bussiness_type.prefix,basic_bustype_local.prefix
localPrefix
FROM basic_bussiness_type LEFT JOIN basic_bustype_local FROM basic_bussiness_type LEFT JOIN basic_bustype_local
on basic_bussiness_type.localAction = basic_bustype_local.action on basic_bussiness_type.localAction = basic_bustype_local.action
left join basic_bustype_origin on basic_bustype_local.originAction = basic_bustype_origin.action left join basic_bustype_origin on basic_bustype_local.originAction = basic_bustype_origin.action
@ -80,7 +81,9 @@
select basic_bussiness_type.*, select basic_bussiness_type.*,
basic_bustype_local.name localName,basic_bussiness_type.checkEnable, basic_bustype_local.advanceType, basic_bustype_local.name localName,basic_bussiness_type.checkEnable, basic_bustype_local.advanceType,
basic_bustype_local.changeEnable,basic_bussiness_type.genUnit,basic_bussiness_type.innerOrder,defaultUnit, basic_bustype_local.changeEnable,basic_bussiness_type.genUnit,basic_bussiness_type.innerOrder,defaultUnit,
basic_bustype_local.spUse,basic_bussiness_type.storageCode,basic_bussiness_type.expireTip from basic_bustype_local.spUse,basic_bussiness_type.storageCode,basic_bussiness_type.expireTip,
basic_bustype_local.prefix localPrefix
localPrefix from
basic_bussiness_type LEFT JOIN basic_bussiness_type LEFT JOIN
basic_third_sys on basic_bussiness_type.thirdSysFk = basic_third_sys on basic_bussiness_type.thirdSysFk =
basic_third_sys.thirdId LEFT JOIN basic_bustype_local on basic_bussiness_type.localAction = basic_third_sys.thirdId LEFT JOIN basic_bustype_local on basic_bussiness_type.localAction =
@ -128,7 +131,8 @@
basic_bustype_local.changeEnable,basic_bussiness_type.genUnit,basic_bussiness_type.innerOrder, basic_bustype_local.changeEnable,basic_bussiness_type.genUnit,basic_bussiness_type.innerOrder,
basic_bustype_local.spUse,corpType,basic_bussiness_type.storageCode,basic_bussiness_type.checkBalacne,defaultUnit, basic_bustype_local.spUse,corpType,basic_bussiness_type.storageCode,basic_bussiness_type.checkBalacne,defaultUnit,
basic_bussiness_type.secCheckBalacne,basic_bustype_origin.action basic_bussiness_type.secCheckBalacne,basic_bustype_origin.action
thirdAction,basic_bustype_origin.thirdSys,useDyCount,basic_bussiness_type.expireTip thirdAction,basic_bustype_origin.thirdSys,useDyCount,basic_bussiness_type.expireTip,basic_bussiness_type.prefix,basic_bustype_local.prefix
localPrefix
FROM basic_bussiness_type LEFT JOIN basic_bustype_local FROM basic_bussiness_type LEFT JOIN basic_bustype_local
on basic_bussiness_type.localAction = basic_bustype_local.action on basic_bussiness_type.localAction = basic_bustype_local.action
left join basic_bustype_origin on basic_bustype_local.originAction = basic_bustype_origin.action left join basic_bustype_origin on basic_bustype_local.originAction = basic_bustype_origin.action
@ -175,7 +179,7 @@
checkUdims,checkPdaEd,checkPdaUn,checkPc,checkWebNew,checkChange checkUdims,checkPdaEd,checkPdaUn,checkPc,checkWebNew,checkChange
,secCheckUdims,secCheckPdaEd,secCheckPdaUn,secCheckPc,secCheckWebNew, ,secCheckUdims,secCheckPdaEd,secCheckPdaUn,secCheckPc,secCheckWebNew,
secCheckChange,corpType,basic_bussiness_type.storageCode,checkBalacne, secCheckChange,corpType,basic_bussiness_type.storageCode,checkBalacne,
secCheckBalacne,supplementOrderType,defaultUnit,useDyCount,expireTip,updateTime) secCheckBalacne,supplementOrderType,defaultUnit,useDyCount,expireTip,updateTime,prefix)
values values
( (
#{action}, #{action},
@ -208,7 +212,8 @@
#{supplementOrderType}, #{supplementOrderType},
#{defaultUnit}, #{defaultUnit},
#{useDyCount}, #{useDyCount},
#{expireTip},#{updateTime} #{expireTip},
#{updateTime},#{prefix}
) )
</insert> </insert>
@ -222,7 +227,7 @@
checkEnable,genUnit,innerOrder,secCheckEnable, checkEnable,genUnit,innerOrder,secCheckEnable,
checkUdims,checkPdaEd,checkPdaUn,checkPc,checkWebNew,checkChange checkUdims,checkPdaEd,checkPdaUn,checkPc,checkWebNew,checkChange
,secCheckUdims,secCheckPdaEd,secCheckPdaUn,secCheckPc,secCheckWebNew, ,secCheckUdims,secCheckPdaEd,secCheckPdaUn,secCheckPc,secCheckWebNew,
secCheckChange,corpType,storageCode,checkBalacne,secCheckBalacne,supplementOrderType,defaultUnit,useDyCount,expireTip,updateTime) secCheckChange,corpType,storageCode,checkBalacne,secCheckBalacne,supplementOrderType,defaultUnit,useDyCount,expireTip,updateTime,prefix)
values values
( (
#{index}, #{index},
@ -256,7 +261,8 @@
#{supplementOrderType}, #{supplementOrderType},
#{defaultUnit}, #{defaultUnit},
#{useDyCount}, #{useDyCount},
#{expireTip},#{updateTime} #{expireTip},
#{updateTime},#{prefix}
) )
</insert> </insert>
@ -296,6 +302,7 @@
<if test="useDyCount != null">useDyCount=#{useDyCount},</if> <if test="useDyCount != null">useDyCount=#{useDyCount},</if>
<if test="expireTip != null">expireTip=#{expireTip},</if> <if test="expireTip != null">expireTip=#{expireTip},</if>
<if test="updateTime != null">updateTime=#{updateTime},</if> <if test="updateTime != null">updateTime=#{updateTime},</if>
<if test="prefix != null">prefix=#{prefix},</if>
thirdSysFk=#{thirdSysFk}, thirdSysFk=#{thirdSysFk},
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}

@ -284,8 +284,7 @@
</where> </where>
ORDER BY updateTime DESC ORDER BY updateTime DESC
</select> </select>
<!-- GROUP BY
uuid,basic_udirel.thirdId,basic_udirel.thirdId1,basic_udirel.thirdId2,basic_udirel.thirdId3,basic_udirel.thirdId4-->
<select id="selectByUuid" parameterType="java.lang.String" <select id="selectByUuid" parameterType="java.lang.String"
resultType="com.glxp.sale.admin.entity.basic.UdiRelevanceEntity"> resultType="com.glxp.sale.admin.entity.basic.UdiRelevanceEntity">
select * FROM basic_udirel select * FROM basic_udirel
@ -326,7 +325,6 @@
AND mainId = #{mainId} AND mainId = #{mainId}
</if> </if>
</where> </where>
limit 1 limit 1
</select> </select>

@ -164,7 +164,7 @@
<if test="relId != null">relId=#{relId},</if> <if test="relId != null">relId=#{relId},</if>
<if test="fromCorp != null">fromCorp=#{fromCorp},</if> <if test="fromCorp != null">fromCorp=#{fromCorp},</if>
<if test="fromCorpId != null">fromCorpId=#{fromCorpId},</if> <if test="fromCorpId != null">fromCorpId=#{fromCorpId},</if>
<if test="count != null">count=#{count},</if> <if test="count != null">`count`=#{count},</if>
<if test="status != null">status=#{status},</if> <if test="status != null">status=#{status},</if>
<if test="supId != null">supId=#{supId},</if> <if test="supId != null">supId=#{supId},</if>
<if test="invStorageCode != null">invStorageCode=#{invStorageCode},</if> <if test="invStorageCode != null">invStorageCode=#{invStorageCode},</if>

@ -481,9 +481,6 @@
<if test="corpOrderId != '' and corpOrderId !=null"> <if test="corpOrderId != '' and corpOrderId !=null">
and corpOrderId =#{corpOrderId} and corpOrderId =#{corpOrderId}
</if> </if>
<if test="fromCorpId != '' and fromCorpId!=null">
and fromCorpId =#{fromCorpId}
</if>
<if test="action != '' and action!=null"> <if test="action != '' and action!=null">
and `action` =#{action} and `action` =#{action}
</if> </if>

@ -117,7 +117,7 @@
batchNoId,goodsname,companyname, batchNoId,goodsname,companyname,
batchNo,erpCount,credate,nameCode,productCompany, batchNo,erpCount,credate,nameCode,productCompany,
coName,authCode,packSpec,packRatio,bhzxxsbzsl, coName,authCode,packSpec,packRatio,bhzxxsbzsl,
zxxsbzbhsydysl,orderIdFk,count,reCount,productDate,expireDate,bindStatus,bindRlFk,uuidFk,supId,bindSupStatus zxxsbzbhsydysl,orderIdFk,`count`,reCount,productDate,expireDate,bindStatus,bindRlFk,uuidFk,supId,bindSupStatus
,ylqxzcrbarmc,secSalesListNo,firstSalesInvNo,secSalesInvNo,invoiceDate,price) ,ylqxzcrbarmc,secSalesListNo,firstSalesInvNo,secSalesInvNo,invoiceDate,price)
values( values(
#{id}, #{id},

@ -62,7 +62,7 @@
replace replace
INTO stock_order_detail(id, INTO stock_order_detail(id,
orderIdFk,productId,productName,spec,batchNo,productDate, orderIdFk,productId,productName,spec,batchNo,productDate,
expireDate,count,reCount,sweepCount,ylqxzcrbarmc,zczbhhzbapzbh,price,relId,manufactory) expireDate,count,reCount,sweepCount,ylqxzcrbarmc,zczbhhzbapzbh,price,relId,manufactory,firstSalesInvNo,secSalesInvNo,secSalesListNo,invoiceDate)
values( values(
#{id}, #{id},
#{orderIdFk}, #{orderIdFk},
@ -76,14 +76,14 @@
#{reCount}, #{reCount},
#{sweepCount}, #{sweepCount},
#{ylqxzcrbarmc}, #{ylqxzcrbarmc},
#{zczbhhzbapzbh},#{price},#{relId},#{manufactory} #{zczbhhzbapzbh},#{price},#{relId},#{manufactory},#{firstSalesInvNo},#{secSalesInvNo},#{secSalesListNo},#{invoiceDate}
) )
</insert> </insert>
<insert id="insertStockOrderDetails" keyProperty="id" parameterType="com.glxp.sale.admin.entity.inout.StockOrderDetailEntity"> <insert id="insertStockOrderDetails" keyProperty="id" parameterType="com.glxp.sale.admin.entity.inout.StockOrderDetailEntity">
replace INTO stock_order_detail(id, replace INTO stock_order_detail(id,
orderIdFk,productId,productName,spec,batchNo,productDate, orderIdFk,productId,productName,spec,batchNo,productDate,
expireDate,count,reCount,sweepCount,ylqxzcrbarmc,zczbhhzbapzbh,price,relId,manufactory) expireDate,count,reCount,sweepCount,ylqxzcrbarmc,zczbhhzbapzbh,price,relId,manufactory,firstSalesInvNo,secSalesInvNo,secSalesListNo,invoiceDate)
values values
<foreach collection="stockOrderDetailEntities" item="item" index="index" <foreach collection="stockOrderDetailEntities" item="item" index="index"
separator=","> separator=",">
@ -100,7 +100,7 @@
#{item.reCount}, #{item.reCount},
#{item.sweepCount}, #{item.sweepCount},
#{item.ylqxzcrbarmc}, #{item.ylqxzcrbarmc},
#{item.zczbhhzbapzbh},#{item.price},#{item.relId},#{item.manufactory} #{item.zczbhhzbapzbh},#{item.price},#{item.relId},#{item.manufactory},#{item.firstSalesInvNo},#{item.secSalesInvNo},#{item.secSalesListNo},#{item.invoiceDate}
) )
</foreach> </foreach>

@ -0,0 +1,42 @@
<?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.sale.admin.dao.inout.UdimsOrderDetailDao">
<delete id="deleteById" parameterType="Map">
DELETE
FROM io_order_ms_detail
WHERE orderIdFk = #{orderId}
</delete>
<select id="filterOrderDetails" parameterType="Map"
resultType="com.glxp.sale.admin.entity.inout.UdimsOrderDetailBean">
SELECT *
FROM io_order_ms_detail
WHERE `orderIdFk` = #{orderId}
</select>
<insert id="insertOrderDetail" keyProperty="id"
parameterType="com.glxp.sale.admin.entity.inout.UdimsOrderDetailBean">
replace INTO io_order_ms_detail(
uuidFk,price,firstSalesInvNo,secSalesInvNo,secSalesListNo,invoiceDate,orderIdFk,batchNo
)
values
<foreach collection="details" item="item" index="index"
separator=",">
(
#{item.uuidFk},
#{item.price},
#{item.firstSalesInvNo},
#{item.secSalesInvNo},
#{item.secSalesListNo},
#{item.invoiceDate},
#{item.orderIdFk},#{item.batchNo}
)
</foreach>
</insert>
</mapper>

@ -17,10 +17,10 @@
AND mainAction = #{mainAction} AND mainAction = #{mainAction}
</if> </if>
<if test="action != '' and action != null"> <if test="action != '' and action != null">
AND action = #{action} AND `action` = #{action}
</if> </if>
<if test="count != '' and count != null"> <if test="count != '' and count != null">
AND count = #{count} AND `count` = #{count}
</if> </if>
<if test="purchaseType != null"> <if test="purchaseType != null">
@ -104,7 +104,7 @@
<insert id="insertInvProductDetail" keyProperty="id" <insert id="insertInvProductDetail" keyProperty="id"
parameterType="com.glxp.sale.admin.entity.inventory.InvProductDetailEntity"> parameterType="com.glxp.sale.admin.entity.inventory.InvProductDetailEntity">
insert INTO inv_product_detail insert INTO inv_product_detail
(code, productIdFk, orderIdFk, customerId, mainAction, action, count, updateTime, (code, productIdFk, orderIdFk, customerId, mainAction, `action`, `count`, updateTime,
purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId, originCode, invStorageCode, purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId, originCode, invStorageCode,
invWarehouseCode) invWarehouseCode)
values (#{code}, values (#{code},
@ -118,7 +118,7 @@
<insert id="insertInvProductDetails" keyProperty="id" <insert id="insertInvProductDetails" keyProperty="id"
parameterType="com.glxp.sale.admin.entity.inventory.InvProductDetailEntity"> parameterType="com.glxp.sale.admin.entity.inventory.InvProductDetailEntity">
insert INTO inv_product_detail insert INTO inv_product_detail
(code, productIdFk, orderIdFk, customerId, mainAction, action, count, updateTime, (code, productIdFk, orderIdFk, customerId, mainAction, `action`, `count`, updateTime,
purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId,originCode, invStorageCode, purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId,originCode, invStorageCode,
invWarehouseCode) invWarehouseCode)
values values
@ -169,8 +169,8 @@
<if test="productIdFk != null">productIdFk=#{productIdFk},</if> <if test="productIdFk != null">productIdFk=#{productIdFk},</if>
<if test="customerId != null">customerId=#{customerId},</if> <if test="customerId != null">customerId=#{customerId},</if>
<if test="mainAction != null">mainAction=#{mainAction},</if> <if test="mainAction != null">mainAction=#{mainAction},</if>
<if test="action != null">action=#{action},</if> <if test="action != null">`action`=#{action},</if>
<if test="count != null">count=#{count},</if> <if test="count != null">`count`=#{count},</if>
<if test="unitFk != null">unitFk=#{unitFk},</if> <if test="unitFk != null">unitFk=#{unitFk},</if>
<if test="purchaseType != null">purchaseType=#{purchaseType},</if> <if test="purchaseType != null">purchaseType=#{purchaseType},</if>
<if test="batchNo != null">batchNo=#{batchNo},</if> <if test="batchNo != null">batchNo=#{batchNo},</if>
@ -198,7 +198,7 @@
AND mainAction = #{mainAction} AND mainAction = #{mainAction}
</if> </if>
<if test="action != '' and action != null"> <if test="action != '' and action != null">
AND action = #{action} AND `action` = #{action}
</if> </if>
<if test="purchaseType != null"> <if test="purchaseType != null">
AND purchaseType = #{purchaseType} AND purchaseType = #{purchaseType}
@ -244,7 +244,7 @@
AND mainAction = #{mainAction} AND mainAction = #{mainAction}
</if> </if>
<if test="action != '' and action != null"> <if test="action != '' and action != null">
AND action = #{action} AND `action` = #{action}
</if> </if>
<if test="purchaseType != null"> <if test="purchaseType != null">
AND purchaseType = #{purchaseType} AND purchaseType = #{purchaseType}

@ -172,7 +172,7 @@
replace replace
INTO inv_warehouse INTO inv_warehouse
(pid, code, `name`, advanceType, isDefault, (pid, code, `name`, advanceType, isDefault,
status, updateTime, remark,`level`,pcode,spUse) status, updateTime, remark,`level`,pcode,spUse, thirdId, thirdId1, thirdId2, thirdId3, thirdId4)
values ( values (
#{pid}, #{pid},
#{code}, #{code},
@ -184,7 +184,11 @@
#{remark}, #{remark},
#{level}, #{level},
#{pcode}, #{pcode},
#{spUse} #{spUse}, #{thirdId},
#{thirdId1},
#{thirdId2},
#{thirdId3},
#{thirdId4}
) )
</insert> </insert>

@ -144,7 +144,7 @@
AND pcode = #{pcode} AND pcode = #{pcode}
</if> </if>
<if test="level != null"> <if test="level != null">
AND level = #{level} AND `level` = #{level}
</if> </if>
</where> </where>
</select> </select>

Loading…
Cancel
Save