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

pro
schry 2 years ago
commit f75b8fdd86

@ -2,6 +2,7 @@ package com.glxp.api.controller.inout;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
@ -702,14 +703,27 @@ public class IoOrderController extends BaseController {
newOrder.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);//设置单据未草稿状态
newOrder.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); //设置验收状态为未验收
newOrder.setFromType(ConstantStatus.FROM_COPY);
newOrder.setOrderType(2);
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderChangeRequest.getAction());
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
String supplementOrderNo = orderNo;
newOrder.setBillNo(supplementOrderNo);
newOrder.setReplicateNo(null); //新单据的复制单号置空
originOrder.setReplicateNo(orderNo);
List<IoCodeTempEntity> supplementCodes = new ArrayList<>();
// 生成业务单
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(originOrder.getBillNo());
if (CollUtil.isNotEmpty(orderDetailBizEntities)) {
for (IoOrderDetailBizEntity orderDetailBizEntity : orderDetailBizEntities) {
orderDetailBizEntity.setOrderIdFk(newOrder.getBillNo());
orderDetailBizEntity.setId(IdUtil.getSnowflakeNextId());
orderDetailBizService.insert(orderDetailBizEntity);
}
}
List<IoCodeEntity> products = addOrderChangeRequest.getProducts();
originCodes.forEach(
code -> {
@ -720,7 +734,6 @@ public class IoOrderController extends BaseController {
|| (StrUtil.isBlank(product.getBatchNo()) && StrUtil.isBlank(code.getBatchNo()))) {
IoCodeTempEntity supplementCode = new IoCodeTempEntity();
BeanUtil.copyProperties(code, supplementCode);
supplementCode.setCode(product.getCode());
supplementCode.setInvCode(newOrder.getInvCode());
supplementCode.setDeptCode(newOrder.getDeptCode());
supplementCode.setOrderId(newOrder.getBillNo());
@ -742,6 +755,13 @@ public class IoOrderController extends BaseController {
orderService.insertOrder(newOrder);
codeTempService.insertBatch(supplementCodes);
orderService.update(originOrder);
ioAddInoutService.dealProcess(newOrder);
//不需要手动校验,则走正常单据校验处理流程
if (!ioCheckInoutService.checkManual(newOrder.getBillNo())) {
ioCheckInoutService.check(newOrder.getBillNo());
}
return ResultVOUtils.success();
}

@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.math.BigDecimal;
@Data
@TableName(value = "pur_order_detail")
public class PurOrderDetailEntity {
@ -42,6 +44,9 @@ public class PurOrderDetailEntity {
@TableField(value = "supId")
private String supId;
@TableField(value = "price")
private BigDecimal price;
/**
*
*/
@ -61,4 +66,4 @@ public class PurOrderDetailEntity {
public static final String COL_SUPID = "supId";
public static final String COL_ZCZBHHZBAPZBH = "zczbhhzbapzbh";
}
}

@ -242,11 +242,11 @@ public class IoOrderResponse {
public String getFromName() {
if (StrUtil.isNotEmpty(fromCorpName))
return fromCorpName;
if (StrUtil.isNotEmpty(fromInvName))
return fromInvName;
if (StrUtil.isNotEmpty(fromCorpName))
return fromCorpName;
return fromName;
}
}

@ -259,8 +259,14 @@ public class IoChangeInoutService {
codeTempService.insertBatch(codeTempEntities);
// 生成业务单
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(orderEntity.getBillNo());
if (CollUtil.isNotEmpty(orderDetailBizEntities)) {
for (IoOrderDetailBizEntity orderDetailBizEntity : orderDetailBizEntities) {
orderDetailBizEntity.setOrderIdFk(outOrder.getBillNo());
orderDetailBizEntity.setId(IdUtil.getSnowflakeNextId());
orderDetailBizService.insert(orderDetailBizEntity);
}
}
if (isGenInovice) {
//生成发票信息

@ -283,7 +283,10 @@ public class IoCheckInoutService {
return;
}
if (orderEntity.getFromType() != ConstantStatus.FROM_UDISP) {
orderDetailBizService.deleteByOrderId(orderEntity.getBillNo());
if (orderEntity.getFromType() != ConstantStatus.FROM_COPY
&& orderEntity.getFromType() != ConstantStatus.FROM_CHANGE) {
orderDetailBizService.deleteByOrderId(orderEntity.getBillNo());
}
orderDetailResultService.deleteByOrderId(orderEntity.getBillNo());
if (!orderDetailBizService.isExit(orderEntity.getBillNo())) {
orderDetailCodeEntities.forEach(orderDetailCodeEntity ->

@ -175,7 +175,6 @@ public class GennerOrderUtils {
return completionRandom(serialWithPrefix, orderNoTypeEnum);
}
private Long getSecondsNextEarlyMorning() {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_YEAR, 1);

@ -1,177 +1,184 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.purchase.PurOrderDetailDao">
<resultMap id="BaseResultMap" autoMapping="true" type="com.glxp.api.entity.purchase.PurOrderDetailEntity">
<!--@mbg.generated-->
<!--@Table pur_order_detail-->
<!-- <id column="id" jdbcType="INTEGER" property="id" />-->
<result column="orderIdFk" jdbcType="VARCHAR" property="orderIdFk" />
<result column="productId" jdbcType="INTEGER" property="productId" />
<result column="productName" jdbcType="VARCHAR" property="productName" />
<result column="count" jdbcType="INTEGER" property="count" />
<result column="supId" jdbcType="VARCHAR" property="supId" />
<result column="zczbhhzbapzbh" jdbcType="VARCHAR" property="zczbhhzbapzbh" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, orderIdFk, productId, productName, `count`, supId, zczbhhzbapzbh
</sql>
<select id="queryPageList" parameterType="com.glxp.api.req.purchase.PurOrderDetailRequest"
resultType="com.glxp.api.entity.purchase.PurOrderDetailEntity">
select *
FROM pur_order_detail
<where>
<if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk}
</if>
<if test="productId != null">
AND productId = #{productId}
</if>
<if test="supId != '' and supId != null">
AND supId = #{supId}
</if>
</where>
</select>
<select id="joinQueryList" parameterType="com.glxp.api.req.purchase.PurOrderDetailRequest"
resultType="com.glxp.api.res.purchase.PurOrderDetailResponse">
SELECT
pur_order_detail.*,
basic_products.ggxh spec,
basic_products.nameCode nameCode,
basic_products.measname,
basic_products.manufactory,
basic_products.ylqxzcrbarmc,
basic_corp.`name` supName
FROM
pur_order_detail
left JOIN basic_udirel ON pur_order_detail.productId = basic_udirel.id
left JOIN basic_products ON basic_udirel.uuid = basic_products.uuid
left JOIN basic_corp ON pur_order_detail.supId = basic_corp.erpId
<where>
<if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk}
AND basic_products.diType=1
</if>
<if test="productId != null">
AND productId = #{productId}
</if>
<if test="supId != '' and supId != null">
AND supId = #{supId}
</if>
</where>
</select>
<delete id="deleteByIds" parameterType="java.util.List">
DELETE FROM pur_order_detail WHERE id in
<foreach collection="ids" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<delete id="deleteByOrderId" parameterType="map">
DELETE
FROM pur_order_detail
WHERE orderIdFk = #{orderIdFk}
</delete>
<update id="update" parameterType="com.glxp.api.entity.purchase.PurOrderDetailEntity">
UPDATE pur_order_detail
<trim prefix="set" suffixOverrides=",">
<if test="orderIdFk != null">orderIdFk=#{orderIdFk},</if>
<if test="productId != null">productId=#{productId},</if>
<if test="productName != null">productName=#{productName},</if>
<if test="count != null">`count`=#{count},</if>
<if test="supId != null">supId=#{supId},</if>
<if test="zczbhhzbapzbh != null">zczbhhzbapzbh=#{zczbhhzbapzbh},</if>
</trim>
WHERE id = #{id}
</update>
<resultMap id="BaseResultMap" autoMapping="true" type="com.glxp.api.entity.purchase.PurOrderDetailEntity">
<!--@mbg.generated-->
<!--@Table pur_order_detail-->
<!-- <id column="id" jdbcType="INTEGER" property="id" />-->
<result column="orderIdFk" jdbcType="VARCHAR" property="orderIdFk"/>
<result column="productId" jdbcType="INTEGER" property="productId"/>
<result column="productName" jdbcType="VARCHAR" property="productName"/>
<result column="count" jdbcType="INTEGER" property="count"/>
<result column="supId" jdbcType="VARCHAR" property="supId"/>
<result column="zczbhhzbapzbh" jdbcType="VARCHAR" property="zczbhhzbapzbh"/>
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, orderIdFk, productId, productName, `count`, supId, zczbhhzbapzbh
</sql>
<select id="queryPageList" parameterType="com.glxp.api.req.purchase.PurOrderDetailRequest"
resultType="com.glxp.api.entity.purchase.PurOrderDetailEntity">
select *
FROM pur_order_detail
<where>
<if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk}
</if>
<if test="productId != null">
AND productId = #{productId}
</if>
<if test="supId != '' and supId != null">
AND supId = #{supId}
</if>
</where>
</select>
<insert id="insertPurOrderDetailEntity" keyProperty="id" parameterType="com.glxp.api.entity.purchase.PurOrderDetailEntity">
REPLACE INTO pur_order_detail
( orderIdFk,productId,productName,count,supId,zczbhhzbapzbh) values
<select id="joinQueryList" parameterType="com.glxp.api.req.purchase.PurOrderDetailRequest"
resultType="com.glxp.api.res.purchase.PurOrderDetailResponse">
SELECT pur_order_detail.*,
basic_products.ggxh spec,
basic_products.nameCode nameCode,
basic_products.measname,
basic_products.manufactory,
basic_products.ylqxzcrbarmc,
basic_corp.`name` supName
FROM pur_order_detail
left JOIN basic_udirel ON pur_order_detail.productId = basic_udirel.id
left JOIN basic_products ON basic_udirel.uuid = basic_products.uuid
left JOIN basic_corp ON pur_order_detail.supId = basic_corp.erpId
<where>
<if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk}
AND basic_products.diType = 1
</if>
<if test="productId != null">
AND productId = #{productId}
</if>
<if test="supId != '' and supId != null">
AND supId = #{supId}
</if>
</where>
</select>
<foreach collection="datas" item="item" index="index" separator=",">
(
#{item.orderIdFk},
#{item.productId},
#{item.productName},
#{item.count},
#{item.supId},
#{item.zczbhhzbapzbh}
)
</foreach>
</insert>
<select id="selectIoOrderDetailBiz" parameterType="long"
resultType="com.glxp.api.entity.basic.BasicProductsEntity">
SELECT
b2.*
FROM
pur_order_detail p1
LEFT JOIN basic_udirel b1 on b1.id=p1.productId
LEFT JOIN basic_products b2 on b1.uuid = b2 .uuid
<where>
<if test="id != null and id!='' ">
AND p1.id = #{id}
</if>
</where>
GROUP BY uuid
</select>
<delete id="deleteByIds" parameterType="java.util.List">
DELETE
FROM pur_order_detail WHERE id in
<foreach collection="ids" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<delete id="deleteByOrderId" parameterType="map">
DELETE
FROM pur_order_detail
WHERE orderIdFk = #{orderIdFk}
</delete>
<update id="update" parameterType="com.glxp.api.entity.purchase.PurOrderDetailEntity">
UPDATE pur_order_detail
<trim prefix="set" suffixOverrides=",">
<if test="orderIdFk != null">
orderIdFk=#{orderIdFk},
</if>
<if test="productId != null">
productId=#{productId},
</if>
<if test="productName != null">
productName=#{productName},
</if>
<if test="count != null">
`count`=#{count},
</if>
<if test="supId != null">
supId=#{supId},
</if>
<if test="zczbhhzbapzbh != null">
zczbhhzbapzbh=#{zczbhhzbapzbh},
</if>
<if test="price != null">
price=#{price},
</if>
</trim>
WHERE id = #{id}
</update>
<insert id="insertPurOrderDetailEntity" keyProperty="id"
parameterType="com.glxp.api.entity.purchase.PurOrderDetailEntity">
REPLACE INTO pur_order_detail
(orderIdFk, productId, productName, count, supId, zczbhhzbapzbh, price) values
<foreach collection="datas" item="item" index="index" separator=",">
(#{item.orderIdFk},
#{item.productId},
#{item.productName},
#{item.count},
#{item.supId},
#{item.zczbhhzbapzbh}, #{item.price})
</foreach>
</insert>
<select id="selectIoOrderDetailBiz" parameterType="long"
resultType="com.glxp.api.entity.basic.BasicProductsEntity">
SELECT b2.*
FROM pur_order_detail p1
LEFT JOIN basic_udirel b1 on b1.id = p1.productId
LEFT JOIN basic_products b2 on b1.uuid = b2.uuid
<where>
<if test="id != null and id != ''">
AND p1.id = #{id}
</if>
</where>
GROUP BY uuid
</select>
<select id="selectDetailList" resultType="com.glxp.api.res.purchase.PurOrderDetailResponse">
SELECT
pur_order_detail.*,
pur_order.billNo,
basic_products.ggxh spec,
basic_products.measname,
basic_products.manufactory,
basic_products.ylqxzcrbarmc,
basic_corp.`name` supName
FROM
pur_order_detail
INNER JOIN basic_udirel ON pur_order_detail.productId = basic_udirel.id
INNER JOIN basic_products ON basic_udirel.uuid = basic_products.uuid
INNER JOIN basic_corp ON pur_order_detail.supId = basic_corp.erpId
left join pur_order on pur_order.id = pur_order_detail.orderIdFk
<where>
<if test="billNo != null and billNo != ''">
AND pur_order.billNo like concat('%', #{billNo}, '%')
</if>
<if test="productId != null">
AND productId like concat('%', #{productId}, '%')
</if>
<if test="productName != null and productName != ''">
AND productName like concat('%', #{productName}, '%')
</if>
<if test="spec != null and spec != ''">
AND basic_products.ggxh like concat('%', #{spec}, '%')
</if>
<if test="zczbhhzbapzbh != null and zczbhhzbapzbh != ''">
AND pur_order_detail.zczbhhzbapzbh like concat('%', #{zczbhhzbapzbh}, '%')
</if>
<if test="manufactory != null and manufactory != ''">
AND basic_products.manufactory like concat('%', #{manufactory}, '%')
</if>
<if test="startDate != null and startDate !=''">
<![CDATA[ and DATE_FORMAT(pur_order.createTime,'%Y-%m-%d')>= #{startDate}]]>
</if>
<if test="endDate != null and endDate !=''">
<![CDATA[ and DATE_FORMAT(pur_order.createTime,'%Y-%m-%d') <= #{endDate}]]>
</if>
and pur_order.status=3
</where>
<select id="selectDetailList" resultType="com.glxp.api.res.purchase.PurOrderDetailResponse">
SELECT pur_order_detail.*,
pur_order.billNo,
basic_products.ggxh spec,
basic_products.measname,
basic_products.manufactory,
basic_products.ylqxzcrbarmc,
basic_corp.`name` supName
FROM pur_order_detail
INNER JOIN basic_udirel ON pur_order_detail.productId = basic_udirel.id
INNER JOIN basic_products ON basic_udirel.uuid = basic_products.uuid
INNER JOIN basic_corp ON pur_order_detail.supId = basic_corp.erpId
left join pur_order on pur_order.id = pur_order_detail.orderIdFk
<where>
<if test="billNo != null and billNo != ''">
AND pur_order.billNo like concat('%', #{billNo}, '%')
</if>
<if test="productId != null">
AND productId like concat('%', #{productId}, '%')
</if>
<if test="productName != null and productName != ''">
AND productName like concat('%', #{productName}, '%')
</if>
<if test="spec != null and spec != ''">
AND basic_products.ggxh like concat('%', #{spec}, '%')
</if>
<if test="zczbhhzbapzbh != null and zczbhhzbapzbh != ''">
AND pur_order_detail.zczbhhzbapzbh like concat('%', #{zczbhhzbapzbh}, '%')
</if>
<if test="manufactory != null and manufactory != ''">
AND basic_products.manufactory like concat('%', #{manufactory}, '%')
</if>
<if test="startDate != null and startDate != ''">
<![CDATA[
and DATE_FORMAT(pur_order.createTime, '%Y-%m-%d') >= #{startDate}
]]>
</if>
<if test="endDate != null and endDate != ''">
<![CDATA[
and DATE_FORMAT(pur_order.createTime, '%Y-%m-%d') <= #{endDate}
]]>
</if>
and pur_order.status = 3
</where>
</select>
</mapper>

@ -435,3 +435,5 @@ CALL Pro_Temp_ColumnWork('io_code_temp', 'preInSpaceCode', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('io_code', 'preSpaceCode', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('io_code', 'preInSpaceCode', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('pur_order_detail', 'price', 'decimal(10, 2)', 1);

Loading…
Cancel
Save