Merge remote-tracking branch 'origin/dev_fifo_z' into dev_fifo_z

workplace
yewj 10 months ago
commit c9360f27f9

@ -1,11 +1,24 @@
package com.glxp.api.controller.inout;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.req.inout.IoSplitFifoInvRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inout.IoSplitInvResponse;
import com.glxp.api.service.inout.IoSplitFifoInvService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@Slf4j
@RestController
@ -15,17 +28,43 @@ public class IoSplitFifoInvController extends BaseController {
@Resource
IoSplitFifoInvService splitFifoInvService;
//接口1库存查询
// 若开启了库存预警,需要在库存上有一个状态显示预警状态 1:正常2:低库存3:负库存
//接口2库存预警设置
/**
*
* 1:2:3:
* @return
*/
@GetMapping("/udiwms/ioSplit/inv/filter")
public BaseResponse filter(IoSplitFifoInvRequest ioSplitFifoInvRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<IoSplitInvResponse> splitCodeEntities = splitFifoInvService.filterList(ioSplitFifoInvRequest);
for (IoSplitInvResponse ioSplitCodeResponse : splitCodeEntities) {
if (StrUtil.isEmpty(ioSplitCodeResponse.getGgxh())) {
ioSplitCodeResponse.setGgxh(ioSplitCodeResponse.getBzgg());
}
if (StrUtil.isEmpty(ioSplitCodeResponse.getMeasname())) {
ioSplitCodeResponse.setMeasname(ioSplitCodeResponse.getUseLevelUnit());
}
}
PageInfo<IoSplitInvResponse> pageInfo = new PageInfo<>(splitCodeEntities);
PageSimpleResponse<IoSplitInvResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(splitCodeEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
* @param ioSplitFifoInvRequest
* @return
*/
@PostMapping("/udiwms/ioSplit/inv/remindSet")
public BaseResponse remindSet(@RequestBody IoSplitFifoInvRequest ioSplitFifoInvRequest) {
splitFifoInvService.remindSet(ioSplitFifoInvRequest);
return ResultVOUtils.success();
}

@ -2,8 +2,13 @@ package com.glxp.api.dao.inout;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.inout.IoSplitFifoInv;
import com.glxp.api.req.inout.IoSplitFifoInvRequest;
import com.glxp.api.res.inout.IoSplitInvResponse;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface IoSplitFifoInvMapper extends BaseMapper<IoSplitFifoInv> {
}
List<IoSplitInvResponse> filterList(IoSplitFifoInvRequest ioSplitFifoInvRequest);
}

@ -156,4 +156,4 @@ public class IoSplitFifoInv implements Serializable {
private static final long serialVersionUID = 1L;
}
}

@ -0,0 +1,113 @@
package com.glxp.api.req.inout;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.util.page.ListPageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class IoSplitFifoInvRequest extends ListPageRequest {
private Integer id;
/**
*
*/
private Long workPlaceCode;
/**
*
*/
private String deptCode;
/**
*
*/
private String invCode;
/**
*
*/
private Integer productType;
/**
* 1:2:
*/
private Integer fifoSplit;
/**
* ID
*/
private Long relId;
/**
*
*/
private String batchNo;
/**
*
*/
private String produceDate;
/**
*
*/
private String expireDate;
/**
* ID
*/
private Long supId;
/**
*
*/
private Integer inCount;
/**
*
*/
private Integer outCount;
/**
*
*/
private Integer reCount;
/**
*
*/
private Integer lockCount;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*
*/
private Boolean enableRemind;
/**
*
*/
private Integer invRemindCount;
/**
*
*/
private String remark;
private String nameCode;
}

@ -0,0 +1,127 @@
package com.glxp.api.res.inout;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class IoSplitInvResponse {
private Integer id;
/**
*
*/
private Long workPlaceCode;
/**
*
*/
private String deptCode;
/**
*
*/
private String invCode;
/**
*
*/
private Integer productType;
/**
* 1:2:
*/
private Integer fifoSplit;
/**
* ID
*/
private Long relId;
/**
*
*/
private String batchNo;
/**
*
*/
private String produceDate;
/**
*
*/
private String expireDate;
/**
* ID
*/
private Long supId;
/**
*
*/
private Integer inCount;
/**
*
*/
private Integer outCount;
/**
*
*/
private Integer reCount;
/**
*
*/
private Integer lockCount;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*
*/
private Boolean enableRemind;
/**
*
*/
private Integer invRemindCount;
/**
*
*/
private String remark;
private Integer groupCount;
//产品信息----------------------------start----------------------
private String supName;
private String workPlaceName;
private String cpmctymc;
private String ggxh;
private String ylqxzcrbarmc;
private String manufactory;
private String measname;
private String zczbhhzbapzbh;
private String ybbm;
private String zxxsdycpbs;
private String bzgg;
private String useLevelUnit;
}

@ -467,6 +467,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
@Transactional(rollbackFor = Exception.class)
public void orderTop(CollectOrderRequest collectOrderRequest) {
Assert.notNull(collectOrderRequest.getId(), "id不能为空");
//TODO 新建单据未赋值排序时间
this.lambdaUpdate()
.set(IoCollectOrder::getUpdateTime, new Date())
.set(collectOrderRequest.getUpdateUser() != null, IoCollectOrder::getUpdateUser, collectOrderRequest.getUpdateUser())

@ -1,17 +1,22 @@
package com.glxp.api.service.inout;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.entity.inout.IoCodeEntity;
import com.glxp.api.entity.inout.IoSplitFifoCodeEntity;
import com.glxp.api.req.inout.IoSplitFifoInvRequest;
import com.glxp.api.res.inout.IoSplitInvResponse;
import com.glxp.api.util.IntUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@ -124,5 +129,37 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS
}
/**
*
* @param ioSplitFifoInvRequest
* @return
*/
public List<IoSplitInvResponse> filterList(IoSplitFifoInvRequest ioSplitFifoInvRequest) {
if (ioSplitFifoInvRequest == null) {
return Collections.emptyList();
}
if (ioSplitFifoInvRequest.getPage() != null) {
int offset = (ioSplitFifoInvRequest.getPage() - 1) * ioSplitFifoInvRequest.getLimit();
PageHelper.offsetPage(offset, ioSplitFifoInvRequest.getLimit());
}
return this.baseMapper.filterList(ioSplitFifoInvRequest);
}
/**
*
* @param ioSplitFifoInvRequest
*/
@Transactional(rollbackFor = Exception.class)
public void remindSet(IoSplitFifoInvRequest ioSplitFifoInvRequest) {
Assert.notNull(ioSplitFifoInvRequest.getId(),"Id不能为空");
IoSplitFifoInv old = this.getById(ioSplitFifoInvRequest.getId());
Assert.notNull(old,"不存在该库存预警设置");
this.lambdaUpdate()
.set(ioSplitFifoInvRequest.getEnableRemind() != null,IoSplitFifoInv::getEnableRemind,ioSplitFifoInvRequest.getEnableRemind())
.set(ioSplitFifoInvRequest.getInvRemindCount() != null,IoSplitFifoInv::getInvRemindCount,ioSplitFifoInvRequest.getInvRemindCount())
.eq(IoSplitFifoInv::getId,ioSplitFifoInvRequest.getId())
.update();
}
}

