feat(module): 物资管理
添加物资管理 实现Excel批量导入
This commit is contained in:
parent
6fb4762af9
commit
a473018c48
@ -2,6 +2,7 @@ package com.zhyc.module.stock.controller;
|
||||
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@ -19,6 +20,7 @@ import com.zhyc.module.stock.domain.WzMaterialsManagement;
|
||||
import com.zhyc.module.stock.service.IWzMaterialsManagementService;
|
||||
import com.zhyc.common.utils.poi.ExcelUtil;
|
||||
import com.zhyc.common.core.page.TableDataInfo;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* 物资管理Controller
|
||||
@ -28,8 +30,7 @@ import com.zhyc.common.core.page.TableDataInfo;
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/stock/management")
|
||||
public class WzMaterialsManagementController extends BaseController
|
||||
{
|
||||
public class WzMaterialsManagementController extends BaseController {
|
||||
private final IWzMaterialsManagementService wzMaterialsManagementService;
|
||||
|
||||
public WzMaterialsManagementController(IWzMaterialsManagementService wzMaterialsManagementService) {
|
||||
@ -41,8 +42,7 @@ public class WzMaterialsManagementController extends BaseController
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('stock:management:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(WzMaterialsManagement wzMaterialsManagement)
|
||||
{
|
||||
public TableDataInfo list(WzMaterialsManagement wzMaterialsManagement) {
|
||||
startPage();
|
||||
List<WzMaterialsManagement> list = wzMaterialsManagementService.selectWzMaterialsManagementList(wzMaterialsManagement);
|
||||
return getDataTable(list);
|
||||
@ -54,8 +54,7 @@ public class WzMaterialsManagementController extends BaseController
|
||||
@PreAuthorize("@ss.hasPermi('stock:management:export')")
|
||||
@Log(title = "物资管理", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, WzMaterialsManagement wzMaterialsManagement)
|
||||
{
|
||||
public void export(HttpServletResponse response, WzMaterialsManagement wzMaterialsManagement) {
|
||||
List<WzMaterialsManagement> list = wzMaterialsManagementService.selectWzMaterialsManagementList(wzMaterialsManagement);
|
||||
ExcelUtil<WzMaterialsManagement> util = new ExcelUtil<>(WzMaterialsManagement.class);
|
||||
util.exportExcel(response, list, "物资管理数据");
|
||||
@ -66,8 +65,7 @@ public class WzMaterialsManagementController extends BaseController
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('stock:management:query')")
|
||||
@GetMapping(value = "/{materialManagementCode}")
|
||||
public AjaxResult getInfo(@PathVariable("materialManagementCode") Long materialManagementCode)
|
||||
{
|
||||
public AjaxResult getInfo(@PathVariable("materialManagementCode") Long materialManagementCode) {
|
||||
return success(wzMaterialsManagementService.selectWzMaterialsManagementByMaterialManagementCode(materialManagementCode));
|
||||
}
|
||||
|
||||
@ -77,8 +75,7 @@ public class WzMaterialsManagementController extends BaseController
|
||||
@PreAuthorize("@ss.hasPermi('stock:management:add')")
|
||||
@Log(title = "物资管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody WzMaterialsManagement wzMaterialsManagement)
|
||||
{
|
||||
public AjaxResult add(@RequestBody WzMaterialsManagement wzMaterialsManagement) {
|
||||
return toAjax(wzMaterialsManagementService.insertWzMaterialsManagement(wzMaterialsManagement));
|
||||
}
|
||||
|
||||
@ -88,8 +85,7 @@ public class WzMaterialsManagementController extends BaseController
|
||||
@PreAuthorize("@ss.hasPermi('stock:management:edit')")
|
||||
@Log(title = "物资管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody WzMaterialsManagement wzMaterialsManagement)
|
||||
{
|
||||
public AjaxResult edit(@RequestBody WzMaterialsManagement wzMaterialsManagement) {
|
||||
return toAjax(wzMaterialsManagementService.updateWzMaterialsManagement(wzMaterialsManagement));
|
||||
}
|
||||
|
||||
@ -98,9 +94,23 @@ public class WzMaterialsManagementController extends BaseController
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('stock:management:remove')")
|
||||
@Log(title = "物资管理", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{materialManagementCodes}")
|
||||
public AjaxResult remove(@PathVariable Long[] materialManagementCodes)
|
||||
{
|
||||
@DeleteMapping("/{materialManagementCodes}")
|
||||
public AjaxResult remove(@PathVariable Long[] materialManagementCodes) {
|
||||
return toAjax(wzMaterialsManagementService.deleteWzMaterialsManagementByMaterialManagementCodes(materialManagementCodes));
|
||||
}
|
||||
|
||||
@Log(title = "物资管理", businessType = BusinessType.IMPORT)
|
||||
@PreAuthorize("@ss.hasPermi('stock:management:import')")
|
||||
@PostMapping("/importData")
|
||||
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
|
||||
ExcelUtil<WzMaterialsManagement> util = new ExcelUtil<>(WzMaterialsManagement.class);
|
||||
List<WzMaterialsManagement> stockInList = util.importExcel(file.getInputStream());
|
||||
for (WzMaterialsManagement wzMaterialsManagement : stockInList) {
|
||||
System.out.println(wzMaterialsManagement);
|
||||
}
|
||||
String operName = getUsername();
|
||||
String message = wzMaterialsManagementService.importUser(stockInList, updateSupport, operName);
|
||||
// String message = "OK We are testing";
|
||||
return success(message);
|
||||
}
|
||||
}
|
||||
|
@ -3,8 +3,6 @@ package com.zhyc.module.stock.controller;
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.zhyc.common.core.domain.entity.SysUser;
|
||||
import com.zhyc.module.stock.service.impl.WzStockInServiceImpl;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@ -113,7 +111,7 @@ public class WzStockInController extends BaseController
|
||||
@PostMapping("/importData")
|
||||
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
|
||||
{
|
||||
ExcelUtil<WzStockIn> util = new ExcelUtil<WzStockIn>(WzStockIn.class);
|
||||
ExcelUtil<WzStockIn> util = new ExcelUtil<>(WzStockIn.class);
|
||||
List<WzStockIn> stockInList = util.importExcel(file.getInputStream());
|
||||
stockInList.removeIf(wzStockIn -> wzStockIn.getDocDate() == null);
|
||||
String operName = getUsername();
|
||||
|
@ -60,4 +60,12 @@ public interface WzMaterialsManagementMapper
|
||||
* @return 结果
|
||||
*/
|
||||
int deleteWzMaterialsManagementByMaterialManagementCodes(Long[] materialManagementCodes);
|
||||
|
||||
/**
|
||||
* 以物资编码获取记录
|
||||
*
|
||||
* @param materialID 物资编码
|
||||
* @return 结果
|
||||
*/
|
||||
WzMaterialsManagement selectWzMaterialsManagementByMaterialID(String materialID);
|
||||
}
|
||||
|
@ -58,4 +58,14 @@ public interface IWzMaterialsManagementService
|
||||
* @return 结果
|
||||
*/
|
||||
int deleteWzMaterialsManagementByMaterialManagementCode(Long materialManagementCode);
|
||||
|
||||
/**
|
||||
* 导入入库数据
|
||||
*
|
||||
* @param MaterialsManagementList 物资数据列表
|
||||
* @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
|
||||
* @param operName 操作用户
|
||||
* @return 结果
|
||||
*/
|
||||
String importUser(List<WzMaterialsManagement> MaterialsManagementList, Boolean isUpdateSupport, String operName);
|
||||
}
|
||||
|
@ -2,7 +2,6 @@ package com.zhyc.module.stock.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.zhyc.common.core.domain.entity.SysUser;
|
||||
import com.zhyc.module.stock.domain.WzStockIn;
|
||||
|
||||
/**
|
||||
@ -69,5 +68,5 @@ public interface IWzStockInService
|
||||
* @param operName 操作用户
|
||||
* @return 结果
|
||||
*/
|
||||
public String importUser(List<WzStockIn> StockInList, Boolean isUpdateSupport, String operName);
|
||||
String importUser(List<WzStockIn> StockInList, Boolean isUpdateSupport, String operName);
|
||||
}
|
||||
|
@ -2,10 +2,13 @@ package com.zhyc.module.stock.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.zhyc.common.exception.ServiceException;
|
||||
import com.zhyc.common.utils.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.zhyc.module.stock.mapper.WzMaterialsManagementMapper;
|
||||
import com.zhyc.module.stock.domain.WzMaterialsManagement;
|
||||
import com.zhyc.module.stock.service.IWzMaterialsManagementService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* 物资管理Service业务层处理
|
||||
@ -14,8 +17,7 @@ import com.zhyc.module.stock.service.IWzMaterialsManagementService;
|
||||
* @date 2025-08-05
|
||||
*/
|
||||
@Service
|
||||
public class WzMaterialsManagementServiceImpl implements IWzMaterialsManagementService
|
||||
{
|
||||
public class WzMaterialsManagementServiceImpl implements IWzMaterialsManagementService {
|
||||
private final WzMaterialsManagementMapper wzMaterialsManagementMapper;
|
||||
|
||||
public WzMaterialsManagementServiceImpl(WzMaterialsManagementMapper wzMaterialsManagementMapper) {
|
||||
@ -29,8 +31,7 @@ public class WzMaterialsManagementServiceImpl implements IWzMaterialsManagementS
|
||||
* @return 物资管理
|
||||
*/
|
||||
@Override
|
||||
public WzMaterialsManagement selectWzMaterialsManagementByMaterialManagementCode(Long materialManagementCode)
|
||||
{
|
||||
public WzMaterialsManagement selectWzMaterialsManagementByMaterialManagementCode(Long materialManagementCode) {
|
||||
return wzMaterialsManagementMapper.selectWzMaterialsManagementByMaterialManagementCode(materialManagementCode);
|
||||
}
|
||||
|
||||
@ -41,8 +42,7 @@ public class WzMaterialsManagementServiceImpl implements IWzMaterialsManagementS
|
||||
* @return 物资管理
|
||||
*/
|
||||
@Override
|
||||
public List<WzMaterialsManagement> selectWzMaterialsManagementList(WzMaterialsManagement wzMaterialsManagement)
|
||||
{
|
||||
public List<WzMaterialsManagement> selectWzMaterialsManagementList(WzMaterialsManagement wzMaterialsManagement) {
|
||||
return wzMaterialsManagementMapper.selectWzMaterialsManagementList(wzMaterialsManagement);
|
||||
}
|
||||
|
||||
@ -53,8 +53,7 @@ public class WzMaterialsManagementServiceImpl implements IWzMaterialsManagementS
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertWzMaterialsManagement(WzMaterialsManagement wzMaterialsManagement)
|
||||
{
|
||||
public int insertWzMaterialsManagement(WzMaterialsManagement wzMaterialsManagement) {
|
||||
return wzMaterialsManagementMapper.insertWzMaterialsManagement(wzMaterialsManagement);
|
||||
}
|
||||
|
||||
@ -65,8 +64,7 @@ public class WzMaterialsManagementServiceImpl implements IWzMaterialsManagementS
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateWzMaterialsManagement(WzMaterialsManagement wzMaterialsManagement)
|
||||
{
|
||||
public int updateWzMaterialsManagement(WzMaterialsManagement wzMaterialsManagement) {
|
||||
return wzMaterialsManagementMapper.updateWzMaterialsManagement(wzMaterialsManagement);
|
||||
}
|
||||
|
||||
@ -77,8 +75,7 @@ public class WzMaterialsManagementServiceImpl implements IWzMaterialsManagementS
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteWzMaterialsManagementByMaterialManagementCodes(Long[] materialManagementCodes)
|
||||
{
|
||||
public int deleteWzMaterialsManagementByMaterialManagementCodes(Long[] materialManagementCodes) {
|
||||
return wzMaterialsManagementMapper.deleteWzMaterialsManagementByMaterialManagementCodes(materialManagementCodes);
|
||||
}
|
||||
|
||||
@ -89,8 +86,47 @@ public class WzMaterialsManagementServiceImpl implements IWzMaterialsManagementS
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteWzMaterialsManagementByMaterialManagementCode(Long materialManagementCode)
|
||||
{
|
||||
public int deleteWzMaterialsManagementByMaterialManagementCode(Long materialManagementCode) {
|
||||
return wzMaterialsManagementMapper.deleteWzMaterialsManagementByMaterialManagementCode(materialManagementCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入用户数据
|
||||
*
|
||||
* @param MaterialsManagementList 物资数据列表
|
||||
* @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
|
||||
* @param operName 操作用户
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String importUser(List<WzMaterialsManagement> MaterialsManagementList, Boolean isUpdateSupport, String operName) {
|
||||
if (StringUtils.isNull(MaterialsManagementList) || MaterialsManagementList.isEmpty()) {
|
||||
throw new ServiceException("导入用户数据不能为空!");
|
||||
}
|
||||
int successNum = 0;
|
||||
int sameNum = 0;
|
||||
StringBuilder successMsg = new StringBuilder();
|
||||
StringBuilder failureMsg = new StringBuilder();
|
||||
try {
|
||||
for (WzMaterialsManagement wzMaterialsManagement : MaterialsManagementList) {
|
||||
if (wzMaterialsManagement.getMaterialId() != null) {
|
||||
WzMaterialsManagement isExist = wzMaterialsManagementMapper.selectWzMaterialsManagementByMaterialID(wzMaterialsManagement.getMaterialId());
|
||||
// 存在则更新
|
||||
if (isExist != null) {
|
||||
sameNum++;
|
||||
wzMaterialsManagementMapper.updateWzMaterialsManagement(wzMaterialsManagement);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
int result = wzMaterialsManagementMapper.insertWzMaterialsManagement(wzMaterialsManagement);
|
||||
if (result > 0) successNum++;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
return failureMsg.append("导入出错:").append(e.getMessage()).toString();
|
||||
}
|
||||
successMsg.append("导入完成 : 导入 ").append(successNum).append(" 条\n更新 ").append(sameNum).append(" 条(已存在记录)");
|
||||
return successMsg.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="expirationDate != null">expiration_date = #{expirationDate},</if>
|
||||
<if test="expirationAlarm != null">expiration_alarm = #{expirationAlarm},</if>
|
||||
</trim>
|
||||
where material_management_code = #{materialManagementCode}
|
||||
where material_id = #{materialId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteWzMaterialsManagementByMaterialManagementCode" parameterType="Long">
|
||||
@ -90,4 +90,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{materialManagementCode}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<select id="selectWzMaterialsManagementByMaterialID" parameterType="String" resultMap="WzMaterialsManagementResult">
|
||||
SELECT * FROM wz_materials_management WHERE material_id = #{materialID}
|
||||
</select>
|
||||
</mapper>
|
Loading…
x
Reference in New Issue
Block a user