内部码打印代码提交

master
郑明梁 2 years ago
parent 913dca5ebc
commit 8faadb6066

@ -0,0 +1,202 @@
package com.glxp.api.controller.inv;
import cn.hutool.core.collection.CollUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.annotation.RepeatSubmit;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
import com.glxp.api.entity.inv.InnerOrderDetailEntity;
import com.glxp.api.entity.inv.InnerOrderEntity;
import com.glxp.api.req.inv.InnerOrderDetailRequest;
import com.glxp.api.req.inv.InnerOrderRequest;
import com.glxp.api.req.inv.PostInnerOrderRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inv.innerOrderDetailResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.inv.InnerOrderDetailService;
import com.glxp.api.service.inv.InnerOrderService;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.constraints.NotEmpty;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* pur
*
* @author anthony.ywj
* @date 2022-10-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/inv/inner/order")
public class InnerOrderController {
@Resource
InnerOrderService innerOrderService;
@Resource
InnerOrderDetailService innerOrderDetailService;
@Resource
CustomerService customerService;
@Resource
GennerOrderUtils gennerOrderUtils;
/**
*
*/
@RepeatSubmit()
@AuthRuleAnnotation("")
@PostMapping("/postOrder")
public BaseResponse postOrder(@RequestBody PostInnerOrderRequest postInnerOrderRequest) {
long userId = customerService.getUserId();
InnerOrderEntity innerOrderEntity = postInnerOrderRequest.getInnerOrderEntity();
innerOrderEntity.setCreateUser(userId + "");
innerOrderEntity.setCreateTime(new Date());
innerOrderEntity.setUpdateTime(new Date());
innerOrderEntity.setStatus(postInnerOrderRequest.getEditStatus()); //草稿状态
if (innerOrderEntity.getId() == null) {
String billNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.NBM_ORDER, "yyyyMMdd"));
innerOrderEntity.setRecordKey(billNo);
innerOrderEntity.setPrintStatus(1);
innerOrderEntity.setGenStatus(1);
innerOrderService.insert(innerOrderEntity);
} else {
innerOrderService.update(innerOrderEntity);
}
return ResultVOUtils.success(innerOrderEntity.getId());
}
/**
*
*/
@GetMapping("/list")
public BaseResponse list(InnerOrderRequest innerOrderRequest) {
List<InnerOrderEntity> innerOrderEntities = innerOrderService.queryPageList(innerOrderRequest);
PageInfo<InnerOrderEntity> pageInfo;
pageInfo = new PageInfo<>(innerOrderEntities);
PageSimpleResponse<InnerOrderEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(innerOrderEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*/
@RepeatSubmit()
@PostMapping()
public BaseResponse add(@RequestBody InnerOrderEntity innerOrderEntity) {
innerOrderService.insert(innerOrderEntity);
return ResultVOUtils.success("新增成功!");
}
/**
*
*/
@RepeatSubmit()
@PutMapping()
public BaseResponse edit(@RequestBody InnerOrderEntity innerOrderEntity) {
innerOrderService.update(innerOrderEntity);
return ResultVOUtils.success("删除成功");
}
/**
*
*
* @param ids
*/
@DeleteMapping("/{ids}")
public BaseResponse remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
List<String> idArray = Arrays.asList(ids);
if (CollUtil.isNotEmpty(idArray)) {
innerOrderService.deleteByIds(idArray);
for (String id : idArray) {
innerOrderDetailService.deleteByOrderId(id + "");
}
}
return ResultVOUtils.success("删除成功");
}
/**
*
*/
@PostMapping("/list/detail")
public BaseResponse detailList(@RequestBody InnerOrderDetailRequest innerOrderDetailRequest) {
List<innerOrderDetailResponse> purApplyDetailEntities = innerOrderDetailService.joinQueryList(innerOrderDetailRequest);
PageInfo<innerOrderDetailResponse> pageInfo;
pageInfo = new PageInfo<>(purApplyDetailEntities);
PageSimpleResponse<innerOrderDetailResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(purApplyDetailEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*/
@RepeatSubmit()
@PostMapping("/insertDetail")
public BaseResponse detailAdd(@RequestBody InnerOrderDetailEntity innerOrderDetailEntity) {
// long userId = customerService.getUserId();
// InnerOrderEntity innerOrderEntity=new InnerOrderEntity();
//// innerOrderEntity.setPrintStatus(1);
//// innerOrderEntity.setGenStatus(1);
// innerOrderEntity.setCreateTime(new Date());
// innerOrderEntity.setCreateUser(userId+"");
// innerOrderEntity.setStatus(1);
// innerOrderService.insert(innerOrderEntity);
// Integer id=innerOrderEntity.getId();
//
// innerOrderDetailEntity.setOrderIdFk(id);
innerOrderDetailService.insert(innerOrderDetailEntity);
return ResultVOUtils.success("");
}
/**
*
*/
@RepeatSubmit()
@PostMapping("/updateDetail")
public BaseResponse detailEdit(@RequestBody InnerOrderDetailEntity innerOrderDetailEntity) {
innerOrderDetailService.update(innerOrderDetailEntity);
return ResultVOUtils.success("更新成功");
}
/**
*
*
* @param ids
*/
@DeleteMapping("/detail/{ids}")
public BaseResponse detailRemove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
innerOrderDetailService.deleteByIds(Arrays.asList(ids));
return ResultVOUtils.success("删除成功");
}
}

@ -0,0 +1,22 @@
package com.glxp.api.dao.inv;
import com.glxp.api.entity.inv.InnerOrderEntity;
import com.glxp.api.req.inv.InnerOrderRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface InnerOrderDao {
List<InnerOrderEntity> queryPageList(InnerOrderRequest innerOrderRequest);
Integer insert(InnerOrderEntity innerOrderEntity);
Boolean update(InnerOrderEntity innerOrderEntity);
Boolean deleteByIds(@Param("ids") List<String> ids);
}

@ -0,0 +1,24 @@
package com.glxp.api.dao.inv;
import com.glxp.api.entity.inv.InnerOrderDetailEntity;
import com.glxp.api.req.inv.InnerOrderDetailRequest;
import com.glxp.api.res.inv.innerOrderDetailResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface InnerOrderDetailDao {
List<innerOrderDetailResponse> joinQueryList(InnerOrderDetailRequest innerOrderDetailRequest);
Boolean insert(InnerOrderDetailEntity purApplyDetailEntity);
Boolean update(InnerOrderDetailEntity purApplyRequest);
Boolean deleteByIds(List<Long> ids);
Boolean deleteByOrderId(@Param("orderIdFk") String orderIdFk);
}

@ -0,0 +1,17 @@
package com.glxp.api.entity.inv;
import lombok.Data;
@Data
public class InnerOrderDetailEntity {
private Long id;
private String orderIdFk;
private String productId;
private String productName;
private Integer count;
private String productDate;
private String expireDate;
private String batchNo;
}

@ -0,0 +1,19 @@
package com.glxp.api.entity.inv;
import lombok.Data;
import java.util.Date;
@Data
public class InnerOrderEntity {
private Integer id;
private String recordKey;
private Date createTime;
private Integer genStatus;
private Integer printStatus;
private Date updateTime;
private String remark;
private String createUser;
private int status;
}

@ -0,0 +1,12 @@
package com.glxp.api.req.inv;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@Data
public class InnerOrderDetailRequest extends ListPageRequest {
private String orderIdFk;
private String productId;
}

@ -0,0 +1,15 @@
package com.glxp.api.req.inv;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@Data
public class InnerOrderRequest extends ListPageRequest {
private String recordKey;
private String startDate;
private String endDate;
}

@ -0,0 +1,18 @@
package com.glxp.api.req.inv;
import com.glxp.api.entity.inv.InnerOrderDetailEntity;
import com.glxp.api.entity.inv.InnerOrderEntity;
import lombok.Data;
import java.util.List;
@Data
public class PostInnerOrderRequest {
int editStatus;
InnerOrderEntity innerOrderEntity;
List<InnerOrderDetailEntity> innerOrderDetailEntities;
List<InnerOrderDetailRequest> subErpOrders;
}

@ -0,0 +1,50 @@
package com.glxp.api.res.inv;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class innerOrderDetailResponse {
private String id;
private String orderIdFk;
private String productId;
private String productName;
private String spec;
private String batchNo;
private String expireDate;
private String productDate;
private Integer count;
private int reCount;
private Integer sweepCount;
private String ylqxzcrbarmc;
private String zczbhhzbapzbh;
private BigDecimal price;
private String relId;
//销售清单号(第二票)
private String secSalesListNo;
//销售发票号(第一票)
private String firstSalesInvNo;
//销售发票号(第二票)
private String secSalesInvNo;
//开票日期
private String invoiceDate;
private String manufactory;
private boolean allowNoBatch;
private String code;
private String serialNo;
private Integer codeId;
private int acceptCount;
private String measname;
private String supId;
private String supName;
}

@ -0,0 +1,24 @@
package com.glxp.api.service.inv;
import com.glxp.api.entity.inv.InnerOrderDetailEntity;
import com.glxp.api.req.inv.InnerOrderDetailRequest;
import com.glxp.api.res.inv.innerOrderDetailResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface InnerOrderDetailService {
List<innerOrderDetailResponse> joinQueryList(InnerOrderDetailRequest innerOrderDetailRequest);
Boolean insert(InnerOrderDetailEntity purApplyDetailEntity);
Boolean update(InnerOrderDetailEntity purApplyRequest);
Boolean deleteByIds(List<Long> ids);
Boolean deleteByOrderId(@Param("orderIdFk") String orderIdFk);
}

@ -0,0 +1,25 @@
package com.glxp.api.service.inv;
import com.glxp.api.entity.inv.InnerOrderEntity;
import com.glxp.api.req.inv.InnerOrderRequest;
import java.util.List;
public interface InnerOrderService {
InnerOrderEntity findByRecordKey(String recordKey);
List<InnerOrderEntity> queryPageList(InnerOrderRequest innerOrderRequest);
Integer insert(InnerOrderEntity innerOrderRequest);
Boolean update(InnerOrderEntity innerOrderRequest);
Boolean deleteByIds(List<String> ids);
}

@ -0,0 +1,52 @@
package com.glxp.api.service.inv.impl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.inv.InnerOrderDetailDao;
import com.glxp.api.entity.inv.InnerOrderDetailEntity;
import com.glxp.api.req.inv.InnerOrderDetailRequest;
import com.glxp.api.res.inv.innerOrderDetailResponse;
import com.glxp.api.service.inv.InnerOrderDetailService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
@Service
public class InnerOrderDetailServiceImpl implements InnerOrderDetailService {
@Resource
InnerOrderDetailDao innerOrderDetailDao;
@Override
public List<innerOrderDetailResponse> joinQueryList(InnerOrderDetailRequest innerOrderDetailRequest) {
if (innerOrderDetailRequest == null) {
return Collections.emptyList();
}
if (innerOrderDetailRequest.getPage() != null) {
int offset = (innerOrderDetailRequest.getPage() - 1) * innerOrderDetailRequest.getLimit();
PageHelper.offsetPage(offset, innerOrderDetailRequest.getLimit());
}
List<innerOrderDetailResponse> data = innerOrderDetailDao.joinQueryList(innerOrderDetailRequest);
return data;
}
@Override
public Boolean insert(InnerOrderDetailEntity innerOrderDetailEntity) {
return innerOrderDetailDao.insert(innerOrderDetailEntity);
}
@Override
public Boolean update(InnerOrderDetailEntity innerOrderDetailEntity) {
return innerOrderDetailDao.update(innerOrderDetailEntity);
}
@Override
public Boolean deleteByIds(List<Long> ids) {
return innerOrderDetailDao.deleteByIds(ids);
}
@Override
public Boolean deleteByOrderId(String orderIdFk) {
return innerOrderDetailDao.deleteByOrderId(orderIdFk);
}
}

@ -0,0 +1,60 @@
package com.glxp.api.service.inv.impl;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.inv.InnerOrderDao;
import com.glxp.api.entity.inv.InnerOrderEntity;
import com.glxp.api.req.inv.InnerOrderRequest;
import com.glxp.api.service.inv.InnerOrderService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
@Service
public class InnerOrderServiceImpl implements InnerOrderService {
@Resource
InnerOrderDao innerOrderDao;
@Override
public InnerOrderEntity findByRecordKey(String recordKey) {
if (StrUtil.isEmpty(recordKey))
return null;
InnerOrderRequest innerOrderRequest = new InnerOrderRequest();
innerOrderRequest.setRecordKey(recordKey);
List<InnerOrderEntity> data = innerOrderDao.queryPageList(innerOrderRequest);
return data.get(0);
}
@Override
public List<InnerOrderEntity> queryPageList(InnerOrderRequest innerOrderRequest) {
if (innerOrderRequest == null) {
return Collections.emptyList();
}
if (innerOrderRequest.getPage() != null) {
int offset = (innerOrderRequest.getPage() - 1) * innerOrderRequest.getLimit();
PageHelper.offsetPage(offset, innerOrderRequest.getLimit());
}
List<InnerOrderEntity> data = innerOrderDao.queryPageList(innerOrderRequest);
return data;
}
@Override
public Integer insert(InnerOrderEntity innerOrderEntity) {
return innerOrderDao.insert(innerOrderEntity);
}
@Override
public Boolean update(InnerOrderEntity innerOrderEntity) {
return innerOrderDao.update(innerOrderEntity);
}
@Override
public Boolean deleteByIds(List<String> ids) {
return innerOrderDao.deleteByIds(ids);
}
}

@ -0,0 +1,73 @@
<?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.inv.InnerOrderDao">
<select id="queryPageList" parameterType="com.glxp.api.req.inv.InnerOrderRequest"
resultType="com.glxp.api.entity.inv.InnerOrderEntity">
select inv_inner_order.*,cb.employeeName createByName
from inv_inner_order
INNER JOIN auth_user cb on inv_inner_order.createUser = cb.id
<where>
<if test="recordKey != '' and recordKey != null">
AND recordKey = #{recordKey}
</if>
<if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
AND date_format(inv_inner_order.createTime, '%Y-%m-%d') between date_format(#{startDate},
'%Y-%m-%d') and date_format(#{endDate}, '%Y-%m-%d')
</if>
</where>
</select>
<insert id="insert" keyProperty="id"
parameterType="com.glxp.api.entity.inv.InnerOrderEntity" useGeneratedKeys="true">
replace
INTO inv_inner_order
(
recordKey,createTime,genStatus,printStatus,updateTime,remark,createUser,status
)
values (
#{recordKey},
#{createTime},
#{genStatus},
#{printStatus},
#{updateTime},
#{remark},
#{createUser},
#{status}
)
</insert>
<delete id="deleteByIds" parameterType="java.util.List">
DELETE FROM inv_inner_order WHERE id in
<foreach collection="ids" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<delete id="deleteById" parameterType="Map">
DELETE
FROM inv_inner_order
WHERE id = #{id}
</delete>
<update id="update" parameterType="com.glxp.api.entity.inv.InnerOrderEntity">
UPDATE inv_inner_order
<trim prefix="set" suffixOverrides=",">
<if test="recordKey != null">recordKey=#{recordKey},</if>
<if test="createTime != null">createTime=#{createTime},</if>
<if test="genStatus != null">genStatus=#{genStatus},</if>
<if test="printStatus != null">printStatus=#{printStatus},</if>
<if test="updateTime != null">updateTime=#{updateTime},</if>
<if test="remark != null">remark=#{remark},</if>
<if test="createUser != null">createUser=#{createUser},</if>
<if test="createTime != null">createTime=#{createTime},</if>
<if test="status != null">status=#{status},</if>
</trim>
WHERE id = #{id}
</update>
</mapper>

@ -0,0 +1,82 @@
<?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.inv.InnerOrderDetailDao">
<select id="joinQueryList" parameterType="com.glxp.api.req.inv.InnerOrderDetailRequest"
resultType="com.glxp.api.res.inv.innerOrderDetailResponse">
select
inv_inner_order_detail.*,
basic_products.ggxh spec,
basic_products.measname,
basic_products.manufactory
FROM inv_inner_order_detail
INNER JOIN basic_udirel on inv_inner_order_detail.productId = basic_udirel.id
INNER JOIN basic_products on basic_udirel.uuid = basic_products.uuid
<where>
<if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk}
</if>
<if test="productId != null">
AND productId = #{productId}
</if>
</where>
</select>
<insert id="insert" keyProperty="id"
parameterType="com.glxp.api.entity.inv.InnerOrderDetailEntity">
replace
INTO inv_inner_order_detail
(
orderIdFk,productId,productName,`count`,productDate,expireDate,batchNo
)
values (
#{orderIdFk},
#{productId},
#{productName},
#{count},
#{productDate},
#{expireDate},
#{batchNo}
)
</insert>
<delete id="deleteByIds" parameterType="java.util.List">
DELETE FROM inv_inner_order_detail WHERE id in
<foreach collection="ids" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<delete id="deleteById" parameterType="Map">
DELETE
FROM inv_inner_order_detail
WHERE id = #{id}
</delete>
<delete id="deleteByOrderId" parameterType="Map">
DELETE
FROM inv_inner_order_detail
WHERE orderIdFk = #{orderIdFk}
</delete>
<update id="update" parameterType="com.glxp.api.entity.inv.InnerOrderDetailEntity">
UPDATE inv_inner_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="expireDate != null">expireDate=#{expireDate},</if>
<if test="productDate != null">productDate=#{productDate},</if>
<if test="batchNo != null">batchNo=#{batchNo},</if>
</trim>
WHERE id = #{id}
</update>
</mapper>
Loading…
Cancel
Save