@ -23,7 +23,54 @@
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, workPlaceCode, deptCode, invCode, productType, fifoSplit, relId, batchNo, produceDate,
id, workPlaceCode, deptCode, invCode, productType, fifoSplit, relId, batchNo, produceDate,
expireDate, supId, inCount, outCount, createTime, updateTime, remark
</sql>
</mapper>
<select id="filterList" parameterType="com.glxp.api.req.inout.IoSplitFifoInvRequest" resultType="com.glxp.api.res.inout.IoSplitInvResponse">
select isfi.*,
bp.cpmctymc,
bp.ggxh,
bp.bzgg,
bu.useLevelUnit,
bp.ylqxzcrbarmc,
bp.manufactory,
bp.measname,
bp.zczbhhzbapzbh,
bp.ybbm,
bp.zxxsdycpbs,
bc.name supName,
sw.workPlaceName
from io_split_fifo_inv isfi
LEFT JOIN basic_udirel bu ON bu.id = isfi.relId
LEFT JOIN basic_products bp ON bu.uuid = bp.uuid
left join basic_corp bc on bc.erpId = isfi.supId
left join sys_workplace sw on sw.workplaceId = isfi.workPlaceCode
<where>
<if test="relId != null">
AND isfi.relId = #{relId}
</if>
<if test="nameCode != '' and nameCode != null">
AND bp.nameCode = #{nameCode}
</if>
<if test="batchNo != '' and batchNo != null">
AND isfi.batchNo = #{batchNo}
</if>
<if test="invCode != null">
AND isfi.invCode = #{invCode}
</if>
<if test="supId != null">
AND isfi.supId = #{supId}
</if>
<if test="fifoSplit != null">
AND isfi.fifoSplit = #{fifoSplit}
</if>
<if test="productType != null">
AND isfi.productType = #{productType}
</if>
<if test="workPlaceCode != null">
AND isfi.workPlaceCode = #{workPlaceCode}
</if>
</where>
</select>
</mapper>

Loading…
Cancel
Save