提交 5dc73bab 作者: luyincheng

1、查询当前用户信息

2、批量导入辅材物流单号
3、批量绑定辅材物流单号
4、删除绑定辅材物流单号
5、绑定辅材物流单号
6、查询最近一个已审批物料申请单
7、新增辅材bug修复
父级 0edfa094
package com.starcharge.wios.Import.impl;
import com.starcharge.wios.Import.Import;
import com.starcharge.wios.convert.DeliveryConvert;
import com.starcharge.wios.validation.CreateEntityGroup;
import com.starcharge.wios.vo.DeliveryAddVo;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.validation.ConstraintViolation;
import java.util.List;
import java.util.Set;
/**
* @projectName:wios
* @packageName:com.starcharge.wios.Import.impl
* @Description:TODO
* @Author:luyincheng
* @CreateDate: 2023/11/918:08
*/
@Service
public class AuxiliarymaterialsLogisticsOrdersImport implements Import {
@Override
public List<?> handle(List<Object> list) {
for(int i=1;i<list.size();i++){
List<String> rowdata = (List<String>)list.get(i);
if(rowdata.size()<=1||StringUtils.isEmpty(rowdata.get(1))){
rowdata.add("error:物流单号不能为空");
continue;
}
}
return list;
}
}
package com.starcharge.wios.controller;
import com.ihidea.component.api.v2.BaseResponse;
import com.ihidea.core.support.session.SessionInfo;
import com.starcharge.wios.auth.service.TokenService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
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.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @projectName:wios
* @packageName:com.starcharge.wios.controller
* @Description:TODO
* @Author:luyincheng
* @CreateDate: 2023/11/811:13
*/
@RestController
@RequestMapping("api/currentuser")
@Api(tags = "登录用户管理")
public class CurrentUserController {
@Autowired
private TokenService tokenService;
@GetMapping("/info")
@ApiOperation("当前登录人信息")
public BaseResponse<SessionInfo> getUser(){
SessionInfo sessionInfo = tokenService.getUser();
return new BaseResponse<>(sessionInfo);
}
}
...@@ -30,7 +30,9 @@ import org.springframework.web.bind.annotation.*; ...@@ -30,7 +30,9 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* @projectName:xr-wios * @projectName:xr-wios
...@@ -58,8 +60,9 @@ public class TauxiliarymaterialsController { ...@@ -58,8 +60,9 @@ public class TauxiliarymaterialsController {
@PostMapping("/add") @PostMapping("/add")
@ApiOperation("新增辅材申请") @ApiOperation("新增辅材申请")
@ParamsValidate @ParamsValidate
public BaseResponse<Tauxiliarymaterials> AddTauxiliarymaterials( @RequestBody @Validated(CreateEntityGroup.class) Tauxiliarymaterials tauxiliarymaterials, BindingResult bindingResult){ public BaseResponse<Tauxiliarymaterials> AddTauxiliarymaterials( @RequestBody @Validated(CreateEntityGroup.class) TauxiliarymaterialsVo tauxiliarymaterialsVo, BindingResult bindingResult){
SessionInfo sessionInfo = tokenService.getUser(); SessionInfo sessionInfo = tokenService.getUser();
var tauxiliarymaterials=TauxiliarymaterialsConvert.INSTANCE.convertListVo(tauxiliarymaterialsVo);
var now=LocalDateTime.now(); var now=LocalDateTime.now();
tauxiliarymaterials.setApplyStatus(TauxiliarymaterialStatusEnum.已申请.name()); tauxiliarymaterials.setApplyStatus(TauxiliarymaterialStatusEnum.已申请.name());
tauxiliarymaterials.setLogisticStatus(TauxiliarymaterialStatusEnum.未发货.name()); tauxiliarymaterials.setLogisticStatus(TauxiliarymaterialStatusEnum.未发货.name());
...@@ -156,13 +159,53 @@ public class TauxiliarymaterialsController { ...@@ -156,13 +159,53 @@ public class TauxiliarymaterialsController {
@GetMapping("/bindLogisticOrder") @GetMapping("/bindLogisticOrder")
@ApiOperation(value = "绑定物流单号") @ApiOperation(value = "绑定物流单号")
public BaseResponse<Boolean> bindLogisticOrder(@RequestParam @ApiParam("辅材申请单id") int id,@RequestParam @ApiParam("物流单号") String logisticOrder){ public BaseResponse<Boolean> bindLogisticOrder(@RequestParam @ApiParam("辅材申请单id") int id,@RequestParam @ApiParam("物流单号") String logisticOrder){
var dto=new Tauxiliarymaterials();
dto.setId(id); var before=this.tauxiliarymaterialsMapper.selectByPrimaryKey(id);
dto.setLogisticOrder(logisticOrder); if(before==null){
dto.setLogisticStatus(TauxiliarymaterialStatusEnum.已发货.name()); throw new ServiceException(400,"id erroe");
return new BaseResponse(this.tauxiliarymaterialsMapper.updateByPrimaryKeySelective(dto)>0); }
if(StringUtils.isEmpty(before.getLogisticOrder())){
return new BaseResponse<>(this.tauxiliarymaterialsMapper.updateLogisticOrder(id,logisticOrder)>0);
}else{
List<String> los=Arrays.stream(before.getLogisticOrder().split(",")).collect(Collectors.toList());
los.add(logisticOrder);
return new BaseResponse<>(this.tauxiliarymaterialsMapper.updateLogisticOrder(id,String.join(",",los.stream().distinct().collect(Collectors.toList())))>0);
}
}
@PostMapping("/batchbindLogisticOrder")
@ApiOperation(value = "批量绑定物流单号")
public BaseResponse<Boolean> bindLogisticOrder(@RequestParam @ApiParam("辅材申请单id") int id,@RequestBody @ApiParam("物流单号列表") List<String> logisticOrders){
var before=this.tauxiliarymaterialsMapper.selectByPrimaryKey(id);
if(before==null){
throw new ServiceException(400,"id erroe");
}
if(StringUtils.isEmpty(before.getLogisticOrder())){
return new BaseResponse<>(this.tauxiliarymaterialsMapper.updateLogisticOrder(id,String.join(",",logisticOrders))>0);
}else{
var los=Arrays.stream(before.getLogisticOrder().split(",")).collect(Collectors.toList());
los.addAll(logisticOrders);
return new BaseResponse<>(this.tauxiliarymaterialsMapper.updateLogisticOrder(id,String.join(",",los.stream().distinct().collect(Collectors.toList())))>0);
}
}
@GetMapping("/deleteLogisticOrder")
@ApiOperation(value = "删除物流单号")
public BaseResponse<Boolean> deleteLogisticOrder(@RequestParam @ApiParam("辅材申请单id") int id,@RequestParam @ApiParam("物流单号") String logisticOrder){
var before=this.tauxiliarymaterialsMapper.selectByPrimaryKey(id);
if(before==null){
throw new ServiceException(400,"id erroe");
}
if(StringUtils.isEmpty(before.getLogisticOrder())){
return new BaseResponse<>(true);
}else{
var los=Arrays.stream(before.getLogisticOrder().split(",")).collect(Collectors.toList());
los.remove(logisticOrder);
return new BaseResponse<>(this.tauxiliarymaterialsMapper.updateLogisticOrder(id,String.join(",",los))>0);
}
} }
@PostMapping("/export") @PostMapping("/export")
@ApiOperation(value = "导出辅料申请列表") @ApiOperation(value = "导出辅料申请列表")
public void export(HttpServletResponse response,@RequestBody Tauxiliarymaterials tauxiliarymaterials) throws IOException { public void export(HttpServletResponse response,@RequestBody Tauxiliarymaterials tauxiliarymaterials) throws IOException {
...@@ -183,4 +226,9 @@ public class TauxiliarymaterialsController { ...@@ -183,4 +226,9 @@ public class TauxiliarymaterialsController {
.andApplyStatusEqualTo(TauxiliarymaterialStatusEnum.已通过.name()); .andApplyStatusEqualTo(TauxiliarymaterialStatusEnum.已通过.name());
return new BaseResponse<>(this.tauxiliarymaterialsMapper.selectByExample(criteria)); return new BaseResponse<>(this.tauxiliarymaterialsMapper.selectByExample(criteria));
} }
@GetMapping("/getRecentHasChecked")
@ApiOperation(value = "查询最近一个已审批物料申请单")
public BaseResponse<Tauxiliarymaterials> getRecentHasChecked(@RequestParam @ApiParam("物料编码") String materialCode){
return new BaseResponse<Tauxiliarymaterials>(this.tauxiliarymaterialsMapper.getRecentTAuxiliaryMaterials(materialCode));
}
} }
...@@ -2,6 +2,7 @@ package com.starcharge.wios.convert; ...@@ -2,6 +2,7 @@ package com.starcharge.wios.convert;
import com.starcharge.wios.dao.entity.Tauxiliarymaterials; import com.starcharge.wios.dao.entity.Tauxiliarymaterials;
import com.starcharge.wios.vo.TauxiliarymaterialsExcelVo; import com.starcharge.wios.vo.TauxiliarymaterialsExcelVo;
import com.starcharge.wios.vo.TauxiliarymaterialsVo;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
...@@ -19,4 +20,5 @@ public interface TauxiliarymaterialsConvert { ...@@ -19,4 +20,5 @@ public interface TauxiliarymaterialsConvert {
TauxiliarymaterialsConvert INSTANCE = Mappers.getMapper(TauxiliarymaterialsConvert.class); TauxiliarymaterialsConvert INSTANCE = Mappers.getMapper(TauxiliarymaterialsConvert.class);
List<TauxiliarymaterialsExcelVo> convertList(List<Tauxiliarymaterials> bean); List<TauxiliarymaterialsExcelVo> convertList(List<Tauxiliarymaterials> bean);
Tauxiliarymaterials convertListVo(TauxiliarymaterialsVo bean);
} }
...@@ -34,5 +34,10 @@ public interface TauxiliarymaterialsMapper { ...@@ -34,5 +34,10 @@ public interface TauxiliarymaterialsMapper {
* @param tAuxiliaryMaterials 辅材申请 * @param tAuxiliaryMaterials 辅材申请
* @return 辅材申请集合 * @return 辅材申请集合
*/ */
public List<Tauxiliarymaterials> selectTAuxiliaryMaterialsList(Tauxiliarymaterials tAuxiliaryMaterials); List<Tauxiliarymaterials> selectTAuxiliaryMaterialsList(Tauxiliarymaterials tAuxiliaryMaterials);
Tauxiliarymaterials getRecentTAuxiliaryMaterials(@Param("materialCode")String materialCode);
int updateLogisticOrder(@Param("id")int id,@Param("logisticOrder")String logisticOrder);
} }
\ No newline at end of file
...@@ -659,4 +659,12 @@ ...@@ -659,4 +659,12 @@
<if test="applyOrder != null and applyOrder != ''"> and apply_order = #{applyOrder}</if> <if test="applyOrder != null and applyOrder != ''"> and apply_order = #{applyOrder}</if>
</where> </where>
</select> </select>
<select id="getRecentTAuxiliaryMaterials" resultMap="BaseResultMap">
select * from t_auxiliary_materials where material_code=#{materialCode} and apply_status='已通过' order by check_time desc limit 1
</select>
<update id="updateLogisticOrder" >
update t_auxiliary_materials set logistic_order = #{logisticOrder,jdbcType=VARCHAR} where id=#{id}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -31,6 +31,8 @@ public class TauxiliarymaterialsVo { ...@@ -31,6 +31,8 @@ public class TauxiliarymaterialsVo {
* @mbg.generated * @mbg.generated
*/ */
@ApiModelProperty(value = "物料编码") @ApiModelProperty(value = "物料编码")
@NotEmpty(groups = {CreateEntityGroup.class})
@NotNull(groups = {CreateEntityGroup.class})
private String materialCode; private String materialCode;
/** /**
...@@ -39,6 +41,8 @@ public class TauxiliarymaterialsVo { ...@@ -39,6 +41,8 @@ public class TauxiliarymaterialsVo {
* @mbg.generated * @mbg.generated
*/ */
@ApiModelProperty(value = "物料名称") @ApiModelProperty(value = "物料名称")
@NotEmpty(groups = {CreateEntityGroup.class})
@NotNull(groups = {CreateEntityGroup.class})
private String materialName; private String materialName;
/** /**
...@@ -47,6 +51,8 @@ public class TauxiliarymaterialsVo { ...@@ -47,6 +51,8 @@ public class TauxiliarymaterialsVo {
* @mbg.generated * @mbg.generated
*/ */
@ApiModelProperty(value = "计量单位") @ApiModelProperty(value = "计量单位")
@NotEmpty(groups = {CreateEntityGroup.class})
@NotNull(groups = {CreateEntityGroup.class})
private String measurementUnit; private String measurementUnit;
/** /**
...@@ -55,6 +61,8 @@ public class TauxiliarymaterialsVo { ...@@ -55,6 +61,8 @@ public class TauxiliarymaterialsVo {
* @mbg.generated * @mbg.generated
*/ */
@ApiModelProperty(value = "申请数量") @ApiModelProperty(value = "申请数量")
@NotEmpty(groups = {CreateEntityGroup.class})
@NotNull(groups = {CreateEntityGroup.class})
private String applyQuantity; private String applyQuantity;
...@@ -113,6 +121,8 @@ public class TauxiliarymaterialsVo { ...@@ -113,6 +121,8 @@ public class TauxiliarymaterialsVo {
* @mbg.generated * @mbg.generated
*/ */
@ApiModelProperty(value = "规格型号") @ApiModelProperty(value = "规格型号")
@NotEmpty(groups = {CreateEntityGroup.class})
@NotNull(groups = {CreateEntityGroup.class})
private String specification; private String specification;
/** /**
...@@ -143,5 +153,7 @@ public class TauxiliarymaterialsVo { ...@@ -143,5 +153,7 @@ public class TauxiliarymaterialsVo {
* @mbg.generated * @mbg.generated
*/ */
@ApiModelProperty(value = "绑定仓库id") @ApiModelProperty(value = "绑定仓库id")
@NotEmpty(groups = {CreateEntityGroup.class})
@NotNull(groups = {CreateEntityGroup.class})
private String warehouseId; private String warehouseId;
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论