From 68f96b9872b782de113bf210b78ad27f92b85867 Mon Sep 17 00:00:00 2001 From: wenshijun Date: Fri, 30 May 2025 16:13:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E7=9B=B8=E5=85=B3=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zg/framework/config/SecurityConfig.java | 4 + .../controller/DeviceInfoController.java | 6 +- .../controller/MaterialTypeController.java | 112 +++++ .../controller/PcdeDetailController.java | 115 +++++ .../controller/SceneMappingController.java | 18 +- .../controller/StockInTypeController.java | 115 +++++ .../controller/UserController.java | 34 ++ .../controller/WarehouseInfoController.java | 116 +++++ .../domain/DeviceInfo.java | 2 +- .../information/domain/MaterialType.java | 132 +++++ .../information/domain/PcdeDetail.java | 215 +++++++++ .../domain/SceneMapping.java | 2 +- .../domain/StockInType.java | 2 +- .../domain/WarehouseInfo.java | 2 +- .../mapper/DeviceInfoMapper.java | 4 +- .../mapper/MaterialTypeMapper.java | 61 +++ .../information/mapper/PcdeDetailMapper.java | 69 +++ .../mapper/SceneMappingMapper.java | 4 +- .../information/mapper/StockInTypeMapper.java | 61 +++ .../mapper/WarehouseInfoMapper.java | 62 +++ .../service/IDeviceInfoService.java | 4 +- .../service/IMaterialTypeService.java | 61 +++ .../service/IPcdeDetailService.java | 69 +++ .../service/ISceneMappingService.java | 4 +- .../service/IStockInTypeService.java | 61 +++ .../service/IWarehouseInfoService.java | 62 +++ .../service/impl/DeviceInfoServiceImpl.java | 8 +- .../service/impl/MaterialTypeServiceImpl.java | 93 ++++ .../service/impl/PcdeDetailServiceImpl.java | 146 ++++++ .../service/impl/SceneMappingServiceImpl.java | 8 +- .../service/impl/StockInTypeServiceImpl.java | 93 ++++ .../impl/WarehouseInfoServiceImpl.java | 93 ++++ .../project/system/mapper/SysUserMapper.java | 7 + .../system/service/ISysUserService.java | 8 + .../service/impl/SysUserServiceImpl.java | 5 + .../controller/GysJhController.java | 108 +++-- .../LoginController.java | 2 +- .../wisdom/controller/RkInfoController.java | 106 ++++ .../wisdom/{plan => }/domain/GysJh.java | 41 +- .../com/zg/project/wisdom/domain/RkInfo.java | 453 ++++++++++++++++++ .../wisdom/domain/dto/RkInfoBatchDTO.java | 62 +++ .../wisdom/domain/dto/RkInfoItemDTO.java | 40 ++ .../wisdom/domain/dto/RkInfoScanDTO.java | 60 +++ .../wisdom/{plan => }/mapper/GysJhMapper.java | 11 +- .../project/wisdom/mapper/RkInfoMapper.java | 61 +++ .../{plan => }/service/IGysJhService.java | 21 +- .../wisdom/service/IRkInfoService.java | 62 +++ .../service/impl/GysJhServiceImpl.java | 86 ++-- .../service/impl/RkInfoServiceImpl.java | 144 ++++++ src/main/resources/application-druid.yml | 2 +- src/main/resources/application.yml | 4 +- .../mybatis/information/DeviceInfoMapper.xml | 2 +- .../information/MaterialTypeMapper.xml | 85 ++++ .../mybatis/information/PcdeDetailMapper.xml | 118 +++++ .../information/SceneMappingMapper.xml | 2 +- .../mybatis/information/StockInTypeMapper.xml | 85 ++++ .../information/WarehouseInfoMapper.xml | 90 ++++ .../mybatis/system/SysUserMapper.xml | 29 +- .../mybatis/{query => wisdom}/GysJhMapper.xml | 58 +-- .../resources/mybatis/wisdom/RkInfoMapper.xml | 172 +++++++ 60 files changed, 3568 insertions(+), 194 deletions(-) rename src/main/java/com/zg/project/{Information => information}/controller/DeviceInfoController.java (95%) create mode 100644 src/main/java/com/zg/project/information/controller/MaterialTypeController.java create mode 100644 src/main/java/com/zg/project/information/controller/PcdeDetailController.java rename src/main/java/com/zg/project/{Information => information}/controller/SceneMappingController.java (87%) create mode 100644 src/main/java/com/zg/project/information/controller/StockInTypeController.java create mode 100644 src/main/java/com/zg/project/information/controller/UserController.java create mode 100644 src/main/java/com/zg/project/information/controller/WarehouseInfoController.java rename src/main/java/com/zg/project/{Information => information}/domain/DeviceInfo.java (98%) create mode 100644 src/main/java/com/zg/project/information/domain/MaterialType.java create mode 100644 src/main/java/com/zg/project/information/domain/PcdeDetail.java rename src/main/java/com/zg/project/{Information => information}/domain/SceneMapping.java (96%) rename src/main/java/com/zg/project/{Information => information}/domain/StockInType.java (98%) rename src/main/java/com/zg/project/{Information => information}/domain/WarehouseInfo.java (98%) rename src/main/java/com/zg/project/{Information => information}/mapper/DeviceInfoMapper.java (92%) create mode 100644 src/main/java/com/zg/project/information/mapper/MaterialTypeMapper.java create mode 100644 src/main/java/com/zg/project/information/mapper/PcdeDetailMapper.java rename src/main/java/com/zg/project/{Information => information}/mapper/SceneMappingMapper.java (92%) create mode 100644 src/main/java/com/zg/project/information/mapper/StockInTypeMapper.java create mode 100644 src/main/java/com/zg/project/information/mapper/WarehouseInfoMapper.java rename src/main/java/com/zg/project/{Information => information}/service/IDeviceInfoService.java (92%) create mode 100644 src/main/java/com/zg/project/information/service/IMaterialTypeService.java create mode 100644 src/main/java/com/zg/project/information/service/IPcdeDetailService.java rename src/main/java/com/zg/project/{Information => information}/service/ISceneMappingService.java (92%) create mode 100644 src/main/java/com/zg/project/information/service/IStockInTypeService.java create mode 100644 src/main/java/com/zg/project/information/service/IWarehouseInfoService.java rename src/main/java/com/zg/project/{Information => information}/service/impl/DeviceInfoServiceImpl.java (90%) create mode 100644 src/main/java/com/zg/project/information/service/impl/MaterialTypeServiceImpl.java create mode 100644 src/main/java/com/zg/project/information/service/impl/PcdeDetailServiceImpl.java rename src/main/java/com/zg/project/{Information => information}/service/impl/SceneMappingServiceImpl.java (89%) create mode 100644 src/main/java/com/zg/project/information/service/impl/StockInTypeServiceImpl.java create mode 100644 src/main/java/com/zg/project/information/service/impl/WarehouseInfoServiceImpl.java rename src/main/java/com/zg/project/wisdom/{plan => }/controller/GysJhController.java (60%) rename src/main/java/com/zg/project/wisdom/{login => controller}/LoginController.java (97%) create mode 100644 src/main/java/com/zg/project/wisdom/controller/RkInfoController.java rename src/main/java/com/zg/project/wisdom/{plan => }/domain/GysJh.java (91%) create mode 100644 src/main/java/com/zg/project/wisdom/domain/RkInfo.java create mode 100644 src/main/java/com/zg/project/wisdom/domain/dto/RkInfoBatchDTO.java create mode 100644 src/main/java/com/zg/project/wisdom/domain/dto/RkInfoItemDTO.java create mode 100644 src/main/java/com/zg/project/wisdom/domain/dto/RkInfoScanDTO.java rename src/main/java/com/zg/project/wisdom/{plan => }/mapper/GysJhMapper.java (83%) create mode 100644 src/main/java/com/zg/project/wisdom/mapper/RkInfoMapper.java rename src/main/java/com/zg/project/wisdom/{plan => }/service/IGysJhService.java (77%) create mode 100644 src/main/java/com/zg/project/wisdom/service/IRkInfoService.java rename src/main/java/com/zg/project/wisdom/{plan => }/service/impl/GysJhServiceImpl.java (55%) create mode 100644 src/main/java/com/zg/project/wisdom/service/impl/RkInfoServiceImpl.java create mode 100644 src/main/resources/mybatis/information/MaterialTypeMapper.xml create mode 100644 src/main/resources/mybatis/information/PcdeDetailMapper.xml create mode 100644 src/main/resources/mybatis/information/StockInTypeMapper.xml create mode 100644 src/main/resources/mybatis/information/WarehouseInfoMapper.xml rename src/main/resources/mybatis/{query => wisdom}/GysJhMapper.xml (76%) create mode 100644 src/main/resources/mybatis/wisdom/RkInfoMapper.xml diff --git a/src/main/java/com/zg/framework/config/SecurityConfig.java b/src/main/java/com/zg/framework/config/SecurityConfig.java index 1ea5ef0..76e45cb 100644 --- a/src/main/java/com/zg/framework/config/SecurityConfig.java +++ b/src/main/java/com/zg/framework/config/SecurityConfig.java @@ -120,6 +120,10 @@ public class SecurityConfig "/ws/**", "/information/device/**", "/MatchScan/**", +// "/wisdom/stock/**", +// "/information/materialtype/**", +// "/information/warehousingtype/**", +// "/information/warehouseinfo/**", "/Visual/**", "/HdInventory/**").permitAll() // 静态资源,可匿名访问 diff --git a/src/main/java/com/zg/project/Information/controller/DeviceInfoController.java b/src/main/java/com/zg/project/information/controller/DeviceInfoController.java similarity index 95% rename from src/main/java/com/zg/project/Information/controller/DeviceInfoController.java rename to src/main/java/com/zg/project/information/controller/DeviceInfoController.java index 4feba9a..5bb1cf4 100644 --- a/src/main/java/com/zg/project/Information/controller/DeviceInfoController.java +++ b/src/main/java/com/zg/project/information/controller/DeviceInfoController.java @@ -1,4 +1,4 @@ -package com.zg.project.Information.controller; +package com.zg.project.information.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; @@ -14,8 +14,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.zg.framework.aspectj.lang.annotation.Log; import com.zg.framework.aspectj.lang.enums.BusinessType; -import com.zg.project.Information.domain.DeviceInfo; -import com.zg.project.Information.service.IDeviceInfoService; +import com.zg.project.information.domain.DeviceInfo; +import com.zg.project.information.service.IDeviceInfoService; import com.zg.framework.web.controller.BaseController; import com.zg.framework.web.domain.AjaxResult; import com.zg.common.utils.poi.ExcelUtil; diff --git a/src/main/java/com/zg/project/information/controller/MaterialTypeController.java b/src/main/java/com/zg/project/information/controller/MaterialTypeController.java new file mode 100644 index 0000000..6640f6b --- /dev/null +++ b/src/main/java/com/zg/project/information/controller/MaterialTypeController.java @@ -0,0 +1,112 @@ +package com.zg.project.information.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.zg.framework.aspectj.lang.annotation.Log; +import com.zg.framework.aspectj.lang.enums.BusinessType; +import com.zg.project.information.domain.MaterialType; +import com.zg.project.information.service.IMaterialTypeService; +import com.zg.framework.web.controller.BaseController; +import com.zg.framework.web.domain.AjaxResult; +import com.zg.common.utils.poi.ExcelUtil; +import com.zg.framework.web.page.TableDataInfo; + +/** + * 物资类型Controller + * + * @author zg + * @date 2025-05-27 + */ +@RestController +@RequestMapping("/information/materialtype") +public class MaterialTypeController extends BaseController +{ + @Autowired + private IMaterialTypeService materialTypeService; + + /** + * 查询物资类型列表 + */ + @PreAuthorize("@ss.hasPermi('information:materialtype:list')") + @GetMapping("/list") + public TableDataInfo list(MaterialType materialType) + { + startPage(); + List list = materialTypeService.selectMaterialTypeList(materialType); + return getDataTable(list); + } + + @PreAuthorize("@ss.hasPermi('information:materialtype:list')") + @GetMapping("/getAll") + public AjaxResult getAll() + { + List list = materialTypeService.selectMaterialTypeList(new MaterialType()); + return success(list); + } + + /** + * 导出物资类型列表 + */ + @PreAuthorize("@ss.hasPermi('information:materialtype:export')") + @Log(title = "物资类型", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MaterialType materialType) + { + List list = materialTypeService.selectMaterialTypeList(materialType); + ExcelUtil util = new ExcelUtil(MaterialType.class); + util.exportExcel(response, list, "物资类型数据"); + } + + /** + * 获取物资类型详细信息 + */ + @PreAuthorize("@ss.hasPermi('information:materialtype:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(materialTypeService.selectMaterialTypeById(id)); + } + + /** + * 新增物资类型 + */ + @PreAuthorize("@ss.hasPermi('information:materialtype:add')") + @Log(title = "物资类型", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody MaterialType materialType) + { + return toAjax(materialTypeService.insertMaterialType(materialType)); + } + + /** + * 修改物资类型 + */ + @PreAuthorize("@ss.hasPermi('information:materialtype:edit')") + @Log(title = "物资类型", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody MaterialType materialType) + { + return toAjax(materialTypeService.updateMaterialType(materialType)); + } + + /** + * 删除物资类型 + */ + @PreAuthorize("@ss.hasPermi('information:materialtype:remove')") + @Log(title = "物资类型", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(materialTypeService.deleteMaterialTypeByIds(ids)); + } +} diff --git a/src/main/java/com/zg/project/information/controller/PcdeDetailController.java b/src/main/java/com/zg/project/information/controller/PcdeDetailController.java new file mode 100644 index 0000000..0a66eb7 --- /dev/null +++ b/src/main/java/com/zg/project/information/controller/PcdeDetailController.java @@ -0,0 +1,115 @@ +package com.zg.project.information.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.zg.project.wisdom.domain.GysJh; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import com.zg.framework.aspectj.lang.annotation.Log; +import com.zg.framework.aspectj.lang.enums.BusinessType; +import com.zg.project.information.domain.PcdeDetail; +import com.zg.project.information.service.IPcdeDetailService; +import com.zg.framework.web.controller.BaseController; +import com.zg.framework.web.domain.AjaxResult; +import com.zg.common.utils.poi.ExcelUtil; +import com.zg.framework.web.page.TableDataInfo; +import org.springframework.web.multipart.MultipartFile; + +/** + * 库位明细Controller + * + * @author zg + * @date 2025-05-29 + */ +@RestController +@RequestMapping("/information/pcdedetail") +public class PcdeDetailController extends BaseController +{ + @Autowired + private IPcdeDetailService pcdeDetailService; + + /** + * 查询库位明细列表 + */ + @PreAuthorize("@ss.hasPermi('information:pcdedetail:list')") + @GetMapping("/list") + public TableDataInfo list(PcdeDetail pcdeDetail) + { + startPage(); + List list = pcdeDetailService.selectPcdeDetailList(pcdeDetail); + return getDataTable(list); + } + + /** + * 导出库位明细列表 + */ + @PreAuthorize("@ss.hasPermi('information:pcdedetail:export')") + @Log(title = "库位明细", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcdeDetail pcdeDetail) + { + List list = pcdeDetailService.selectPcdeDetailList(pcdeDetail); + ExcelUtil util = new ExcelUtil(PcdeDetail.class); + util.exportExcel(response, list, "库位明细数据"); + } + + /** + * 导入供应计划数据(全部新增,不校验重复) + */ + @PreAuthorize("@ss.hasPermi('information:pcdedetail:import')") + @Log(title = "库位明细", businessType = BusinessType.IMPORT) + @PostMapping("/importData") + public AjaxResult importData(@RequestParam("file") MultipartFile file) throws Exception { + ExcelUtil util = new ExcelUtil<>(PcdeDetail.class); + List list = util.importExcel(file.getInputStream()); + String operName = getUsername(); + String message = pcdeDetailService.importPcdeDetail(list, operName); + return AjaxResult.success(message); + } + + + /** + * 获取库位明细详细信息 + */ + @PreAuthorize("@ss.hasPermi('information:pcdedetail:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(pcdeDetailService.selectPcdeDetailById(id)); + } + + /** + * 新增库位明细 + */ + @PreAuthorize("@ss.hasPermi('information:pcdedetail:add')") + @Log(title = "库位明细", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody PcdeDetail pcdeDetail) + { + return toAjax(pcdeDetailService.insertPcdeDetail(pcdeDetail)); + } + + /** + * 修改库位明细 + */ + @PreAuthorize("@ss.hasPermi('information:pcdedetail:edit')") + @Log(title = "库位明细", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody PcdeDetail pcdeDetail) + { + return toAjax(pcdeDetailService.updatePcdeDetail(pcdeDetail)); + } + + /** + * 删除库位明细 + */ + @PreAuthorize("@ss.hasPermi('information:pcdedetail:remove')") + @Log(title = "库位明细", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(pcdeDetailService.deletePcdeDetailByIds(ids)); + } +} diff --git a/src/main/java/com/zg/project/Information/controller/SceneMappingController.java b/src/main/java/com/zg/project/information/controller/SceneMappingController.java similarity index 87% rename from src/main/java/com/zg/project/Information/controller/SceneMappingController.java rename to src/main/java/com/zg/project/information/controller/SceneMappingController.java index 9474f4d..8423eaa 100644 --- a/src/main/java/com/zg/project/Information/controller/SceneMappingController.java +++ b/src/main/java/com/zg/project/information/controller/SceneMappingController.java @@ -1,10 +1,10 @@ -package com.zg.project.Information.controller; +package com.zg.project.information.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; -import com.zg.project.Information.domain.SceneMapping; -import com.zg.project.Information.service.ISceneMappingService; +import com.zg.project.information.domain.SceneMapping; +import com.zg.project.information.service.ISceneMappingService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -47,6 +47,18 @@ public class SceneMappingController extends BaseController return getDataTable(list); } + /** + * 查询场景编号列表 + * @return + */ + @PreAuthorize("@ss.hasPermi('information:scene:list')") + @GetMapping("/getAll") + public AjaxResult getAll() + { + List list = sceneMappingService.selectSceneMappingList(new SceneMapping()); + return success(list); + } + /** * 导出场景编号列表 */ diff --git a/src/main/java/com/zg/project/information/controller/StockInTypeController.java b/src/main/java/com/zg/project/information/controller/StockInTypeController.java new file mode 100644 index 0000000..c043447 --- /dev/null +++ b/src/main/java/com/zg/project/information/controller/StockInTypeController.java @@ -0,0 +1,115 @@ +package com.zg.project.information.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.zg.framework.aspectj.lang.annotation.Log; +import com.zg.framework.aspectj.lang.enums.BusinessType; +import com.zg.project.information.domain.StockInType; +import com.zg.project.information.service.IStockInTypeService; +import com.zg.framework.web.controller.BaseController; +import com.zg.framework.web.domain.AjaxResult; +import com.zg.common.utils.poi.ExcelUtil; +import com.zg.framework.web.page.TableDataInfo; + +/** + * 入库类型Controller + * + * @author zg + * @date 2025-05-27 + */ +@RestController +@RequestMapping("/information/warehousingtype") +public class StockInTypeController extends BaseController +{ + @Autowired + private IStockInTypeService stockInTypeService; + + /** + * 查询入库类型列表 + */ + @PreAuthorize("@ss.hasPermi('information:warehousingtype:list')") + @GetMapping("/list") + public TableDataInfo list(StockInType stockInType) + { + startPage(); + List list = stockInTypeService.selectStockInTypeList(stockInType); + return getDataTable(list); + } + + /** + * 查询所有入库类型列表 + * @return + */ + @PreAuthorize("@ss.hasPermi('information:warehousingtype:list')") + @GetMapping("/getAll") + public AjaxResult getAll() + { + List list = stockInTypeService.selectStockInTypeList(new StockInType()); + return AjaxResult.success(list); + } + /** + * 导出入库类型列表 + */ + @PreAuthorize("@ss.hasPermi('information:warehousingtype:export')") + @Log(title = "入库类型", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, StockInType stockInType) + { + List list = stockInTypeService.selectStockInTypeList(stockInType); + ExcelUtil util = new ExcelUtil(StockInType.class); + util.exportExcel(response, list, "入库类型数据"); + } + + /** + * 获取入库类型详细信息 + */ + @PreAuthorize("@ss.hasPermi('information:warehousingtype:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(stockInTypeService.selectStockInTypeById(id)); + } + + /** + * 新增入库类型 + */ + @PreAuthorize("@ss.hasPermi('information:warehousingtype:add')") + @Log(title = "入库类型", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody StockInType stockInType) + { + return toAjax(stockInTypeService.insertStockInType(stockInType)); + } + + /** + * 修改入库类型 + */ + @PreAuthorize("@ss.hasPermi('information:warehousingtype:edit')") + @Log(title = "入库类型", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody StockInType stockInType) + { + return toAjax(stockInTypeService.updateStockInType(stockInType)); + } + + /** + * 删除入库类型 + */ + @PreAuthorize("@ss.hasPermi('information:warehousingtype:remove')") + @Log(title = "入库类型", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(stockInTypeService.deleteStockInTypeByIds(ids)); + } +} diff --git a/src/main/java/com/zg/project/information/controller/UserController.java b/src/main/java/com/zg/project/information/controller/UserController.java new file mode 100644 index 0000000..6134d50 --- /dev/null +++ b/src/main/java/com/zg/project/information/controller/UserController.java @@ -0,0 +1,34 @@ +package com.zg.project.information.controller; + +import com.zg.framework.web.controller.BaseController; +import com.zg.framework.web.domain.AjaxResult; +import com.zg.project.system.domain.SysUser; +import com.zg.project.system.service.ISysUserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 用户信息 + * + * @author zg + */ +@RestController +@RequestMapping("/information/user") +public class UserController extends BaseController { + + @Autowired + private ISysUserService userService; + + /** + * 获取用户列表 + */ + @GetMapping("/getAll") + public AjaxResult getAll() { + List list = userService.getAll(); + return AjaxResult.success(list); + } +} diff --git a/src/main/java/com/zg/project/information/controller/WarehouseInfoController.java b/src/main/java/com/zg/project/information/controller/WarehouseInfoController.java new file mode 100644 index 0000000..f65affa --- /dev/null +++ b/src/main/java/com/zg/project/information/controller/WarehouseInfoController.java @@ -0,0 +1,116 @@ +package com.zg.project.information.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.zg.framework.aspectj.lang.annotation.Log; +import com.zg.framework.aspectj.lang.enums.BusinessType; +import com.zg.project.information.domain.WarehouseInfo; +import com.zg.project.information.service.IWarehouseInfoService; +import com.zg.framework.web.controller.BaseController; +import com.zg.framework.web.domain.AjaxResult; +import com.zg.common.utils.poi.ExcelUtil; +import com.zg.framework.web.page.TableDataInfo; + +/** + * 仓库信息Controller + * + * @author zg + * @date 2025-05-27 + */ +@RestController +@RequestMapping("/information/warehouseinfo") +public class WarehouseInfoController extends BaseController +{ + @Autowired + private IWarehouseInfoService warehouseInfoService; + + /** + * 查询仓库信息列表 + */ + @PreAuthorize("@ss.hasPermi('information:warehouseinfo:list')") + @GetMapping("/list") + public TableDataInfo list(WarehouseInfo warehouseInfo) + { + startPage(); + List list = warehouseInfoService.selectWarehouseInfoList(warehouseInfo); + return getDataTable(list); + } + + /** + * 查询仓库信息列表 + * @return + */ + @PreAuthorize("@ss.hasPermi('information:warehouseinfo:list')") + @GetMapping("/getAll") + public AjaxResult getAll() + { + List list = warehouseInfoService.selectWarehouseInfoList(new WarehouseInfo()); + return success(list); + } + + /** + * 导出仓库信息列表 + */ + @PreAuthorize("@ss.hasPermi('information:warehouseinfo:export')") + @Log(title = "仓库信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, WarehouseInfo warehouseInfo) + { + List list = warehouseInfoService.selectWarehouseInfoList(warehouseInfo); + ExcelUtil util = new ExcelUtil(WarehouseInfo.class); + util.exportExcel(response, list, "仓库信息数据"); + } + + /** + * 获取仓库信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('information:warehouseinfo:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(warehouseInfoService.selectWarehouseInfoById(id)); + } + + /** + * 新增仓库信息 + */ + @PreAuthorize("@ss.hasPermi('information:warehouseinfo:add')") + @Log(title = "仓库信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody WarehouseInfo warehouseInfo) + { + return toAjax(warehouseInfoService.insertWarehouseInfo(warehouseInfo)); + } + + /** + * 修改仓库信息 + */ + @PreAuthorize("@ss.hasPermi('information:warehouseinfo:edit')") + @Log(title = "仓库信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody WarehouseInfo warehouseInfo) + { + return toAjax(warehouseInfoService.updateWarehouseInfo(warehouseInfo)); + } + + /** + * 删除仓库信息 + */ + @PreAuthorize("@ss.hasPermi('information:warehouseinfo:remove')") + @Log(title = "仓库信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(warehouseInfoService.deleteWarehouseInfoByIds(ids)); + } +} diff --git a/src/main/java/com/zg/project/Information/domain/DeviceInfo.java b/src/main/java/com/zg/project/information/domain/DeviceInfo.java similarity index 98% rename from src/main/java/com/zg/project/Information/domain/DeviceInfo.java rename to src/main/java/com/zg/project/information/domain/DeviceInfo.java index ee01823..a9819d7 100644 --- a/src/main/java/com/zg/project/Information/domain/DeviceInfo.java +++ b/src/main/java/com/zg/project/information/domain/DeviceInfo.java @@ -1,4 +1,4 @@ -package com.zg.project.Information.domain; +package com.zg.project.information.domain; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; diff --git a/src/main/java/com/zg/project/information/domain/MaterialType.java b/src/main/java/com/zg/project/information/domain/MaterialType.java new file mode 100644 index 0000000..15ccee6 --- /dev/null +++ b/src/main/java/com/zg/project/information/domain/MaterialType.java @@ -0,0 +1,132 @@ +package com.zg.project.information.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.zg.framework.aspectj.lang.annotation.Excel; +import com.zg.framework.web.domain.BaseEntity; + +/** + * 物资类型对象 material_type + * + * @author zg + * @date 2025-05-27 + */ +public class MaterialType extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private Long id; + + /** 物资类型编码 */ + @Excel(name = "物资类型编码") + private String typeCode; + + /** 物资类型名称 */ + @Excel(name = "物资类型名称") + private String typeName; + + /** 状态(1=启用,0=禁用) */ + @Excel(name = "状态", readConverterExp = "1==启用,0=禁用") + private Long status; + + /** 排序值 */ + @Excel(name = "排序值") + private Long sort; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date createdAt; + + /** 更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date updatedAt; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setTypeCode(String typeCode) + { + this.typeCode = typeCode; + } + + public String getTypeCode() + { + return typeCode; + } + + public void setTypeName(String typeName) + { + this.typeName = typeName; + } + + public String getTypeName() + { + return typeName; + } + + public void setStatus(Long status) + { + this.status = status; + } + + public Long getStatus() + { + return status; + } + + public void setSort(Long sort) + { + this.sort = sort; + } + + public Long getSort() + { + return sort; + } + + public void setCreatedAt(Date createdAt) + { + this.createdAt = createdAt; + } + + public Date getCreatedAt() + { + return createdAt; + } + + public void setUpdatedAt(Date updatedAt) + { + this.updatedAt = updatedAt; + } + + public Date getUpdatedAt() + { + return updatedAt; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("typeCode", getTypeCode()) + .append("typeName", getTypeName()) + .append("status", getStatus()) + .append("sort", getSort()) + .append("remark", getRemark()) + .append("createdAt", getCreatedAt()) + .append("updatedAt", getUpdatedAt()) + .toString(); + } +} diff --git a/src/main/java/com/zg/project/information/domain/PcdeDetail.java b/src/main/java/com/zg/project/information/domain/PcdeDetail.java new file mode 100644 index 0000000..be09ff1 --- /dev/null +++ b/src/main/java/com/zg/project/information/domain/PcdeDetail.java @@ -0,0 +1,215 @@ +package com.zg.project.information.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.zg.framework.aspectj.lang.annotation.Excel; +import com.zg.framework.web.domain.BaseEntity; + +/** + * 库位明细对象 pcde_detail + * + * @author zg + * @date 2025-05-29 + */ +public class PcdeDetail extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private Long id; + + /** 库位编号 */ + @Excel(name = "库位编号") + private String locationCode; + + /** 所属场景 */ + private String scene; + + /** 所属场景名称 */ + @Excel(name = "所属场景名称") + private String sceneName; + + /** 所属仓库 */ + @Excel(name = "所属仓库") + private String warehouse; + + /** 编码后ID */ + @Excel(name = "编码后ID") + private String encodedId; + + /** 标签 */ + @Excel(name = "标签") + private String tag; + + /** 备注 */ + @Excel(name = "备注") + private String remark; + + /** 是否删除(0 正常,1 删除) */ + private String isDelete; + + /** 创建人 */ + private String createdBy; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date createdAt; + + /** 修改人 */ + private String updatedBy; + + /** 修改时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date updatedAt; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setLocationCode(String locationCode) + { + this.locationCode = locationCode; + } + + public String getLocationCode() + { + return locationCode; + } + + public void setScene(String scene) + { + this.scene = scene; + } + + public String getScene() + { + return scene; + } + + public void setSceneName(String sceneName) + { + this.sceneName = sceneName; + } + + public String getSceneName() + { + return sceneName; + } + + public void setWarehouse(String warehouse) + { + this.warehouse = warehouse; + } + + public String getWarehouse() + { + return warehouse; + } + + public void setEncodedId(String encodedId) + { + this.encodedId = encodedId; + } + + public String getEncodedId() + { + return encodedId; + } + + public void setTag(String tag) + { + this.tag = tag; + } + + public String getTag() + { + return tag; + } + + public void setRemark(String remark) + { + this.remark = remark; + } + + public String getRemark() + { + return remark; + } + + public void setIsDelete(String isDelete) + { + this.isDelete = isDelete; + } + + public String getIsDelete() + { + return isDelete; + } + + public void setCreatedBy(String createdBy) + { + this.createdBy = createdBy; + } + + public String getCreatedBy() + { + return createdBy; + } + + public void setCreatedAt(Date createdAt) + { + this.createdAt = createdAt; + } + + public Date getCreatedAt() + { + return createdAt; + } + + public void setUpdatedBy(String updatedBy) + { + this.updatedBy = updatedBy; + } + + public String getUpdatedBy() + { + return updatedBy; + } + + public void setUpdatedAt(Date updatedAt) + { + this.updatedAt = updatedAt; + } + + public Date getUpdatedAt() + { + return updatedAt; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("locationCode", getLocationCode()) + .append("scene", getScene()) + .append("sceneName", getSceneName()) + .append("warehouse", getWarehouse()) + .append("encodedId", getEncodedId()) + .append("tag", getTag()) + .append("remark", getRemark()) + .append("isDelete", getIsDelete()) + .append("createdBy", getCreatedBy()) + .append("createdAt", getCreatedAt()) + .append("updatedBy", getUpdatedBy()) + .append("updatedAt", getUpdatedAt()) + .toString(); + } +} diff --git a/src/main/java/com/zg/project/Information/domain/SceneMapping.java b/src/main/java/com/zg/project/information/domain/SceneMapping.java similarity index 96% rename from src/main/java/com/zg/project/Information/domain/SceneMapping.java rename to src/main/java/com/zg/project/information/domain/SceneMapping.java index 4f6e651..8a892f0 100644 --- a/src/main/java/com/zg/project/Information/domain/SceneMapping.java +++ b/src/main/java/com/zg/project/information/domain/SceneMapping.java @@ -1,4 +1,4 @@ -package com.zg.project.Information.domain; +package com.zg.project.information.domain; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; diff --git a/src/main/java/com/zg/project/Information/domain/StockInType.java b/src/main/java/com/zg/project/information/domain/StockInType.java similarity index 98% rename from src/main/java/com/zg/project/Information/domain/StockInType.java rename to src/main/java/com/zg/project/information/domain/StockInType.java index 6e3c42f..085dc45 100644 --- a/src/main/java/com/zg/project/Information/domain/StockInType.java +++ b/src/main/java/com/zg/project/information/domain/StockInType.java @@ -1,4 +1,4 @@ -package com.zg.project.Information.domain; +package com.zg.project.information.domain; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/src/main/java/com/zg/project/Information/domain/WarehouseInfo.java b/src/main/java/com/zg/project/information/domain/WarehouseInfo.java similarity index 98% rename from src/main/java/com/zg/project/Information/domain/WarehouseInfo.java rename to src/main/java/com/zg/project/information/domain/WarehouseInfo.java index dd4e65f..40332c6 100644 --- a/src/main/java/com/zg/project/Information/domain/WarehouseInfo.java +++ b/src/main/java/com/zg/project/information/domain/WarehouseInfo.java @@ -1,4 +1,4 @@ -package com.zg.project.Information.domain; +package com.zg.project.information.domain; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/src/main/java/com/zg/project/Information/mapper/DeviceInfoMapper.java b/src/main/java/com/zg/project/information/mapper/DeviceInfoMapper.java similarity index 92% rename from src/main/java/com/zg/project/Information/mapper/DeviceInfoMapper.java rename to src/main/java/com/zg/project/information/mapper/DeviceInfoMapper.java index 911266f..2b29ba6 100644 --- a/src/main/java/com/zg/project/Information/mapper/DeviceInfoMapper.java +++ b/src/main/java/com/zg/project/information/mapper/DeviceInfoMapper.java @@ -1,7 +1,7 @@ -package com.zg.project.Information.mapper; +package com.zg.project.information.mapper; import java.util.List; -import com.zg.project.Information.domain.DeviceInfo; +import com.zg.project.information.domain.DeviceInfo; /** * 设备信息Mapper接口 diff --git a/src/main/java/com/zg/project/information/mapper/MaterialTypeMapper.java b/src/main/java/com/zg/project/information/mapper/MaterialTypeMapper.java new file mode 100644 index 0000000..0f7edf2 --- /dev/null +++ b/src/main/java/com/zg/project/information/mapper/MaterialTypeMapper.java @@ -0,0 +1,61 @@ +package com.zg.project.information.mapper; + +import java.util.List; +import com.zg.project.information.domain.MaterialType; + +/** + * 物资类型Mapper接口 + * + * @author zg + * @date 2025-05-27 + */ +public interface MaterialTypeMapper +{ + /** + * 查询物资类型 + * + * @param id 物资类型主键 + * @return 物资类型 + */ + public MaterialType selectMaterialTypeById(Long id); + + /** + * 查询物资类型列表 + * + * @param materialType 物资类型 + * @return 物资类型集合 + */ + public List selectMaterialTypeList(MaterialType materialType); + + /** + * 新增物资类型 + * + * @param materialType 物资类型 + * @return 结果 + */ + public int insertMaterialType(MaterialType materialType); + + /** + * 修改物资类型 + * + * @param materialType 物资类型 + * @return 结果 + */ + public int updateMaterialType(MaterialType materialType); + + /** + * 删除物资类型 + * + * @param id 物资类型主键 + * @return 结果 + */ + public int deleteMaterialTypeById(Long id); + + /** + * 批量删除物资类型 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteMaterialTypeByIds(Long[] ids); +} diff --git a/src/main/java/com/zg/project/information/mapper/PcdeDetailMapper.java b/src/main/java/com/zg/project/information/mapper/PcdeDetailMapper.java new file mode 100644 index 0000000..243abb9 --- /dev/null +++ b/src/main/java/com/zg/project/information/mapper/PcdeDetailMapper.java @@ -0,0 +1,69 @@ +package com.zg.project.information.mapper; + +import java.util.List; +import com.zg.project.information.domain.PcdeDetail; + +/** + * 库位明细Mapper接口 + * + * @author zg + * @date 2025-05-29 + */ +public interface PcdeDetailMapper +{ + /** + * 查询库位明细 + * + * @param id 库位明细主键 + * @return 库位明细 + */ + public PcdeDetail selectPcdeDetailById(Long id); + + /** + * 查询库位明细列表 + * + * @param pcdeDetail 库位明细 + * @return 库位明细集合 + */ + public List selectPcdeDetailList(PcdeDetail pcdeDetail); + + /** + * 新增库位明细 + * + * @param pcdeDetail 库位明细 + * @return 结果 + */ + public int insertPcdeDetail(PcdeDetail pcdeDetail); + + /** + * 修改库位明细 + * + * @param pcdeDetail 库位明细 + * @return 结果 + */ + public int updatePcdeDetail(PcdeDetail pcdeDetail); + + /** + * 删除库位明细 + * + * @param id 库位明细主键 + * @return 结果 + */ + public int deletePcdeDetailById(Long id); + + /** + * 批量删除库位明细 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deletePcdeDetailByIds(Long[] ids); + + /** + * 根据库位编码查询库位信息 + * @param locationCode + * @return + */ + PcdeDetail selectByLocationCode(String locationCode); + +} diff --git a/src/main/java/com/zg/project/Information/mapper/SceneMappingMapper.java b/src/main/java/com/zg/project/information/mapper/SceneMappingMapper.java similarity index 92% rename from src/main/java/com/zg/project/Information/mapper/SceneMappingMapper.java rename to src/main/java/com/zg/project/information/mapper/SceneMappingMapper.java index 70e7dd3..06ac357 100644 --- a/src/main/java/com/zg/project/Information/mapper/SceneMappingMapper.java +++ b/src/main/java/com/zg/project/information/mapper/SceneMappingMapper.java @@ -1,6 +1,6 @@ -package com.zg.project.Information.mapper; +package com.zg.project.information.mapper; -import com.zg.project.Information.domain.SceneMapping; +import com.zg.project.information.domain.SceneMapping; import java.util.List; diff --git a/src/main/java/com/zg/project/information/mapper/StockInTypeMapper.java b/src/main/java/com/zg/project/information/mapper/StockInTypeMapper.java new file mode 100644 index 0000000..3554320 --- /dev/null +++ b/src/main/java/com/zg/project/information/mapper/StockInTypeMapper.java @@ -0,0 +1,61 @@ +package com.zg.project.information.mapper; + +import java.util.List; +import com.zg.project.information.domain.StockInType; + +/** + * 入库类型Mapper接口 + * + * @author zg + * @date 2025-05-27 + */ +public interface StockInTypeMapper +{ + /** + * 查询入库类型 + * + * @param id 入库类型主键 + * @return 入库类型 + */ + public StockInType selectStockInTypeById(Long id); + + /** + * 查询入库类型列表 + * + * @param stockInType 入库类型 + * @return 入库类型集合 + */ + public List selectStockInTypeList(StockInType stockInType); + + /** + * 新增入库类型 + * + * @param stockInType 入库类型 + * @return 结果 + */ + public int insertStockInType(StockInType stockInType); + + /** + * 修改入库类型 + * + * @param stockInType 入库类型 + * @return 结果 + */ + public int updateStockInType(StockInType stockInType); + + /** + * 删除入库类型 + * + * @param id 入库类型主键 + * @return 结果 + */ + public int deleteStockInTypeById(Long id); + + /** + * 批量删除入库类型 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteStockInTypeByIds(Long[] ids); +} diff --git a/src/main/java/com/zg/project/information/mapper/WarehouseInfoMapper.java b/src/main/java/com/zg/project/information/mapper/WarehouseInfoMapper.java new file mode 100644 index 0000000..ea4a3f5 --- /dev/null +++ b/src/main/java/com/zg/project/information/mapper/WarehouseInfoMapper.java @@ -0,0 +1,62 @@ +package com.zg.project.information.mapper; + +import com.zg.project.information.domain.WarehouseInfo; + +import java.util.List; + +/** + * 仓库信息Mapper接口 + * + * @author zg + * @date 2025-05-27 + */ +public interface WarehouseInfoMapper +{ + /** + * 查询仓库信息 + * + * @param id 仓库信息主键 + * @return 仓库信息 + */ + public WarehouseInfo selectWarehouseInfoById(Long id); + + /** + * 查询仓库信息列表 + * + * @param warehouseInfo 仓库信息 + * @return 仓库信息集合 + */ + public List selectWarehouseInfoList(WarehouseInfo warehouseInfo); + + /** + * 新增仓库信息 + * + * @param warehouseInfo 仓库信息 + * @return 结果 + */ + public int insertWarehouseInfo(WarehouseInfo warehouseInfo); + + /** + * 修改仓库信息 + * + * @param warehouseInfo 仓库信息 + * @return 结果 + */ + public int updateWarehouseInfo(WarehouseInfo warehouseInfo); + + /** + * 删除仓库信息 + * + * @param id 仓库信息主键 + * @return 结果 + */ + public int deleteWarehouseInfoById(Long id); + + /** + * 批量删除仓库信息 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteWarehouseInfoByIds(Long[] ids); +} diff --git a/src/main/java/com/zg/project/Information/service/IDeviceInfoService.java b/src/main/java/com/zg/project/information/service/IDeviceInfoService.java similarity index 92% rename from src/main/java/com/zg/project/Information/service/IDeviceInfoService.java rename to src/main/java/com/zg/project/information/service/IDeviceInfoService.java index 6ee34c4..2d2239b 100644 --- a/src/main/java/com/zg/project/Information/service/IDeviceInfoService.java +++ b/src/main/java/com/zg/project/information/service/IDeviceInfoService.java @@ -1,7 +1,7 @@ -package com.zg.project.Information.service; +package com.zg.project.information.service; import java.util.List; -import com.zg.project.Information.domain.DeviceInfo; +import com.zg.project.information.domain.DeviceInfo; /** * 设备信息Service接口 diff --git a/src/main/java/com/zg/project/information/service/IMaterialTypeService.java b/src/main/java/com/zg/project/information/service/IMaterialTypeService.java new file mode 100644 index 0000000..148d462 --- /dev/null +++ b/src/main/java/com/zg/project/information/service/IMaterialTypeService.java @@ -0,0 +1,61 @@ +package com.zg.project.information.service; + +import java.util.List; +import com.zg.project.information.domain.MaterialType; + +/** + * 物资类型Service接口 + * + * @author zg + * @date 2025-05-27 + */ +public interface IMaterialTypeService +{ + /** + * 查询物资类型 + * + * @param id 物资类型主键 + * @return 物资类型 + */ + public MaterialType selectMaterialTypeById(Long id); + + /** + * 查询物资类型列表 + * + * @param materialType 物资类型 + * @return 物资类型集合 + */ + public List selectMaterialTypeList(MaterialType materialType); + + /** + * 新增物资类型 + * + * @param materialType 物资类型 + * @return 结果 + */ + public int insertMaterialType(MaterialType materialType); + + /** + * 修改物资类型 + * + * @param materialType 物资类型 + * @return 结果 + */ + public int updateMaterialType(MaterialType materialType); + + /** + * 批量删除物资类型 + * + * @param ids 需要删除的物资类型主键集合 + * @return 结果 + */ + public int deleteMaterialTypeByIds(Long[] ids); + + /** + * 删除物资类型信息 + * + * @param id 物资类型主键 + * @return 结果 + */ + public int deleteMaterialTypeById(Long id); +} diff --git a/src/main/java/com/zg/project/information/service/IPcdeDetailService.java b/src/main/java/com/zg/project/information/service/IPcdeDetailService.java new file mode 100644 index 0000000..88256e3 --- /dev/null +++ b/src/main/java/com/zg/project/information/service/IPcdeDetailService.java @@ -0,0 +1,69 @@ +package com.zg.project.information.service; + +import java.util.List; +import com.zg.project.information.domain.PcdeDetail; + +/** + * 库位明细Service接口 + * + * @author zg + * @date 2025-05-29 + */ +public interface IPcdeDetailService +{ + /** + * 查询库位明细 + * + * @param id 库位明细主键 + * @return 库位明细 + */ + public PcdeDetail selectPcdeDetailById(Long id); + + /** + * 查询库位明细列表 + * + * @param pcdeDetail 库位明细 + * @return 库位明细集合 + */ + public List selectPcdeDetailList(PcdeDetail pcdeDetail); + + /** + * 新增库位明细 + * + * @param pcdeDetail 库位明细 + * @return 结果 + */ + public int insertPcdeDetail(PcdeDetail pcdeDetail); + + /** + * 修改库位明细 + * + * @param pcdeDetail 库位明细 + * @return 结果 + */ + public int updatePcdeDetail(PcdeDetail pcdeDetail); + + /** + * 批量删除库位明细 + * + * @param ids 需要删除的库位明细主键集合 + * @return 结果 + */ + public int deletePcdeDetailByIds(Long[] ids); + + /** + * 删除库位明细信息 + * + * @param id 库位明细主键 + * @return 结果 + */ + public int deletePcdeDetailById(Long id); + + /** + * 导入数据 + * @param list + * @param operName + * @return + */ + String importPcdeDetail(List list, String operName); +} diff --git a/src/main/java/com/zg/project/Information/service/ISceneMappingService.java b/src/main/java/com/zg/project/information/service/ISceneMappingService.java similarity index 92% rename from src/main/java/com/zg/project/Information/service/ISceneMappingService.java rename to src/main/java/com/zg/project/information/service/ISceneMappingService.java index af06f03..66ba1b3 100644 --- a/src/main/java/com/zg/project/Information/service/ISceneMappingService.java +++ b/src/main/java/com/zg/project/information/service/ISceneMappingService.java @@ -1,6 +1,6 @@ -package com.zg.project.Information.service; +package com.zg.project.information.service; -import com.zg.project.Information.domain.SceneMapping; +import com.zg.project.information.domain.SceneMapping; import java.util.List; diff --git a/src/main/java/com/zg/project/information/service/IStockInTypeService.java b/src/main/java/com/zg/project/information/service/IStockInTypeService.java new file mode 100644 index 0000000..87bb73a --- /dev/null +++ b/src/main/java/com/zg/project/information/service/IStockInTypeService.java @@ -0,0 +1,61 @@ +package com.zg.project.information.service; + +import java.util.List; +import com.zg.project.information.domain.StockInType; + +/** + * 入库类型Service接口 + * + * @author zg + * @date 2025-05-27 + */ +public interface IStockInTypeService +{ + /** + * 查询入库类型 + * + * @param id 入库类型主键 + * @return 入库类型 + */ + public StockInType selectStockInTypeById(Long id); + + /** + * 查询入库类型列表 + * + * @param stockInType 入库类型 + * @return 入库类型集合 + */ + public List selectStockInTypeList(StockInType stockInType); + + /** + * 新增入库类型 + * + * @param stockInType 入库类型 + * @return 结果 + */ + public int insertStockInType(StockInType stockInType); + + /** + * 修改入库类型 + * + * @param stockInType 入库类型 + * @return 结果 + */ + public int updateStockInType(StockInType stockInType); + + /** + * 批量删除入库类型 + * + * @param ids 需要删除的入库类型主键集合 + * @return 结果 + */ + public int deleteStockInTypeByIds(Long[] ids); + + /** + * 删除入库类型信息 + * + * @param id 入库类型主键 + * @return 结果 + */ + public int deleteStockInTypeById(Long id); +} diff --git a/src/main/java/com/zg/project/information/service/IWarehouseInfoService.java b/src/main/java/com/zg/project/information/service/IWarehouseInfoService.java new file mode 100644 index 0000000..b9a4efc --- /dev/null +++ b/src/main/java/com/zg/project/information/service/IWarehouseInfoService.java @@ -0,0 +1,62 @@ +package com.zg.project.information.service; + +import com.zg.project.information.domain.WarehouseInfo; + +import java.util.List; + +/** + * 仓库信息Service接口 + * + * @author zg + * @date 2025-05-27 + */ +public interface IWarehouseInfoService +{ + /** + * 查询仓库信息 + * + * @param id 仓库信息主键 + * @return 仓库信息 + */ + public WarehouseInfo selectWarehouseInfoById(Long id); + + /** + * 查询仓库信息列表 + * + * @param warehouseInfo 仓库信息 + * @return 仓库信息集合 + */ + public List selectWarehouseInfoList(WarehouseInfo warehouseInfo); + + /** + * 新增仓库信息 + * + * @param warehouseInfo 仓库信息 + * @return 结果 + */ + public int insertWarehouseInfo(WarehouseInfo warehouseInfo); + + /** + * 修改仓库信息 + * + * @param warehouseInfo 仓库信息 + * @return 结果 + */ + public int updateWarehouseInfo(WarehouseInfo warehouseInfo); + + /** + * 批量删除仓库信息 + * + * @param ids 需要删除的仓库信息主键集合 + * @return 结果 + */ + public int deleteWarehouseInfoByIds(Long[] ids); + + /** + * 删除仓库信息信息 + * + * @param id 仓库信息主键 + * @return 结果 + */ + public int deleteWarehouseInfoById(Long id); +} diff --git a/src/main/java/com/zg/project/Information/service/impl/DeviceInfoServiceImpl.java b/src/main/java/com/zg/project/information/service/impl/DeviceInfoServiceImpl.java similarity index 90% rename from src/main/java/com/zg/project/Information/service/impl/DeviceInfoServiceImpl.java rename to src/main/java/com/zg/project/information/service/impl/DeviceInfoServiceImpl.java index 6104326..b1c10eb 100644 --- a/src/main/java/com/zg/project/Information/service/impl/DeviceInfoServiceImpl.java +++ b/src/main/java/com/zg/project/information/service/impl/DeviceInfoServiceImpl.java @@ -1,12 +1,12 @@ -package com.zg.project.Information.service.impl; +package com.zg.project.information.service.impl; import java.util.List; import com.zg.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.zg.project.Information.mapper.DeviceInfoMapper; -import com.zg.project.Information.domain.DeviceInfo; -import com.zg.project.Information.service.IDeviceInfoService; +import com.zg.project.information.mapper.DeviceInfoMapper; +import com.zg.project.information.domain.DeviceInfo; +import com.zg.project.information.service.IDeviceInfoService; /** * 设备信息Service业务层处理 diff --git a/src/main/java/com/zg/project/information/service/impl/MaterialTypeServiceImpl.java b/src/main/java/com/zg/project/information/service/impl/MaterialTypeServiceImpl.java new file mode 100644 index 0000000..b55e08e --- /dev/null +++ b/src/main/java/com/zg/project/information/service/impl/MaterialTypeServiceImpl.java @@ -0,0 +1,93 @@ +package com.zg.project.information.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.zg.project.information.mapper.MaterialTypeMapper; +import com.zg.project.information.domain.MaterialType; +import com.zg.project.information.service.IMaterialTypeService; + +/** + * 物资类型Service业务层处理 + * + * @author zg + * @date 2025-05-27 + */ +@Service +public class MaterialTypeServiceImpl implements IMaterialTypeService +{ + @Autowired + private MaterialTypeMapper materialTypeMapper; + + /** + * 查询物资类型 + * + * @param id 物资类型主键 + * @return 物资类型 + */ + @Override + public MaterialType selectMaterialTypeById(Long id) + { + return materialTypeMapper.selectMaterialTypeById(id); + } + + /** + * 查询物资类型列表 + * + * @param materialType 物资类型 + * @return 物资类型 + */ + @Override + public List selectMaterialTypeList(MaterialType materialType) + { + return materialTypeMapper.selectMaterialTypeList(materialType); + } + + /** + * 新增物资类型 + * + * @param materialType 物资类型 + * @return 结果 + */ + @Override + public int insertMaterialType(MaterialType materialType) + { + return materialTypeMapper.insertMaterialType(materialType); + } + + /** + * 修改物资类型 + * + * @param materialType 物资类型 + * @return 结果 + */ + @Override + public int updateMaterialType(MaterialType materialType) + { + return materialTypeMapper.updateMaterialType(materialType); + } + + /** + * 批量删除物资类型 + * + * @param ids 需要删除的物资类型主键 + * @return 结果 + */ + @Override + public int deleteMaterialTypeByIds(Long[] ids) + { + return materialTypeMapper.deleteMaterialTypeByIds(ids); + } + + /** + * 删除物资类型信息 + * + * @param id 物资类型主键 + * @return 结果 + */ + @Override + public int deleteMaterialTypeById(Long id) + { + return materialTypeMapper.deleteMaterialTypeById(id); + } +} diff --git a/src/main/java/com/zg/project/information/service/impl/PcdeDetailServiceImpl.java b/src/main/java/com/zg/project/information/service/impl/PcdeDetailServiceImpl.java new file mode 100644 index 0000000..ac21afd --- /dev/null +++ b/src/main/java/com/zg/project/information/service/impl/PcdeDetailServiceImpl.java @@ -0,0 +1,146 @@ +package com.zg.project.information.service.impl; + +import java.util.List; + +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.zg.common.exception.ServiceException; +import com.zg.common.utils.DateUtils; +import com.zg.project.wisdom.domain.GysJh; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.zg.project.information.mapper.PcdeDetailMapper; +import com.zg.project.information.domain.PcdeDetail; +import com.zg.project.information.service.IPcdeDetailService; + +/** + * 库位明细Service业务层处理 + * + * @author zg + * @date 2025-05-29 + */ +@Service +public class PcdeDetailServiceImpl implements IPcdeDetailService +{ + @Autowired + private PcdeDetailMapper pcdeDetailMapper; + + /** + * 查询库位明细 + * + * @param id 库位明细主键 + * @return 库位明细 + */ + @Override + public PcdeDetail selectPcdeDetailById(Long id) + { + return pcdeDetailMapper.selectPcdeDetailById(id); + } + + /** + * 查询库位明细列表 + * + * @param pcdeDetail 库位明细 + * @return 库位明细 + */ + @Override + public List selectPcdeDetailList(PcdeDetail pcdeDetail) + { + return pcdeDetailMapper.selectPcdeDetailList(pcdeDetail); + } + + /** + * 新增库位明细 + * + * @param pcdeDetail 库位明细 + * @return 结果 + */ + @Override + public int insertPcdeDetail(PcdeDetail pcdeDetail) { + // 原始 locationCode + String locationCode = pcdeDetail.getLocationCode(); + + // 将 locationCode 转换为十六进制字符串 + StringBuilder hex = new StringBuilder(); + for (int i = 0; i < locationCode.length(); i++) { + char c = locationCode.charAt(i); + String hexPart = Integer.toHexString(c).toUpperCase(); + hex.append(hexPart); + } + + pcdeDetail.setEncodedId( hex.toString()); + + // 继续插入操作 + return pcdeDetailMapper.insertPcdeDetail(pcdeDetail); + } + /** + * 修改库位明细 + * + * @param pcdeDetail 库位明细 + * @return 结果 + */ + @Override + public int updatePcdeDetail(PcdeDetail pcdeDetail) + { + return pcdeDetailMapper.updatePcdeDetail(pcdeDetail); + } + + /** + * 批量删除库位明细 + * + * @param ids 需要删除的库位明细主键 + * @return 结果 + */ + @Override + public int deletePcdeDetailByIds(Long[] ids) + { + return pcdeDetailMapper.deletePcdeDetailByIds(ids); + } + + /** + * 删除库位明细信息 + * + * @param id 库位明细主键 + * @return 结果 + */ + @Override + public int deletePcdeDetailById(Long id) + { + return pcdeDetailMapper.deletePcdeDetailById(id); + } + + @Override + public String importPcdeDetail(List pcdeList, String operName) { + if (CollectionUtils.isEmpty(pcdeList)) { + throw new ServiceException("导入数据不能为空!"); + } + + int successNum = 0; + int failureNum = 0; + StringBuilder failureMsg = new StringBuilder(); + + for (PcdeDetail detail : pcdeList) { + try { + PcdeDetail exist = pcdeDetailMapper.selectByLocationCode(detail.getLocationCode()); + if (exist == null) { + detail.setCreateBy(operName); + detail.setCreateTime(DateUtils.getNowDate()); + pcdeDetailMapper.insertPcdeDetail(detail); + successNum++; + } else { + failureNum++; + failureMsg.append("
库位编号 ").append(detail.getLocationCode()).append(" 已存在"); + } + } catch (Exception e) { + failureNum++; + failureMsg.append("
库位编号 ").append(detail.getLocationCode()).append(" 导入失败:").append(e.getMessage()); + } + } + + if (failureNum > 0) { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据有误,错误如下:"); + throw new ServiceException(failureMsg.toString()); + } else { + return "恭喜您,数据已全部导入成功!共 " + successNum + " 条。"; + } + } +} diff --git a/src/main/java/com/zg/project/Information/service/impl/SceneMappingServiceImpl.java b/src/main/java/com/zg/project/information/service/impl/SceneMappingServiceImpl.java similarity index 89% rename from src/main/java/com/zg/project/Information/service/impl/SceneMappingServiceImpl.java rename to src/main/java/com/zg/project/information/service/impl/SceneMappingServiceImpl.java index 77c5177..a520792 100644 --- a/src/main/java/com/zg/project/Information/service/impl/SceneMappingServiceImpl.java +++ b/src/main/java/com/zg/project/information/service/impl/SceneMappingServiceImpl.java @@ -1,10 +1,10 @@ -package com.zg.project.Information.service.impl; +package com.zg.project.information.service.impl; import java.util.List; -import com.zg.project.Information.domain.SceneMapping; -import com.zg.project.Information.mapper.SceneMappingMapper; -import com.zg.project.Information.service.ISceneMappingService; +import com.zg.project.information.domain.SceneMapping; +import com.zg.project.information.mapper.SceneMappingMapper; +import com.zg.project.information.service.ISceneMappingService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/zg/project/information/service/impl/StockInTypeServiceImpl.java b/src/main/java/com/zg/project/information/service/impl/StockInTypeServiceImpl.java new file mode 100644 index 0000000..093b099 --- /dev/null +++ b/src/main/java/com/zg/project/information/service/impl/StockInTypeServiceImpl.java @@ -0,0 +1,93 @@ +package com.zg.project.information.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.zg.project.information.mapper.StockInTypeMapper; +import com.zg.project.information.domain.StockInType; +import com.zg.project.information.service.IStockInTypeService; + +/** + * 入库类型Service业务层处理 + * + * @author zg + * @date 2025-05-27 + */ +@Service +public class StockInTypeServiceImpl implements IStockInTypeService +{ + @Autowired + private StockInTypeMapper stockInTypeMapper; + + /** + * 查询入库类型 + * + * @param id 入库类型主键 + * @return 入库类型 + */ + @Override + public StockInType selectStockInTypeById(Long id) + { + return stockInTypeMapper.selectStockInTypeById(id); + } + + /** + * 查询入库类型列表 + * + * @param stockInType 入库类型 + * @return 入库类型 + */ + @Override + public List selectStockInTypeList(StockInType stockInType) + { + return stockInTypeMapper.selectStockInTypeList(stockInType); + } + + /** + * 新增入库类型 + * + * @param stockInType 入库类型 + * @return 结果 + */ + @Override + public int insertStockInType(StockInType stockInType) + { + return stockInTypeMapper.insertStockInType(stockInType); + } + + /** + * 修改入库类型 + * + * @param stockInType 入库类型 + * @return 结果 + */ + @Override + public int updateStockInType(StockInType stockInType) + { + return stockInTypeMapper.updateStockInType(stockInType); + } + + /** + * 批量删除入库类型 + * + * @param ids 需要删除的入库类型主键 + * @return 结果 + */ + @Override + public int deleteStockInTypeByIds(Long[] ids) + { + return stockInTypeMapper.deleteStockInTypeByIds(ids); + } + + /** + * 删除入库类型信息 + * + * @param id 入库类型主键 + * @return 结果 + */ + @Override + public int deleteStockInTypeById(Long id) + { + return stockInTypeMapper.deleteStockInTypeById(id); + } +} diff --git a/src/main/java/com/zg/project/information/service/impl/WarehouseInfoServiceImpl.java b/src/main/java/com/zg/project/information/service/impl/WarehouseInfoServiceImpl.java new file mode 100644 index 0000000..9921a34 --- /dev/null +++ b/src/main/java/com/zg/project/information/service/impl/WarehouseInfoServiceImpl.java @@ -0,0 +1,93 @@ +package com.zg.project.information.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.zg.project.information.mapper.WarehouseInfoMapper; +import com.zg.project.information.domain.WarehouseInfo; +import com.zg.project.information.service.IWarehouseInfoService; + +/** + * 仓库信息Service业务层处理 + * + * @author zg + * @date 2025-05-27 + */ +@Service +public class WarehouseInfoServiceImpl implements IWarehouseInfoService +{ + @Autowired + private WarehouseInfoMapper warehouseInfoMapper; + + /** + * 查询仓库信息 + * + * @param id 仓库信息主键 + * @return 仓库信息 + */ + @Override + public WarehouseInfo selectWarehouseInfoById(Long id) + { + return warehouseInfoMapper.selectWarehouseInfoById(id); + } + + /** + * 查询仓库信息列表 + * + * @param warehouseInfo 仓库信息 + * @return 仓库信息 + */ + @Override + public List selectWarehouseInfoList(WarehouseInfo warehouseInfo) + { + return warehouseInfoMapper.selectWarehouseInfoList(warehouseInfo); + } + + /** + * 新增仓库信息 + * + * @param warehouseInfo 仓库信息 + * @return 结果 + */ + @Override + public int insertWarehouseInfo(WarehouseInfo warehouseInfo) + { + return warehouseInfoMapper.insertWarehouseInfo(warehouseInfo); + } + + /** + * 修改仓库信息 + * + * @param warehouseInfo 仓库信息 + * @return 结果 + */ + @Override + public int updateWarehouseInfo(WarehouseInfo warehouseInfo) + { + return warehouseInfoMapper.updateWarehouseInfo(warehouseInfo); + } + + /** + * 批量删除仓库信息 + * + * @param ids 需要删除的仓库信息主键 + * @return 结果 + */ + @Override + public int deleteWarehouseInfoByIds(Long[] ids) + { + return warehouseInfoMapper.deleteWarehouseInfoByIds(ids); + } + + /** + * 删除仓库信息信息 + * + * @param id 仓库信息主键 + * @return 结果 + */ + @Override + public int deleteWarehouseInfoById(Long id) + { + return warehouseInfoMapper.deleteWarehouseInfoById(id); + } +} diff --git a/src/main/java/com/zg/project/system/mapper/SysUserMapper.java b/src/main/java/com/zg/project/system/mapper/SysUserMapper.java index ee2a259..6cd9aca 100644 --- a/src/main/java/com/zg/project/system/mapper/SysUserMapper.java +++ b/src/main/java/com/zg/project/system/mapper/SysUserMapper.java @@ -126,4 +126,11 @@ public interface SysUserMapper * @return 结果 */ public SysUser checkEmailUnique(String email); + + /** + * 获取所有用户 + * @return + */ + List getAll(); + } diff --git a/src/main/java/com/zg/project/system/service/ISysUserService.java b/src/main/java/com/zg/project/system/service/ISysUserService.java index 1b24b18..8ddbe27 100644 --- a/src/main/java/com/zg/project/system/service/ISysUserService.java +++ b/src/main/java/com/zg/project/system/service/ISysUserService.java @@ -203,4 +203,12 @@ public interface ISysUserService * @return 结果 */ public String importUser(List userList, Boolean isUpdateSupport, String operName); + + /** + * 获取所有用户 + * @return + */ + List getAll(); + + } diff --git a/src/main/java/com/zg/project/system/service/impl/SysUserServiceImpl.java b/src/main/java/com/zg/project/system/service/impl/SysUserServiceImpl.java index 4c1b12f..09a2f53 100644 --- a/src/main/java/com/zg/project/system/service/impl/SysUserServiceImpl.java +++ b/src/main/java/com/zg/project/system/service/impl/SysUserServiceImpl.java @@ -547,4 +547,9 @@ public class SysUserServiceImpl implements ISysUserService } return successMsg.toString(); } + + @Override + public List getAll() { + return userMapper.getAll(); + } } diff --git a/src/main/java/com/zg/project/wisdom/plan/controller/GysJhController.java b/src/main/java/com/zg/project/wisdom/controller/GysJhController.java similarity index 60% rename from src/main/java/com/zg/project/wisdom/plan/controller/GysJhController.java rename to src/main/java/com/zg/project/wisdom/controller/GysJhController.java index 817420e..aae1f43 100644 --- a/src/main/java/com/zg/project/wisdom/plan/controller/GysJhController.java +++ b/src/main/java/com/zg/project/wisdom/controller/GysJhController.java @@ -1,17 +1,14 @@ -package com.zg.project.wisdom.plan.controller; +package com.zg.project.wisdom.controller; -import java.io.IOException; import java.util.List; import javax.servlet.http.HttpServletResponse; - +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import com.zg.framework.aspectj.lang.annotation.Log; import com.zg.framework.aspectj.lang.enums.BusinessType; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; -import com.zg.project.wisdom.plan.domain.GysJh; -import com.zg.project.wisdom.plan.service.IGysJhService; +import com.zg.project.wisdom.domain.GysJh; +import com.zg.project.wisdom.service.IGysJhService; import com.zg.framework.web.controller.BaseController; import com.zg.framework.web.domain.AjaxResult; import com.zg.common.utils.poi.ExcelUtil; @@ -22,103 +19,108 @@ import org.springframework.web.multipart.MultipartFile; * 供应计划Controller * * @author zg - * @date 2025-05-12 + * @date 2025-05-28 */ @RestController @RequestMapping("/plan/jh") -public class GysJhController extends BaseController { - +public class GysJhController extends BaseController +{ @Autowired private IGysJhService gysJhService; /** * 查询供应计划列表 */ - @PreAuthorize("@ss.hasPermi('query:jh:list')") + @PreAuthorize("@ss.hasPermi('plan:jh:list')") @GetMapping("/list") - public TableDataInfo list(GysJh gysJh) { - + public TableDataInfo list(GysJh gysJh) + { startPage(); List list = gysJhService.selectGysJhList(gysJh); return getDataTable(list); + } + /** + * 根据sapNo查询供应计划列表 + * @param sapNo + * @return + */ + @PreAuthorize("@ss.hasPermi('plan:jh:list')") + @GetMapping("/getBySapNo") + public AjaxResult getBySapNo(String sapNo) + { + List list = gysJhService.getBySapNo(sapNo); + return success(list); } /** * 导出供应计划列表 */ - @PreAuthorize("@ss.hasPermi('query:jh:export')") + @PreAuthorize("@ss.hasPermi('plan:jh:export')") @Log(title = "供应计划", businessType = BusinessType.EXPORT) @PostMapping("/export") - public void export(HttpServletResponse response, GysJh gysJh) { - + public void export(HttpServletResponse response, GysJh gysJh) + { List list = gysJhService.selectGysJhList(gysJh); ExcelUtil util = new ExcelUtil(GysJh.class); util.exportExcel(response, list, "供应计划数据"); + } + /** + * 导入供应计划数据(全部新增,不校验重复) + */ + @PreAuthorize("@ss.hasPermi('wisdom:jh:import')") + @Log(title = "供应计划", businessType = BusinessType.IMPORT) + @PostMapping("/importData") + public AjaxResult importData(@RequestParam("file") MultipartFile file) throws Exception { + ExcelUtil util = new ExcelUtil<>(GysJh.class); + List jhList = util.importExcel(file.getInputStream()); + String operName = getUsername(); + + String message = gysJhService.importGysJhList(jhList, operName); + return AjaxResult.success(message); } /** * 获取供应计划详细信息 */ - @PreAuthorize("@ss.hasPermi('query:jh:query')") + @PreAuthorize("@ss.hasPermi('plan:jh:query')") @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) { - + public AjaxResult getInfo(@PathVariable("id") Long id) + { return success(gysJhService.selectGysJhById(id)); - } /** * 新增供应计划 */ - @PreAuthorize("@ss.hasPermi('query:jh:add')") + @PreAuthorize("@ss.hasPermi('plan:jh:add')") @Log(title = "供应计划", businessType = BusinessType.INSERT) - @PostMapping("/add") - public AjaxResult add(@RequestBody GysJh gysJh) { - + @PostMapping + public AjaxResult add(@RequestBody GysJh gysJh) + { return toAjax(gysJhService.insertGysJh(gysJh)); - - } - - /** - * 供应计划导入 - */ - @PreAuthorize("@ss.hasPermi('query:jh:import')") - @Log(title = "供应计划", businessType = BusinessType.IMPORT) - @PostMapping("/import") - public AjaxResult importData(@RequestParam("file") MultipartFile file, boolean updateSupport) throws IOException { - - ExcelUtil util = new ExcelUtil<>(GysJh.class); - List list = util.importExcel(file.getInputStream()); - String operator = getUsername(); - String message = gysJhService.importGysJh(list, updateSupport, "zhangsan"); - - return AjaxResult.success(message); } /** * 修改供应计划 */ - @PreAuthorize("@ss.hasPermi('query:jh:edit')") + @PreAuthorize("@ss.hasPermi('plan:jh:edit')") @Log(title = "供应计划", businessType = BusinessType.UPDATE) - @PutMapping("/update") - public AjaxResult edit(@RequestBody GysJh gysJh) { - + @PutMapping + public AjaxResult edit(@RequestBody GysJh gysJh) + { return toAjax(gysJhService.updateGysJh(gysJh)); - } /** * 删除供应计划 */ - @PreAuthorize("@ss.hasPermi('query:jh:remove')") + @PreAuthorize("@ss.hasPermi('plan:jh:remove')") @Log(title = "供应计划", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) { - + public AjaxResult remove(@PathVariable Long[] ids) + { return toAjax(gysJhService.deleteGysJhByIds(ids)); - } - } diff --git a/src/main/java/com/zg/project/wisdom/login/LoginController.java b/src/main/java/com/zg/project/wisdom/controller/LoginController.java similarity index 97% rename from src/main/java/com/zg/project/wisdom/login/LoginController.java rename to src/main/java/com/zg/project/wisdom/controller/LoginController.java index f363581..982a585 100644 --- a/src/main/java/com/zg/project/wisdom/login/LoginController.java +++ b/src/main/java/com/zg/project/wisdom/controller/LoginController.java @@ -1,4 +1,4 @@ -package com.zg.project.wisdom.login; +package com.zg.project.wisdom.controller; import com.zg.common.constant.Constants; import com.zg.framework.security.LoginBody; diff --git a/src/main/java/com/zg/project/wisdom/controller/RkInfoController.java b/src/main/java/com/zg/project/wisdom/controller/RkInfoController.java new file mode 100644 index 0000000..2485264 --- /dev/null +++ b/src/main/java/com/zg/project/wisdom/controller/RkInfoController.java @@ -0,0 +1,106 @@ +package com.zg.project.wisdom.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.zg.project.wisdom.domain.dto.RkInfoBatchDTO; +import com.zg.project.wisdom.service.IGysJhService; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.zg.framework.aspectj.lang.annotation.Log; +import com.zg.framework.aspectj.lang.enums.BusinessType; +import com.zg.project.wisdom.domain.RkInfo; +import com.zg.project.wisdom.service.IRkInfoService; +import com.zg.framework.web.controller.BaseController; +import com.zg.framework.web.domain.AjaxResult; +import com.zg.common.utils.poi.ExcelUtil; +import com.zg.framework.web.page.TableDataInfo; + +/** + * 库存单据主Controller + * + * @author zg + * @date 2025-05-28 + */ +@RestController +@RequestMapping("/wisdom/stock") +public class RkInfoController extends BaseController +{ + @Autowired + private IRkInfoService rkInfoService; + + /** + * 查询库存单据主列表 + */ + @PreAuthorize("@ss.hasPermi('wisdom:stock:list')") + @GetMapping("/list") + public TableDataInfo list(RkInfo rkInfo) + { + startPage(); + List list = rkInfoService.selectRkInfoList(rkInfo); + return getDataTable(list); + } + + /** + * 导出库存单据主列表 + */ + @PreAuthorize("@ss.hasPermi('wisdom:stock:export')") + @Log(title = "库存单据主", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, RkInfo rkInfo) + { + List list = rkInfoService.selectRkInfoList(rkInfo); + ExcelUtil util = new ExcelUtil(RkInfo.class); + util.exportExcel(response, list, "库存单据主数据"); + } + + /** + * 获取库存单据主详细信息 + */ + @PreAuthorize("@ss.hasPermi('wisdom:stock:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(rkInfoService.selectRkInfoById(id)); + } + + /** + * 新增库存单据主 + */ + @PreAuthorize("@ss.hasPermi('wisdom:stock:add')") + @Log(title = "库存单据主", businessType = BusinessType.INSERT) + @PostMapping("/add") + public AjaxResult batchAdd(@RequestBody RkInfoBatchDTO dto) { + return toAjax(rkInfoService.batchInsert(dto)); + } + + /** + * 修改库存单据主 + */ + @PreAuthorize("@ss.hasPermi('wisdom:stock:edit')") + @Log(title = "库存单据主", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody RkInfo rkInfo) + { + return toAjax(rkInfoService.updateRkInfo(rkInfo)); + } + + /** + * 删除库存单据主 + */ + @PreAuthorize("@ss.hasPermi('wisdom:stock:remove')") + @Log(title = "库存单据主", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(rkInfoService.deleteRkInfoByIds(ids)); + } +} diff --git a/src/main/java/com/zg/project/wisdom/plan/domain/GysJh.java b/src/main/java/com/zg/project/wisdom/domain/GysJh.java similarity index 91% rename from src/main/java/com/zg/project/wisdom/plan/domain/GysJh.java rename to src/main/java/com/zg/project/wisdom/domain/GysJh.java index 224cd02..21dac1e 100644 --- a/src/main/java/com/zg/project/wisdom/plan/domain/GysJh.java +++ b/src/main/java/com/zg/project/wisdom/domain/GysJh.java @@ -1,4 +1,4 @@ -package com.zg.project.wisdom.plan.domain; +package com.zg.project.wisdom.domain; import java.math.BigDecimal; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -10,7 +10,7 @@ import com.zg.framework.web.domain.BaseEntity; * 供应计划对象 gys_jh * * @author zg - * @date 2025-05-12 + * @date 2025-05-28 */ public class GysJh extends BaseEntity { @@ -19,6 +19,10 @@ public class GysJh extends BaseEntity /** 主键ID */ private Long id; + /** 序号 */ + @Excel(name = "序号") + private Long indexNo; + /** 县局 */ @Excel(name = "县局") private String xj; @@ -75,12 +79,8 @@ public class GysJh extends BaseEntity @Excel(name = "计量单位") private String dw; - /** 备注 */ - @Excel(name = "备注") - private String remark; - - /** 状态(0正常 1停用) */ - @Excel(name = "状态", readConverterExp = "0:未到货,1:已入库") + /** 0:未到货,1:已入库 */ + @Excel(name = "0:未到货,1:已入库") private String status; /** 是否删除(0正常 1删除) */ @@ -97,6 +97,16 @@ public class GysJh extends BaseEntity return id; } + public void setIndexNo(Long indexNo) + { + this.indexNo = indexNo; + } + + public Long getIndexNo() + { + return indexNo; + } + public void setXj(String xj) { this.xj = xj; @@ -237,20 +247,12 @@ public class GysJh extends BaseEntity return dw; } - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } - - public void setStatus(String status) + public void setStatus(String status) { this.status = status; } - public String getStatus() + public String getStatus() { return status; } @@ -269,6 +271,7 @@ public class GysJh extends BaseEntity public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("id", getId()) + .append("indexNo", getIndexNo()) .append("xj", getXj()) .append("xmNo", getXmNo()) .append("xmMs", getXmMs()) @@ -283,13 +286,13 @@ public class GysJh extends BaseEntity .append("jhQty", getJhQty()) .append("htQty", getHtQty()) .append("dw", getDw()) + .append("status", getStatus()) .append("remark", getRemark()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) .append("isDelete", getIsDelete()) - .append("status", getStatus()) .toString(); } } diff --git a/src/main/java/com/zg/project/wisdom/domain/RkInfo.java b/src/main/java/com/zg/project/wisdom/domain/RkInfo.java new file mode 100644 index 0000000..2d73a09 --- /dev/null +++ b/src/main/java/com/zg/project/wisdom/domain/RkInfo.java @@ -0,0 +1,453 @@ +package com.zg.project.wisdom.domain; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.zg.framework.aspectj.lang.annotation.Excel; +import com.zg.framework.web.domain.BaseEntity; + +/** + * 库存单据主对象 rk_info + * + * @author zg + * @date 2025-05-28 + */ +public class RkInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private Long id; + + /** 入库类型 */ +// @Excel(name = "入库类型") + private String rkType; + + /** 物资类型 */ +// @Excel(name = "物资类型") + private String wlType; + + /** 所属仓库 */ +// @Excel(name = "所属仓库") + private String cangku; + + /** 入库类型名称(联查显示用,导出专用) */ + @Excel(name = "入库类型名称") + private String rkTypeName; + + /** 物资类型名称(联查显示用,导出专用) */ + @Excel(name = "物资类型名称") + private String wlTypeName; + + /** 所属仓库名称(联查显示用,导出专用) */ + @Excel(name = "所属仓库名称") + private String cangkuName; + + /** 入库时间(用户操作入库的日期) */ + @Excel(name = "入库时间", readConverterExp = "用=户操作入库的日期") + private Date rkTime; + + /** 理货员 */ + @Excel(name = "理货员") + private String lihuoY; + + /** 是否已出库(0未出库,1已出库) */ + @Excel(name = "是否已出库", readConverterExp = "0=已入库,1已出库") + private String isChuku; + + /** 县局 */ + @Excel(name = "县局") + private String xj; + + /** 项目号 */ + @Excel(name = "项目号") + private String xmNo; + + /** 项目描述 */ + @Excel(name = "项目描述") + private String xmMs; + + /** 物料号 */ + @Excel(name = "物料号") + private String wlNo; + + /** 物料描述 */ + @Excel(name = "物料描述") + private String wlMs; + + /** 供应商编码 */ + @Excel(name = "供应商编码") + private String gysNo; + + /** 供应商名称 */ + @Excel(name = "供应商名称") + private String gysMc; + + /** 计划交货金额 */ + @Excel(name = "计划交货金额") + private BigDecimal jhAmt; + + /** 合同单价 */ + @Excel(name = "合同单价") + private BigDecimal htDj; + + /** SAP订单编号 */ + @Excel(name = "SAP订单编号") + private String sapNo; + + /** 行号 */ + @Excel(name = "行号") + private String xh; + + /** 计划交货数量 */ + @Excel(name = "计划交货数量") + private Long jhQty; + + /** 合同数量 */ + @Excel(name = "合同数量") + private Long htQty; + + /** 计量单位 */ + @Excel(name = "计量单位") + private String dw; + + /** 实际入库数量 */ + @Excel(name = "实际入库数量") + private Long realQty; + + /** 库位码 */ + @Excel(name = "库位码") + private String pcode; + + /** 托盘码 */ + @Excel(name = "托盘码") + private String trayCode; + + /** 实物ID */ + @Excel(name = "实物ID") + private String entityId; + + /** 是否删除(0 表示正常,1 表示已删除) */ + @Excel(name = "是否删除", readConverterExp = "0=,表=示正常,1,表=示已删除") + private String isDelete; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setRkType(String rkType) + { + this.rkType = rkType; + } + + public String getRkType() + { + return rkType; + } + + public void setWlType(String wlType) + { + this.wlType = wlType; + } + + public String getWlType() + { + return wlType; + } + + public void setCangku(String cangku) + { + this.cangku = cangku; + } + + public String getCangku() + { + return cangku; + } + + public String getRkTypeName() { + return rkTypeName; + } + public void setRkTypeName(String rkTypeName) { + this.rkTypeName = rkTypeName; + } + + public String getWlTypeName() { + return wlTypeName; + } + public void setWlTypeName(String wlTypeName) { + this.wlTypeName = wlTypeName; + } + + public String getCangkuName() { + return cangkuName; + } + public void setCangkuName(String cangkuName) { + this.cangkuName = cangkuName; + } + + public void setRkTime(Date rkTime) + { + this.rkTime = rkTime; + } + + public Date getRkTime() + { + return rkTime; + } + + public void setLihuoY(String lihuoY) + { + this.lihuoY = lihuoY; + } + + public String getLihuoY() + { + return lihuoY; + } + + public void setIsChuku(String isChuku) + { + this.isChuku = isChuku; + } + + public String getIsChuku() + { + return isChuku; + } + + public void setXj(String xj) + { + this.xj = xj; + } + + public String getXj() + { + return xj; + } + + public void setXmNo(String xmNo) + { + this.xmNo = xmNo; + } + + public String getXmNo() + { + return xmNo; + } + + public void setXmMs(String xmMs) + { + this.xmMs = xmMs; + } + + public String getXmMs() + { + return xmMs; + } + + public void setWlNo(String wlNo) + { + this.wlNo = wlNo; + } + + public String getWlNo() + { + return wlNo; + } + + public void setWlMs(String wlMs) + { + this.wlMs = wlMs; + } + + public String getWlMs() + { + return wlMs; + } + + public void setGysNo(String gysNo) + { + this.gysNo = gysNo; + } + + public String getGysNo() + { + return gysNo; + } + + public void setGysMc(String gysMc) + { + this.gysMc = gysMc; + } + + public String getGysMc() + { + return gysMc; + } + + public void setJhAmt(BigDecimal jhAmt) + { + this.jhAmt = jhAmt; + } + + public BigDecimal getJhAmt() + { + return jhAmt; + } + + public void setHtDj(BigDecimal htDj) + { + this.htDj = htDj; + } + + public BigDecimal getHtDj() + { + return htDj; + } + + public void setSapNo(String sapNo) + { + this.sapNo = sapNo; + } + + public String getSapNo() + { + return sapNo; + } + + public void setXh(String xh) + { + this.xh = xh; + } + + public String getXh() + { + return xh; + } + + public void setJhQty(Long jhQty) + { + this.jhQty = jhQty; + } + + public Long getJhQty() + { + return jhQty; + } + + public void setHtQty(Long htQty) + { + this.htQty = htQty; + } + + public Long getHtQty() + { + return htQty; + } + + public void setDw(String dw) + { + this.dw = dw; + } + + public String getDw() + { + return dw; + } + + public void setRealQty(Long realQty) + { + this.realQty = realQty; + } + + public Long getRealQty() + { + return realQty; + } + + public void setPcode(String pcode) + { + this.pcode = pcode; + } + + public String getPcode() + { + return pcode; + } + + public void setTrayCode(String trayCode) + { + this.trayCode = trayCode; + } + + public String getTrayCode() + { + return trayCode; + } + + public void setEntityId(String entityId) + { + this.entityId = entityId; + } + + public String getEntityId() + { + return entityId; + } + + public void setIsDelete(String isDelete) + { + this.isDelete = isDelete; + } + + public String getIsDelete() + { + return isDelete; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("rkType", getRkType()) + .append("wlType", getWlType()) + .append("cangku", getCangku()) + .append("rkTime", getRkTime()) + .append("lihuoY", getLihuoY()) + .append("isChuku", getIsChuku()) + .append("remark", getRemark()) + .append("xj", getXj()) + .append("xmNo", getXmNo()) + .append("xmMs", getXmMs()) + .append("wlNo", getWlNo()) + .append("wlMs", getWlMs()) + .append("gysNo", getGysNo()) + .append("gysMc", getGysMc()) + .append("jhAmt", getJhAmt()) + .append("htDj", getHtDj()) + .append("sapNo", getSapNo()) + .append("xh", getXh()) + .append("jhQty", getJhQty()) + .append("htQty", getHtQty()) + .append("dw", getDw()) + .append("realQty", getRealQty()) + .append("pcode", getPcode()) + .append("trayCode", getTrayCode()) + .append("entityId", getEntityId()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("isDelete", getIsDelete()) + .toString(); + } +} diff --git a/src/main/java/com/zg/project/wisdom/domain/dto/RkInfoBatchDTO.java b/src/main/java/com/zg/project/wisdom/domain/dto/RkInfoBatchDTO.java new file mode 100644 index 0000000..6342b70 --- /dev/null +++ b/src/main/java/com/zg/project/wisdom/domain/dto/RkInfoBatchDTO.java @@ -0,0 +1,62 @@ +package com.zg.project.wisdom.domain.dto; + +import java.util.List; + +public class RkInfoBatchDTO { + + /** 入库类型 */ + private String rkType; + + /** 物资类型 */ + private String wlType; + + /** 理货员 */ + private String lihuoY; + + /** 所属仓库 */ + private String cangku; + + /** 入库物料列表 */ + private List rkList; + + // Getters and Setters + public String getRkType() { + return rkType; + } + + public void setRkType(String rkType) { + this.rkType = rkType; + } + + public String getWlType() { + return wlType; + } + + public void setWlType(String wlType) { + this.wlType = wlType; + } + + public String getLihuoY() { + return lihuoY; + } + + public void setLihuoY(String lihuoY) { + this.lihuoY = lihuoY; + } + + public String getCangku() { + return cangku; + } + + public void setCangku(String cangku) { + this.cangku = cangku; + } + + public List getRkList() { + return rkList; + } + + public void setRkList(List rkList) { + this.rkList = rkList; + } +} diff --git a/src/main/java/com/zg/project/wisdom/domain/dto/RkInfoItemDTO.java b/src/main/java/com/zg/project/wisdom/domain/dto/RkInfoItemDTO.java new file mode 100644 index 0000000..58f0367 --- /dev/null +++ b/src/main/java/com/zg/project/wisdom/domain/dto/RkInfoItemDTO.java @@ -0,0 +1,40 @@ +package com.zg.project.wisdom.domain.dto; + +import java.util.List; + +public class RkInfoItemDTO { + + /** 物料号 */ + private String wlNo; + + /** 项目描述 */ + private String xmMs; + + /** 扫码记录列表 */ + private List scanList; + + // Getters and Setters + public String getWlNo() { + return wlNo; + } + + public void setWlNo(String wlNo) { + this.wlNo = wlNo; + } + + public String getXmMs() { + return xmMs; + } + + public void setXmMs(String xmMs) { + this.xmMs = xmMs; + } + + public List getScanList() { + return scanList; + } + + public void setScanList(List scanList) { + this.scanList = scanList; + } +} diff --git a/src/main/java/com/zg/project/wisdom/domain/dto/RkInfoScanDTO.java b/src/main/java/com/zg/project/wisdom/domain/dto/RkInfoScanDTO.java new file mode 100644 index 0000000..6dcd4cf --- /dev/null +++ b/src/main/java/com/zg/project/wisdom/domain/dto/RkInfoScanDTO.java @@ -0,0 +1,60 @@ +package com.zg.project.wisdom.domain.dto; + +public class RkInfoScanDTO { + + /** 库位码 */ + private String pcode; + + /** 托盘码 */ + private String trayCode; + + /** 实际入库数量 */ + private Long realQty; + + /** 实物ID */ + private String entityId; + + /** 备注 */ + private String remark; + + // Getters and Setters + public String getPcode() { + return pcode; + } + + public void setPcode(String pcode) { + this.pcode = pcode; + } + + public String getTrayCode() { + return trayCode; + } + + public void setTrayCode(String trayCode) { + this.trayCode = trayCode; + } + + public Long getRealQty() { + return realQty; + } + + public void setRealQty(Long realQty) { + this.realQty = realQty; + } + + public String getEntityId() { + return entityId; + } + + public void setEntityId(String entityId) { + this.entityId = entityId; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } +} diff --git a/src/main/java/com/zg/project/wisdom/plan/mapper/GysJhMapper.java b/src/main/java/com/zg/project/wisdom/mapper/GysJhMapper.java similarity index 83% rename from src/main/java/com/zg/project/wisdom/plan/mapper/GysJhMapper.java rename to src/main/java/com/zg/project/wisdom/mapper/GysJhMapper.java index 655b9b5..c7c0314 100644 --- a/src/main/java/com/zg/project/wisdom/plan/mapper/GysJhMapper.java +++ b/src/main/java/com/zg/project/wisdom/mapper/GysJhMapper.java @@ -1,13 +1,13 @@ -package com.zg.project.wisdom.plan.mapper; +package com.zg.project.wisdom.mapper; import java.util.List; -import com.zg.project.wisdom.plan.domain.GysJh; +import com.zg.project.wisdom.domain.GysJh; /** * 供应计划Mapper接口 * * @author zg - * @date 2025-05-12 + * @date 2025-05-28 */ public interface GysJhMapper { @@ -60,10 +60,9 @@ public interface GysJhMapper public int deleteGysJhByIds(Long[] ids); /** - * 根据订单号查询是否已存在 + * 根据sapNo查询 * @param sapNo - * @param xh * @return */ - GysJh selectExistByKey(String sapNo, String xh); + List getBySapNo(String sapNo); } diff --git a/src/main/java/com/zg/project/wisdom/mapper/RkInfoMapper.java b/src/main/java/com/zg/project/wisdom/mapper/RkInfoMapper.java new file mode 100644 index 0000000..73ba455 --- /dev/null +++ b/src/main/java/com/zg/project/wisdom/mapper/RkInfoMapper.java @@ -0,0 +1,61 @@ +package com.zg.project.wisdom.mapper; + +import java.util.List; +import com.zg.project.wisdom.domain.RkInfo; + +/** + * 库存单据主Mapper接口 + * + * @author zg + * @date 2025-05-28 + */ +public interface RkInfoMapper +{ + /** + * 查询库存单据主 + * + * @param id 库存单据主主键 + * @return 库存单据主 + */ + public RkInfo selectRkInfoById(Long id); + + /** + * 查询库存单据主列表 + * + * @param rkInfo 库存单据主 + * @return 库存单据主集合 + */ + public List selectRkInfoList(RkInfo rkInfo); + + + /** + * 修改库存单据主 + * + * @param rkInfo 库存单据主 + * @return 结果 + */ + public int updateRkInfo(RkInfo rkInfo); + + /** + * 删除库存单据主 + * + * @param id 库存单据主主键 + * @return 结果 + */ + public int deleteRkInfoById(Long id); + + /** + * 批量删除库存单据主 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteRkInfoByIds(Long[] ids); + + /** + * 新增入库单据 + * @param saveList + * @return + */ + int batchInsertRkInfo(List saveList); +} diff --git a/src/main/java/com/zg/project/wisdom/plan/service/IGysJhService.java b/src/main/java/com/zg/project/wisdom/service/IGysJhService.java similarity index 77% rename from src/main/java/com/zg/project/wisdom/plan/service/IGysJhService.java rename to src/main/java/com/zg/project/wisdom/service/IGysJhService.java index 08550ae..5621c22 100644 --- a/src/main/java/com/zg/project/wisdom/plan/service/IGysJhService.java +++ b/src/main/java/com/zg/project/wisdom/service/IGysJhService.java @@ -1,14 +1,13 @@ -package com.zg.project.wisdom.plan.service; +package com.zg.project.wisdom.service; -import java.rmi.ServerException; import java.util.List; -import com.zg.project.wisdom.plan.domain.GysJh; +import com.zg.project.wisdom.domain.GysJh; /** * 供应计划Service接口 * * @author zg - * @date 2025-05-12 + * @date 2025-05-28 */ public interface IGysJhService { @@ -62,10 +61,16 @@ public interface IGysJhService /** * 供应计划导入 - * @param list - * @param updateSupport - * @param operator + * @param jhList + * @param operName * @return */ - String importGysJh(List list, boolean updateSupport, String operator) throws ServerException; + String importGysJhList(List jhList, String operName); + + /** + * 根据sapNo查询 + * @param sapNo + * @return + */ + List getBySapNo(String sapNo); } diff --git a/src/main/java/com/zg/project/wisdom/service/IRkInfoService.java b/src/main/java/com/zg/project/wisdom/service/IRkInfoService.java new file mode 100644 index 0000000..09cbc6b --- /dev/null +++ b/src/main/java/com/zg/project/wisdom/service/IRkInfoService.java @@ -0,0 +1,62 @@ +package com.zg.project.wisdom.service; + +import java.util.List; +import com.zg.project.wisdom.domain.RkInfo; +import com.zg.project.wisdom.domain.dto.RkInfoBatchDTO; + +/** + * 库存单据主Service接口 + * + * @author zg + * @date 2025-05-28 + */ +public interface IRkInfoService +{ + /** + * 查询库存单据主 + * + * @param id 库存单据主主键 + * @return 库存单据主 + */ + public RkInfo selectRkInfoById(Long id); + + /** + * 查询库存单据主列表 + * + * @param rkInfo 库存单据主 + * @return 库存单据主集合 + */ + public List selectRkInfoList(RkInfo rkInfo); + + + /** + * 修改库存单据主 + * + * @param rkInfo 库存单据主 + * @return 结果 + */ + public int updateRkInfo(RkInfo rkInfo); + + /** + * 批量删除库存单据主 + * + * @param ids 需要删除的库存单据主主键集合 + * @return 结果 + */ + public int deleteRkInfoByIds(Long[] ids); + + /** + * 删除库存单据主信息 + * + * @param id 库存单据主主键 + * @return 结果 + */ + public int deleteRkInfoById(Long id); + + /** + * 新增入库单据 + * @param dto + * @return + */ + int batchInsert(RkInfoBatchDTO dto); +} diff --git a/src/main/java/com/zg/project/wisdom/plan/service/impl/GysJhServiceImpl.java b/src/main/java/com/zg/project/wisdom/service/impl/GysJhServiceImpl.java similarity index 55% rename from src/main/java/com/zg/project/wisdom/plan/service/impl/GysJhServiceImpl.java rename to src/main/java/com/zg/project/wisdom/service/impl/GysJhServiceImpl.java index 76f07bc..f94aeca 100644 --- a/src/main/java/com/zg/project/wisdom/plan/service/impl/GysJhServiceImpl.java +++ b/src/main/java/com/zg/project/wisdom/service/impl/GysJhServiceImpl.java @@ -1,19 +1,20 @@ -package com.zg.project.wisdom.plan.service.impl; +package com.zg.project.wisdom.service.impl; -import java.rmi.ServerException; import java.util.List; + +import com.zg.common.exception.ServiceException; import com.zg.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.zg.project.wisdom.plan.mapper.GysJhMapper; -import com.zg.project.wisdom.plan.domain.GysJh; -import com.zg.project.wisdom.plan.service.IGysJhService; +import com.zg.project.wisdom.mapper.GysJhMapper; +import com.zg.project.wisdom.domain.GysJh; +import com.zg.project.wisdom.service.IGysJhService; /** * 供应计划Service业务层处理 * * @author zg - * @date 2025-05-12 + * @date 2025-05-28 */ @Service public class GysJhServiceImpl implements IGysJhService @@ -54,13 +55,7 @@ public class GysJhServiceImpl implements IGysJhService @Override public int insertGysJh(GysJh gysJh) { - if (gysJh.getStatus() == null) { - gysJh.setStatus("0"); - } - gysJh.setCreateTime(DateUtils.getNowDate()); -// String operator = getUsername(); - gysJh.setCreateBy("张三"); return gysJhMapper.insertGysJh(gysJh); } @@ -74,8 +69,6 @@ public class GysJhServiceImpl implements IGysJhService public int updateGysJh(GysJh gysJh) { gysJh.setUpdateTime(DateUtils.getNowDate()); -// String operator = getUsername(); - gysJh.setUpdateBy("张三"); return gysJhMapper.updateGysJh(gysJh); } @@ -103,33 +96,52 @@ public class GysJhServiceImpl implements IGysJhService return gysJhMapper.deleteGysJhById(id); } + /** + * 供应计划导入 + * @param jhList + * @param operName + * @return + */ @Override - public String importGysJh(List list, boolean updateSupport, String operator) throws ServerException { - - if (list == null || list.isEmpty()){ - throw new ServerException("导入数据不能为空"); + public String importGysJhList(List jhList, String operName) { + if (jhList == null || jhList.isEmpty()) { + throw new ServiceException("导入数据不能为空!"); } - int insertCount = 0 , updateCount = 0; - for (GysJh jh : list) { - if (jh.getStatus() == null) { + + int successNum = 0; + int failureNum = 0; + StringBuilder failureMsg = new StringBuilder(); + + for (GysJh jh : jhList) { + try { + jh.setCreateBy(operName); jh.setStatus("0"); - } - - GysJh exist = gysJhMapper.selectExistByKey(jh.getSapNo(), jh.getXh()); - - if (exist == null){ - jh.setCreateBy(operator); - jh.setCreateTime(DateUtils.getNowDate()); - gysJhMapper.insertGysJh(jh); - insertCount++; - }else if (updateSupport){ - jh.setId(exist.getId()); - jh.setUpdateBy(operator); - jh.setUpdateTime(DateUtils.getNowDate()); - gysJhMapper.updateGysJh(jh); - updateCount++; + jh.setIsDelete("0"); + insertGysJh(jh); + successNum++; + } catch (Exception e) { + failureNum++; + failureMsg.append("
项目号:").append(jh.getXmNo()) + .append(",物料号:").append(jh.getWlNo()) + .append(" 导入失败:").append(e.getMessage()); } } - return String.format("导入成功:新增 %d 条,更新 %d 条。", insertCount, updateCount); + + if (failureNum > 0) { + failureMsg.insert(0, "导入完成,但有 " + failureNum + " 条记录失败:"); + throw new ServiceException(failureMsg.toString()); + } + + return "导入成功,共 " + successNum + " 条数据"; + } + + /** + * 根据SAP编号查询 + * @param sapNo + * @return + */ + @Override + public List getBySapNo(String sapNo) { + return gysJhMapper.getBySapNo(sapNo); } } diff --git a/src/main/java/com/zg/project/wisdom/service/impl/RkInfoServiceImpl.java b/src/main/java/com/zg/project/wisdom/service/impl/RkInfoServiceImpl.java new file mode 100644 index 0000000..54d8862 --- /dev/null +++ b/src/main/java/com/zg/project/wisdom/service/impl/RkInfoServiceImpl.java @@ -0,0 +1,144 @@ +package com.zg.project.wisdom.service.impl; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import com.zg.common.utils.DateUtils; +import com.zg.common.utils.SecurityUtils; +import com.zg.project.wisdom.domain.GysJh; +import com.zg.project.wisdom.domain.dto.RkInfoBatchDTO; +import com.zg.project.wisdom.domain.dto.RkInfoItemDTO; +import com.zg.project.wisdom.domain.dto.RkInfoScanDTO; +import com.zg.project.wisdom.service.IGysJhService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.zg.project.wisdom.mapper.RkInfoMapper; +import com.zg.project.wisdom.domain.RkInfo; +import com.zg.project.wisdom.service.IRkInfoService; + +/** + * 库存单据主Service业务层处理 + * + * @author zg + * @date 2025-05-28 + */ +@Service +public class RkInfoServiceImpl implements IRkInfoService +{ + + @Autowired + private IGysJhService gysJhService; + + @Autowired + private RkInfoMapper rkInfoMapper; + + /** + * 查询库存单据主 + * + * @param id 库存单据主主键 + * @return 库存单据主 + */ + @Override + public RkInfo selectRkInfoById(Long id) + { + return rkInfoMapper.selectRkInfoById(id); + } + + /** + * 查询库存单据主列表 + * + * @param rkInfo 库存单据主 + * @return 库存单据主 + */ + @Override + public List selectRkInfoList(RkInfo rkInfo) + { + return rkInfoMapper.selectRkInfoList(rkInfo); + } + + + /** + * 修改库存单据主 + * + * @param rkInfo 库存单据主 + * @return 结果 + */ + @Override + public int updateRkInfo(RkInfo rkInfo) + { + rkInfo.setUpdateTime(DateUtils.getNowDate()); + return rkInfoMapper.updateRkInfo(rkInfo); + } + + /** + * 批量删除库存单据主 + * + * @param ids 需要删除的库存单据主主键 + * @return 结果 + */ + @Override + public int deleteRkInfoByIds(Long[] ids) + { + return rkInfoMapper.deleteRkInfoByIds(ids); + } + + /** + * 删除库存单据主信息 + * + * @param id 库存单据主主键 + * @return 结果 + */ + @Override + public int deleteRkInfoById(Long id) + { + return rkInfoMapper.deleteRkInfoById(id); + } + + /** + * 新增入库单据 + * @param dto + * @return + */ + @Override + public int batchInsert(RkInfoBatchDTO dto) { + List saveList = new ArrayList<>(); + String username = SecurityUtils.getUsername(); // 获取当前登录用户 + Date now = DateUtils.getNowDate(); // 当前时间 + + for (RkInfoItemDTO item : dto.getRkList()) { + for (RkInfoScanDTO scan : item.getScanList()) { + RkInfo entity = new RkInfo(); + + // ======= 来自最外层 DTO ======= + entity.setRkType(dto.getRkType()); + entity.setWlType(dto.getWlType()); + entity.setCangku(dto.getCangku()); + entity.setLihuoY(dto.getLihuoY()); + + // ======= 中层 DTO ======= + entity.setWlNo(item.getWlNo()); + entity.setXmMs(item.getXmMs()); + + // ======= 最内层 DTO ======= + entity.setPcode(scan.getPcode()); + entity.setTrayCode(scan.getTrayCode()); + entity.setRealQty(scan.getRealQty()); + entity.setEntityId(scan.getEntityId()); + entity.setRemark(scan.getRemark()); + + // ======= 系统默认字段 ======= + entity.setIsChuku("0"); + entity.setIsDelete("0"); + entity.setRkTime(now); + entity.setCreateBy(username); + entity.setCreateTime(now); + + saveList.add(entity); + } + } + + // 批量插入到数据库 + return rkInfoMapper.batchInsertRkInfo(saveList); + } + +} diff --git a/src/main/resources/application-druid.yml b/src/main/resources/application-druid.yml index c438d06..b504672 100644 --- a/src/main/resources/application-druid.yml +++ b/src/main/resources/application-druid.yml @@ -7,7 +7,7 @@ spring: # 主库数据源 master: # url: jdbc:mysql://192.168.1.20:3306/wisdom?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 - url: jdbc:mysql://localhost:3306/pdxt?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://localhost:3306/wisdom?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: shzg # 从库数据源 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index ac9e02f..c7879b3 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -68,8 +68,8 @@ spring: # redis 配置 redis: # 地址 -# host: 192.168.1.20 - host: localhost + host: 192.168.1.20 +# host: localhost # 端口,默认为6379 port: 6379 # 数据库索引 diff --git a/src/main/resources/mybatis/information/DeviceInfoMapper.xml b/src/main/resources/mybatis/information/DeviceInfoMapper.xml index 0a0ca53..07ad080 100644 --- a/src/main/resources/mybatis/information/DeviceInfoMapper.xml +++ b/src/main/resources/mybatis/information/DeviceInfoMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/src/main/resources/mybatis/information/MaterialTypeMapper.xml b/src/main/resources/mybatis/information/MaterialTypeMapper.xml new file mode 100644 index 0000000..0b42114 --- /dev/null +++ b/src/main/resources/mybatis/information/MaterialTypeMapper.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + select id, type_code, type_name, status, sort, remark, created_at, updated_at from material_type + + + + + + + + insert into material_type + + type_code, + type_name, + status, + sort, + remark, + created_at, + updated_at, + + + #{typeCode}, + #{typeName}, + #{status}, + #{sort}, + #{remark}, + #{createdAt}, + #{updatedAt}, + + + + + update material_type + + type_code = #{typeCode}, + type_name = #{typeName}, + status = #{status}, + sort = #{sort}, + remark = #{remark}, + created_at = #{createdAt}, + updated_at = #{updatedAt}, + + where id = #{id} + + + + delete from material_type where id = #{id} + + + + delete from material_type where id in + + #{id} + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/information/PcdeDetailMapper.xml b/src/main/resources/mybatis/information/PcdeDetailMapper.xml new file mode 100644 index 0000000..1253b04 --- /dev/null +++ b/src/main/resources/mybatis/information/PcdeDetailMapper.xml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + select d.id, d.location_code, d.scene, m.scene_name, d.warehouse, + d.encoded_id, d.tag, d.remark, d.is_delete, + d.created_by, d.created_at, d.updated_by, d.updated_at + from pcde_detail d + left join scene_mapping m on d.scene = m.scene_code + + + + + + + + + + insert into pcde_detail + + location_code, + scene, + warehouse, + encoded_id, + tag, + remark, + is_delete, + created_by, + created_at, + updated_by, + updated_at, + + + #{locationCode}, + #{scene}, + #{warehouse}, + #{encodedId}, + #{tag}, + #{remark}, + #{isDelete}, + #{createdBy}, + #{createdAt}, + #{updatedBy}, + #{updatedAt}, + + + + + update pcde_detail + + location_code = #{locationCode}, + scene = #{scene}, + warehouse = #{warehouse}, + encoded_id = #{encodedId}, + tag = #{tag}, + remark = #{remark}, + is_delete = #{isDelete}, + created_by = #{createdBy}, + created_at = #{createdAt}, + updated_by = #{updatedBy}, + updated_at = #{updatedAt}, + + where id = #{id} + + + + delete from pcde_detail where id = #{id} + + + + delete from pcde_detail where id in + + #{id} + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/information/SceneMappingMapper.xml b/src/main/resources/mybatis/information/SceneMappingMapper.xml index bd443f9..b2da7cc 100644 --- a/src/main/resources/mybatis/information/SceneMappingMapper.xml +++ b/src/main/resources/mybatis/information/SceneMappingMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/src/main/resources/mybatis/information/StockInTypeMapper.xml b/src/main/resources/mybatis/information/StockInTypeMapper.xml new file mode 100644 index 0000000..d85ce14 --- /dev/null +++ b/src/main/resources/mybatis/information/StockInTypeMapper.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + select id, type_code, type_name, status, sort, remark, created_at, updated_at from stock_in_type + + + + + + + + insert into stock_in_type + + type_code, + type_name, + status, + sort, + remark, + created_at, + updated_at, + + + #{typeCode}, + #{typeName}, + #{status}, + #{sort}, + #{remark}, + #{createdAt}, + #{updatedAt}, + + + + + update stock_in_type + + type_code = #{typeCode}, + type_name = #{typeName}, + status = #{status}, + sort = #{sort}, + remark = #{remark}, + created_at = #{createdAt}, + updated_at = #{updatedAt}, + + where id = #{id} + + + + delete from stock_in_type where id = #{id} + + + + delete from stock_in_type where id in + + #{id} + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/information/WarehouseInfoMapper.xml b/src/main/resources/mybatis/information/WarehouseInfoMapper.xml new file mode 100644 index 0000000..984aeb3 --- /dev/null +++ b/src/main/resources/mybatis/information/WarehouseInfoMapper.xml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + select id, warehouse_code, warehouse_name, address, status, sort, remark, created_at, updated_at from warehouse_info + + + + + + + + insert into warehouse_info + + warehouse_code, + warehouse_name, + address, + status, + sort, + remark, + created_at, + updated_at, + + + #{warehouseCode}, + #{warehouseName}, + #{address}, + #{status}, + #{sort}, + #{remark}, + #{createdAt}, + #{updatedAt}, + + + + + update warehouse_info + + warehouse_code = #{warehouseCode}, + warehouse_name = #{warehouseName}, + address = #{address}, + status = #{status}, + sort = #{sort}, + remark = #{remark}, + created_at = #{createdAt}, + updated_at = #{updatedAt}, + + where id = #{id} + + + + delete from warehouse_info where id = #{id} + + + + delete from warehouse_info where id in + + #{id} + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/system/SysUserMapper.xml b/src/main/resources/mybatis/system/SysUserMapper.xml index 0891cb3..f8a5303 100644 --- a/src/main/resources/mybatis/system/SysUserMapper.xml +++ b/src/main/resources/mybatis/system/SysUserMapper.xml @@ -141,8 +141,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - + + + + + insert into sys_user( user_id, dept_id, diff --git a/src/main/resources/mybatis/query/GysJhMapper.xml b/src/main/resources/mybatis/wisdom/GysJhMapper.xml similarity index 76% rename from src/main/resources/mybatis/query/GysJhMapper.xml rename to src/main/resources/mybatis/wisdom/GysJhMapper.xml index 2ff448b..de9283a 100644 --- a/src/main/resources/mybatis/query/GysJhMapper.xml +++ b/src/main/resources/mybatis/wisdom/GysJhMapper.xml @@ -2,10 +2,11 @@ - + + @@ -20,6 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -29,42 +31,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, xj, xm_no, xm_ms, wl_no, wl_ms, gys_no, gys_mc, jh_amt, ht_dj, sap_no, xh, jh_qty, ht_qty, dw, remark, create_by, create_time, update_by, update_time, is_delete from gys_jh + select id, index_no, xj, xm_no, xm_ms, wl_no, wl_ms, gys_no, gys_mc, jh_amt, ht_dj, sap_no, xh, jh_qty, ht_qty, dw, status, remark, create_by, create_time, update_by, update_time, is_delete from gys_jh - + + WHERE sap_no = #{sapNo} insert into gys_jh + index_no, xj, xm_no, xm_ms, @@ -93,6 +74,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" jh_qty, ht_qty, dw, + status, remark, create_by, create_time, @@ -101,6 +83,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" is_delete, + #{indexNo}, #{xj}, #{xmNo}, #{xmMs}, @@ -115,6 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{jhQty}, #{htQty}, #{dw}, + #{status}, #{remark}, #{createBy}, #{createTime}, @@ -127,6 +111,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update gys_jh + index_no = #{indexNo}, xj = #{xj}, xm_no = #{xmNo}, xm_ms = #{xmMs}, @@ -141,6 +126,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" jh_qty = #{jhQty}, ht_qty = #{htQty}, dw = #{dw}, + status = #{status}, remark = #{remark}, create_by = #{createBy}, create_time = #{createTime}, @@ -156,9 +142,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - update gys_jh - set is_delete = '1' - where id in + delete from gys_jh where id in #{id} diff --git a/src/main/resources/mybatis/wisdom/RkInfoMapper.xml b/src/main/resources/mybatis/wisdom/RkInfoMapper.xml new file mode 100644 index 0000000..df0d28d --- /dev/null +++ b/src/main/resources/mybatis/wisdom/RkInfoMapper.xml @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT + ri.id, + ri.rk_type, st.type_name AS rk_type_name, + ri.wl_type, mt.type_name AS wl_type_name, + ri.cangku, wh.warehouse_name AS cangku_name, + ri.rk_time, ri.lihuo_y, ri.is_chuku, ri.remark, + ri.xj, ri.xm_no, ri.xm_ms, ri.wl_no, ri.wl_ms, + ri.gys_no, ri.gys_mc, ri.jh_amt, ri.ht_dj, ri.sap_no, ri.xh, + ri.jh_qty, ri.ht_qty, ri.dw, ri.real_qty, + ri.pcode, ri.tray_code, ri.entity_id, + ri.create_by, ri.create_time, ri.update_by, ri.update_time, ri.is_delete + FROM rk_info ri + LEFT JOIN stock_in_type st ON ri.rk_type = st.type_code + LEFT JOIN material_type mt ON ri.wl_type = mt.type_code + LEFT JOIN warehouse_info wh ON ri.cangku = wh.warehouse_code + + + + insert into rk_info ( + rk_type, wl_type, cangku, lihuo_y, rk_time, + wl_no, xm_ms, pcode, tray_code, real_qty, entity_id, + remark, is_chuku, is_delete, create_by, create_time + ) + values + + ( + #{item.rkType}, #{item.wlType}, #{item.cangku}, #{item.lihuoY}, #{item.rkTime}, + #{item.wlNo}, #{item.xmMs}, #{item.pcode}, #{item.trayCode}, #{item.realQty}, #{item.entityId}, + #{item.remark}, #{item.isChuku}, #{item.isDelete}, #{item.createBy}, #{item.createTime} + ) + + + + + + + + + + update rk_info + + rk_type = #{rkType}, + wl_type = #{wlType}, + cangku = #{cangku}, + rk_time = #{rkTime}, + lihuo_y = #{lihuoY}, + is_chuku = #{isChuku}, + remark = #{remark}, + xj = #{xj}, + xm_no = #{xmNo}, + xm_ms = #{xmMs}, + wl_no = #{wlNo}, + wl_ms = #{wlMs}, + gys_no = #{gysNo}, + gys_mc = #{gysMc}, + jh_amt = #{jhAmt}, + ht_dj = #{htDj}, + sap_no = #{sapNo}, + xh = #{xh}, + jh_qty = #{jhQty}, + ht_qty = #{htQty}, + dw = #{dw}, + real_qty = #{realQty}, + pcode = #{pcode}, + tray_code = #{trayCode}, + entity_id = #{entityId}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + is_delete = #{isDelete}, + + where id = #{id} + + + + update rk_info + set is_delete = 1 + where id = #{id} + + + + update rk_info + set is_delete = 1 + where id in + + #{id} + + + + \ No newline at end of file