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

pro
1178634255 2 years ago
commit f8b5a58e33

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

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

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

@ -259,8 +259,14 @@ public class IoChangeInoutService {
codeTempService.insertBatch(codeTempEntities); 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) { if (isGenInovice) {
//生成发票信息 //生成发票信息

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

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

@ -4,13 +4,13 @@
<resultMap id="BaseResultMap" autoMapping="true" type="com.glxp.api.entity.purchase.PurOrderDetailEntity"> <resultMap id="BaseResultMap" autoMapping="true" type="com.glxp.api.entity.purchase.PurOrderDetailEntity">
<!--@mbg.generated--> <!--@mbg.generated-->
<!--@Table pur_order_detail--> <!--@Table pur_order_detail-->
<!-- <id column="id" jdbcType="INTEGER" property="id" />--> <!-- <id column="id" jdbcType="INTEGER" property="id" />-->
<result column="orderIdFk" jdbcType="VARCHAR" property="orderIdFk" /> <result column="orderIdFk" jdbcType="VARCHAR" property="orderIdFk"/>
<result column="productId" jdbcType="INTEGER" property="productId" /> <result column="productId" jdbcType="INTEGER" property="productId"/>
<result column="productName" jdbcType="VARCHAR" property="productName" /> <result column="productName" jdbcType="VARCHAR" property="productName"/>
<result column="count" jdbcType="INTEGER" property="count" /> <result column="count" jdbcType="INTEGER" property="count"/>
<result column="supId" jdbcType="VARCHAR" property="supId" /> <result column="supId" jdbcType="VARCHAR" property="supId"/>
<result column="zczbhhzbapzbh" jdbcType="VARCHAR" property="zczbhhzbapzbh" /> <result column="zczbhhzbapzbh" jdbcType="VARCHAR" property="zczbhhzbapzbh"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> <!--@mbg.generated-->
@ -33,28 +33,25 @@
AND supId = #{supId} AND supId = #{supId}
</if> </if>
</where> </where>
</select> </select>
<select id="joinQueryList" parameterType="com.glxp.api.req.purchase.PurOrderDetailRequest" <select id="joinQueryList" parameterType="com.glxp.api.req.purchase.PurOrderDetailRequest"
resultType="com.glxp.api.res.purchase.PurOrderDetailResponse"> resultType="com.glxp.api.res.purchase.PurOrderDetailResponse">
SELECT SELECT pur_order_detail.*,
pur_order_detail.*,
basic_products.ggxh spec, basic_products.ggxh spec,
basic_products.nameCode nameCode, basic_products.nameCode nameCode,
basic_products.measname, basic_products.measname,
basic_products.manufactory, basic_products.manufactory,
basic_products.ylqxzcrbarmc, basic_products.ylqxzcrbarmc,
basic_corp.`name` supName basic_corp.`name` supName
FROM FROM pur_order_detail
pur_order_detail
left JOIN basic_udirel ON pur_order_detail.productId = basic_udirel.id 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_products ON basic_udirel.uuid = basic_products.uuid
left JOIN basic_corp ON pur_order_detail.supId = basic_corp.erpId left JOIN basic_corp ON pur_order_detail.supId = basic_corp.erpId
<where> <where>
<if test="orderIdFk != '' and orderIdFk != null"> <if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk} AND orderIdFk = #{orderIdFk}
AND basic_products.diType=1 AND basic_products.diType = 1
</if> </if>
<if test="productId != null"> <if test="productId != null">
AND productId = #{productId} AND productId = #{productId}
@ -63,22 +60,18 @@
AND supId = #{supId} AND supId = #{supId}
</if> </if>
</where> </where>
</select> </select>
<delete id="deleteByIds" parameterType="java.util.List"> <delete id="deleteByIds" parameterType="java.util.List">
DELETE FROM pur_order_detail WHERE id in DELETE
FROM pur_order_detail WHERE id in
<foreach collection="ids" item="item" open="(" separator="," close=")"> <foreach collection="ids" item="item" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>
</delete> </delete>
<delete id="deleteByOrderId" parameterType="map"> <delete id="deleteByOrderId" parameterType="map">
DELETE DELETE
FROM pur_order_detail FROM pur_order_detail
@ -88,43 +81,55 @@
<update id="update" parameterType="com.glxp.api.entity.purchase.PurOrderDetailEntity"> <update id="update" parameterType="com.glxp.api.entity.purchase.PurOrderDetailEntity">
UPDATE pur_order_detail UPDATE pur_order_detail
<trim prefix="set" suffixOverrides=","> <trim prefix="set" suffixOverrides=",">
<if test="orderIdFk != null">orderIdFk=#{orderIdFk},</if> <if test="orderIdFk != null">
<if test="productId != null">productId=#{productId},</if> orderIdFk=#{orderIdFk},
<if test="productName != null">productName=#{productName},</if> </if>
<if test="count != null">`count`=#{count},</if> <if test="productId != null">
<if test="supId != null">supId=#{supId},</if> productId=#{productId},
<if test="zczbhhzbapzbh != null">zczbhhzbapzbh=#{zczbhhzbapzbh},</if> </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> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>
<insert id="insertPurOrderDetailEntity" keyProperty="id" parameterType="com.glxp.api.entity.purchase.PurOrderDetailEntity"> <insert id="insertPurOrderDetailEntity" keyProperty="id"
parameterType="com.glxp.api.entity.purchase.PurOrderDetailEntity">
REPLACE INTO pur_order_detail REPLACE INTO pur_order_detail
( orderIdFk,productId,productName,count,supId,zczbhhzbapzbh) values (orderIdFk, productId, productName, count, supId, zczbhhzbapzbh, price) values
<foreach collection="datas" item="item" index="index" separator=","> <foreach collection="datas" item="item" index="index" separator=",">
( (#{item.orderIdFk},
#{item.orderIdFk},
#{item.productId}, #{item.productId},
#{item.productName}, #{item.productName},
#{item.count}, #{item.count},
#{item.supId}, #{item.supId},
#{item.zczbhhzbapzbh} #{item.zczbhhzbapzbh}, #{item.price})
)
</foreach> </foreach>
</insert> </insert>
<select id="selectIoOrderDetailBiz" parameterType="long" <select id="selectIoOrderDetailBiz" parameterType="long"
resultType="com.glxp.api.entity.basic.BasicProductsEntity"> resultType="com.glxp.api.entity.basic.BasicProductsEntity">
SELECT SELECT b2.*
b2.* FROM pur_order_detail p1
FROM LEFT JOIN basic_udirel b1 on b1.id = p1.productId
pur_order_detail p1 LEFT JOIN basic_products b2 on b1.uuid = b2.uuid
LEFT JOIN basic_udirel b1 on b1.id=p1.productId
LEFT JOIN basic_products b2 on b1.uuid = b2 .uuid
<where> <where>
<if test="id != null and id!='' "> <if test="id != null and id != ''">
AND p1.id = #{id} AND p1.id = #{id}
</if> </if>
</where> </where>
@ -132,16 +137,14 @@
</select> </select>
<select id="selectDetailList" resultType="com.glxp.api.res.purchase.PurOrderDetailResponse"> <select id="selectDetailList" resultType="com.glxp.api.res.purchase.PurOrderDetailResponse">
SELECT SELECT pur_order_detail.*,
pur_order_detail.*,
pur_order.billNo, pur_order.billNo,
basic_products.ggxh spec, basic_products.ggxh spec,
basic_products.measname, basic_products.measname,
basic_products.manufactory, basic_products.manufactory,
basic_products.ylqxzcrbarmc, basic_products.ylqxzcrbarmc,
basic_corp.`name` supName basic_corp.`name` supName
FROM FROM pur_order_detail
pur_order_detail
INNER JOIN basic_udirel ON pur_order_detail.productId = basic_udirel.id 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_products ON basic_udirel.uuid = basic_products.uuid
INNER JOIN basic_corp ON pur_order_detail.supId = basic_corp.erpId INNER JOIN basic_corp ON pur_order_detail.supId = basic_corp.erpId
@ -165,13 +168,17 @@
<if test="manufactory != null and manufactory != ''"> <if test="manufactory != null and manufactory != ''">
AND basic_products.manufactory like concat('%', #{manufactory}, '%') AND basic_products.manufactory like concat('%', #{manufactory}, '%')
</if> </if>
<if test="startDate != null and startDate !=''"> <if test="startDate != null and startDate != ''">
<![CDATA[ and DATE_FORMAT(pur_order.createTime,'%Y-%m-%d')>= #{startDate}]]> <![CDATA[
and DATE_FORMAT(pur_order.createTime, '%Y-%m-%d') >= #{startDate}
]]>
</if> </if>
<if test="endDate != null and endDate !=''"> <if test="endDate != null and endDate != ''">
<![CDATA[ and DATE_FORMAT(pur_order.createTime,'%Y-%m-%d') <= #{endDate}]]> <![CDATA[
and DATE_FORMAT(pur_order.createTime, '%Y-%m-%d') <= #{endDate}
]]>
</if> </if>
and pur_order.status=3 and pur_order.status = 3
</where> </where>
</select> </select>
</mapper> </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', 'preSpaceCode', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('io_code', 'preInSpaceCode', '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