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.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;
/**
*
*/

@ -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) {
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);

@ -4,13 +4,13 @@
<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" />
<!-- <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-->
@ -33,28 +33,25 @@
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.*,
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
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
AND basic_products.diType = 1
</if>
<if test="productId != null">
AND productId = #{productId}
@ -63,22 +60,18 @@
AND supId = #{supId}
</if>
</where>
</select>
<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=")">
#{item}
</foreach>
</delete>
<delete id="deleteByOrderId" parameterType="map">
DELETE
FROM pur_order_detail
@ -88,43 +81,55 @@
<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="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">
<insert id="insertPurOrderDetailEntity" keyProperty="id"
parameterType="com.glxp.api.entity.purchase.PurOrderDetailEntity">
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=",">
(
#{item.orderIdFk},
(#{item.orderIdFk},
#{item.productId},
#{item.productName},
#{item.count},
#{item.supId},
#{item.zczbhhzbapzbh}
)
#{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
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!='' ">
<if test="id != null and id != ''">
AND p1.id = #{id}
</if>
</where>
@ -132,16 +137,14 @@
</select>
<select id="selectDetailList" resultType="com.glxp.api.res.purchase.PurOrderDetailResponse">
SELECT
pur_order_detail.*,
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
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
@ -165,13 +168,17 @@
<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 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 test="endDate != null and endDate != ''">
<![CDATA[
and DATE_FORMAT(pur_order.createTime, '%Y-%m-%d') <= #{endDate}
]]>
</if>
and pur_order.status=3
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