赋码自动生成

This commit is contained in:
yinjinlu-pc\尹金路 2023-03-06 15:38:22 +08:00
parent b6ec8ceeff
commit 2ae38c75a3
11 changed files with 145 additions and 17 deletions

View File

@ -197,12 +197,17 @@ public class UserConstants
/**
* 条码类型
*/
public static final String BARCODE_TYPE_ITEM = "ITEM";
public static final String BARCODE_TYPE_PACKAGE = "PACKAGE";
public static final String BARCODE_TYPE_STOCK = "STOCK";
public static final String BARCODE_TYPE_MACHINERY = "MACHINERY";
public static final String BARCODE_TYPE_WORKSTATION = "WORKSTATION";
public static final String BARCODE_TYPE_WAREHOUSE = "WAREHOUSE";
public static final String BARCODE_TYPE_TRANSORDER= "TRANSORDER";
public static final String BARCODE_TYPE_ITEM = "ITEM"; //物料
public static final String BARCODE_TYPE_PACKAGE = "PACKAGE"; //装箱单
public static final String BARCODE_TYPE_STOCK = "STOCK"; //库存
public static final String BARCODE_TYPE_MACHINERY = "MACHINERY"; //设备
public static final String BARCODE_TYPE_WORKSTATION = "WORKSTATION"; //工作站
public static final String BARCODE_TYPE_WAREHOUSE = "WAREHOUSE"; //仓库
public static final String BARCODE_TYPE_STORAGELOCATION = "LOCATION"; //库区
public static final String BARCODE_TYPE_STORAGEAREA = "AREA"; //库位
public static final String BARCODE_TYPE_TRANSORDER = "TRANSORDER"; //流转单
public static final String BARCODE_TYPE_CLIENT = "CLIENT"; //客户
public static final String BARCODE_TYPE_VENDOR = "VENDOR"; //供应商
public static final String BARCODE_TYPE_SN = "SN";
}

View File

