预警字段添加

This commit is contained in:
liux 2025-07-18 16:47:16 +08:00
parent 07c63f3910
commit dd13df8f29
8 changed files with 265 additions and 85 deletions

View File

@ -1,6 +1,8 @@
package com.bonus.canteen.core.ims.domain;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bonus.common.core.annotation.Excel;
@ -49,13 +51,13 @@ public class ReportInventoryBase extends BaseEntity {
@ApiModelProperty(value = "出入库日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "出入库日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date recordDate;
private LocalDate recordDate;
/** 出入库时间 */
@ApiModelProperty(value = "出入库时间")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "出入库时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date recordTime;
private LocalDateTime recordTime;
/** 入库类型(1-采购入库,2-退料入库,3-调拨入库) 出库类型(1-领取出库,2-报损出库,3-退货出库,4-调拨出库) */
@Excel(name = "入库类型(1-采购入库,2-退料入库,3-调拨入库) 出库类型(1-领取出库,2-报损出库,3-退货出库,4-调拨出库)")
@ -106,13 +108,13 @@ public class ReportInventoryBase extends BaseEntity {
@ApiModelProperty(value = "生产日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date productDate;
private LocalDate productDate;
/** 到期时间(保质期) */
@ApiModelProperty(value = "到期时间(保质期)")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "到期时间(保质期)", width = 30, dateFormat = "yyyy-MM-dd")
private Date expireTime;
private LocalDate expireTime;
/** 领取人id */
@Excel(name = "领取人id")

View File

@ -1,18 +1,18 @@
package com.bonus.canteen.core.ims.service.impl;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import cn.hutool.core.collection.CollUtil;
import com.bonus.canteen.core.ims.domain.OrderGoods;
import com.bonus.canteen.core.ims.domain.OrderGoodsDetail;
import com.bonus.canteen.core.ims.domain.*;
import com.bonus.canteen.core.ims.domain.param.*;
import com.bonus.canteen.core.ims.domain.vo.ImsIntoInventoryDetailVO;
import com.bonus.canteen.core.ims.domain.vo.ImsIntoInventoryVO;
import com.bonus.canteen.core.ims.domain.vo.OrderGoodsDetailVO;
import com.bonus.canteen.core.ims.domain.vo.OrderGoodsVO;
import com.bonus.canteen.core.ims.mapper.OrderGoodsDetailMapper;
import com.bonus.canteen.core.ims.mapper.OrderGoodsMapper;
import com.bonus.canteen.core.ims.mapper.*;
import com.bonus.canteen.core.ims.service.*;
import com.bonus.canteen.core.ims.utils.NoGenerateUtils;
import com.bonus.canteen.core.kitchen.domain.constants.CommonFlagEnum;
@ -28,18 +28,17 @@ import java.util.Objects;
import com.bonus.common.core.utils.StringUtils;
import org.springframework.transaction.annotation.Transactional;
import com.bonus.canteen.core.ims.domain.ImsIntoInventoryDetail;
import com.bonus.canteen.core.ims.mapper.ImsIntoInventoryMapper;
import com.bonus.canteen.core.ims.domain.ImsIntoInventory;
import javax.annotation.Resource;
/**
* 入库记录Service业务层处理
*
*
* @author gaowdong
* @date 2025-07-07
*/
@Service
public class ImsIntoInventoryServiceImpl implements IImsIntoInventoryService
public class ImsIntoInventoryServiceImpl implements IImsIntoInventoryService
{
@Autowired
private ImsIntoInventoryMapper imsIntoInventoryMapper;
@ -56,9 +55,16 @@ public class ImsIntoInventoryServiceImpl implements IImsIntoInventoryService
@Autowired
private IOrderGoodsDetailService orderGoodsDetailService;
@Resource
private ReportInventoryBaseMapper reportInventoryBaseMapper;
@Resource
private ReportInventoryMapper reportInventoryMapper;
/**
* 查询入库记录
*
*
* @param intoId 入库记录主键
* @return 入库记录
*/
@ -70,7 +76,7 @@ public class ImsIntoInventoryServiceImpl implements IImsIntoInventoryService
/**
* 查询入库记录列表
*
*
* @param imsIntoInventoryQuery 入库记录
* @return 入库记录
*/
@ -84,7 +90,7 @@ public class ImsIntoInventoryServiceImpl implements IImsIntoInventoryService
/**
* 新增入库记录
*
*
* @param imsIntoInventoryAdd 入库记录
* @return 结果
*/
@ -104,7 +110,7 @@ public class ImsIntoInventoryServiceImpl implements IImsIntoInventoryService
/**
* 修改入库记录
*
*
* @param imsIntoInventoryUpdate 入库记录
* @return 结果
*/
@ -134,7 +140,7 @@ public class ImsIntoInventoryServiceImpl implements IImsIntoInventoryService
/**
* 批量删除入库记录
*
*
* @param intoIds 需要删除的入库记录主键
* @return 结果
*/
@ -148,7 +154,7 @@ public class ImsIntoInventoryServiceImpl implements IImsIntoInventoryService
/**
* 删除入库记录信息
*
*
* @param intoId 入库记录主键
* @return 结果
*/
@ -169,7 +175,7 @@ public class ImsIntoInventoryServiceImpl implements IImsIntoInventoryService
/**
* 新增入库记录明细信息
*
*
* @param imsIntoInventory 入库记录对象
*/
public void insertImsIntoInventoryDetail(List<ImsIntoInventoryDetailAdd> imsIntoInventoryDetailAddList,
@ -221,10 +227,57 @@ public class ImsIntoInventoryServiceImpl implements IImsIntoInventoryService
{
imsIntoInventoryMapper.batchImsIntoInventoryDetail(list);
updateOrderGoods(imsIntoInventory, imsIntoInventoryVO);
imsIntoInventory.setImsIntoInventoryDetailList(list);
addIntoImsReportInventoryMessage(imsIntoInventory);
}
}
}
public void addIntoImsReportInventoryMessage(ImsIntoInventory imsOutInventory) {
//入库
ReportInventory reportInventory = new ReportInventory();
List<ImsIntoInventoryDetail> list = imsOutInventory.getImsIntoInventoryDetailList();
if(list !=null && list.size()>0){
for (ImsIntoInventoryDetail detail : list) {
reportInventory.setStatisticDate(DateUtils.getNowDate());
reportInventory.setMaterialId(detail.getMaterialId());
reportInventory.setWarehouseId(imsOutInventory.getWarehouseId());
reportInventory.setInventoryAmount(0L);
reportInventory.setInventoryNum(detail.getPurNum());
reportInventoryMapper.insertReportInventory(reportInventory); //新增库存记录
//新增库存记录基础信息
ReportInventoryBase reportInventoryBase = new ReportInventoryBase();
reportInventoryBase.setDetailId(detail.getIntoDetailId());
reportInventoryBase.setRecordId(detail.getIntoId());
reportInventoryBase.setWarehouseId(imsOutInventory.getWarehouseId());
reportInventoryBase.setRecordType(1);
reportInventoryBase.setRecordDate(LocalDate.now());
reportInventoryBase.setRecordTime(LocalDateTime.now());
reportInventoryBase.setOutIntoType(3L);
reportInventoryBase.setMaterialId(detail.getMaterialId());
reportInventoryBase.setSupplierId(detail.getSupplierId());
reportInventoryBase.setUnitId(detail.getUnitId());
reportInventoryBase.setUnitPrice(detail.getUnitPrice());
//出入库出入库金额
reportInventoryBase.setOutIntoAmount(detail.getTotalPrice());
//出入库数量
reportInventoryBase.setOutIntoNum(detail.getPurNum());
//总库存数量 ?
reportInventoryBase.setInventoryNum(detail.getPurNum());
//总库总金额 ?
reportInventoryBase.setTotalAmount(detail.getTotalPrice());
reportInventoryBase.setProductDate(detail.getProductDate());
reportInventoryBase.setExpireTime(detail.getExpireTime());
reportInventoryBase.setFetchUserId(-1L);
reportInventoryBase.setOperatorId("王大力");
reportInventoryBase.setOperateTime(DateUtils.getNowDate());
reportInventoryBaseMapper.insertReportInventoryBase(reportInventoryBase); //新增库存记录基础信息
}
}
}
private void updateOrderGoods(ImsIntoInventory imsIntoInventory,
ImsIntoInventoryVO imsIntoInventoryVO) {
if(Objects.nonNull(imsIntoInventoryVO) || StringUtils.isBlank(imsIntoInventory.getRelateOrderGoodsId())) {

View File

@ -2,6 +2,8 @@ package com.bonus.canteen.core.ims.service.impl;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import cn.hutool.core.collection.CollUtil;
@ -11,14 +13,18 @@ import com.bonus.canteen.core.ims.domain.vo.ImsIntoInventoryDetailVO;
import com.bonus.canteen.core.ims.domain.vo.ImsOutInventoryDetailVO;
import com.bonus.canteen.core.ims.domain.vo.ImsOutInventoryVO;
import com.bonus.canteen.core.ims.mapper.ImsIntoInventoryMapper;
import com.bonus.canteen.core.ims.mapper.ReportInventoryBaseMapper;
import com.bonus.canteen.core.ims.mapper.ReportInventoryMapper;
import com.bonus.canteen.core.ims.service.IFetchMaterialService;
import com.bonus.canteen.core.ims.service.IImsInventoryService;
import com.bonus.canteen.core.ims.service.IReportInventoryBaseService;
import com.bonus.canteen.core.ims.utils.NoGenerateUtils;
import com.bonus.canteen.core.kitchen.domain.constants.CommonFlagEnum;
import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.houqin.constant.DelFlagEnum;
import com.bonus.common.security.utils.SecurityUtils;
import groovy.lang.Lazy;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -30,14 +36,16 @@ import org.springframework.transaction.annotation.Transactional;
import com.bonus.canteen.core.ims.mapper.ImsOutInventoryMapper;
import com.bonus.canteen.core.ims.service.IImsOutInventoryService;
import javax.annotation.Resource;
/**
* 出库记录Service业务层处理
*
*
* @author gaowdong
* @date 2025-07-07
*/
@Service
public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
{
@Autowired
private ImsOutInventoryMapper imsOutInventoryMapper;
@ -48,9 +56,19 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
@Autowired
private IFetchMaterialService fetchMaterialService;
@Resource
private ReportInventoryBaseMapper reportInventoryBaseMapper;
@Resource
private ReportInventoryMapper reportInventoryMapper;
// @Lazy // 添加这个注解
// @Resource
// private IReportInventoryBaseService reportInventoryBaseService;
/**
* 查询出库记录
*
*
* @param outId 出库记录主键
* @return 出库记录
*/
@ -74,7 +92,7 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
/**
* 查询出库记录列表
*
*
* @param imsOutInventoryQuery 出库记录
* @return 出库记录
*/
@ -88,7 +106,7 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
/**
* 新增出库记录
*
*
* @param imsOutInventoryAdd 出库记录
* @return 结果
*/
@ -108,7 +126,7 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
/**
* 修改出库记录
*
*
* @param imsOutInventoryUpdate 出库记录
* @return 结果
*/
@ -138,7 +156,7 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
/**
* 批量删除出库记录
*
*
* @param outIds 需要删除的出库记录主键
* @return 结果
*/
@ -152,7 +170,7 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
/**
* 删除出库记录信息
*
*
* @param outId 出库记录主键
* @return 结果
*/
@ -166,7 +184,7 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
/**
* 新增出库记录明细信息
*
*
* @param imsOutInventory 出库记录对象
*/
public ImsOutInventory insertImsOutInventoryDetail(List<ImsOutInventoryDetailAdd> imsOutInventoryDetailAddList, ImsOutInventory imsOutInventory)
@ -319,9 +337,56 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
imsOutInventory.setImsOutInventoryDetailList(list);
}
imsOutInventoryMapper.updateImsOutInventory(imsOutInventory);
this.addOutImsReportInventoryMessage(imsOutInventory);
return imsOutInventory;
}
public void addOutImsReportInventoryMessage(ImsOutInventory imsOutInventory) {
//出库
ReportInventory reportInventory = new ReportInventory();
List<ImsOutInventoryDetail> list = imsOutInventory.getImsOutInventoryDetailList();
if(list !=null && list.size()>0){
for (ImsOutInventoryDetail detail : list) {
reportInventory.setStatisticDate(DateUtils.getNowDate());
reportInventory.setMaterialId(detail.getMaterialId());
reportInventory.setWarehouseId(imsOutInventory.getWarehouseId());
reportInventory.setInventoryNum(detail.getMaterialNum());
reportInventory.setInventoryAmount(0L);
reportInventory.setInventoryNum(detail.getFetchNum());
reportInventoryMapper.insertReportInventory(reportInventory); //新增库存记录
//新增库存记录基础信息
ReportInventoryBase reportInventoryBase = new ReportInventoryBase();
reportInventoryBase.setDetailId(detail.getOutDetailId());
reportInventoryBase.setRecordId(detail.getOutId());
reportInventoryBase.setWarehouseId(imsOutInventory.getWarehouseId());
reportInventoryBase.setRecordType(2);
reportInventoryBase.setRecordDate(LocalDate.now());
reportInventoryBase.setRecordTime(LocalDateTime.now());
reportInventoryBase.setOutIntoType(3L);
reportInventoryBase.setMaterialId(detail.getMaterialId());
reportInventoryBase.setSupplierId(detail.getSupplierId());
reportInventoryBase.setUnitId(detail.getUnitId());
reportInventoryBase.setUnitPrice(detail.getOutUnitPrice());
//出入库出入库金额
reportInventoryBase.setOutIntoAmount(detail.getTotalPrice());
//出入库数量
reportInventoryBase.setOutIntoNum(detail.getFetchNum());
//总库存数量 ?
reportInventoryBase.setInventoryNum(detail.getFetchNum());
//总库总金额 ?
reportInventoryBase.setTotalAmount(detail.getTotalPrice());
reportInventoryBase.setProductDate(detail.getProductDate());
reportInventoryBase.setExpireTime(detail.getExpireTime());
reportInventoryBase.setFetchUserId(-1L);
reportInventoryBase.setOperatorId("王大力");
reportInventoryBase.setOperateTime(DateUtils.getNowDate());
reportInventoryBaseMapper.insertReportInventoryBase(reportInventoryBase); //新增库存记录基础信息
}
}
}
private void updateFetchMaterialOrderStatus(ImsOutInventory imsOutInventory) {
if(Objects.nonNull(imsOutInventory.getFetchMaterialId())) {
try {

View File

@ -1,5 +1,7 @@
package com.bonus.canteen.core.ims.service.impl;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import com.bonus.canteen.core.ims.domain.ImsOutInventory;
@ -16,6 +18,7 @@ import com.bonus.canteen.core.ims.service.IImsIntoInventoryService;
import com.bonus.canteen.core.ims.service.IImsOutInventoryService;
import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.core.utils.DateUtils;
import org.apache.catalina.security.SecurityUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.bonus.canteen.core.ims.mapper.ReportInventoryBaseMapper;
@ -141,27 +144,26 @@ public class ReportInventoryBaseServiceImpl implements IReportInventoryBaseServi
reportInventoryBase.setRecordId(detail.getOutId());
reportInventoryBase.setWarehouseId(imsOutInventory.getWarehouseId());
reportInventoryBase.setRecordType(2);
reportInventoryBase.setRecordDate(DateUtils.getNowDate());
reportInventoryBase.setRecordTime(DateUtils.getNowDate());
reportInventoryBase.setRecordDate(LocalDate.now());
reportInventoryBase.setRecordTime(LocalDateTime.now());
reportInventoryBase.setOutIntoType(3L);
reportInventoryBase.setMaterialId(detail.getMaterialId());
reportInventoryBase.setSupplierId(detail.getSupplierId());
reportInventoryBase.setUnitId(detail.getUnitId());
reportInventoryBase.setUnitPrice(null);
reportInventoryBase.setUnitPrice(detail.getOutUnitPrice());
//出入库出入库金额
reportInventoryBase.setOutIntoAmount(detail.getTotalPrice());
//出入库数量
reportInventoryBase.setOutIntoNum(detail.getFetchNum());
//总库存数量
reportInventoryBase.setInventoryNum(null);
//总库总金额
reportInventoryBase.setTotalAmount(null);
//总库存数量 ?
reportInventoryBase.setInventoryNum(detail.getFetchNum());
//总库总金额 ?
reportInventoryBase.setTotalAmount(detail.getTotalPrice());
reportInventoryBase.setOutIntoNum(null);
reportInventoryBase.setProductDate(null);
reportInventoryBase.setExpireTime(null);
reportInventoryBase.setFetchUserId(null);
reportInventoryBase.setOperatorId(null);
reportInventoryBase.setProductDate(detail.getProductDate());
reportInventoryBase.setExpireTime(detail.getExpireTime());
reportInventoryBase.setFetchUserId(-1L);
reportInventoryBase.setOperatorId("王大力");
reportInventoryBase.setOperateTime(DateUtils.getNowDate());
reportInventoryBaseMapper.insertReportInventoryBase(reportInventoryBase); //新增库存记录基础信息
}

View File

@ -18,12 +18,14 @@ public class ExpireWarningVO {
@ExcelProperty({"货品名称"})
@ApiModelProperty("货品名称")
private String materialName;
private String materialCode;
@ExcelIgnore
@ApiModelProperty("货品类别id")
private Long categoryId;
private Long materialTypeId;
@ExcelProperty({"货品类别"})
@ApiModelProperty("货品类别")
private String categoryName;
private String materialTypeName;
@ExcelIgnore
@ApiModelProperty("单位id")
private Long unitId;
@ -51,6 +53,14 @@ public class ExpireWarningVO {
@ExcelProperty({"批次号"})
@ApiModelProperty("批次号")
private String intoId;
@ExcelProperty({"批次编码"})
@ApiModelProperty("批次编码")
private String intoCode;
@ExcelProperty({"规格"})
@ApiModelProperty("规格")
private String size;
@ExcelProperty({"当前批次库存数"})
@ApiModelProperty("当前批次库存数")
private BigDecimal inventoryNum;
@ -79,6 +89,8 @@ public class ExpireWarningVO {
@ApiModelProperty("总金额")
private BigDecimal totalMoney;
@ApiModelProperty("数据来源")
private String dataForm;
public Long getMaterialId() {
return this.materialId;
}
@ -87,13 +99,7 @@ public class ExpireWarningVO {
return this.materialName;
}
public Long getCategoryId() {
return this.categoryId;
}
public String getCategoryName() {
return this.categoryName;
}
public Long getUnitId() {
return this.unitId;
@ -163,13 +169,7 @@ public class ExpireWarningVO {
this.materialName = materialName;
}
public void setCategoryId(final Long categoryId) {
this.categoryId = categoryId;
}
public void setCategoryName(final String categoryName) {
this.categoryName = categoryName;
}
public void setUnitId(final Long unitId) {
this.unitId = unitId;
@ -231,8 +231,51 @@ public class ExpireWarningVO {
this.totalMoney = totalMoney;
}
public String toString() {
Long var10000 = this.getMaterialId();
return "DrpExpireWarningVO(materialId=" + var10000 + ", materialName=" + this.getMaterialName() + ", categoryId=" + this.getCategoryId() + ", categoryName=" + this.getCategoryName() + ", unitId=" + this.getUnitId() + ", unitName=" + this.getUnitName() + ", unitPrice=" + String.valueOf(this.getUnitPrice()) + ", areaId=" + this.getAreaId() + ", areaName=" + this.getAreaName() + ", warehouseId=" + this.getWarehouseId() + ", warehouseName=" + this.getWarehouseName() + ", intoId=" + this.getIntoId() + ", inventoryNum=" + String.valueOf(this.getInventoryNum()) + ", supplierId=" + this.getSupplierId() + ", supplierName=" + this.getSupplierName() + ", expireTime=" + String.valueOf(this.getExpireTime()) + ", expireState=" + this.getExpireState() + ", expireDay=" + this.getExpireDay() + ", totalMoney=" + String.valueOf(this.getTotalMoney()) + ")";
public String getMaterialCode() {
return materialCode;
}
public void setMaterialCode(String materialCode) {
this.materialCode = materialCode;
}
public Long getMaterialTypeId() {
return materialTypeId;
}
public void setMaterialTypeId(Long materialTypeId) {
this.materialTypeId = materialTypeId;
}
public String getMaterialTypeName() {
return materialTypeName;
}
public void setMaterialTypeName(String materialTypeName) {
this.materialTypeName = materialTypeName;
}
public String getIntoCode() {
return intoCode;
}
public void setIntoCode(String intoCode) {
this.intoCode = intoCode;
}
public String getSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
public String getDataForm() {
return dataForm;
}
public void setDataForm(String dataForm) {
this.dataForm = dataForm;
}
}

View File

@ -19,6 +19,9 @@ public class InventoryWarningVO {
@ExcelProperty({"货品名称"})
@ApiModelProperty("货品名称")
private String materialName;
@ExcelProperty({"货品编码"})
@ApiModelProperty("货品编码")
private String materialCode;
@ExcelIgnore
@ApiModelProperty("原料类别id")
private Long materialTypeId;
@ -65,7 +68,13 @@ public class InventoryWarningVO {
return this.materialName;
}
public String getMaterialCode() {
return materialCode;
}
public void setMaterialCode(String materialCode) {
this.materialCode = materialCode;
}
public Long getUnitId() {
return this.unitId;

View File

@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.canteen.core.ims.mapper.ImsIntoInventoryMapper">
<resultMap type="com.bonus.canteen.core.ims.domain.vo.ImsIntoInventoryVO" id="ImsIntoInventoryResult">
<result property="intoId" column="into_id" />
<result property="intoCode" column="into_code" />
@ -109,7 +109,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where>
order by iii.into_date desc
</select>
<select id="selectImsIntoInventoryByIntoId" parameterType="Long" resultMap="ImsIntoInventoryImsIntoInventoryDetailResult">
select into_id, into_code, iii.warehouse_id, into_date, total_num, into_type,
status, refund_out_id, relate_delivery_goods_id, total_amount,
@ -343,7 +343,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{intoId}
</foreach>
</delete>
<delete id="deleteImsIntoInventoryDetailByIntoIds" parameterType="String">
update ims_into_inventory_detail set del_flag = '2' where into_id in
<foreach item="intoId" collection="array" open="(" separator="," close=")">
@ -355,7 +355,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update ims_into_inventory_detail set del_flag = '2' where into_id = #{intoId}
</delete>
<insert id="batchImsIntoInventoryDetail">
<insert id="batchImsIntoInventoryDetail" useGeneratedKeys="true" keyProperty="intoDetailId" parameterType="java.util.List">
insert into ims_into_inventory_detail( into_detail_id, into_id, into_code, inventory_id, material_id, supplier_id, unit_id, size, unit_price, total_price, delivery_num, pur_num, unqualified_num, inventory_num, product_date, expire_time, img_url, if_fill_inventory, relate_order_goods_detail_id, relate_delivery_goods_detail_id, del_flag, create_by, create_time, update_by, update_time) values
<foreach item="item" index="index" collection="list" separator=",">
( #{item.intoDetailId}, #{item.intoId}, #{item.intoCode}, #{item.inventoryId}, #{item.materialId}, #{item.supplierId}, #{item.unitId}, #{item.size}, #{item.unitPrice}, #{item.totalPrice}, #{item.deliveryNum}, #{item.purNum}, #{item.unqualifiedNum}, #{item.inventoryNum}, #{item.productDate}, #{item.expireTime}, #{item.imgUrl}, #{item.ifFillInventory}, #{item.relateOrderGoodsDetailId}, #{item.relateDeliveryGoodsDetailId}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime})
@ -369,4 +369,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND inventory_num >= #{fetchNum}
AND del_flag = '0'
</update>
</mapper>
</mapper>

View File

@ -205,6 +205,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
dw.warehouse_name,
di.material_id,
mm.material_name,
mm.material_code,
di.unit_id,
du.unit_name,
mm.material_type_id,
@ -246,31 +247,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
mm.material_name,
mm.material_type_id,
mmc.material_type_name,
mm.material_code,
did.size,
did.into_id,
dii.into_code,
'系统' as data_form,
did.expire_time,
IF
( TIMESTAMPDIFF( DAY, NOW(), did.expire_time ) <![CDATA[ < ]]> 0, 1, 2 ) expireState,
TIMESTAMPDIFF( DAY, NOW(), did.expire_time ) expireDay,
did.unit_id,
du.unit_name,
did.supplier_id,
ds.supplier_name,
dii.warehouse_id,
dw.warehouse_name,
did.inventory_num,
did.unit_price,
round( did.unit_price * did.inventory_num ) totalMoney ,
dw.area_id,
aa.area_name
FROM
ims_into_inventory_detail did
LEFT JOIN ims_into_inventory dii ON dii.into_id = did.into_id
LEFT JOIN cook_material mm ON mm.material_id = did.material_id
LEFT JOIN ims_unit du ON du.unit_id = did.unit_id
LEFT JOIN ims_supplier ds ON ds.supplier_id = did.supplier_id
LEFT JOIN ims_warehouse_info dw ON dw.warehouse_id = dii.warehouse_id
LEFT JOIN cook_material_type mmc ON mmc.material_type_id = mm.material_type_id
LEFT JOIN basic_area aa on aa.area_id = dw.area_id
( TIMESTAMPDIFF( DAY, NOW(), did.expire_time ) <![CDATA[ < ]]> 0, 1, 2 ) expireState,
TIMESTAMPDIFF( DAY, NOW(), did.expire_time ) expireDay,
did.unit_id,
du.unit_name,
did.supplier_id,
ds.supplier_name,
dii.warehouse_id,
dw.warehouse_name,
did.inventory_num,
did.unit_price,
round( did.unit_price * did.inventory_num ) totalMoney ,
dw.area_id,
aa.area_name
FROM
ims_into_inventory_detail did
LEFT JOIN ims_into_inventory dii ON dii.into_id = did.into_id
LEFT JOIN cook_material mm ON mm.material_id = did.material_id
LEFT JOIN ims_unit du ON du.unit_id = did.unit_id
LEFT JOIN ims_supplier ds ON ds.supplier_id = did.supplier_id
LEFT JOIN ims_warehouse_info dw ON dw.warehouse_id = dii.warehouse_id
LEFT JOIN cook_material_type mmc ON mmc.material_type_id = mm.material_type_id
LEFT JOIN basic_area aa on aa.area_id = dw.area_id
<where>
did.expire_time is not null
and did.inventory_num > 0