feat: 出库冲销查询、冲销功能
This commit is contained in:
@@ -1,7 +1,13 @@
|
|||||||
package org.nl.b_lms.storage_manage.ios.service.iostorInv;
|
package org.nl.b_lms.storage_manage.ios.service.iostorInv;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import netscape.javascript.JSObject;
|
||||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv;
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv;
|
||||||
|
import org.nl.common.domain.query.PageQuery;
|
||||||
|
import org.nl.wms.st.inbill.service.dto.OutChargePageParam;
|
||||||
|
import org.nl.wms.st.inbill.service.vo.OutWriteOffVo;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -140,4 +146,12 @@ public interface IStIvtIostorinvService extends IService<StIvtIostorinv> {
|
|||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
void confirm(Map whereJson);
|
void confirm(Map whereJson);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 冲销出库分页查询
|
||||||
|
* @param paramMap
|
||||||
|
* @param page
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
IPage<StIvtIostorinv> outWriteOffPageDatas(OutChargePageParam paramMap, PageQuery page);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,5 +78,12 @@ public interface IStIvtIostorinvdisService extends IService<StIvtIostorinvdis> {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<OutBillPageVo> getOutBillData(OutBillPageParam paramMap);
|
List<OutBillPageVo> getOutBillData(OutBillPageParam paramMap);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据单据id获取分配数据
|
||||||
|
* @param iosId 出入库单id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<StIvtIostorinvdis> getAllocationByIosId(String iosId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,7 @@ package org.nl.b_lms.storage_manage.ios.service.iostorInv.dao;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Builder;
|
import lombok.*;
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
@@ -12,6 +10,7 @@ import java.math.BigDecimal;
|
|||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 出入库单主表
|
* 出入库单主表
|
||||||
|
* 追加了NoArgsConstructor与AllArgsConstructor
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author generator
|
* @author generator
|
||||||
@@ -19,9 +18,10 @@ import java.math.BigDecimal;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
@TableName("st_ivt_iostorinv")
|
@TableName("st_ivt_iostorinv")
|
||||||
|
|
||||||
public class StIvtIostorinv implements Serializable {
|
public class StIvtIostorinv implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
@@ -75,7 +75,7 @@ public class StIvtIostorinv implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 来源方标识
|
* 来源方标识
|
||||||
*/
|
*/
|
||||||
private Long source_id;
|
private String source_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 来源方名称
|
* 来源方名称
|
||||||
@@ -120,7 +120,7 @@ public class StIvtIostorinv implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 制单人
|
* 制单人
|
||||||
*/
|
*/
|
||||||
private Long input_optid;
|
private String input_optid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 制单人姓名
|
* 制单人姓名
|
||||||
@@ -135,7 +135,7 @@ public class StIvtIostorinv implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 修改人
|
* 修改人
|
||||||
*/
|
*/
|
||||||
private Long update_optid;
|
private String update_optid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改人姓名
|
* 修改人姓名
|
||||||
@@ -150,7 +150,7 @@ public class StIvtIostorinv implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 分配人
|
* 分配人
|
||||||
*/
|
*/
|
||||||
private Long dis_optid;
|
private String dis_optid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分配人姓名
|
* 分配人姓名
|
||||||
@@ -165,7 +165,7 @@ public class StIvtIostorinv implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 确认人
|
* 确认人
|
||||||
*/
|
*/
|
||||||
private Long confirm_optid;
|
private String confirm_optid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 确认人姓名
|
* 确认人姓名
|
||||||
@@ -200,7 +200,7 @@ public class StIvtIostorinv implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 回传人
|
* 回传人
|
||||||
*/
|
*/
|
||||||
private Long upload_optid;
|
private String upload_optid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 回传时间
|
* 回传时间
|
||||||
@@ -215,7 +215,7 @@ public class StIvtIostorinv implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 冲销人
|
* 冲销人
|
||||||
*/
|
*/
|
||||||
private Long writeoff_optid;
|
private String writeoff_optid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 冲销时间
|
* 冲销时间
|
||||||
@@ -305,7 +305,7 @@ public class StIvtIostorinv implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 移入仓库标识
|
* 移入仓库标识
|
||||||
*/
|
*/
|
||||||
private Long out_stor_id;
|
private String out_stor_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 回传MES
|
* 回传MES
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ public class StIvtIostorinvdis implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 库区标识
|
* 库区标识
|
||||||
*/
|
*/
|
||||||
private Long sect_id;
|
private String sect_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 库区编码
|
* 库区编码
|
||||||
@@ -65,7 +65,7 @@ public class StIvtIostorinvdis implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 仓位标识
|
* 仓位标识
|
||||||
*/
|
*/
|
||||||
private Long struct_id;
|
private String struct_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 仓位编码
|
* 仓位编码
|
||||||
@@ -100,12 +100,12 @@ public class StIvtIostorinvdis implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 任务标识
|
* 任务标识
|
||||||
*/
|
*/
|
||||||
private Long task_id;
|
private String task_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 存储载具标识
|
* 存储载具标识
|
||||||
*/
|
*/
|
||||||
private Long storagevehicle_id;
|
private String storagevehicle_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 存储载具编码
|
* 存储载具编码
|
||||||
|
|||||||
@@ -2,9 +2,7 @@ package org.nl.b_lms.storage_manage.ios.service.iostorInv.dao;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Builder;
|
import lombok.*;
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
@@ -21,6 +19,8 @@ import java.math.BigDecimal;
|
|||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
@TableName("st_ivt_iostorinvdtl")
|
@TableName("st_ivt_iostorinvdtl")
|
||||||
@Builder
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class StIvtIostorinvdtl implements Serializable {
|
public class StIvtIostorinvdtl implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|||||||
@@ -3,11 +3,13 @@ package org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.mapper;
|
|||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv;
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv;
|
||||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dto.IostorInvQuery;
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dto.IostorInvQuery;
|
||||||
|
import org.nl.wms.st.inbill.service.dto.OutChargePageParam;
|
||||||
import org.nl.wms.st.inbill.service.dto.RawAssistIStorDto;
|
import org.nl.wms.st.inbill.service.dto.RawAssistIStorDto;
|
||||||
|
import org.nl.wms.st.inbill.service.vo.OutWriteOffVo;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -51,4 +53,12 @@ public interface StIvtIostorinvMapper extends BaseMapper<StIvtIostorinv> {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
List<IostorInvQuery> getIosInv(@Param("params") RawAssistIStorDto rawAssistIStorDto);
|
List<IostorInvQuery> getIosInv(@Param("params") RawAssistIStorDto rawAssistIStorDto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 出库冲销分页查询
|
||||||
|
* @param pages
|
||||||
|
* @param paramMap
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
IPage<StIvtIostorinv> outWriteOffPageDatas(IPage<StIvtIostorinv> pages, OutChargePageParam paramMap);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -241,5 +241,134 @@
|
|||||||
</where>
|
</where>
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
<select id="outWriteOffPageDatas"
|
||||||
|
resultType="org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv">
|
||||||
|
SELECT
|
||||||
|
ios2.trans_code,
|
||||||
|
ios2.is_writeoff,
|
||||||
|
ios2.input_optname,
|
||||||
|
ios2.input_time,
|
||||||
|
ios2.stor_id,
|
||||||
|
ios2.syscompanyid,
|
||||||
|
ios2.writeoff_time,
|
||||||
|
ios2.car_type,
|
||||||
|
ios2.create_mode,
|
||||||
|
ios2.bill_type,
|
||||||
|
ios2.is_upload,
|
||||||
|
ios2.upload_mes,
|
||||||
|
ios2.consignee,
|
||||||
|
ios2.receiver,
|
||||||
|
ios2.total_qty,
|
||||||
|
ios2.receiptphone,
|
||||||
|
ios2.source_type,
|
||||||
|
ios2.other_freight,
|
||||||
|
ios2.sysdeptid,
|
||||||
|
ios2.upload_sap,
|
||||||
|
ios2.receiptaddress,
|
||||||
|
ios2.input_optid,
|
||||||
|
ios2.buss_type,
|
||||||
|
ios2.upload_time,
|
||||||
|
ios2.estimated_freight,
|
||||||
|
ios2.detail_count,
|
||||||
|
ios2.carno,
|
||||||
|
ios2.out_stor_id,
|
||||||
|
ios2.deliveryaddress,
|
||||||
|
ios2.update_optid,
|
||||||
|
ios2.stor_code,
|
||||||
|
ios2.drivername,
|
||||||
|
ios2.upload_optid,
|
||||||
|
ios2.bill_code,
|
||||||
|
ios2.dis_optname,
|
||||||
|
ios2.order_number,
|
||||||
|
ios2.confirm_optid,
|
||||||
|
ios2.remark,
|
||||||
|
ios2.writeoff_optid,
|
||||||
|
ios2.dis_time,
|
||||||
|
ios2.deliveryunit,
|
||||||
|
ios2.total_weight,
|
||||||
|
ios2.deliveryname,
|
||||||
|
ios2.update_time,
|
||||||
|
ios2.update_optname,
|
||||||
|
ios2.driverphone,
|
||||||
|
ios2.source_name,
|
||||||
|
ios2.biz_date,
|
||||||
|
ios2.contractno,
|
||||||
|
ios2.deliveryphone,
|
||||||
|
ios2.confirm_optname,
|
||||||
|
ios2.is_overdue,
|
||||||
|
ios2.run_freight,
|
||||||
|
ios2.unload_freight,
|
||||||
|
ios2.bill_status,
|
||||||
|
ios2.dis_optid,
|
||||||
|
ios2.confirm_time,
|
||||||
|
ios2.is_delete,
|
||||||
|
ios2.cust_code,
|
||||||
|
ios2.iostorinv_id,
|
||||||
|
ios2.logisticscompany,
|
||||||
|
ios2.stor_name,
|
||||||
|
ios2.io_type,
|
||||||
|
ios2.source_id
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
ios.*
|
||||||
|
FROM
|
||||||
|
ST_IVT_IOStorInv ios
|
||||||
|
WHERE
|
||||||
|
ios.is_delete = '0'
|
||||||
|
AND
|
||||||
|
ios.io_type = '1'
|
||||||
|
AND
|
||||||
|
ios.is_writeoff = '0'
|
||||||
|
AND
|
||||||
|
ios.bill_status = '99'
|
||||||
|
AND
|
||||||
|
ios.bill_type in ('1001','1009')
|
||||||
|
<if test="paramMap.in_stor_id != null and !paramMap.in_stor_id.isEmpty()">
|
||||||
|
AND ios.stor_id IN
|
||||||
|
<foreach collection="paramMap.in_stor_id" item="code" separator="," open="(" close=")">
|
||||||
|
#{code}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="paramMap.bill_code != null and paramMap.bill_code != ''">
|
||||||
|
AND ios.bill_code LIKE CONCAT('%', #{paramMap.bill_code}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="paramMap.stor_id != null and paramMap.stor_id != ''">
|
||||||
|
AND ios.stor_id = #{paramMap.stor_id}
|
||||||
|
</if>
|
||||||
|
<if test="paramMap.bill_type != null and paramMap.bill_type != ''">
|
||||||
|
AND ios.bill_type = #{paramMap.bill_type}
|
||||||
|
</if>
|
||||||
|
<if test="paramMap.create_mode != null and paramMap.create_mode != ''">
|
||||||
|
AND ios.create_mode = #{paramMap.create_mode}
|
||||||
|
</if>
|
||||||
|
<if test="paramMap.begin_time != null and paramMap.begin_time != ''">
|
||||||
|
AND ios.input_time <![CDATA[ >= ]]> #{paramMap.begin_time}
|
||||||
|
</if>
|
||||||
|
<if test="paramMap.end_time != null and paramMap.end_time != ''">
|
||||||
|
AND ios.input_time <![CDATA[ <= ]]> #{paramMap.end_time}
|
||||||
|
</if>
|
||||||
|
) ios2
|
||||||
|
INNER JOIN (
|
||||||
|
SELECT
|
||||||
|
dis.iostorinv_id
|
||||||
|
FROM
|
||||||
|
st_ivt_iostorinvdis dis
|
||||||
|
<!-- 后续加在分切计划表 -->
|
||||||
|
<if test="paramMap.sap_pcsn != null and paramMap.sap_pcsn != ''">
|
||||||
|
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn
|
||||||
|
</if>
|
||||||
|
WHERE
|
||||||
|
1 = 1
|
||||||
|
<if test="paramMap.pcsn != null and paramMap.pcsn != ''">
|
||||||
|
AND ios.pcsn LIKE CONCAT('%', #{paramMap.pcsn}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="paramMap.sap_pcsn != null and paramMap.sap_pcsn != ''">
|
||||||
|
AND sub.sap_pcsn LIKE CONCAT('%', #{paramMap.sap_pcsn}, '%')
|
||||||
|
</if>
|
||||||
|
GROUP BY dis.iostorinv_id
|
||||||
|
) dis2 ON dis2.iostorinv_id = ios2.iostorinv_id
|
||||||
|
order by iostorinv_id desc
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -859,7 +859,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
|||||||
|
|
||||||
// 更新单据
|
// 更新单据
|
||||||
mstDao.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
|
mstDao.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
|
||||||
mstDao.setConfirm_optid(Long.parseLong(SecurityUtils.getCurrentUserId()));
|
mstDao.setConfirm_optid(SecurityUtils.getCurrentUserId());
|
||||||
mstDao.setConfirm_optname(SecurityUtils.getCurrentNickName());
|
mstDao.setConfirm_optname(SecurityUtils.getCurrentNickName());
|
||||||
mstDao.setConfirm_time(DateUtil.now());
|
mstDao.setConfirm_time(DateUtil.now());
|
||||||
this.updateById(mstDao);
|
this.updateById(mstDao);
|
||||||
@@ -1701,7 +1701,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
|||||||
// 未完成:只更新分配明细状态不更新任务id
|
// 未完成:只更新分配明细状态不更新任务id
|
||||||
disDaoList.forEach(row -> {
|
disDaoList.forEach(row -> {
|
||||||
row.setWork_status(IOSEnum.WORK_STATUS.code("生成"));
|
row.setWork_status(IOSEnum.WORK_STATUS.code("生成"));
|
||||||
row.setTask_id(Long.parseLong(task_group_id));
|
row.setTask_id(task_group_id);
|
||||||
});
|
});
|
||||||
iStIvtIostorinvdisService.updateBatchById(disDaoList);
|
iStIvtIostorinvdisService.updateBatchById(disDaoList);
|
||||||
|
|
||||||
@@ -1758,7 +1758,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
|||||||
|
|
||||||
disDaoList.forEach(row -> {
|
disDaoList.forEach(row -> {
|
||||||
row.setWork_status(IOSEnum.WORK_STATUS.code("生成"));
|
row.setWork_status(IOSEnum.WORK_STATUS.code("生成"));
|
||||||
row.setTask_id(Long.parseLong(task_id));
|
row.setTask_id(task_id);
|
||||||
row.setPoint_id(jsonPoint.getLongValue("point_id"));
|
row.setPoint_id(jsonPoint.getLongValue("point_id"));
|
||||||
});
|
});
|
||||||
iStIvtIostorinvdisService.updateBatchById(disDaoList);
|
iStIvtIostorinvdisService.updateBatchById(disDaoList);
|
||||||
@@ -1847,7 +1847,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
|||||||
// 未完成:只更新分配明细状态不更新任务id
|
// 未完成:只更新分配明细状态不更新任务id
|
||||||
disDaoList.forEach(row -> {
|
disDaoList.forEach(row -> {
|
||||||
row.setWork_status(IOSEnum.WORK_STATUS.code("生成"));
|
row.setWork_status(IOSEnum.WORK_STATUS.code("生成"));
|
||||||
row.setTask_id(Long.parseLong(task_group_id));
|
row.setTask_id(task_group_id);
|
||||||
});
|
});
|
||||||
iStIvtIostorinvdisService.updateBatchById(disDaoList);
|
iStIvtIostorinvdisService.updateBatchById(disDaoList);
|
||||||
|
|
||||||
@@ -1904,7 +1904,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
|||||||
|
|
||||||
disDaoList.forEach(row -> {
|
disDaoList.forEach(row -> {
|
||||||
row.setWork_status(IOSEnum.WORK_STATUS.code("生成"));
|
row.setWork_status(IOSEnum.WORK_STATUS.code("生成"));
|
||||||
row.setTask_id(Long.parseLong(task_id));
|
row.setTask_id(task_id);
|
||||||
row.setPoint_id(jsonPoint.getLongValue("point_id"));
|
row.setPoint_id(jsonPoint.getLongValue("point_id"));
|
||||||
});
|
});
|
||||||
iStIvtIostorinvdisService.updateBatchById(disDaoList);
|
iStIvtIostorinvdisService.updateBatchById(disDaoList);
|
||||||
@@ -1979,7 +1979,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
|||||||
public void updateMstStatus(String iostorinv_id) {
|
public void updateMstStatus(String iostorinv_id) {
|
||||||
StIvtIostorinv mstDao = this.getById(iostorinv_id);
|
StIvtIostorinv mstDao = this.getById(iostorinv_id);
|
||||||
|
|
||||||
mstDao.setUpdate_optid(Long.parseLong(SecurityUtils.getCurrentUserId()));
|
mstDao.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||||
mstDao.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
mstDao.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||||
mstDao.setUpdate_time(DateUtil.now());
|
mstDao.setUpdate_time(DateUtil.now());
|
||||||
|
|
||||||
@@ -2014,7 +2014,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
|||||||
if (one_create) {
|
if (one_create) {
|
||||||
// 至少一个别的状态
|
// 至少一个别的状态
|
||||||
mstDao.setBill_status(IOSEnum.BILL_STATUS.code("分配中"));
|
mstDao.setBill_status(IOSEnum.BILL_STATUS.code("分配中"));
|
||||||
mstDao.setDis_optid(Long.parseLong(SecurityUtils.getCurrentUserId()));
|
mstDao.setDis_optid(SecurityUtils.getCurrentUserId());
|
||||||
mstDao.setDis_optname(SecurityUtils.getCurrentNickName());
|
mstDao.setDis_optname(SecurityUtils.getCurrentNickName());
|
||||||
mstDao.setDis_time(DateUtil.now());
|
mstDao.setDis_time(DateUtil.now());
|
||||||
}
|
}
|
||||||
@@ -2022,7 +2022,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
|||||||
if (div_create) {
|
if (div_create) {
|
||||||
// 分配完状态
|
// 分配完状态
|
||||||
mstDao.setBill_status(IOSEnum.BILL_STATUS.code("分配完"));
|
mstDao.setBill_status(IOSEnum.BILL_STATUS.code("分配完"));
|
||||||
mstDao.setDis_optid(Long.parseLong(SecurityUtils.getCurrentUserId()));
|
mstDao.setDis_optid(SecurityUtils.getCurrentUserId());
|
||||||
mstDao.setDis_optname(SecurityUtils.getCurrentNickName());
|
mstDao.setDis_optname(SecurityUtils.getCurrentNickName());
|
||||||
mstDao.setDis_time(DateUtil.now());
|
mstDao.setDis_time(DateUtil.now());
|
||||||
}
|
}
|
||||||
@@ -2030,7 +2030,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
|||||||
if (confirm_create) {
|
if (confirm_create) {
|
||||||
// 完成状态
|
// 完成状态
|
||||||
mstDao.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
|
mstDao.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
|
||||||
mstDao.setConfirm_optid(Long.parseLong(SecurityUtils.getCurrentUserId()));
|
mstDao.setConfirm_optid(SecurityUtils.getCurrentUserId());
|
||||||
mstDao.setConfirm_optname(SecurityUtils.getCurrentNickName());
|
mstDao.setConfirm_optname(SecurityUtils.getCurrentNickName());
|
||||||
mstDao.setConfirm_time(DateUtil.now());
|
mstDao.setConfirm_time(DateUtil.now());
|
||||||
}
|
}
|
||||||
@@ -2066,10 +2066,10 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
|||||||
.bill_status(whereJson.getString("bill_status"))
|
.bill_status(whereJson.getString("bill_status"))
|
||||||
.total_qty(whereJson.getBigDecimal("total_qty"))
|
.total_qty(whereJson.getBigDecimal("total_qty"))
|
||||||
.create_mode(IOSEnum.CREATE_MODE.code("PC产生"))
|
.create_mode(IOSEnum.CREATE_MODE.code("PC产生"))
|
||||||
.input_optid(whereJson.getLongValue("input_optid"))
|
.input_optid(whereJson.getString("input_optid"))
|
||||||
.input_optname(whereJson.getString("input_optname"))
|
.input_optname(whereJson.getString("input_optname"))
|
||||||
.input_time(DateUtil.now())
|
.input_time(DateUtil.now())
|
||||||
.update_optid(whereJson.getLongValue("input_optid"))
|
.update_optid(whereJson.getString("input_optid"))
|
||||||
.update_optname(whereJson.getString("input_optname"))
|
.update_optname(whereJson.getString("input_optname"))
|
||||||
.update_time(DateUtil.now())
|
.update_time(DateUtil.now())
|
||||||
.is_delete(IOSEnum.IS_NOTANDYES.code("否"))
|
.is_delete(IOSEnum.IS_NOTANDYES.code("否"))
|
||||||
@@ -2079,7 +2079,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
if (ObjectUtil.isNotEmpty(whereJson.getString("out_stor_id"))) {
|
if (ObjectUtil.isNotEmpty(whereJson.getString("out_stor_id"))) {
|
||||||
mstDao.setOut_stor_id(whereJson.getLongValue("out_stor_id"));
|
mstDao.setOut_stor_id(whereJson.getString("out_stor_id"));
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@@ -2092,12 +2092,12 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
|||||||
mstDao.setRemark(whereJson.getString("remark"));
|
mstDao.setRemark(whereJson.getString("remark"));
|
||||||
mstDao.setTotal_qty(whereJson.getBigDecimal("total_qty"));
|
mstDao.setTotal_qty(whereJson.getBigDecimal("total_qty"));
|
||||||
mstDao.setBill_type(whereJson.getString("bill_type"));
|
mstDao.setBill_type(whereJson.getString("bill_type"));
|
||||||
mstDao.setUpdate_optid(Long.parseLong(SecurityUtils.getCurrentUserId()));
|
mstDao.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||||
mstDao.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
mstDao.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||||
mstDao.setUpdate_time(DateUtil.now());
|
mstDao.setUpdate_time(DateUtil.now());
|
||||||
|
|
||||||
if (ObjectUtil.isNotEmpty(whereJson.getString("out_stor_id"))) {
|
if (ObjectUtil.isNotEmpty(whereJson.getString("out_stor_id"))) {
|
||||||
mstDao.setOut_stor_id(whereJson.getLongValue("out_stor_id"));
|
mstDao.setOut_stor_id(whereJson.getString("out_stor_id"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return mstDao;
|
return mstDao;
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.github.pagehelper.Page;
|
import com.github.pagehelper.Page;
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
@@ -31,7 +32,9 @@ import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinvdtl;
|
|||||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.mapper.StIvtIostorinvMapper;
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.mapper.StIvtIostorinvMapper;
|
||||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBussManageService;
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBussManageService;
|
||||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.TwoInBussManageService;
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.TwoInBussManageService;
|
||||||
|
import org.nl.b_lms.storage_manage.st.service.StIvtBsrealstorattrService;
|
||||||
import org.nl.common.TableDataInfo;
|
import org.nl.common.TableDataInfo;
|
||||||
|
import org.nl.common.domain.query.PageQuery;
|
||||||
import org.nl.common.utils.IdUtil;
|
import org.nl.common.utils.IdUtil;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
@@ -48,7 +51,10 @@ import org.nl.wms.sch.manage.TaskStatusEnum;
|
|||||||
import org.nl.wms.sch.service.PointService;
|
import org.nl.wms.sch.service.PointService;
|
||||||
import org.nl.wms.sch.service.dto.PointDto;
|
import org.nl.wms.sch.service.dto.PointDto;
|
||||||
import org.nl.wms.st.inbill.service.StorPublicService;
|
import org.nl.wms.st.inbill.service.StorPublicService;
|
||||||
|
import org.nl.wms.st.inbill.service.dto.OutChargePageParam;
|
||||||
|
import org.nl.wms.st.inbill.service.vo.OutWriteOffVo;
|
||||||
import org.nl.wms.st.returns.service.impl.InAndOutRetrunServiceImpl;
|
import org.nl.wms.st.returns.service.impl.InAndOutRetrunServiceImpl;
|
||||||
|
import org.nl.wms.stat.service.vo.InBillPageVo;
|
||||||
import org.redisson.api.RLock;
|
import org.redisson.api.RLock;
|
||||||
import org.redisson.api.RedissonClient;
|
import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -132,6 +138,11 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|||||||
@Autowired
|
@Autowired
|
||||||
private RedissonClient redissonClient;
|
private RedissonClient redissonClient;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private StIvtIostorinvMapper stIvtIostorinvMapper;
|
||||||
|
@Autowired
|
||||||
|
private StIvtBsrealstorattrService bsrealstorattrService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object pageQuery(Map query, Pageable pageQuery) {
|
public Object pageQuery(Map query, Pageable pageQuery) {
|
||||||
Page<Object> page = PageHelper.startPage(pageQuery.getPageNumber() + 1, pageQuery.getPageSize());
|
Page<Object> page = PageHelper.startPage(pageQuery.getPageNumber() + 1, pageQuery.getPageSize());
|
||||||
@@ -389,7 +400,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|||||||
iStIvtIostorinvdtlService.updateStatus(disDao.getIostorinvdtl_id());
|
iStIvtIostorinvdtlService.updateStatus(disDao.getIostorinvdtl_id());
|
||||||
// 更新主表状态
|
// 更新主表状态
|
||||||
StIvtIostorinv mst = updateMstStatus(disDao.getIostorinv_id());
|
StIvtIostorinv mst = updateMstStatus(disDao.getIostorinv_id());
|
||||||
mst.setDis_optid(Long.parseLong(SecurityUtils.getCurrentUserId()));
|
mst.setDis_optid(SecurityUtils.getCurrentUserId());
|
||||||
mst.setDis_optname(SecurityUtils.getCurrentNickName());
|
mst.setDis_optname(SecurityUtils.getCurrentNickName());
|
||||||
mst.setDis_time(DateUtil.now());
|
mst.setDis_time(DateUtil.now());
|
||||||
this.updateById(mst);
|
this.updateById(mst);
|
||||||
@@ -520,7 +531,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|||||||
|
|
||||||
// 更新主表状态
|
// 更新主表状态
|
||||||
StIvtIostorinv mst = updateMstStatus(jsonDis.getString("iostorinv_id"));
|
StIvtIostorinv mst = updateMstStatus(jsonDis.getString("iostorinv_id"));
|
||||||
mst.setDis_optid(Long.parseLong(SecurityUtils.getCurrentUserId()));
|
mst.setDis_optid(SecurityUtils.getCurrentUserId());
|
||||||
mst.setDis_optname(SecurityUtils.getCurrentNickName());
|
mst.setDis_optname(SecurityUtils.getCurrentNickName());
|
||||||
mst.setDis_time(DateUtil.now());
|
mst.setDis_time(DateUtil.now());
|
||||||
this.updateById(mst);
|
this.updateById(mst);
|
||||||
@@ -665,6 +676,14 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|||||||
confirmMst(mstDao);
|
confirmMst(mstDao);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<StIvtIostorinv> outWriteOffPageDatas(OutChargePageParam paramMap, PageQuery page) {
|
||||||
|
List<String> userStores = bsrealstorattrService.getStoreForUser(SecurityUtils.getCurrentUserId());
|
||||||
|
paramMap.setIn_stor_id(userStores);
|
||||||
|
IPage<StIvtIostorinv> pages = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPage() + 1, page.getSize());
|
||||||
|
return stIvtIostorinvMapper.outWriteOffPageDatas(pages, paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 组织主表数据
|
* 组织主表数据
|
||||||
*
|
*
|
||||||
@@ -720,10 +739,10 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|||||||
.bill_status(whereJson.get("bill_status").toString())
|
.bill_status(whereJson.get("bill_status").toString())
|
||||||
.total_qty(BigDecimal.valueOf(Double.parseDouble(whereJson.get("total_qty").toString())))
|
.total_qty(BigDecimal.valueOf(Double.parseDouble(whereJson.get("total_qty").toString())))
|
||||||
.create_mode(IOSEnum.CREATE_MODE.code("PC产生"))
|
.create_mode(IOSEnum.CREATE_MODE.code("PC产生"))
|
||||||
.input_optid(Long.parseLong(currentUserId))
|
.input_optid(currentUserId)
|
||||||
.input_optname(currentNickName)
|
.input_optname(currentNickName)
|
||||||
.input_time(DateUtil.now())
|
.input_time(DateUtil.now())
|
||||||
.update_optid(Long.parseLong(currentUserId))
|
.update_optid(currentUserId)
|
||||||
.update_optname(currentNickName)
|
.update_optname(currentNickName)
|
||||||
.update_time(DateUtil.now())
|
.update_time(DateUtil.now())
|
||||||
.is_delete(IOSEnum.IS_NOTANDYES.code("否"))
|
.is_delete(IOSEnum.IS_NOTANDYES.code("否"))
|
||||||
@@ -732,10 +751,10 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|||||||
.sysdeptid(SecurityUtils.getDeptId())
|
.sysdeptid(SecurityUtils.getDeptId())
|
||||||
.build();
|
.build();
|
||||||
if (ObjectUtil.isNotEmpty(MapUtil.getStr(whereJson, "out_stor_id"))) {
|
if (ObjectUtil.isNotEmpty(MapUtil.getStr(whereJson, "out_stor_id"))) {
|
||||||
mstDao.setOut_stor_id(Long.parseLong(MapUtil.getStr(whereJson, "out_stor_id")));
|
mstDao.setOut_stor_id(MapUtil.getStr(whereJson, "out_stor_id"));
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isNotEmpty(MapUtil.getStr(whereJson, "source_id"))) {
|
if (ObjectUtil.isNotEmpty(MapUtil.getStr(whereJson, "source_id"))) {
|
||||||
mstDao.setSource_id(Long.parseLong(MapUtil.getStr(whereJson, "source_id")));
|
mstDao.setSource_id(MapUtil.getStr(whereJson, "source_id"));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
@@ -747,7 +766,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|||||||
mstDao.setDetail_count(BigDecimal.valueOf(((ArrayList<HashMap>) whereJson.get("tableData")).size()));
|
mstDao.setDetail_count(BigDecimal.valueOf(((ArrayList<HashMap>) whereJson.get("tableData")).size()));
|
||||||
mstDao.setRemark(whereJson.get("remark").toString());
|
mstDao.setRemark(whereJson.get("remark").toString());
|
||||||
mstDao.setTotal_qty(BigDecimal.valueOf(Double.parseDouble(whereJson.get("total_qty").toString())));
|
mstDao.setTotal_qty(BigDecimal.valueOf(Double.parseDouble(whereJson.get("total_qty").toString())));
|
||||||
mstDao.setUpdate_optid(Long.parseLong(SecurityUtils.getCurrentUserId()));
|
mstDao.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||||
mstDao.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
mstDao.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||||
mstDao.setUpdate_time(DateUtil.now());
|
mstDao.setUpdate_time(DateUtil.now());
|
||||||
}
|
}
|
||||||
@@ -791,7 +810,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|||||||
public StIvtIostorinv updateMstStatus(String iostorinv_id) {
|
public StIvtIostorinv updateMstStatus(String iostorinv_id) {
|
||||||
StIvtIostorinv mstDao = this.getById(iostorinv_id);
|
StIvtIostorinv mstDao = this.getById(iostorinv_id);
|
||||||
|
|
||||||
mstDao.setUpdate_optid(Long.parseLong(SecurityUtils.getCurrentUserId()));
|
mstDao.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||||
mstDao.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
mstDao.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||||
mstDao.setUpdate_time(DateUtil.now());
|
mstDao.setUpdate_time(DateUtil.now());
|
||||||
|
|
||||||
@@ -836,7 +855,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|||||||
if (confirm_create) {
|
if (confirm_create) {
|
||||||
// 完成状态
|
// 完成状态
|
||||||
mstDao.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
|
mstDao.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
|
||||||
mstDao.setConfirm_optid(Long.parseLong(SecurityUtils.getCurrentUserId()));
|
mstDao.setConfirm_optid(SecurityUtils.getCurrentUserId());
|
||||||
mstDao.setConfirm_optname(SecurityUtils.getCurrentNickName());
|
mstDao.setConfirm_optname(SecurityUtils.getCurrentNickName());
|
||||||
mstDao.setConfirm_time(DateUtil.now());
|
mstDao.setConfirm_time(DateUtil.now());
|
||||||
|
|
||||||
@@ -930,7 +949,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|||||||
|
|
||||||
// 更新主表为完成
|
// 更新主表为完成
|
||||||
mstDao.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
|
mstDao.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
|
||||||
mstDao.setConfirm_optid(Long.parseLong(SecurityUtils.getCurrentUserId()));
|
mstDao.setConfirm_optid(SecurityUtils.getCurrentUserId());
|
||||||
mstDao.setConfirm_optname(SecurityUtils.getCurrentNickName());
|
mstDao.setConfirm_optname(SecurityUtils.getCurrentNickName());
|
||||||
mstDao.setConfirm_time(DateUtil.now());
|
mstDao.setConfirm_time(DateUtil.now());
|
||||||
|
|
||||||
@@ -1014,7 +1033,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|||||||
bean.uploadMES(param);
|
bean.uploadMES(param);
|
||||||
mstDao.setIs_upload(IOSEnum.IS_NOTANDYES.code("是"));
|
mstDao.setIs_upload(IOSEnum.IS_NOTANDYES.code("是"));
|
||||||
mstDao.setUpload_mes(IOSEnum.IS_NOTANDYES.code("是"));
|
mstDao.setUpload_mes(IOSEnum.IS_NOTANDYES.code("是"));
|
||||||
mstDao.setUpload_optid(Long.parseLong(SecurityUtils.getCurrentUserId()));
|
mstDao.setUpload_optid(SecurityUtils.getCurrentUserId());
|
||||||
mstDao.setUpload_time(DateUtil.now());
|
mstDao.setUpload_time(DateUtil.now());
|
||||||
this.updateById(mstDao);
|
this.updateById(mstDao);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
|
|||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
@@ -103,16 +104,16 @@ public class StIvtIostorinvdisServiceImpl extends ServiceImpl<StIvtIostorinvdisM
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
if (ObjectUtil.isNotEmpty(json.getString("sect_id"))) {
|
if (ObjectUtil.isNotEmpty(json.getString("sect_id"))) {
|
||||||
disDao.setSect_id(json.getLongValue("sect_id"));
|
disDao.setSect_id(json.getString("sect_id"));
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isNotEmpty(json.getString("struct_id"))) {
|
if (ObjectUtil.isNotEmpty(json.getString("struct_id"))) {
|
||||||
disDao.setStruct_id(json.getLongValue("struct_id"));
|
disDao.setStruct_id(json.getString("struct_id"));
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isNotEmpty(json.getString("task_id"))) {
|
if (ObjectUtil.isNotEmpty(json.getString("task_id"))) {
|
||||||
disDao.setTask_id(json.getLongValue("task_id"));
|
disDao.setTask_id(json.getString("task_id"));
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isNotEmpty(json.getString("storagevehicle_id"))) {
|
if (ObjectUtil.isNotEmpty(json.getString("storagevehicle_id"))) {
|
||||||
disDao.setStoragevehicle_id(json.getLongValue("storagevehicle_id"));
|
disDao.setStoragevehicle_id(json.getString("storagevehicle_id"));
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isNotEmpty(json.getString("point_id"))) {
|
if (ObjectUtil.isNotEmpty(json.getString("point_id"))) {
|
||||||
disDao.setPoint_id(json.getLongValue("point_id"));
|
disDao.setPoint_id(json.getLongValue("point_id"));
|
||||||
@@ -287,4 +288,11 @@ public class StIvtIostorinvdisServiceImpl extends ServiceImpl<StIvtIostorinvdisM
|
|||||||
}
|
}
|
||||||
return stIvtIostorinvdisMapper.getOutBillData(paramMap);
|
return stIvtIostorinvdisMapper.getOutBillData(paramMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<StIvtIostorinvdis> getAllocationByIosId(String iosId) {
|
||||||
|
LambdaQueryWrapper<StIvtIostorinvdis> lam = new LambdaQueryWrapper<>();
|
||||||
|
lam.eq(StIvtIostorinvdis::getIostorinv_id, iosId);
|
||||||
|
return list(lam);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -301,16 +301,16 @@ public class OutBussManageServiceImpl implements OutBussManageService {
|
|||||||
.iostorinv_id(dtlDao.getIostorinv_id())
|
.iostorinv_id(dtlDao.getIostorinv_id())
|
||||||
.iostorinvdtl_id(dtlDao.getIostorinvdtl_id())
|
.iostorinvdtl_id(dtlDao.getIostorinvdtl_id())
|
||||||
.seq_no(BigDecimal.valueOf(i + 1))
|
.seq_no(BigDecimal.valueOf(i + 1))
|
||||||
.sect_id(jsonIvt.getLongValue("sect_id"))
|
.sect_id(jsonIvt.getString("sect_id"))
|
||||||
.sect_code(jsonIvt.getString("sect_code"))
|
.sect_code(jsonIvt.getString("sect_code"))
|
||||||
.sect_name(jsonIvt.getString("sect_name"))
|
.sect_name(jsonIvt.getString("sect_name"))
|
||||||
.struct_id(jsonIvt.getLongValue("struct_id"))
|
.struct_id(jsonIvt.getString("struct_id"))
|
||||||
.struct_code(jsonIvt.getString("struct_code"))
|
.struct_code(jsonIvt.getString("struct_code"))
|
||||||
.struct_name(jsonIvt.getString("struct_name"))
|
.struct_name(jsonIvt.getString("struct_name"))
|
||||||
.material_id(jsonIvt.getLongValue("material_id"))
|
.material_id(jsonIvt.getLongValue("material_id"))
|
||||||
.pcsn(jsonIvt.getString("pcsn"))
|
.pcsn(jsonIvt.getString("pcsn"))
|
||||||
.quality_scode(jsonIvt.getString("quality_scode"))
|
.quality_scode(jsonIvt.getString("quality_scode"))
|
||||||
.storagevehicle_id(jsonIvt.getLongValue("storagevehicle_id"))
|
.storagevehicle_id(jsonIvt.getString("storagevehicle_id"))
|
||||||
.storagevehicle_code(jsonIvt.getString("storagevehicle_code"))
|
.storagevehicle_code(jsonIvt.getString("storagevehicle_code"))
|
||||||
.is_issued(IOSEnum.IS_NOTANDYES.code("否"))
|
.is_issued(IOSEnum.IS_NOTANDYES.code("否"))
|
||||||
.qty_unit_id(jsonUnit.getLongValue("measure_unit_id"))
|
.qty_unit_id(jsonUnit.getLongValue("measure_unit_id"))
|
||||||
|
|||||||
@@ -82,7 +82,8 @@ public class StIvtStructivt {
|
|||||||
/**
|
/**
|
||||||
* 计量单位标识
|
* 计量单位标识
|
||||||
*/
|
*/
|
||||||
private String qtyUnit_id;
|
// private String qtyUnit_id;
|
||||||
|
private String qty_unit_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 入库时间
|
* 入库时间
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import org.nl.wms.stat.service.vo.PastStructPageVo;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 仓位库存表
|
||||||
* @Author: lyd
|
* @Author: lyd
|
||||||
* @Date: 2025/6/5
|
* @Date: 2025/6/5
|
||||||
*/
|
*/
|
||||||
@@ -54,4 +55,12 @@ public interface StIvtStructivtService extends IService<StIvtStructivt> {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<PastStructPageVo> getPastStructDatas(PastStructPageParam paramMap);
|
List<PastStructPageVo> getPastStructDatas(PastStructPageParam paramMap);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据批次获取单个库存信息
|
||||||
|
* @param pcsn 批次
|
||||||
|
* @param throwEx 查询超出一个是否抛出异常
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
StIvtStructivt getOneByPcsn(String pcsn, boolean throwEx);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,4 +64,11 @@ public class StIvtStructivtServiceImpl extends ServiceImpl<StIvtStructivtMapper,
|
|||||||
public List<PastStructPageVo> getPastStructDatas(PastStructPageParam paramMap) {
|
public List<PastStructPageVo> getPastStructDatas(PastStructPageParam paramMap) {
|
||||||
return stIvtStructivtMapper.getPastStructDatas(paramMap);
|
return stIvtStructivtMapper.getPastStructDatas(paramMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StIvtStructivt getOneByPcsn(String pcsn, boolean throwEx) {
|
||||||
|
LambdaQueryWrapper<StIvtStructivt> lam = new LambdaQueryWrapper<>();
|
||||||
|
lam.eq(StIvtStructivt::getPcsn, pcsn);
|
||||||
|
return getOne(lam, throwEx);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,8 +3,12 @@ package org.nl.wms.st.inbill.rest;
|
|||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv;
|
||||||
|
import org.nl.common.TableDataInfo;
|
||||||
|
import org.nl.common.domain.query.PageQuery;
|
||||||
import org.nl.modules.logging.annotation.Log;
|
import org.nl.modules.logging.annotation.Log;
|
||||||
import org.nl.wms.st.inbill.service.OutChargeService;
|
import org.nl.wms.st.inbill.service.OutChargeService;
|
||||||
|
import org.nl.wms.st.inbill.service.dto.OutChargePageParam;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
@@ -25,20 +29,32 @@ public class OutChargeController {
|
|||||||
|
|
||||||
private final OutChargeService outChargeService;
|
private final OutChargeService outChargeService;
|
||||||
|
|
||||||
@GetMapping
|
// @GetMapping
|
||||||
@Log("出库单查询")
|
// @Log("出库单查询")
|
||||||
|
//
|
||||||
|
// //@PreAuthorize("@el.check('regionio:list')")
|
||||||
|
// public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
|
||||||
|
// return new ResponseEntity<>(outChargeService.queryAll(whereJson, page), HttpStatus.OK);
|
||||||
|
// }
|
||||||
|
|
||||||
//@PreAuthorize("@el.check('regionio:list')")
|
@GetMapping
|
||||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
|
@Log("出库冲销查询")
|
||||||
return new ResponseEntity<>(outChargeService.queryAll(whereJson, page), HttpStatus.OK);
|
public ResponseEntity<Object> query(OutChargePageParam paramMap, PageQuery page) {
|
||||||
|
return new ResponseEntity<>(TableDataInfo.build(outChargeService.outWriteOffPageDatas(paramMap, page)), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/charge")
|
// @PostMapping("/charge")
|
||||||
@Log("冲销")
|
// @Log("冲销")
|
||||||
|
// //@PreAuthorize("@el.check('regionio:add')")
|
||||||
|
// public ResponseEntity<Object> charge(@RequestBody Map whereJson) {
|
||||||
|
// outChargeService.charge(whereJson);
|
||||||
|
// return new ResponseEntity<>(HttpStatus.CREATED);
|
||||||
|
// }
|
||||||
|
|
||||||
//@PreAuthorize("@el.check('regionio:add')")
|
@PostMapping("/charge")
|
||||||
public ResponseEntity<Object> charge(@RequestBody Map whereJson) {
|
@Log("出库冲销 - 做入库")
|
||||||
outChargeService.charge(whereJson);
|
public ResponseEntity<Object> outWriteOffCharge(@RequestBody StIvtIostorinv paramMap) {
|
||||||
|
outChargeService.outWriteOffCharge(paramMap);
|
||||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
package org.nl.wms.st.inbill.service;
|
package org.nl.wms.st.inbill.service;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import netscape.javascript.JSObject;
|
||||||
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv;
|
||||||
|
import org.nl.common.domain.query.PageQuery;
|
||||||
|
import org.nl.wms.st.inbill.service.dto.OutChargePageParam;
|
||||||
|
import org.nl.wms.st.inbill.service.vo.OutWriteOffVo;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
|
||||||
@@ -30,4 +37,17 @@ public interface OutChargeService {
|
|||||||
*/
|
*/
|
||||||
void charge(@RequestBody Map whereJson);
|
void charge(@RequestBody Map whereJson);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 冲销出库的出库单查询
|
||||||
|
* @param paramMap
|
||||||
|
* @param page
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
IPage<StIvtIostorinv> outWriteOffPageDatas(OutChargePageParam paramMap, PageQuery page);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 冲销出库
|
||||||
|
* @param outbound 出库单
|
||||||
|
*/
|
||||||
|
void outWriteOffCharge(StIvtIostorinv outbound);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package org.nl.wms.st.inbill.service.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 出库冲销分页参数
|
||||||
|
* @Author: lyd
|
||||||
|
* @Date: 2025/6/10
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class OutChargePageParam implements Serializable {
|
||||||
|
private String bill_code;
|
||||||
|
private String stor_id;
|
||||||
|
private List<String> in_stor_id;
|
||||||
|
private String begin_time;
|
||||||
|
private String end_time;
|
||||||
|
private String create_mode;
|
||||||
|
private String bill_type;
|
||||||
|
private String pcsn;
|
||||||
|
private String sap_pcsn;
|
||||||
|
}
|
||||||
@@ -8,34 +8,68 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.RequiredArgsConstructor;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation;
|
||||||
|
import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService;
|
||||||
|
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
|
||||||
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvService;
|
||||||
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvdisService;
|
||||||
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvdtlService;
|
||||||
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv;
|
||||||
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinvdis;
|
||||||
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinvdtl;
|
||||||
|
import org.nl.b_lms.storage_manage.st.dao.StIvtStructivt;
|
||||||
|
import org.nl.b_lms.storage_manage.st.service.StIvtStructivtService;
|
||||||
|
import org.nl.common.domain.query.PageQuery;
|
||||||
|
import org.nl.common.utils.CodeUtil;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
import org.nl.common.utils.CodeUtil;
|
|
||||||
import org.nl.modules.wql.WQL;
|
import org.nl.modules.wql.WQL;
|
||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
import org.nl.modules.wql.core.bean.WQLObject;
|
||||||
import org.nl.modules.wql.util.WqlUtil;
|
import org.nl.modules.wql.util.WqlUtil;
|
||||||
import org.nl.wms.basedata.st.service.impl.UserStorServiceImpl;
|
import org.nl.wms.basedata.st.service.impl.UserStorServiceImpl;
|
||||||
import org.nl.wms.st.inbill.service.OutChargeService;
|
import org.nl.wms.st.inbill.service.OutChargeService;
|
||||||
|
import org.nl.wms.st.inbill.service.dto.OutChargePageParam;
|
||||||
|
import org.nl.wms.stat.service.enums.InBillTypeEnum;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.nl.common.utils.IdUtil.getStringId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Liuxy
|
* @author Liuxy
|
||||||
* @description 服务实现
|
* @description 服务实现
|
||||||
* @date 2022-08-11
|
* @date 2022-08-11
|
||||||
**/
|
**/
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class OutChargeServiceImpl implements OutChargeService {
|
public class OutChargeServiceImpl implements OutChargeService {
|
||||||
|
|
||||||
|
/** 单据表 */
|
||||||
|
@Autowired
|
||||||
|
private IStIvtIostorinvService iStIvtIostorinvService;
|
||||||
|
/** 出入库单分配表 */
|
||||||
|
@Autowired
|
||||||
|
private IStIvtIostorinvdisService iostorinvdisService;
|
||||||
|
/** 出入库单明细表 */
|
||||||
|
@Autowired
|
||||||
|
private IStIvtIostorinvdtlService iostorinvdtlService;
|
||||||
|
/** 仓位库存表 */
|
||||||
|
@Autowired
|
||||||
|
private StIvtStructivtService structivtService;
|
||||||
|
@Autowired
|
||||||
|
private IpdmBiSubpackagerelationService subpackagerelationService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
|
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
|
||||||
String bill_code = MapUtil.getStr(whereJson, "bill_code");
|
String bill_code = MapUtil.getStr(whereJson, "bill_code");
|
||||||
@@ -160,7 +194,10 @@ public class OutChargeServiceImpl implements OutChargeService {
|
|||||||
whereJson.put("writeoff_time", "");
|
whereJson.put("writeoff_time", "");
|
||||||
whereJson.put("upload_mes", "");
|
whereJson.put("upload_mes", "");
|
||||||
whereJson.put("upload_sap", "");
|
whereJson.put("upload_sap", "");
|
||||||
mst_wql.insert(whereJson);
|
// mst_wql.insert(whereJson);
|
||||||
|
// if (true) {
|
||||||
|
// throw new BadRequestException("测试中...");
|
||||||
|
// }
|
||||||
|
|
||||||
ArrayList<String> ivtList = new ArrayList<>(); // 存在库存的集合
|
ArrayList<String> ivtList = new ArrayList<>(); // 存在库存的集合
|
||||||
for (int i = 0; i < dis_rows.size(); i++) {
|
for (int i = 0; i < dis_rows.size(); i++) {
|
||||||
@@ -191,7 +228,7 @@ public class OutChargeServiceImpl implements OutChargeService {
|
|||||||
dis_row.put("assign_qty", dis_row.getString("plan_qty"));
|
dis_row.put("assign_qty", dis_row.getString("plan_qty"));
|
||||||
dis_row.put("unassign_qty", "0");
|
dis_row.put("unassign_qty", "0");
|
||||||
//插入手工入库明细表
|
//插入手工入库明细表
|
||||||
dtl_wql.insert(dis_row);
|
// dtl_wql.insert(dis_row);
|
||||||
|
|
||||||
dis_row.put("iostorinvdis_id", IdUtil.getSnowflake(1, 1).nextId());
|
dis_row.put("iostorinvdis_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||||
dis_row.put("seq_no", 1);
|
dis_row.put("seq_no", 1);
|
||||||
@@ -206,7 +243,7 @@ public class OutChargeServiceImpl implements OutChargeService {
|
|||||||
dis_row.put("point_id", "");
|
dis_row.put("point_id", "");
|
||||||
dis_row.put("task_id", "");
|
dis_row.put("task_id", "");
|
||||||
//插入分配表
|
//插入分配表
|
||||||
dis_wql.insert(dis_row);
|
// dis_wql.insert(dis_row);
|
||||||
|
|
||||||
//将包装关系中对应的记录状态改为包装
|
//将包装关系中对应的记录状态改为包装
|
||||||
HashMap<String, String> map = new HashMap<>();
|
HashMap<String, String> map = new HashMap<>();
|
||||||
@@ -226,4 +263,115 @@ public class OutChargeServiceImpl implements OutChargeService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<StIvtIostorinv> outWriteOffPageDatas(OutChargePageParam paramMap, PageQuery page) {
|
||||||
|
return iStIvtIostorinvService.outWriteOffPageDatas(paramMap, page);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void outWriteOffCharge(StIvtIostorinv outbound) {
|
||||||
|
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||||
|
String nickName = SecurityUtils.getCurrentNickName();
|
||||||
|
String now = DateUtil.now();
|
||||||
|
String oldOutOrderId = outbound.getIostorinv_id();
|
||||||
|
// 1、校验主表状态为完成
|
||||||
|
StIvtIostorinv oldOutOrder = iStIvtIostorinvService.getById(oldOutOrderId);
|
||||||
|
if (!"99".equals(oldOutOrder.getBill_status())) {
|
||||||
|
throw new BadRequestException("出库单[" + outbound.getBill_code() + "]的状态必须为完成!");
|
||||||
|
}
|
||||||
|
// 2、更新销售出库为已冲销
|
||||||
|
// 需要冲销的出库单Id
|
||||||
|
LambdaUpdateWrapper<StIvtIostorinv> iosInvLam = new LambdaUpdateWrapper<>();
|
||||||
|
iosInvLam.set(StIvtIostorinv::getIs_writeoff, SlitterConstant.SLITTER_YES)
|
||||||
|
.set(StIvtIostorinv::getUpdate_time, now)
|
||||||
|
.eq(StIvtIostorinv::getIostorinv_id, oldOutOrderId);
|
||||||
|
iStIvtIostorinvService.update(iosInvLam);
|
||||||
|
// 3、生成手工入库单
|
||||||
|
// 获取出库单对应的分配数据
|
||||||
|
List<StIvtIostorinvdis> outboundDisList = iostorinvdisService.getAllocationByIosId(oldOutOrderId);
|
||||||
|
String manualInStorageOrderId = getStringId();
|
||||||
|
String manualInBillCode = CodeUtil.getNewCode("IO_CODE");
|
||||||
|
outbound.setIostorinv_id(manualInStorageOrderId);
|
||||||
|
outbound.setBill_code(manualInBillCode);
|
||||||
|
outbound.setIo_type("0");
|
||||||
|
outbound.setBill_type(InBillTypeEnum.MANUAL_IN.getCode());
|
||||||
|
outbound.setBuss_type("0009");
|
||||||
|
outbound.setBill_status("30");
|
||||||
|
outbound.setInput_optid(currentUserId);
|
||||||
|
outbound.setInput_optname(nickName);
|
||||||
|
outbound.setInput_time(now);
|
||||||
|
outbound.setUpdate_optid(currentUserId);
|
||||||
|
outbound.setUpdate_optname(nickName);
|
||||||
|
outbound.setUpdate_time(now);
|
||||||
|
outbound.setDis_optid(currentUserId);
|
||||||
|
outbound.setDis_optname(nickName);
|
||||||
|
outbound.setDis_time(now);
|
||||||
|
outbound.setConfirm_optid("0");
|
||||||
|
outbound.setConfirm_optname("");
|
||||||
|
outbound.setConfirm_time("");
|
||||||
|
outbound.setIs_upload("");
|
||||||
|
outbound.setUpload_optid("0");
|
||||||
|
outbound.setUpload_time("");
|
||||||
|
outbound.setIs_writeoff("0");
|
||||||
|
outbound.setWriteoff_optid("0");
|
||||||
|
outbound.setWriteoff_time("");
|
||||||
|
outbound.setUpload_mes("");
|
||||||
|
outbound.setUpload_sap("");
|
||||||
|
iStIvtIostorinvService.save(outbound);
|
||||||
|
// 4、插入明细表、分配表
|
||||||
|
// 存在库存的集合
|
||||||
|
ArrayList<String> ivtList = new ArrayList<>();
|
||||||
|
List<StIvtIostorinvdis> needSaveDisList = new ArrayList<>();
|
||||||
|
List<StIvtIostorinvdtl> needSaveDtlList = new ArrayList<>();
|
||||||
|
for (int i = 0; i < outboundDisList.size(); i++) {
|
||||||
|
//插入明细表
|
||||||
|
String newDtlId = getStringId();
|
||||||
|
StIvtIostorinvdis disRow = outboundDisList.get(i);
|
||||||
|
// 校验是否存在库存
|
||||||
|
StIvtStructivt structivt = structivtService.getOneByPcsn(disRow.getPcsn(), false);
|
||||||
|
if (ObjectUtil.isNotEmpty(structivt)) {
|
||||||
|
ivtList.add(structivt.getPcsn());
|
||||||
|
}
|
||||||
|
// 根据dis获取dtl(一个dis对应一个dtl【实际仓储中可能多对一】)
|
||||||
|
StIvtIostorinvdtl outDtl = iostorinvdtlService.getById(disRow.getIostorinvdtl_id());
|
||||||
|
StIvtIostorinvdtl oldDtl = outDtl;
|
||||||
|
// 转换为冲销出库的手工入库明细
|
||||||
|
// 新的明细id
|
||||||
|
outDtl.setIostorinvdtl_id(newDtlId);
|
||||||
|
// 新的单据id
|
||||||
|
outDtl.setIostorinv_id(manualInStorageOrderId);
|
||||||
|
outDtl.setSeq_no(BigDecimal.valueOf(i + 1));
|
||||||
|
outDtl.setBill_status("30");
|
||||||
|
outDtl.setReal_qty(BigDecimal.ZERO);
|
||||||
|
outDtl.setSource_billdtl_id(oldDtl.getSource_billdtl_id());
|
||||||
|
outDtl.setSource_bill_type(oldOutOrder.getBill_type());
|
||||||
|
outDtl.setSource_bill_code(oldOutOrder.getBill_code());
|
||||||
|
outDtl.setSource_bill_table("st_ivt_iostorinvdtl");
|
||||||
|
outDtl.setAssign_qty(disRow.getPlan_qty());
|
||||||
|
outDtl.setUnassign_qty(BigDecimal.ZERO);
|
||||||
|
// 手工入库明细 后面批次插入
|
||||||
|
needSaveDtlList.add(outDtl);
|
||||||
|
disRow.setIostorinvdis_id(getStringId());
|
||||||
|
disRow.setSeq_no(BigDecimal.ONE);
|
||||||
|
disRow.setSect_id("");
|
||||||
|
disRow.setSect_code("");
|
||||||
|
disRow.setSect_name("");
|
||||||
|
disRow.setWork_status("00");
|
||||||
|
disRow.setReal_qty(BigDecimal.ZERO);
|
||||||
|
disRow.setPoint_id(0L);
|
||||||
|
disRow.setTask_id("");
|
||||||
|
needSaveDisList.add(disRow);
|
||||||
|
//将包装关系中对应的记录状态改为包装
|
||||||
|
LambdaUpdateWrapper<PdmBiSubpackagerelation> upLam = new LambdaUpdateWrapper<>();
|
||||||
|
upLam.set(PdmBiSubpackagerelation::getStatus, "1")
|
||||||
|
.eq(PdmBiSubpackagerelation::getPackage_box_sn, disRow.getBox_no());
|
||||||
|
if ("1001".equals(oldOutOrder.getBill_type())) {
|
||||||
|
upLam.eq(PdmBiSubpackagerelation::getStatus, "3");
|
||||||
|
}
|
||||||
|
subpackagerelationService.update(upLam);
|
||||||
|
}
|
||||||
|
iostorinvdtlService.updateBatchById(needSaveDtlList);
|
||||||
|
iostorinvdisService.updateBatchById(needSaveDisList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -248,10 +248,10 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
|||||||
.remark((String) whereJson.get("remark"))
|
.remark((String) whereJson.get("remark"))
|
||||||
.bill_status((String) whereJson.get("bill_status"))
|
.bill_status((String) whereJson.get("bill_status"))
|
||||||
.create_mode("01")
|
.create_mode("01")
|
||||||
.input_optid(Long.valueOf(currentUserId))
|
.input_optid(currentUserId)
|
||||||
.input_optname(nickName)
|
.input_optname(nickName)
|
||||||
.input_time(String.valueOf(DateUtil.parse(now)))
|
.input_time(String.valueOf(DateUtil.parse(now)))
|
||||||
.update_optid(Long.valueOf(currentUserId))
|
.update_optid(currentUserId)
|
||||||
.update_optname(nickName)
|
.update_optname(nickName)
|
||||||
.update_time(String.valueOf(DateUtil.parse(now)))
|
.update_time(String.valueOf(DateUtil.parse(now)))
|
||||||
.is_delete("0")
|
.is_delete("0")
|
||||||
@@ -496,7 +496,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
|||||||
String now = DateUtil.now();
|
String now = DateUtil.now();
|
||||||
|
|
||||||
// 2. 更新主表信息
|
// 2. 更新主表信息
|
||||||
mainRecord.setUpdate_optid(Long.valueOf(currentUserId));
|
mainRecord.setUpdate_optid(currentUserId);
|
||||||
mainRecord.setUpdate_optname(nickName);
|
mainRecord.setUpdate_optname(nickName);
|
||||||
mainRecord.setUpdate_time(now);
|
mainRecord.setUpdate_time(now);
|
||||||
|
|
||||||
@@ -751,10 +751,10 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
|||||||
struct_name = map.get("struct_name");
|
struct_name = map.get("struct_name");
|
||||||
}
|
}
|
||||||
StIvtIostorinvdis dis = StIvtIostorinvdis.builder()
|
StIvtIostorinvdis dis = StIvtIostorinvdis.builder()
|
||||||
.sect_id(Long.valueOf(sect_id))
|
.sect_id(sect_id)
|
||||||
.sect_code(sect_code)
|
.sect_code(sect_code)
|
||||||
.sect_name(sect_name)
|
.sect_name(sect_name)
|
||||||
.struct_id(Long.valueOf(struct_id))
|
.struct_id(struct_id)
|
||||||
.struct_code(struct_code)
|
.struct_code(struct_code)
|
||||||
.struct_name(struct_name)
|
.struct_name(struct_name)
|
||||||
.build();
|
.build();
|
||||||
@@ -791,7 +791,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
|||||||
if ("09".equals(sectAttr.getSect_type_attr())) {
|
if ("09".equals(sectAttr.getSect_type_attr())) {
|
||||||
isVirtual = true;
|
isVirtual = true;
|
||||||
String taskId = cn.hutool.core.util.IdUtil.getSnowflake(1, 1).nextIdStr();
|
String taskId = cn.hutool.core.util.IdUtil.getSnowflake(1, 1).nextIdStr();
|
||||||
dis.setTask_id(Long.valueOf(taskId));
|
dis.setTask_id(taskId);
|
||||||
dis.setWork_status("01");
|
dis.setWork_status("01");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -809,7 +809,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
|||||||
String taskId = task.createTask(taskForm);
|
String taskId = task.createTask(taskForm);
|
||||||
task.immediateNotifyAcs(taskId);
|
task.immediateNotifyAcs(taskId);
|
||||||
|
|
||||||
dis.setTask_id(Long.valueOf(taskId));
|
dis.setTask_id(taskId);
|
||||||
dis.setWork_status("01");
|
dis.setWork_status("01");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -864,13 +864,13 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
|||||||
|
|
||||||
if (dtlList.isEmpty()) {
|
if (dtlList.isEmpty()) {
|
||||||
mst.setBill_status("40");
|
mst.setBill_status("40");
|
||||||
mst.setDis_optid(Long.valueOf(currentUserId));
|
mst.setDis_optid(currentUserId);
|
||||||
mst.setDis_optname(nickName);
|
mst.setDis_optname(nickName);
|
||||||
mst.setDis_time(DateUtil.now());
|
mst.setDis_time(DateUtil.now());
|
||||||
stIvtIostorinvMapper.updateById(mst);
|
stIvtIostorinvMapper.updateById(mst);
|
||||||
} else {
|
} else {
|
||||||
mst.setBill_status("30");
|
mst.setBill_status("30");
|
||||||
mst.setDis_optid(Long.valueOf(currentUserId));
|
mst.setDis_optid(currentUserId);
|
||||||
mst.setDis_optname(nickName);
|
mst.setDis_optname(nickName);
|
||||||
mst.setDis_time(DateUtil.now());
|
mst.setDis_time(DateUtil.now());
|
||||||
stIvtIostorinvMapper.updateById(mst);
|
stIvtIostorinvMapper.updateById(mst);
|
||||||
@@ -882,7 +882,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
|||||||
stIvtIostorinvdtlMapper.updateById(dtl);
|
stIvtIostorinvdtlMapper.updateById(dtl);
|
||||||
|
|
||||||
mst.setBill_status("30");
|
mst.setBill_status("30");
|
||||||
mst.setDis_optid(Long.valueOf(currentUserId));
|
mst.setDis_optid(currentUserId);
|
||||||
mst.setDis_optname(nickName);
|
mst.setDis_optname(nickName);
|
||||||
mst.setDis_time(DateUtil.now());
|
mst.setDis_time(DateUtil.now());
|
||||||
stIvtIostorinvMapper.updateById(mst);
|
stIvtIostorinvMapper.updateById(mst);
|
||||||
|
|||||||
@@ -0,0 +1,75 @@
|
|||||||
|
package org.nl.wms.st.inbill.service.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: lyd
|
||||||
|
* @Date: 2025/6/10
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class OutWriteOffVo {
|
||||||
|
private String trans_code;
|
||||||
|
private String is_writeoff;
|
||||||
|
private String input_optname;
|
||||||
|
private String input_time;
|
||||||
|
private String stor_id;
|
||||||
|
private String syscompanyid;
|
||||||
|
private String writeoff_time;
|
||||||
|
private String car_type;
|
||||||
|
private String create_mode;
|
||||||
|
private String bill_type;
|
||||||
|
private String is_upload;
|
||||||
|
private String upload_mes;
|
||||||
|
private String consignee;
|
||||||
|
private String receiver;
|
||||||
|
private String total_qty;
|
||||||
|
private String receiptphone;
|
||||||
|
private String source_type;
|
||||||
|
private String other_freight;
|
||||||
|
private String sysdeptid;
|
||||||
|
private String upload_sap;
|
||||||
|
private String receiptaddress;
|
||||||
|
private String input_optid;
|
||||||
|
private String buss_type;
|
||||||
|
private String upload_time;
|
||||||
|
private String estimated_freight;
|
||||||
|
private String detail_count;
|
||||||
|
private String carno;
|
||||||
|
private String out_stor_id;
|
||||||
|
private String deliveryaddress;
|
||||||
|
private String update_optid;
|
||||||
|
private String stor_code;
|
||||||
|
private String drivername;
|
||||||
|
private String upload_optid;
|
||||||
|
private String bill_code;
|
||||||
|
private String dis_optname;
|
||||||
|
private String order_number;
|
||||||
|
private String confirm_optid;
|
||||||
|
private String remark;
|
||||||
|
private String writeoff_optid;
|
||||||
|
private String dis_time;
|
||||||
|
private String deliveryunit;
|
||||||
|
private String total_weight;
|
||||||
|
private String deliveryname;
|
||||||
|
private String update_time;
|
||||||
|
private String update_optname;
|
||||||
|
private String driverphone;
|
||||||
|
private String source_name;
|
||||||
|
private String biz_date;
|
||||||
|
private String contractno;
|
||||||
|
private String deliveryphone;
|
||||||
|
private String confirm_optname;
|
||||||
|
private String is_overdue;
|
||||||
|
private String run_freight;
|
||||||
|
private String unload_freight;
|
||||||
|
private String bill_status;
|
||||||
|
private String dis_optid;
|
||||||
|
private String confirm_time;
|
||||||
|
private String is_delete;
|
||||||
|
private String cust_code;
|
||||||
|
private String iostorinv_id;
|
||||||
|
private String logisticscompany;
|
||||||
|
private String stor_name;
|
||||||
|
private String io_type;
|
||||||
|
private String source_id;
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
/**
|
||||||
|
* 前端显示实体包
|
||||||
|
* @Author: lyd
|
||||||
|
* @Date: 2025/6/10
|
||||||
|
*/
|
||||||
|
package org.nl.wms.st.inbill.service.vo;
|
||||||
@@ -9,6 +9,17 @@ import java.util.Map;
|
|||||||
* @Date: 2025/6/6
|
* @Date: 2025/6/6
|
||||||
*/
|
*/
|
||||||
public enum OutBillTypeEnum {
|
public enum OutBillTypeEnum {
|
||||||
|
SHIP_OUT("1001", "发货出库"),
|
||||||
|
RE_CUT_OUT("1003", "改切出库"),
|
||||||
|
TRANSFER_OUT("1004", "调拨出库"),
|
||||||
|
UNBOXING_OUT("1005", "拆箱出库"),
|
||||||
|
RE_INSPECTION_OUT("1006", "返检出库"),
|
||||||
|
BEYOND_SERVICE_LIFE("1007", "超期报废"),
|
||||||
|
RETURN_FOR_SCRAP("1008", "退货报废"),
|
||||||
|
QUALITY_ISSUES_SCRAP("10010", "质量问题报废"),
|
||||||
|
OTHER_SCRAP("1002", "其他报废"),
|
||||||
|
SORTING_OUT("1011", "分拣出库"),
|
||||||
|
MANUAL_OUT("1009", "手工出库")
|
||||||
;
|
;
|
||||||
|
|
||||||
private final String code;
|
private final String code;
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ export function getOutBillTask(params) {
|
|||||||
}
|
}
|
||||||
export function getInvTypes() {
|
export function getInvTypes() {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/checkoutbill/getInvTypes',
|
url: '/api/check/getInvTypes',
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user