@ -2,6 +2,9 @@ package com.ktg.mes.dv.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ktg.common.constant.UserConstants;
import com.ktg.mes.wm.utils.WmBarCodeUtil;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -34,6 +37,9 @@ public class DvMachineryController extends BaseController
@Autowired
private IDvMachineryService dvMachineryService;
@Autowired
private WmBarCodeUtil wmBarCodeUtil;
/**
* 查询设备列表
*/
@ -77,7 +83,9 @@ public class DvMachineryController extends BaseController
@PostMapping
public AjaxResult add(@RequestBody DvMachinery dvMachinery)
{
return toAjax(dvMachineryService.insertDvMachinery(dvMachinery));
dvMachineryService.insertDvMachinery(dvMachinery);
wmBarCodeUtil.generateBarCode(UserConstants.BARCODE_TYPE_MACHINERY,dvMachinery.getMachineryId(),dvMachinery.getMachineryCode(),dvMachinery.getMachineryName());
return AjaxResult.success(dvMachinery.getMachineryId());
}
/**

View File

@ -4,6 +4,7 @@ import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ktg.common.constant.UserConstants;
import com.ktg.mes.wm.utils.WmBarCodeUtil;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -36,6 +37,9 @@ public class MdClientController extends BaseController
@Autowired
private IMdClientService mdClientService;
@Autowired
private WmBarCodeUtil barCodeUtil;
/**
* 查询客户列表
*/
@ -91,7 +95,10 @@ public class MdClientController extends BaseController
return AjaxResult.error("客户简称已存在!");
}
return toAjax(mdClientService.insertMdClient(mdClient));
mdClientService.insertMdClient(mdClient);
barCodeUtil.generateBarCode(UserConstants.BARCODE_TYPE_CLIENT,mdClient.getClientId(),mdClient.getClientCode(),mdClient.getClientName());
return AjaxResult.success(mdClient.getClientId());
}
/**

View File

@ -12,6 +12,7 @@ import com.ktg.common.enums.BusinessType;
import com.ktg.common.utils.StringUtils;
import com.ktg.mes.md.domain.MdItem;
import com.ktg.mes.md.service.IItemTypeService;
import com.ktg.mes.wm.utils.WmBarCodeUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
@ -29,6 +30,9 @@ public class MdItemController extends BaseController {
@Autowired
private IItemTypeService iItemTypeService;
@Autowired
private WmBarCodeUtil barcodeUtil;
/**
* 列表查询
* @param mdItem
@ -77,7 +81,9 @@ public class MdItemController extends BaseController {
mdItem.setItemOrProduct(type.getItemOrProduct());
}
mdItem.setCreateBy(getUsername());
return toAjax(mdItemService.insertMdItem(mdItem));
mdItemService.insertMdItem(mdItem);
barcodeUtil.generateBarCode(UserConstants.BARCODE_TYPE_ITEM,mdItem.getItemId(),mdItem.getItemCode(), mdItem.getItemName());
return AjaxResult.success(mdItem.getItemId());
}
/**

View File

@ -4,6 +4,7 @@ import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ktg.common.constant.UserConstants;
import com.ktg.mes.wm.utils.WmBarCodeUtil;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -36,6 +37,9 @@ public class MdVendorController extends BaseController
@Autowired
private IMdVendorService mdVendorService;
@Autowired
private WmBarCodeUtil barCodeUtil;
/**
* 查询供应商列表
*/
@ -89,7 +93,10 @@ public class MdVendorController extends BaseController
return AjaxResult.error("供应商简称已存在!");
}
return toAjax(mdVendorService.insertMdVendor(mdVendor));
mdVendorService.insertMdVendor(mdVendor);
barCodeUtil.generateBarCode(UserConstants.BARCODE_TYPE_VENDOR,mdVendor.getVendorId(),mdVendor.getVendorCode(),mdVendor.getVendorName());
return AjaxResult.success(mdVendor.getVendorId());
}
/**

View File

@ -15,6 +15,7 @@ import com.ktg.mes.wm.domain.WmWarehouse;
import com.ktg.mes.wm.service.IWmStorageAreaService;
import com.ktg.mes.wm.service.IWmStorageLocationService;
import com.ktg.mes.wm.service.IWmWarehouseService;
import com.ktg.mes.wm.utils.WmBarCodeUtil;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@ -71,6 +72,9 @@ public class MdWorkstationController extends BaseController
@Autowired
private IWmStorageAreaService wmStorageAreaService;
@Autowired
private WmBarCodeUtil barCodeUtil;
/**
* 查询工作站列表
*/
@ -156,8 +160,9 @@ public class MdWorkstationController extends BaseController
mdWorkstation.setAreaId(area.getAreaId());
mdWorkstation.setAreaCode(area.getAreaCode());
mdWorkstation.setAreaName(area.getAreaName());
return toAjax(mdWorkstationService.insertMdWorkstation(mdWorkstation));
mdWorkstationService.insertMdWorkstation(mdWorkstation);
barCodeUtil.generateBarCode(UserConstants.BARCODE_TYPE_WORKSTATION,mdWorkstation.getWorkstationId(), mdWorkstation.getWorkstationCode(),mdWorkstation.getWorkstationName());
return AjaxResult.success(mdWorkstation.getWorkstationId());
}
/**

View File

@ -2,6 +2,9 @@ package com.ktg.mes.pro.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ktg.common.constant.UserConstants;
import com.ktg.mes.wm.utils.WmBarCodeUtil;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -34,6 +37,9 @@ public class ProTransOrderController extends BaseController
@Autowired
private IProTransOrderService proTransOrderService;
@Autowired
private WmBarCodeUtil wmBarCodeUtil;
/**
* 查询流转单列表
*/
@ -77,7 +83,9 @@ public class ProTransOrderController extends BaseController
@PostMapping
public AjaxResult add(@RequestBody ProTransOrder proTransOrder)
{
return toAjax(proTransOrderService.insertProTransOrder(proTransOrder));
proTransOrderService.insertProTransOrder(proTransOrder);
wmBarCodeUtil.generateBarCode(UserConstants.BARCODE_TYPE_TRANSORDER,proTransOrder.getTransOrderId(),proTransOrder.getTransOrderCode(),null);
return AjaxResult.success(proTransOrder.getTransOrderId());
}
/**

View File

@ -2,6 +2,9 @@ package com.ktg.mes.wm.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ktg.common.constant.UserConstants;
import com.ktg.mes.wm.utils.WmBarCodeUtil;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -34,6 +37,9 @@ public class WmStorageAreaController extends BaseController
@Autowired
private IWmStorageAreaService wmStorageAreaService;
@Autowired
private WmBarCodeUtil barCodeUtil;
/**
* 查询库位设置列表
*/
@ -77,7 +83,9 @@ public class WmStorageAreaController extends BaseController
@PostMapping
public AjaxResult add(@RequestBody WmStorageArea wmStorageArea)
{
return toAjax(wmStorageAreaService.insertWmStorageArea(wmStorageArea));
wmStorageAreaService.insertWmStorageArea(wmStorageArea);
barCodeUtil.generateBarCode(UserConstants.BARCODE_TYPE_STORAGEAREA,wmStorageArea.getAreaId(),wmStorageArea.getAreaCode(),wmStorageArea.getAreaName());
return AjaxResult.success(wmStorageArea.getAreaId());
}
/**

View File

@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletResponse;
import com.ktg.common.constant.UserConstants;
import com.ktg.mes.wm.service.IWmStorageAreaService;
import com.ktg.mes.wm.utils.WmBarCodeUtil;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@ -41,6 +42,9 @@ public class WmStorageLocationController extends BaseController
@Autowired
private IWmStorageAreaService wmStorageAreaService;
@Autowired
private WmBarCodeUtil wmBarCodeUtil;
/**
* 查询库区设置列表
*/
@ -90,7 +94,9 @@ public class WmStorageLocationController extends BaseController
if(UserConstants.NOT_UNIQUE.equals(wmStorageLocationService.checkLocationNameUnique(wmStorageLocation))){
return AjaxResult.error("库区名称已存在!");
}
return toAjax(wmStorageLocationService.insertWmStorageLocation(wmStorageLocation));
wmStorageLocationService.insertWmStorageLocation(wmStorageLocation);
wmBarCodeUtil.generateBarCode(UserConstants.BARCODE_TYPE_WAREHOUSE,wmStorageLocation.getLocationId(),wmStorageLocation.getLocationCode(),wmStorageLocation.getLocationName());
return AjaxResult.success(wmStorageLocation.getLocationId());
}
/**

View File

@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletResponse;
import com.ktg.common.constant.UserConstants;
import com.ktg.mes.wm.service.IWmStorageAreaService;
import com.ktg.mes.wm.service.IWmStorageLocationService;
import com.ktg.mes.wm.utils.WmBarCodeUtil;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@ -45,6 +46,9 @@ public class WmWarehouseController extends BaseController
@Autowired
private IWmStorageAreaService wmStorageAreaService;
@Autowired
private WmBarCodeUtil wmBarCodeUtil;
/**
* 查询仓库设置列表
*/
@ -104,7 +108,10 @@ public class WmWarehouseController extends BaseController
return AjaxResult.error("仓库名称已存在!");
}
return toAjax(wmWarehouseService.insertWmWarehouse(wmWarehouse));
wmWarehouseService.insertWmWarehouse(wmWarehouse);
wmBarCodeUtil.generateBarCode(UserConstants.BARCODE_TYPE_WAREHOUSE,wmWarehouse.getWarehouseId(),wmWarehouse.getWarehouseCode(),wmWarehouse.getWarehouseName());
return AjaxResult.success(wmWarehouse.getWarehouseId());
}
/**

View File

@ -0,0 +1,61 @@
package com.ktg.mes.wm.utils;
import com.ktg.common.constant.UserConstants;
import com.ktg.mes.wm.domain.WmBarcode;
import com.ktg.mes.wm.domain.WmBarcodeConfig;
import com.ktg.mes.wm.service.IWmBarcodeConfigService;
import com.ktg.mes.wm.service.IWmBarcodeService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.List;
@Component
public class WmBarCodeUtil {
private static final Logger log = LoggerFactory.getLogger(WmBarCodeUtil.class);
@Autowired
private IWmBarcodeConfigService wmBarcodeConfigService;
@Autowired
private IWmBarcodeService wmBarcodeService;
public void generateBarCode(String type,Long businessId,String businessCode,String businessName){
//先判断当前类型的业务是否配置了需要自动生成条码
if(!wmBarcodeConfigService.isAutoGen(type)){
//无需自动生成条码
return ;
}
WmBarcodeConfig param = new WmBarcodeConfig();
param.setBarcodeType(type);
List<WmBarcodeConfig> confgs = wmBarcodeConfigService.selectWmBarcodeConfigList(param);
if(CollectionUtils.isEmpty(confgs)){
log.warn("当前类型的业务未配置对应的条码生成规则!{}",type);
return ;
}
WmBarcodeConfig config = confgs.get(0);
WmBarcode barcode = new WmBarcode();
barcode.setBarcodeFormart(config.getBarcodeFormart());
barcode.setBarcodeType(type);
barcode.setBarcodeContent(config.getContentFormart().replace("{BUSINESSCODE}",businessCode));
barcode.setBussinessCode(businessCode);
barcode.setEnableFlag(UserConstants.YES);
barcode.setBussinessId(businessId);
if(UserConstants.NOT_UNIQUE.equals(wmBarcodeService.checkBarcodeUnique(barcode))){
log.warn("当前业务对象的赋码已存在!{} {}",type,businessCode);
return ;
}
String path = wmBarcodeService.generateBarcode(barcode);
barcode.setBarcodeUrl(path);
wmBarcodeService.insertWmBarcode(barcode);
}
}