Compare commits
5 Commits
d50e0738cf
...
893717bfe2
| Author | SHA1 | Date |
|---|---|---|
|
|
893717bfe2 | |
|
|
1080638f20 | |
|
|
df144e410c | |
|
|
ecfe26d708 | |
|
|
9eb7ffbe02 |
|
|
@ -2,24 +2,27 @@ package com.nflg.wms.admin.controller;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.nflg.wms.admin.service.CenterOutboundControllerService;
|
import com.nflg.wms.admin.service.CenterOutboundControllerService;
|
||||||
import com.nflg.wms.admin.service.CenterReturnControllerService;
|
import com.nflg.wms.admin.service.CenterReturnControllerService;
|
||||||
import com.nflg.wms.common.pojo.ApiResult;
|
import com.nflg.wms.common.pojo.ApiResult;
|
||||||
import com.nflg.wms.common.pojo.PageData;
|
import com.nflg.wms.common.pojo.PageData;
|
||||||
|
import com.nflg.wms.common.pojo.dto.PackageMaterialDTO;
|
||||||
import com.nflg.wms.common.pojo.qo.*;
|
import com.nflg.wms.common.pojo.qo.*;
|
||||||
import com.nflg.wms.common.pojo.vo.*;
|
import com.nflg.wms.common.pojo.vo.*;
|
||||||
import com.nflg.wms.common.util.PageUtil;
|
import com.nflg.wms.common.util.PageUtil;
|
||||||
import com.nflg.wms.repository.entity.WmsCenterOutboundItem;
|
import com.nflg.wms.repository.entity.*;
|
||||||
import com.nflg.wms.repository.entity.WmsCenterOutboundScan;
|
import com.nflg.wms.repository.service.*;
|
||||||
import com.nflg.wms.repository.entity.WmsCenterReturnItem;
|
|
||||||
import com.nflg.wms.repository.service.IWmsCenterOutboundItemService;
|
|
||||||
import com.nflg.wms.repository.service.IWmsCenterOutboundScanService;
|
|
||||||
import com.nflg.wms.repository.service.IWmsCenterOutboundService;
|
|
||||||
import com.nflg.wms.starter.annotation.ApiMark;
|
import com.nflg.wms.starter.annotation.ApiMark;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
@ -43,6 +46,125 @@ public class CeneterOutboundControlelr {
|
||||||
@Resource
|
@Resource
|
||||||
private CenterOutboundControllerService outboundControllerService;
|
private CenterOutboundControllerService outboundControllerService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IWmsStructuralPackageService wmsStructuralPackageService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IKitBackupService kitBackupService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IKitdetailBackupService kitdetailBackupService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IWmsModelService wmsModelService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IRoleButtonMapService roleButtonMapService ;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IMenuButtonService menuButtonService;
|
||||||
|
|
||||||
|
@GetMapping("idGenery")
|
||||||
|
public ApiResult<Long> idGenery() {
|
||||||
|
return ApiResult.success(IdUtil.getSnowflakeNextId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("initrole")
|
||||||
|
public ApiResult<Void> initRole() {
|
||||||
|
List<RoleButtonMap> roleButtonMaps = new ArrayList<>();
|
||||||
|
List<MenuButton> menuButtons = menuButtonService.list();
|
||||||
|
for (MenuButton menuButton : menuButtons) {
|
||||||
|
RoleButtonMap roleButtonMap = new RoleButtonMap();
|
||||||
|
roleButtonMap.setRoleId(1L);
|
||||||
|
roleButtonMap.setId(IdUtil.getSnowflakeNextId());
|
||||||
|
roleButtonMap.setButtonId(menuButton.getId());
|
||||||
|
|
||||||
|
roleButtonMaps.add(roleButtonMap);
|
||||||
|
}
|
||||||
|
roleButtonMapService.saveBatch(roleButtonMaps);
|
||||||
|
return ApiResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("syncData")
|
||||||
|
public ApiResult<Void> syncData(@RequestParam String orderId) {
|
||||||
|
/**
|
||||||
|
* K001289
|
||||||
|
* K001254
|
||||||
|
* K001296
|
||||||
|
* K000291
|
||||||
|
* K000642
|
||||||
|
* K001375
|
||||||
|
* K001373
|
||||||
|
* K001432
|
||||||
|
* K001437
|
||||||
|
* K001523
|
||||||
|
*/
|
||||||
|
List<KitBackup> kits = kitBackupService
|
||||||
|
.lambdaQuery()
|
||||||
|
.eq(KitBackup::getFNo, orderId)
|
||||||
|
.list();
|
||||||
|
// List<WmsStructuralPackage> packages = new ArrayList<>();
|
||||||
|
for (KitBackup kit : kits) {
|
||||||
|
try {
|
||||||
|
WmsStructuralPackage packageEntity = new WmsStructuralPackage();
|
||||||
|
packageEntity.setId(IdUtil.getSnowflakeNextId());
|
||||||
|
packageEntity.setNo(kit.getPNo());
|
||||||
|
packageEntity.setOrderNo(kit.getFNo());
|
||||||
|
packageEntity.setName(kit.getPName());
|
||||||
|
packageEntity.setDrawingNo(kit.getDNo());
|
||||||
|
packageEntity.setVersion(kit.getVNo());
|
||||||
|
packageEntity.setWeight(kit.getWeight());
|
||||||
|
packageEntity.setCate(kit.getKClass());
|
||||||
|
packageEntity.setCreateTime(kit.getCDatee());
|
||||||
|
packageEntity.setCreateBy("系统导入");
|
||||||
|
packageEntity.setEco(kit.getEco());
|
||||||
|
packageEntity.setRemark(kit.getRemark());
|
||||||
|
packageEntity.setEnable(false);
|
||||||
|
String[] modelIds = kit.getSpec().split(",");
|
||||||
|
List<WmsModel> models = wmsModelService.lambdaQuery().in(WmsModel::getNo, modelIds).list();
|
||||||
|
if (CollectionUtil.isNotEmpty(models)) {
|
||||||
|
List<Long> lIds = new ArrayList<>();
|
||||||
|
lIds.addAll(models.stream().map(WmsModel::getId).toList());
|
||||||
|
String result = String.join(",", lIds.stream().map(String::valueOf).toArray(String[]::new));
|
||||||
|
packageEntity.setModelIds(String.join(",", result));
|
||||||
|
}
|
||||||
|
List<KitdetailBackup> details = kitdetailBackupService.lambdaQuery()
|
||||||
|
.eq(KitdetailBackup::getFNo, kit.getFNo())
|
||||||
|
.list();
|
||||||
|
if (CollectionUtil.isNotEmpty(details)) {
|
||||||
|
List<PackageMaterialDTO> materials = new ArrayList<>();
|
||||||
|
for (KitdetailBackup detail : details) {
|
||||||
|
if (detail.getMPartNo().equals(""))
|
||||||
|
continue;
|
||||||
|
;
|
||||||
|
PackageMaterialDTO materialDTO = new PackageMaterialDTO();
|
||||||
|
materialDTO.setNo(detail.getMPartNo());
|
||||||
|
materialDTO.setName(detail.getMPartName());
|
||||||
|
materialDTO.setDrawingNo(detail.getDNo());
|
||||||
|
materialDTO.setStation(detail.getWorkstation());
|
||||||
|
materialDTO.setTray(detail.getPalletItem());
|
||||||
|
materialDTO.setNum(new BigDecimal(detail.getKeQty()));
|
||||||
|
materialDTO.setWeight(new BigDecimal(detail.getKeWeight().equals("") ? "0" : detail.getKeWeight()))
|
||||||
|
;
|
||||||
|
materialDTO.setVersion(Integer.valueOf(detail.getDVer()));
|
||||||
|
materialDTO.setImage("");
|
||||||
|
materialDTO.setCreateBy("系统导入");
|
||||||
|
materialDTO.setCreateTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
||||||
|
materials.add(materialDTO);
|
||||||
|
}
|
||||||
|
packageEntity.setMaterials(JSONUtil.toJsonStr(materials));
|
||||||
|
}
|
||||||
|
|
||||||
|
wmsStructuralPackageService.save(packageEntity);
|
||||||
|
//packages.add(packageEntity);
|
||||||
|
} catch (Exception e) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//wmsStructuralPackageService.saveBatch(packages);
|
||||||
|
return ApiResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询领料单列表
|
* 查询领料单列表
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -104,7 +104,8 @@ public class DictionaryController extends BaseController {
|
||||||
@PostMapping("deleteDictionaryItem")
|
@PostMapping("deleteDictionaryItem")
|
||||||
@ApiMark(moduleName = "字典管理", apiName = "删除字典值")
|
@ApiMark(moduleName = "字典管理", apiName = "删除字典值")
|
||||||
public ApiResult<Void> deleteDictionaryItem(@Valid @RequestBody @NotEmpty List<Long> ids) {
|
public ApiResult<Void> deleteDictionaryItem(@Valid @RequestBody @NotEmpty List<Long> ids) {
|
||||||
dictionaryItemService.removeByIds(ids);
|
dictionaryControllerService.deleteDictionaryItems(ids);
|
||||||
|
//dictionaryItemService.removeByIds(ids);
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,10 +18,7 @@ import com.nflg.wms.admin.service.SAPCommonService;
|
||||||
import com.nflg.wms.common.pojo.ApiResult;
|
import com.nflg.wms.common.pojo.ApiResult;
|
||||||
import com.nflg.wms.common.pojo.PageData;
|
import com.nflg.wms.common.pojo.PageData;
|
||||||
import com.nflg.wms.common.pojo.dto.*;
|
import com.nflg.wms.common.pojo.dto.*;
|
||||||
import com.nflg.wms.common.pojo.qo.PoReceiveTaskConfirmQO;
|
import com.nflg.wms.common.pojo.qo.*;
|
||||||
import com.nflg.wms.common.pojo.qo.PoReceiveTaskItemConfirmQO;
|
|
||||||
import com.nflg.wms.common.pojo.qo.SRMOrderSearchQO;
|
|
||||||
import com.nflg.wms.common.pojo.qo.SrmMaterialReceiptQO;
|
|
||||||
import com.nflg.wms.common.pojo.vo.*;
|
import com.nflg.wms.common.pojo.vo.*;
|
||||||
import com.nflg.wms.common.util.DateTimeUtil;
|
import com.nflg.wms.common.util.DateTimeUtil;
|
||||||
import com.nflg.wms.common.util.UserUtil;
|
import com.nflg.wms.common.util.UserUtil;
|
||||||
|
|
@ -38,10 +35,7 @@ import org.springframework.web.bind.annotation.*;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -173,8 +167,8 @@ public class NormalPGIController extends BaseController {
|
||||||
List<SrmMaterialReceiptScanCodes> srmMaterialReceiptScanCodes = new ArrayList<>();
|
List<SrmMaterialReceiptScanCodes> srmMaterialReceiptScanCodes = new ArrayList<>();
|
||||||
List<QCMaterialSyncDTO> qcMaterialSyncDTOS = new ArrayList<>();
|
List<QCMaterialSyncDTO> qcMaterialSyncDTOS = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
for (SrmMaterialReceiptQO item : request) {
|
for (SrmMaterialReceiptQO item : request) {
|
||||||
|
|
||||||
if (item.getReceiptNum().equals(BigDecimal.ZERO))
|
if (item.getReceiptNum().equals(BigDecimal.ZERO))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
@ -200,6 +194,22 @@ public class NormalPGIController extends BaseController {
|
||||||
setPoReceive(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder);
|
setPoReceive(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 盘点条码是否重复
|
||||||
|
Map<String, Long> duplicateCodes = srmMaterialReceiptScanCodes.stream()
|
||||||
|
.collect(Collectors.groupingBy(
|
||||||
|
SrmMaterialReceiptScanCodes::getCodeId,
|
||||||
|
Collectors.counting()
|
||||||
|
))
|
||||||
|
.entrySet()
|
||||||
|
.stream()
|
||||||
|
.filter(entry -> entry.getValue() > 1)
|
||||||
|
.collect(Collectors.toMap(
|
||||||
|
Map.Entry::getKey,
|
||||||
|
Map.Entry::getValue
|
||||||
|
));
|
||||||
|
|
||||||
|
VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(duplicateCodes)).throwMessage("存在重复条码");
|
||||||
|
|
||||||
normalPGIControllerService.takeDelivery(wmsPoReceipt, wmsQcReceive, wmsPoReceiptItems, wmsQcReceiveItems, srmMaterialReceiptScanCodes, qcMaterialSyncDTOS, order.getId());
|
normalPGIControllerService.takeDelivery(wmsPoReceipt, wmsQcReceive, wmsPoReceiptItems, wmsQcReceiveItems, srmMaterialReceiptScanCodes, qcMaterialSyncDTOS, order.getId());
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
|
|
@ -448,23 +458,29 @@ public class NormalPGIController extends BaseController {
|
||||||
SrmMaterialReceiptQO item,
|
SrmMaterialReceiptQO item,
|
||||||
SAPSyncParamsDTO materialInfoInOrder
|
SAPSyncParamsDTO materialInfoInOrder
|
||||||
) {
|
) {
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(codes)) {
|
if (CollectionUtil.isNotEmpty(codes)) {
|
||||||
codes.forEach(code -> {
|
// 根据 BatchNumber 和 SerialNumbers 分组并汇总 CodeNum
|
||||||
|
Map<String, BigDecimal> batchNumbers = codes.stream()
|
||||||
|
.collect(Collectors.groupingBy(SrmMaterialReceiptScanCodes::getKey,
|
||||||
|
Collectors.mapping(SrmMaterialReceiptScanCodes::getCodeNum, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add))));
|
||||||
|
for (Map.Entry<String, BigDecimal> entry : batchNumbers.entrySet()) {
|
||||||
|
String[] keys = entry.getKey().split(";", -1);
|
||||||
SRMLineVOListItem srmItem = new SRMLineVOListItem();
|
SRMLineVOListItem srmItem = new SRMLineVOListItem();
|
||||||
srmItem.setItemCode(item.getItemCode());
|
srmItem.setItemCode(item.getItemCode());
|
||||||
srmItem.setItemName(materialInfoInOrder.getMaktx());
|
srmItem.setItemName(materialInfoInOrder.getMaktx());
|
||||||
srmItem.setUnit(materialInfoInOrder.getMeins());
|
srmItem.setUnit(materialInfoInOrder.getMeins());
|
||||||
srmItem.setFactory(materialInfoInOrder.getWerks());
|
srmItem.setFactory(materialInfoInOrder.getWerks());
|
||||||
srmItem.setReceivedWarehouse(materialInfoInOrder.getWarehouseNo());
|
srmItem.setReceivedWarehouse(materialInfoInOrder.getWarehouseNo());
|
||||||
srmItem.setReceiveBatchNum(code.getBatchNumber());
|
srmItem.setReceiveBatchNum(keys[0]);
|
||||||
srmItem.setReceivedQty(code.getCodeNum());
|
srmItem.setReceivedQty(entry.getValue());
|
||||||
srmItem.setSerialNum(code.getSerialNumbers());
|
srmItem.setSerialNum(keys[1]);
|
||||||
srmItem.setLineNumber(Integer.valueOf(item.getLineNumber()));
|
srmItem.setLineNumber(Integer.valueOf(item.getLineNumber()));
|
||||||
srmItem.setNoteNum(item.getNoteNum());
|
srmItem.setNoteNum(item.getNoteNum());
|
||||||
srmItem.setReceivedDate(DateTimeUtil.format(LocalDate.now(), "yyyy-MM-dd"));
|
srmItem.setReceivedDate(DateTimeUtil.format(LocalDate.now(), "yyyy-MM-dd"));
|
||||||
srmItem.setInspectionFlag("Y");
|
srmItem.setInspectionFlag("Y");
|
||||||
pushDto.getContent().getLineVOList().add(srmItem);
|
pushDto.getContent().getLineVOList().add(srmItem);
|
||||||
});
|
}
|
||||||
} else {
|
} else {
|
||||||
SRMLineVOListItem srmItem = new SRMLineVOListItem();
|
SRMLineVOListItem srmItem = new SRMLineVOListItem();
|
||||||
srmItem.setItemCode(item.getItemCode());
|
srmItem.setItemCode(item.getItemCode());
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.nflg.wms.admin.pojo.document;
|
package com.nflg.wms.admin.pojo.document;
|
||||||
|
|
||||||
|
import com.nflg.wms.common.pojo.dto.SRMTokenInputDTO;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
@ -50,4 +51,10 @@ public class SrmMaterialReceiptScanCodes{
|
||||||
* 二维码内容
|
* 二维码内容
|
||||||
*/
|
*/
|
||||||
private String codeContent;
|
private String codeContent;
|
||||||
|
|
||||||
|
private String key;
|
||||||
|
|
||||||
|
public String getKey() {
|
||||||
|
return this.batchNumber + ";" + this.serialNumbers;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,4 +9,6 @@ import java.util.List;
|
||||||
@Repository
|
@Repository
|
||||||
public interface SrmMaterialReceiptScanCodesRepository extends MongoRepository<SrmMaterialReceiptScanCodes, String> {
|
public interface SrmMaterialReceiptScanCodesRepository extends MongoRepository<SrmMaterialReceiptScanCodes, String> {
|
||||||
List<SrmMaterialReceiptScanCodes> findByOrderItemId(String orderItemId);
|
List<SrmMaterialReceiptScanCodes> findByOrderItemId(String orderItemId);
|
||||||
|
|
||||||
|
List<SrmMaterialReceiptScanCodes> findByCodeIdIn(List<String> attr0);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -70,12 +70,10 @@ public class DepartmentControllerService {
|
||||||
VUtil.trueThrowBusinessError(Objects.equals(department.getSource(), 1)).throwMessage("不能删除从AD域同步的部门信息");
|
VUtil.trueThrowBusinessError(Objects.equals(department.getSource(), 1)).throwMessage("不能删除从AD域同步的部门信息");
|
||||||
VUtil.trueThrowBusinessError(deptService.lambdaQuery()
|
VUtil.trueThrowBusinessError(deptService.lambdaQuery()
|
||||||
.eq(Department::getParentId, id)
|
.eq(Department::getParentId, id)
|
||||||
.exists())
|
.exists()) .throwMessage("删除失败,该部门存在下级部门");
|
||||||
.throwMessage("删除失败,该部门存在下级部门");
|
|
||||||
VUtil.trueThrowBusinessError(userInteriorService.lambdaQuery()
|
VUtil.trueThrowBusinessError(userInteriorService.lambdaQuery()
|
||||||
.eq(UserInterior::getDeptId, id)
|
.eq(UserInterior::getDeptId, id)
|
||||||
.exists())
|
.exists()).throwMessage("删除失败,该部门绑定了用户");
|
||||||
.throwMessage("删除失败,该部门绑定了用户");
|
|
||||||
deptService.delete(id);
|
deptService.delete(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -176,4 +176,8 @@ public class DictionaryControllerService {
|
||||||
public List<DictionaryItem> getListByDictionaryCode(@Valid @RequestParam @NotBlank String dictionaryCode) {
|
public List<DictionaryItem> getListByDictionaryCode(@Valid @RequestParam @NotBlank String dictionaryCode) {
|
||||||
return dictionaryItemService.getListByDictionaryCode(dictionaryCode);
|
return dictionaryItemService.getListByDictionaryCode(dictionaryCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void deleteDictionaryItems(@Valid @NotEmpty List<Long> ids) {
|
||||||
|
dictionaryService.deleteItems(ids);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,8 @@ public class MenuControllerService {
|
||||||
private IMenuButtonApiMapService menuButtonApiMapService;
|
private IMenuButtonApiMapService menuButtonApiMapService;
|
||||||
|
|
||||||
public List<MenuAuthorizeVO> getMenuForAuthorize(Long roleId) {
|
public List<MenuAuthorizeVO> getMenuForAuthorize(Long roleId) {
|
||||||
return menuService.getMenuForAuthorize(roleId);
|
return menuService.getNodeForAuthorize(roleId);
|
||||||
|
// return menuService.getMenuForAuthorize(roleId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public IPage<MenuVO> searchMenu(@Valid MenuSearchQO request) {
|
public IPage<MenuVO> searchMenu(@Valid MenuSearchQO request) {
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@ import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
@ -84,8 +85,10 @@ public class MultilingualControllerService {
|
||||||
return webComponentService.search(request);
|
return webComponentService.search(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
public void deleteWebComponent(@Valid @NotEmpty List<Long> ids) {
|
public void deleteWebComponent(@Valid @NotEmpty List<Long> ids) {
|
||||||
webComponentService.removeByIds(ids);
|
webComponentService.removeByIds(ids);
|
||||||
|
webComponentTranslateService.remove(new LambdaQueryWrapper<WebComponentTranslate>().in(WebComponentTranslate::getComponentId, ids));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void exportWebComponentTranslates(HttpServletResponse response, @Valid WebComponentSearchQO request) throws IOException {
|
public void exportWebComponentTranslates(HttpServletResponse response, @Valid WebComponentSearchQO request) throws IOException {
|
||||||
|
|
|
||||||
|
|
@ -183,7 +183,10 @@ public class NormalPGIControllerService {
|
||||||
).throwMessage("此物料[" + item.getItemCode() + "]必须填写序列号,订单号:" + item.getPoNum());
|
).throwMessage("此物料[" + item.getItemCode() + "]必须填写序列号,订单号:" + item.getPoNum());
|
||||||
}
|
}
|
||||||
List<SrmMaterialReceiptScanCodes> srmMaterialReceiptScanCodes = new ArrayList<>();
|
List<SrmMaterialReceiptScanCodes> srmMaterialReceiptScanCodes = new ArrayList<>();
|
||||||
|
List<String> codeIds = new ArrayList<>();
|
||||||
for (PDAScanCodeQO scanCode : item.getScanCodes()) {
|
for (PDAScanCodeQO scanCode : item.getScanCodes()) {
|
||||||
|
VUtil.trueThrowBusinessError(codeIds.contains(scanCode.getCodeId())).throwMessage("此物料[" + item.getItemCode() + "]中存在重复的条码" + scanCode.getCodeId());
|
||||||
|
codeIds.add(scanCode.getCodeId());
|
||||||
srmMaterialReceiptScanCodes.add(
|
srmMaterialReceiptScanCodes.add(
|
||||||
new SrmMaterialReceiptScanCodes()
|
new SrmMaterialReceiptScanCodes()
|
||||||
.setOrderItemId(item.getId())
|
.setOrderItemId(item.getId())
|
||||||
|
|
@ -194,6 +197,11 @@ public class NormalPGIControllerService {
|
||||||
.setSerialNumbers(scanCode.getSerialNumbers())
|
.setSerialNumbers(scanCode.getSerialNumbers())
|
||||||
.setCodeContent(scanCode.getCodeContent()));
|
.setCodeContent(scanCode.getCodeContent()));
|
||||||
}
|
}
|
||||||
|
//查看是否有重复的条码
|
||||||
|
|
||||||
|
List<SrmMaterialReceiptScanCodes> existingCodes = srmMaterialReceiptCanCodesRepository.findByCodeIdIn(codeIds);
|
||||||
|
VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(existingCodes)).throwMessage("存在已使用的条码,不能重复使用");
|
||||||
|
|
||||||
return srmMaterialReceiptScanCodes;
|
return srmMaterialReceiptScanCodes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -253,8 +261,8 @@ public class NormalPGIControllerService {
|
||||||
//修改收货单的物料凭证和年度物料凭证
|
//修改收货单的物料凭证和年度物料凭证
|
||||||
if (CollectionUtil.isNotEmpty(ids)) {
|
if (CollectionUtil.isNotEmpty(ids)) {
|
||||||
wmsQcReceiveItemService.lambdaUpdate()
|
wmsQcReceiveItemService.lambdaUpdate()
|
||||||
.set(WmsQcReceiveItem::getMaterialDoc, zwm3A17ReturnDTO.getKey().getKey())
|
.set(WmsQcReceiveItem::getMaterialDoc, zwm3A17ReturnDTO.getValue().getKey())
|
||||||
.set(WmsQcReceiveItem::getMaterialDocYear, zwm3A17ReturnDTO.getKey().getValue())
|
.set(WmsQcReceiveItem::getMaterialDocYear, zwm3A17ReturnDTO.getValue().getValue())
|
||||||
.in(WmsQcReceiveItem::getId, ids)
|
.in(WmsQcReceiveItem::getId, ids)
|
||||||
.update();
|
.update();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,7 @@ public class PositionControllerService {
|
||||||
.throwMessage("职位已存在");
|
.throwMessage("职位已存在");
|
||||||
positionService.updateById(new Position()
|
positionService.updateById(new Position()
|
||||||
.setId(request.getId())
|
.setId(request.getId())
|
||||||
|
.setCode(StringUtil.toPinYin(request.getName()))
|
||||||
.setName(request.getName())
|
.setName(request.getName())
|
||||||
.setEnable(request.getEnable())
|
.setEnable(request.getEnable())
|
||||||
.setRemark(request.getRemark())
|
.setRemark(request.getRemark())
|
||||||
|
|
|
||||||
|
|
@ -43,9 +43,7 @@ public class RoleControllerService {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateRole(RoleUpdateQO request) {
|
public void updateRole(RoleUpdateQO request) {
|
||||||
if (StrUtil.isBlank(request.getCode())){
|
|
||||||
request.setCode(toPinYin(request.getName()));
|
request.setCode(toPinYin(request.getName()));
|
||||||
}
|
|
||||||
roleService.update(request, UserUtil.getUserName());
|
roleService.update(request, UserUtil.getUserName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -404,7 +404,7 @@ public class UserControllerService {
|
||||||
|
|
||||||
public IPage<UserSupplierVO> searchSupplier(@Valid UserSupplierSearchQO request) {
|
public IPage<UserSupplierVO> searchSupplier(@Valid UserSupplierSearchQO request) {
|
||||||
IPage<UserSupplierVO> pu = userSupplierService.search(request);
|
IPage<UserSupplierVO> pu = userSupplierService.search(request);
|
||||||
pu.getRecords().forEach(userVO -> userVO.setRoles(userRoleMapService.getAuthorizeRole(userVO.getId())));
|
pu.getRecords().forEach(userVO -> userVO.setRoleIds(userRoleMapService.getAuthorizeRole(userVO.getId())));
|
||||||
return pu;
|
return pu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.nflg.wms.admin;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class DataTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test() {
|
||||||
|
// SapMetaPrintTest sapMetaPrintTest = new SapMetaPrintTest();
|
||||||
|
// sapMetaPrintTest.ZIM_001();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -165,6 +165,18 @@ public class SapMetaPrintTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void ZWM3A19() throws JCoException {
|
||||||
|
printMeta("ZWM3A19");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void ZWM3A20() throws JCoException {
|
||||||
|
printMeta("ZWM3A20");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void printMeta(String functionName) throws JCoException {
|
public void printMeta(String functionName) throws JCoException {
|
||||||
functionName = functionName.toUpperCase();
|
functionName = functionName.toUpperCase();
|
||||||
JCoFunction function = repository.getFunction(functionName);
|
JCoFunction function = repository.getFunction(functionName);
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,12 @@
|
||||||
<version>2.0.3</version>
|
<version>2.0.3</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- <dependency>-->
|
||||||
|
<!-- <groupId>com.fasterxml.jackson.datatype</groupId>-->
|
||||||
|
<!-- <artifactId>jackson-datatype-jsr310</artifactId>-->
|
||||||
|
<!-- </dependency>-->
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|
|
||||||
|
|
@ -28,5 +28,5 @@ public class DepartmentAddQO {
|
||||||
/**
|
/**
|
||||||
* 是否启用
|
* 是否启用
|
||||||
*/
|
*/
|
||||||
private Boolean enable = true;
|
private Boolean enable;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.nflg.wms.common.pojo.qo;
|
package com.nflg.wms.common.pojo.qo;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
|
@ -21,13 +22,13 @@ public class LDAPAddQO {
|
||||||
/**
|
/**
|
||||||
* 服务器端口
|
* 服务器端口
|
||||||
*/
|
*/
|
||||||
@NotBlank
|
@NotNull
|
||||||
private Integer port;
|
private Integer port;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 超时时间,单位秒
|
* 超时时间,单位秒
|
||||||
*/
|
*/
|
||||||
@NotBlank
|
@NotNull
|
||||||
private Short timeout;
|
private Short timeout;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -45,7 +46,7 @@ public class LDAPAddQO {
|
||||||
/**
|
/**
|
||||||
* 是否启用
|
* 是否启用
|
||||||
*/
|
*/
|
||||||
@NotBlank
|
@NotNull
|
||||||
private Boolean enable;
|
private Boolean enable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,20 @@
|
||||||
package com.nflg.wms.common.pojo.qo;
|
package com.nflg.wms.common.pojo.qo;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class PositionAddQO extends DepartmentAddQO {
|
public class PositionAddQO {
|
||||||
|
/**
|
||||||
|
* 名称
|
||||||
|
*/
|
||||||
|
@NotBlank
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否启用
|
||||||
|
*/
|
||||||
|
private Boolean enable = true;
|
||||||
/**
|
/**
|
||||||
* 备注
|
* 备注
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ import java.util.List;
|
||||||
@Data
|
@Data
|
||||||
public class SrmMaterialReceiptQO {
|
public class SrmMaterialReceiptQO {
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* 送货单行ID
|
* 送货单行ID
|
||||||
*/
|
*/
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ public class UserAddQO{
|
||||||
/**
|
/**
|
||||||
* 部门id
|
* 部门id
|
||||||
*/
|
*/
|
||||||
@NotBlank
|
@NotNull
|
||||||
private Long deptId;
|
private Long deptId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -62,12 +62,10 @@ public class UserAddQO{
|
||||||
/**
|
/**
|
||||||
* 初始化密码后是否强制要求登录后重设密码
|
* 初始化密码后是否强制要求登录后重设密码
|
||||||
*/
|
*/
|
||||||
@NotNull
|
private Boolean enableMustResetPwd=false;
|
||||||
private Boolean enableMustResetPwd;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 默认语言
|
* 默认语言
|
||||||
*/
|
*/
|
||||||
@NotBlank
|
|
||||||
private String languageCode;
|
private String languageCode;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ public class UserUpdateQO {
|
||||||
/**
|
/**
|
||||||
* 部门id
|
* 部门id
|
||||||
*/
|
*/
|
||||||
@NotBlank
|
@NotNull
|
||||||
private Long deptId;
|
private Long deptId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -57,12 +57,10 @@ public class UserUpdateQO {
|
||||||
/**
|
/**
|
||||||
* 初始化密码后是否强制要求登录后重设密码
|
* 初始化密码后是否强制要求登录后重设密码
|
||||||
*/
|
*/
|
||||||
@NotNull
|
private Boolean enableMustResetPwd = false;
|
||||||
private Boolean enableMustResetPwd;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 默认语言
|
* 默认语言
|
||||||
*/
|
*/
|
||||||
@NotBlank
|
|
||||||
private String languageCode;
|
private String languageCode;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@ public class MenuAuthorizeVO {
|
||||||
|
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
private Long parentId;
|
||||||
|
|
||||||
private String key;
|
private String key;
|
||||||
|
|
||||||
//名称
|
//名称
|
||||||
|
|
@ -22,6 +24,8 @@ public class MenuAuthorizeVO {
|
||||||
//是否已授权
|
//是否已授权
|
||||||
private Boolean selected;
|
private Boolean selected;
|
||||||
|
|
||||||
|
//排序
|
||||||
|
private Short sort;
|
||||||
//下级
|
//下级
|
||||||
private List<MenuAuthorizeVO> children;
|
private List<MenuAuthorizeVO> children;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -116,5 +116,5 @@ public class UserSupplierVO {
|
||||||
private Boolean enableMustResetPwd;
|
private Boolean enableMustResetPwd;
|
||||||
|
|
||||||
//所属角色
|
//所属角色
|
||||||
private Collection<RoleSimpleVO> roles;
|
private Collection<RoleSimpleVO> roleIds;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -57,4 +57,6 @@ public class UserVO {
|
||||||
|
|
||||||
//最后更新时间
|
//最后更新时间
|
||||||
private LocalDateTime updateTime;
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
private String remark;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ public class FileUploadRecord implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 来源
|
* 来源
|
||||||
*/
|
*/
|
||||||
@TableField(value="`from`")
|
@TableField(value="\"from\"")
|
||||||
private String from;
|
private String from;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
package com.nflg.wms.repository.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
import lombok.ToString;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@ToString
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@TableName("kit_backup")
|
||||||
|
public class KitBackup implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
private String fNo;
|
||||||
|
|
||||||
|
private String pNo;
|
||||||
|
|
||||||
|
private String spec;
|
||||||
|
|
||||||
|
private BigDecimal vNo;
|
||||||
|
|
||||||
|
private String kClass;
|
||||||
|
|
||||||
|
private BigDecimal weight;
|
||||||
|
|
||||||
|
private String cId;
|
||||||
|
|
||||||
|
private LocalDateTime cDatee;
|
||||||
|
|
||||||
|
private String pName;
|
||||||
|
|
||||||
|
private String dNo;
|
||||||
|
|
||||||
|
private String eco;
|
||||||
|
|
||||||
|
private String remark;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
package com.nflg.wms.repository.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
import lombok.ToString;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@ToString
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@TableName("kitdetail_backup")
|
||||||
|
public class KitdetailBackup implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
private String fNo;
|
||||||
|
|
||||||
|
private String fPartNo;
|
||||||
|
|
||||||
|
private String mPartNo;
|
||||||
|
|
||||||
|
private String keQty;
|
||||||
|
|
||||||
|
private String keWeight;
|
||||||
|
|
||||||
|
private String workstation;
|
||||||
|
|
||||||
|
private String palletItem;
|
||||||
|
|
||||||
|
private String dVer;
|
||||||
|
|
||||||
|
private String mPartName;
|
||||||
|
|
||||||
|
private String dNo;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
package com.nflg.wms.repository.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.nflg.wms.repository.entity.KitBackup;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
public interface KitBackupMapper extends BaseMapper<KitBackup> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
package com.nflg.wms.repository.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.nflg.wms.repository.entity.KitdetailBackup;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
public interface KitdetailBackupMapper extends BaseMapper<KitdetailBackup> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -2,6 +2,7 @@ package com.nflg.wms.repository.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.nflg.wms.common.pojo.vo.ButtonVO;
|
import com.nflg.wms.common.pojo.vo.ButtonVO;
|
||||||
|
import com.nflg.wms.common.pojo.vo.MenuAuthorizeVO;
|
||||||
import com.nflg.wms.repository.entity.Menu;
|
import com.nflg.wms.repository.entity.Menu;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -19,4 +20,6 @@ public interface MenuMapper extends BaseMapper<Menu> {
|
||||||
List<ButtonVO> getButtonsByMenuId(Long userId, Long menuId);
|
List<ButtonVO> getButtonsByMenuId(Long userId, Long menuId);
|
||||||
|
|
||||||
Boolean menuIsSelected(Long roleId, Long menuId);
|
Boolean menuIsSelected(Long roleId, Long menuId);
|
||||||
|
|
||||||
|
List<MenuAuthorizeVO> getAllDataForAuthorize(Long roleId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import com.nflg.wms.common.pojo.qo.DictionarySearchQO;
|
||||||
import com.nflg.wms.common.pojo.qo.SaveDictionaryQO;
|
import com.nflg.wms.common.pojo.qo.SaveDictionaryQO;
|
||||||
import com.nflg.wms.repository.entity.Dictionary;
|
import com.nflg.wms.repository.entity.Dictionary;
|
||||||
import com.nflg.wms.repository.entity.DictionaryItem;
|
import com.nflg.wms.repository.entity.DictionaryItem;
|
||||||
|
import jakarta.validation.Valid;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
|
||||||
|
|
@ -31,4 +32,6 @@ public interface IDictionaryService extends IService<Dictionary> {
|
||||||
List<DictionaryItemTranslateDTO> getAllLanguageByDictionaryItemIds(@NotEmpty List<Long> dictionaryItemIds);
|
List<DictionaryItemTranslateDTO> getAllLanguageByDictionaryItemIds(@NotEmpty List<Long> dictionaryItemIds);
|
||||||
|
|
||||||
DictionaryItem getItemByCode(String code, @NotBlank String itemCode);
|
DictionaryItem getItemByCode(String code, @NotBlank String itemCode);
|
||||||
|
|
||||||
|
void deleteItems(@Valid @NotEmpty List<Long> ids);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
package com.nflg.wms.repository.service;
|
||||||
|
|
||||||
|
import com.nflg.wms.repository.entity.KitBackup;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
public interface IKitBackupService extends IService<KitBackup> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
package com.nflg.wms.repository.service;
|
||||||
|
|
||||||
|
import com.nflg.wms.repository.entity.KitdetailBackup;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
public interface IKitdetailBackupService extends IService<KitdetailBackup> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -38,4 +38,6 @@ public interface IMenuService extends IService<Menu> {
|
||||||
void enableMenu(@Valid EnableMenuQO request);
|
void enableMenu(@Valid EnableMenuQO request);
|
||||||
|
|
||||||
List<ButtonVO> getButtonsByMenuId(Long userId, @Valid @NotNull Long menuId);
|
List<ButtonVO> getButtonsByMenuId(Long userId, @Valid @NotNull Long menuId);
|
||||||
|
|
||||||
|
List<MenuAuthorizeVO> getNodeForAuthorize(Long roleId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.nflg.wms.repository.service.impl;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.nflg.wms.common.pojo.PageData;
|
import com.nflg.wms.common.pojo.PageData;
|
||||||
import com.nflg.wms.common.pojo.qo.DepartmentAddQO;
|
import com.nflg.wms.common.pojo.qo.DepartmentAddQO;
|
||||||
|
|
@ -48,6 +49,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
||||||
.setSource(0)
|
.setSource(0)
|
||||||
.setSourceId(request.getNo())
|
.setSourceId(request.getNo())
|
||||||
.setParentId(request.getParentId())
|
.setParentId(request.getParentId())
|
||||||
|
.setEnable(request.getEnable())
|
||||||
.setCreateBy(UserUtil.getUserName())
|
.setCreateBy(UserUtil.getUserName())
|
||||||
.setCreateTime(LocalDateTime.now());
|
.setCreateTime(LocalDateTime.now());
|
||||||
save(department);
|
save(department);
|
||||||
|
|
@ -66,11 +68,24 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
||||||
public void update(DepartmentUpdateQO request) {
|
public void update(DepartmentUpdateQO request) {
|
||||||
Department dept1 = getById(request.getId());
|
Department dept1 = getById(request.getId());
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(dept1)).throwMessage("部门不存在");
|
VUtil.trueThrowBusinessError(Objects.isNull(dept1)).throwMessage("部门不存在");
|
||||||
Department dept2 = BeanUtil.copy(dept1, Department.class);
|
Department dept2 = new Department()
|
||||||
dept2.setName(request.getName())
|
.setName(request.getName())
|
||||||
.setParentId(request.getParentId())
|
.setParentId(request.getParentId())
|
||||||
.setUpdateBy(UserUtil.getUserName())
|
.setUpdateBy(UserUtil.getUserName())
|
||||||
.setUpdateTime(LocalDateTime.now());
|
.setUpdateTime(LocalDateTime.now())
|
||||||
|
.setId(dept1.getId())
|
||||||
|
.setSource(dept1.getSource())
|
||||||
|
.setEnable(request.getEnable())
|
||||||
|
.setCreateBy(dept1.getCreateBy())
|
||||||
|
.setCreateTime(dept1.getCreateTime())
|
||||||
|
.setSourceId(request.getNo());
|
||||||
|
|
||||||
|
|
||||||
|
// Department dept2 = BeanUtil.copy(dept1, Department.class);
|
||||||
|
// dept2.setName(request.getName())
|
||||||
|
// .setParentId(request.getParentId())
|
||||||
|
// .setUpdateBy(UserUtil.getUserName())
|
||||||
|
// .setUpdateTime(LocalDateTime.now());
|
||||||
updateById(dept2);
|
updateById(dept2);
|
||||||
auditLogService.addUpdate(Department.class, dept1, dept2, UserUtil.getUserName());
|
auditLogService.addUpdate(Department.class, dept1, dept2, UserUtil.getUserName());
|
||||||
}
|
}
|
||||||
|
|
@ -88,6 +103,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
||||||
Department dept = getById(id);
|
Department dept = getById(id);
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(dept)).throwMessage("部门不存在");
|
VUtil.trueThrowBusinessError(Objects.isNull(dept)).throwMessage("部门不存在");
|
||||||
auditLogService.addDelete(Department.class, dept, UserUtil.getUserName());
|
auditLogService.addDelete(Department.class, dept, UserUtil.getUserName());
|
||||||
|
baseMapper.deleteById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -101,7 +117,8 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageData<DepartmentVO> search(DepartmentSearchQO request) {
|
public PageData<DepartmentVO> search(DepartmentSearchQO request) {
|
||||||
if (StrUtil.isBlank(request.getName()) && StrUtil.isBlank(request.getNo())) {
|
if (StrUtil.isBlank(request.getName()) && StrUtil.isBlank(request.getNo())
|
||||||
|
) {
|
||||||
return getPage(request.getPage(), request.getPageSize());
|
return getPage(request.getPage(), request.getPageSize());
|
||||||
} else {
|
} else {
|
||||||
return searchByKey(request);
|
return searchByKey(request);
|
||||||
|
|
|
||||||
|
|
@ -86,12 +86,12 @@ public class DictionaryServiceImpl extends ServiceImpl<DictionaryMapper, Diction
|
||||||
@Transactional
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public void delete(List<Long> ids) {
|
public void delete(List<Long> ids) {
|
||||||
removeByIds(ids);
|
List<Long> itemIds = dictionaryItemService.lambdaQuery().in(DictionaryItem::getDictionaryId, ids).list().stream().map(DictionaryItem::getId).collect(Collectors.toList());
|
||||||
List<Long> itemIds = dictionaryItemService.lambdaQuery().eq(DictionaryItem::getDictionaryId, ids).list().stream().map(DictionaryItem::getId).collect(Collectors.toList());
|
|
||||||
if (CollectionUtil.isNotEmpty(itemIds)) {
|
if (CollectionUtil.isNotEmpty(itemIds)) {
|
||||||
dictionaryItemService.removeByIds(itemIds);
|
dictionaryItemService.removeByIds(itemIds);
|
||||||
dictionaryItemTranslateService.remove(new LambdaQueryWrapper<DictionaryItemTranslate>().in(DictionaryItemTranslate::getDictionaryItemId, itemIds));
|
dictionaryItemTranslateService.remove(new LambdaQueryWrapper<DictionaryItemTranslate>().in(DictionaryItemTranslate::getDictionaryItemId, itemIds));
|
||||||
}
|
}
|
||||||
|
removeByIds(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -124,4 +124,15 @@ public class DictionaryServiceImpl extends ServiceImpl<DictionaryMapper, Diction
|
||||||
public DictionaryItem getItemByCode(String code, String itemCode) {
|
public DictionaryItem getItemByCode(String code, String itemCode) {
|
||||||
return baseMapper.getItemByCode(code, itemCode);
|
return baseMapper.getItemByCode(code, itemCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
@Override
|
||||||
|
public void deleteItems(List<Long> ids) {
|
||||||
|
List<Long> itemIds = dictionaryItemService.lambdaQuery().in(DictionaryItem::getId, ids).list().stream().map(DictionaryItem::getId).collect(Collectors.toList());
|
||||||
|
if (CollectionUtil.isNotEmpty(itemIds)) {
|
||||||
|
dictionaryItemService.removeByIds(itemIds);
|
||||||
|
dictionaryItemTranslateService.remove(new LambdaQueryWrapper<DictionaryItemTranslate>().in(DictionaryItemTranslate::getDictionaryItemId, itemIds));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.nflg.wms.repository.service.impl;
|
||||||
|
|
||||||
|
import com.nflg.wms.repository.entity.KitBackup;
|
||||||
|
import com.nflg.wms.repository.mapper.KitBackupMapper;
|
||||||
|
import com.nflg.wms.repository.service.IKitBackupService;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class KitBackupServiceImpl extends ServiceImpl<KitBackupMapper, KitBackup> implements IKitBackupService {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.nflg.wms.repository.service.impl;
|
||||||
|
|
||||||
|
import com.nflg.wms.repository.entity.KitdetailBackup;
|
||||||
|
import com.nflg.wms.repository.mapper.KitdetailBackupMapper;
|
||||||
|
import com.nflg.wms.repository.service.IKitdetailBackupService;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author 代码生成器生成
|
||||||
|
* @since 2025
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class KitdetailBackupServiceImpl extends ServiceImpl<KitdetailBackupMapper, KitdetailBackup> implements IKitdetailBackupService {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -60,6 +60,40 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements IM
|
||||||
return vos;
|
return vos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MenuAuthorizeVO> getNodeForAuthorize(Long roleId) {
|
||||||
|
List<MenuAuthorizeVO> nodes = baseMapper.getAllDataForAuthorize(roleId);
|
||||||
|
List<MenuAuthorizeVO> rootNodes = nodes.stream().filter(v ->
|
||||||
|
v.getType() == 1 && v.getParentId() == 0
|
||||||
|
).toList();
|
||||||
|
for (MenuAuthorizeVO node : rootNodes) {
|
||||||
|
List<MenuAuthorizeVO> childNodes = getChildNode(node.getId(), nodes);
|
||||||
|
if (CollectionUtil.isNotEmpty(childNodes)) {
|
||||||
|
node.setChildren(new ArrayList<>());
|
||||||
|
node.getChildren().addAll(childNodes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// rootNodes.sort(Comparator.comparing(MenuAuthorizeVO::getSort));
|
||||||
|
return rootNodes;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<MenuAuthorizeVO> getChildNode(Long parentId, List<MenuAuthorizeVO> nodes) {
|
||||||
|
List<MenuAuthorizeVO> rootNodes = nodes.stream().filter(v -> v.getParentId().equals(parentId)
|
||||||
|
).toList();
|
||||||
|
if (CollectionUtil.isNotEmpty(rootNodes)) {
|
||||||
|
for (MenuAuthorizeVO node : rootNodes) {
|
||||||
|
List<MenuAuthorizeVO> childNodes = getChildNode(node.getId(), nodes);
|
||||||
|
if (CollectionUtil.isNotEmpty(childNodes)) {
|
||||||
|
node.setChildren(new ArrayList<>());
|
||||||
|
node.getChildren().addAll(childNodes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// rootNodes.sort(Comparator.comparing(MenuAuthorizeVO::getSort));
|
||||||
|
return rootNodes;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<MenuVO> search(MenuSearchQO request) {
|
public IPage<MenuVO> search(MenuSearchQO request) {
|
||||||
if (StrUtil.isBlank(request.getName())) {
|
if (StrUtil.isBlank(request.getName())) {
|
||||||
|
|
|
||||||
|
|
@ -60,10 +60,13 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IR
|
||||||
public void update(RoleUpdateQO request, String userName) {
|
public void update(RoleUpdateQO request, String userName) {
|
||||||
Role role1 = getById(request.getId());
|
Role role1 = getById(request.getId());
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(role1)).throwMessage("角色不存在");
|
VUtil.trueThrowBusinessError(Objects.isNull(role1)).throwMessage("角色不存在");
|
||||||
Role role2 = BeanUtil.copy(role1, Role.class);
|
Role role2 = new Role()
|
||||||
role2.setCode(request.getCode())
|
.setId(request.getId())
|
||||||
|
.setCode(request.getCode())
|
||||||
.setName(request.getName())
|
.setName(request.getName())
|
||||||
.setEnable(request.getEnable())
|
.setEnable(request.getEnable())
|
||||||
|
.setCreateBy(role1.getCreateBy())
|
||||||
|
.setCreateTime(role1.getCreateTime())
|
||||||
.setUpdateBy(userName)
|
.setUpdateBy(userName)
|
||||||
.setUpdateTime(LocalDateTime.now());
|
.setUpdateTime(LocalDateTime.now());
|
||||||
updateById(role2);
|
updateById(role2);
|
||||||
|
|
@ -80,8 +83,13 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IR
|
||||||
public void enable(EnableQO request, String userName) {
|
public void enable(EnableQO request, String userName) {
|
||||||
Role role1 = getById(request.getId());
|
Role role1 = getById(request.getId());
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(role1)).throwMessage("角色不存在");
|
VUtil.trueThrowBusinessError(Objects.isNull(role1)).throwMessage("角色不存在");
|
||||||
Role role2 = BeanUtil.copy(role1, Role.class);
|
Role role2 = new Role()
|
||||||
role2.setEnable(request.getEnable())
|
.setId(request.getId())
|
||||||
|
.setCode(role1.getCode())
|
||||||
|
.setName(role1.getName())
|
||||||
|
.setEnable(request.getEnable())
|
||||||
|
.setCreateBy(role1.getCreateBy())
|
||||||
|
.setCreateTime(role1.getCreateTime())
|
||||||
.setUpdateBy(userName)
|
.setUpdateBy(userName)
|
||||||
.setUpdateTime(LocalDateTime.now());
|
.setUpdateTime(LocalDateTime.now());
|
||||||
updateById(role2);
|
updateById(role2);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?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.nflg.wms.repository.mapper.KitBackupMapper">
|
||||||
|
|
||||||
|
</mapper>
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?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.nflg.wms.repository.mapper.KitdetailBackupMapper">
|
||||||
|
|
||||||
|
</mapper>
|
||||||
|
|
@ -19,4 +19,29 @@
|
||||||
WHERE menu_id = #{menuId}
|
WHERE menu_id = #{menuId}
|
||||||
AND role_id = #{roleId})
|
AND role_id = #{roleId})
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getAllDataForAuthorize" resultType="com.nflg.wms.common.pojo.vo.MenuAuthorizeVO">
|
||||||
|
select id,
|
||||||
|
parent_id,
|
||||||
|
"name",
|
||||||
|
CONCAT('menu-', id) as key,
|
||||||
|
sort,
|
||||||
|
1 as type,
|
||||||
|
case when b.menu_id is null then false else true end as selected
|
||||||
|
from menu a
|
||||||
|
left join (select menu_id from role_menu_map where role_id = #{roleId}) b on a.id = b.menu_id
|
||||||
|
where "enable" = true
|
||||||
|
UNION
|
||||||
|
select id,
|
||||||
|
menu_id,
|
||||||
|
"name",
|
||||||
|
CONCAT('button-', id) as key,
|
||||||
|
sort,
|
||||||
|
2 as type,
|
||||||
|
case when b.button_id is null then false else true end as selected
|
||||||
|
from menu_button a
|
||||||
|
left join (select button_id from role_button_map where role_id = #{roleId}) b on a.id = b.button_id
|
||||||
|
where "enable" = true
|
||||||
|
order by sort;
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,10 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getAuthorizeUser" resultType="com.nflg.wms.common.pojo.vo.UserVO">
|
<select id="getAuthorizeUser" resultType="com.nflg.wms.common.pojo.vo.UserVO">
|
||||||
select u.* from user_role_map urm inner join "user" u on urm.user_id = u.id
|
select u.*
|
||||||
|
from user_role_map urm
|
||||||
|
inner join "user" u on urm.user_id = u.id
|
||||||
|
where urm.role_id = #{roleId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getAuthorizeRole" resultType="com.nflg.wms.common.pojo.vo.RoleSimpleVO">
|
<select id="getAuthorizeRole" resultType="com.nflg.wms.common.pojo.vo.RoleSimpleVO">
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ public class CodeGeneratorTest {
|
||||||
)
|
)
|
||||||
.strategyConfig(builder -> {
|
.strategyConfig(builder -> {
|
||||||
builder
|
builder
|
||||||
.addInclude("wms_qc_receive_item") //只生成指定表
|
.addInclude("kitdetail_backup") //只生成指定表
|
||||||
.entityBuilder().idType(IdType.ASSIGN_ID)
|
.entityBuilder().idType(IdType.ASSIGN_ID)
|
||||||
.enableLombok()
|
.enableLombok()
|
||||||
.enableChainModel()
|
.enableChainModel()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue