接口优化
This commit is contained in:
@@ -91,7 +91,6 @@ public class RepoRecordController extends BaseController {
|
||||
if(ObjectUtil.isNotNull( products)){
|
||||
repoRecordVO.setFoodProductNum(products.getNum());
|
||||
repoRecordVO.setFoodProductName(products.getName());
|
||||
repoRecordVO.setUnitName(products.getUnitLabel());
|
||||
repoRecordVO.setPrice(products.getPrice());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,25 +5,26 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import com.zf.foodpurchase.common.constant.FoodStatusConstants;
|
||||
import com.zf.foodpurchase.common.core.domain.AjaxResult;
|
||||
import com.zf.foodpurchase.common.core.domain.entity.SysUser;
|
||||
import com.zf.foodpurchase.common.utils.DateUtils;
|
||||
import com.zf.foodpurchase.common.utils.StringUtils;
|
||||
import com.zf.foodpurchase.common.utils.bean.BeanUtils;
|
||||
import com.zf.foodpurchase.fdsafe.entity.FoodProduct;
|
||||
import com.zf.foodpurchase.fdsafe.entity.FoodProductMaterial;
|
||||
import com.zf.foodpurchase.fdsafe.entity.XhCreate;
|
||||
import com.zf.foodpurchase.fdsafe.mapper.FoodProductMapper;
|
||||
import com.zf.foodpurchase.fdsafe.mapper.XhMapper;
|
||||
import com.zf.foodpurchase.fdsafe.service.IFoodProductService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zf.foodpurchase.fdsafe.vo.FoodProductCKVO;
|
||||
import com.zf.foodpurchase.fdsafe.vo.FoodProductVO;
|
||||
import com.zf.foodpurchase.fdsafe.vo.XhCreateVO;
|
||||
import com.zf.foodpurchase.system.mapper.FoodProductMaterialMapper;
|
||||
import com.zf.foodpurchase.system.service.ISysUserService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -39,9 +40,10 @@ public class FoodProductServiceImpl extends ServiceImpl<FoodProductMapper, FoodP
|
||||
private ISysUserService sysUserService;
|
||||
@Autowired
|
||||
private FoodProductMapper foodProductMapper;
|
||||
|
||||
@Autowired
|
||||
private FoodProductMaterialMapper foodProductMaterialMapper;
|
||||
@Autowired
|
||||
private XhMapper xhMapper;
|
||||
|
||||
@Override
|
||||
public List<FoodProductVO> queryFoodProductVO(FoodProductVO foodProductVO) {
|
||||
@@ -68,6 +70,38 @@ public class FoodProductServiceImpl extends ServiceImpl<FoodProductMapper, FoodP
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult supplierAdd(FoodProductVO foodProductVO) {
|
||||
FoodProduct foodProduct = dealSupplierProductAdd(foodProductVO);
|
||||
Date date = new Date();
|
||||
String dateStr = DateUtils.getShortYearMonth( date);
|
||||
XhCreate xhCreate = new XhCreate();
|
||||
Long deptId = foodProductVO.getSupplierId().longValue();
|
||||
xhCreate.setDeptId(deptId);
|
||||
xhCreate.setTimeStr(dateStr);
|
||||
XhCreateVO xhCreateVO = new XhCreateVO();
|
||||
org.springframework.beans.BeanUtils.copyProperties(xhCreate,xhCreateVO);
|
||||
XhCreate xhCreateNew = xhMapper.queryXhCreate(xhCreateVO);
|
||||
if(StringUtils.isBlank(foodProductVO.getNum())){
|
||||
String productNum = "";
|
||||
if(ObjectUtil.isNull(xhCreateNew)){
|
||||
Integer deptNum = xhMapper.selectMaxDeptNum();
|
||||
Integer num = 1;
|
||||
if(ObjectUtil.isNotNull(deptNum)){
|
||||
num = deptNum+1;
|
||||
}
|
||||
xhCreate.setDeptNum(num);
|
||||
xhCreate.setXh(1);
|
||||
xhMapper.insertXhCreate(xhCreate);
|
||||
productNum = StringUtils.formatNumThree(num)+dateStr+"001";
|
||||
}else{
|
||||
Integer deptNum = xhCreateNew.getDeptNum();
|
||||
Integer xhNum = xhCreateNew.getXh()+1;
|
||||
String xhNumStr = StringUtils.formatNumThree(xhNum);
|
||||
productNum = StringUtils.formatNumThree(deptNum)+dateStr+xhNumStr;
|
||||
xhCreateNew.setXh(xhNum);
|
||||
xhMapper.updateXhCreate(xhCreateNew);
|
||||
}
|
||||
foodProduct.setNum(productNum);
|
||||
}
|
||||
|
||||
boolean save = save(foodProduct);
|
||||
List<FoodProductMaterial> list = foodProductVO.getFoodProductMaterials();
|
||||
if(CollectionUtil.isNotEmpty(list)){
|
||||
@@ -86,25 +120,18 @@ public class FoodProductServiceImpl extends ServiceImpl<FoodProductMapper, FoodP
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult supplierUpdate(FoodProductVO foodProductVO) {
|
||||
FoodProduct old = getById(foodProductVO.getFoodProductId());
|
||||
if (old == null) {
|
||||
return AjaxResult.error("商品不存在,无法修改");
|
||||
}
|
||||
//FoodProduct foodProduct = dealSupplierProductUpdate(foodProductVO);
|
||||
// 判断商品审核状态:审核不通过,修改信息重新发起审核;审核通过修改价格重新发起审核
|
||||
/*boolean isCheck = false;
|
||||
// if (old.getCheckStatus() == 2) {
|
||||
if (FoodStatusConstants.PRODUCT_CHECK_NO_PASS.equals(old.getCheckStatus())) {
|
||||
// 待审核状态
|
||||
foodProduct.setCheckStatus(FoodStatusConstants.PRODUCT_WAIT_CHECK);
|
||||
isCheck = true;
|
||||
}
|
||||
// 审核通过,如果价格变动就重新发起审核;
|
||||
else if (FoodStatusConstants.PRODUCT_CHECK_NO_PASS.equals(old.getCheckStatus()) && old.getPrice().compareTo(foodProductVO.getPrice()) != 0) {
|
||||
foodProduct.setCheckStatus(FoodStatusConstants.PRODUCT_WAIT_CHECK);
|
||||
isCheck = true;
|
||||
}*/
|
||||
List<FoodProductMaterial> list = foodProductVO.getFoodProductMaterials();
|
||||
foodProductMaterialMapper.deleteByFoodProductId(foodProductVO.getFoodProductId());
|
||||
list.forEach(f ->{
|
||||
f.setFoodProductId(foodProductVO.getFoodProductId());
|
||||
});
|
||||
foodProductMaterialMapper.batchInsert( list);
|
||||
FoodProduct foodProduct = new FoodProduct();
|
||||
BeanUtils.copyProperties(foodProductVO, foodProduct);
|
||||
boolean update = updateById(foodProduct);
|
||||
|
||||
@@ -64,6 +64,7 @@ public class RepoRecordServiceImpl extends ServiceImpl<RepoRecordMapper, RepoRec
|
||||
repoRecord.setCategoryId(categoryId);
|
||||
repoRecord.setStatus(1);
|
||||
repoRecord.setOperId(user.getUserId());
|
||||
repoRecord.setOrderNo(orderNo);
|
||||
BigDecimal price = inRepoVO.getPrice() == null ? BigDecimal.ZERO : inRepoVO.getPrice();
|
||||
BigDecimal totalCost = price.multiply(new BigDecimal(productNum));
|
||||
repoRecord.setTotalCost(totalCost);
|
||||
@@ -119,8 +120,9 @@ public class RepoRecordServiceImpl extends ServiceImpl<RepoRecordMapper, RepoRec
|
||||
repoRecord.setRepoId(repoId);
|
||||
repoRecord.setProductNum(productNum);
|
||||
repoRecord.setCategoryId(categoryId);
|
||||
repoRecord.setStatus(1);
|
||||
repoRecord.setStatus(0);
|
||||
repoRecord.setOperId(user.getUserId());
|
||||
repoRecord.setMsg(foodProductCKVO.getMsg());
|
||||
BigDecimal price = foodProductCKVO.getPrice() == null ? BigDecimal.ZERO : foodProductCKVO.getPrice();
|
||||
BigDecimal totalCost = price.multiply(new BigDecimal(productNum));
|
||||
repoRecord.setTotalCost(totalCost);
|
||||
|
||||
@@ -81,4 +81,6 @@ public class RepoRecordVO {
|
||||
private String unitName;
|
||||
|
||||
private BigDecimal price;
|
||||
|
||||
private String orderNo;
|
||||
}
|
||||
@@ -11,4 +11,6 @@ public interface FoodProductMaterialMapper {
|
||||
void batchInsert(List<FoodProductMaterial> records);
|
||||
|
||||
List<FoodProductMaterial> selectByFoodProductId(Long foodProductId);
|
||||
|
||||
int deleteByFoodProductId(Long foodProductId);
|
||||
}
|
||||
|
||||
@@ -24,4 +24,7 @@
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<delete id="deleteByFoodProductId" parameterType="Long">
|
||||
delete from food_product_material where food_product_id = #{foodProductId}
|
||||
</delete>
|
||||
</mapper>
|
||||
|
||||
@@ -17,18 +17,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result column="msg" property="msg"/>
|
||||
<result column="dept_id" property="deptId"/>
|
||||
<result column="oper_id" property="operId"/>
|
||||
<result column="order_no" property="orderNo"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
<select id="selectRepoRecordByRepoRecordId" resultType="com.zf.foodpurchase.fdsafe.vo.RepoRecordVO">
|
||||
select re.id,re.apply_date,re.supplier_id,re.category_id,re.repo_id,re.product_id,
|
||||
re.product_num,p.name,re.total_cost,re.status,re.msg,fd.type_label categoryName,
|
||||
sd.dept_name merchantName, rep.repo_name repoName,re.total_cost totalCost,re.oper_id operId,su.user_name operName from repo_record re
|
||||
sd.dept_name merchantName, rep.repo_name repoName,re.total_cost totalCost,
|
||||
re.oper_id operId,su.user_name operName,fu.unit_label unitName,re.order_no orderNo from repo_record re
|
||||
left join food_type fd on re.category_id=fd.type_id
|
||||
left join sys_dept sd on re.supplier_id=sd.dept_id
|
||||
left join repository rep on re.repo_id = rep.id
|
||||
left join sys_user su on re.oper_id=su.user_id
|
||||
left join food_product p on re.product_id=p.food_product_id WHERE re.id = #{repoRecordId}
|
||||
left join food_product p on re.product_id=p.food_product_id
|
||||
left join food_unit fu on p.unit_id=fu.unit_id
|
||||
WHERE re.id = #{repoRecordId}
|
||||
</select>
|
||||
|
||||
<insert id="insertRepoRecord" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
|
||||
@@ -45,6 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="msg != null and msg != ''">msg,</if>
|
||||
<if test="deptId != null">dept_id,</if>
|
||||
<if test="operId != null">oper_id,</if>
|
||||
<if test="orderNo != null">order_no,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="applyDate != null">#{applyDate},</if>
|
||||
@@ -58,18 +63,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="msg != null and msg != ''">#{msg,jdbcType=VARCHAR},</if>
|
||||
<if test="deptId != null">#{deptId,jdbcType=BIGINT},</if>
|
||||
<if test="operId != null">#{operId,jdbcType=BIGINT},</if>
|
||||
<if test="orderNo != null and orderNo != ''">#{orderNo,jdbcType=VARCHAR},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<select id="selectRepoRecordList" resultType="com.zf.foodpurchase.fdsafe.vo.RepoRecordVO">
|
||||
select re.id,re.apply_date,re.supplier_id,re.category_id,re.repo_id,re.product_id,
|
||||
re.product_num,p.name,re.total_cost,re.status,re.msg,fd.type_label categoryName,
|
||||
sd.dept_name merchantName, rep.repo_name repoName,re.total_cost totalCost,re.oper_id operId,su.user_name operName from repo_record re
|
||||
sd.dept_name merchantName, rep.repo_name repoName,re.total_cost totalCost,
|
||||
re.oper_id operId,su.user_name operName,fu.unit_label unitName,re.order_no orderNo from repo_record re
|
||||
left join food_type fd on re.category_id=fd.type_id
|
||||
left join sys_dept sd on re.supplier_id=sd.dept_id
|
||||
left join repository rep on re.repo_id = rep.id
|
||||
left join food_product p on re.product_id=p.food_product_id
|
||||
left join sys_user su on re.oper_id=su.user_id
|
||||
left join food_unit fu on p.unit_id=fu.unit_id
|
||||
<where>
|
||||
<if test="repoId != null">
|
||||
AND re.repo_id = #{repoId,jdbcType=INTEGER}
|
||||
@@ -98,12 +106,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<select id="selectRepoRecordListByProductId" resultType="com.zf.foodpurchase.fdsafe.vo.RepoRecordVO">
|
||||
select re.id,re.apply_date,re.supplier_id,re.category_id,re.repo_id,re.product_id,
|
||||
re.product_num,p.name,re.total_cost,re.status,re.msg,fd.type_label categoryName,
|
||||
sd.dept_name merchantName, rep.repo_name repoName,re.total_cost totalCost,re.oper_id operId,su.user_name operName from repo_record re
|
||||
sd.dept_name merchantName, rep.repo_name repoName,re.total_cost totalCost,re.oper_id operId,
|
||||
su.user_name operName,fu.unit_label unitName,re.order_no orderNo from repo_record re
|
||||
left join food_type fd on re.category_id=fd.type_id
|
||||
left join sys_dept sd on re.supplier_id=sd.dept_id
|
||||
left join repository rep on re.repo_id = rep.id
|
||||
left join food_product p on re.product_id=p.food_product_id
|
||||
left join sys_user su on re.oper_id=su.user_id
|
||||
left join food_unit fu on p.unit_id=fu.unit_id
|
||||
where re.product_id = #{productId}
|
||||
</select>
|
||||
|
||||
|
||||
@@ -9,13 +9,14 @@
|
||||
<select id="querySchoolOrderItemVO" resultType="com.zf.foodpurchase.fdsafe.vo.SchoolOrderItemVO"
|
||||
parameterType="com.zf.foodpurchase.fdsafe.vo.SchoolOrderItemVO">
|
||||
select soi.order_item_no, soi.order_no,soi.food_id, soi.school_id, soi.edu_id, soi.supplier_id, soi.food_product_id, soi.food_name, soi.price, soi.product_num, soi.type_id, soi.unit_id, soi.order_item_status, soi.create_time, soi.update_time, soi.order_item_remark,soi.refund_num,
|
||||
ft.type_label,fu.unit_label,fp.remark as food_product_remark,sup.supplier_name supplierName,fu.unit_label modelName,fp.num
|
||||
ft.type_label,fu.unit_label,fp.remark as food_product_remark,sup.supplier_name supplierName,fs.spec_label modelName,fp.num
|
||||
from school_order_item soi
|
||||
left join supplier sup on soi.supplier_id=sup.supplier_id
|
||||
left join school_order so on soi.order_no = so.order_no
|
||||
left join food_product fp on soi.food_product_id = fp.food_product_id
|
||||
left join food_type ft on ft.type_id = fp.type_id
|
||||
left join food_unit fu on fu.unit_id = fp.unit_id
|
||||
left join food_spec fs on fp.spec_id = fs.spec_id
|
||||
<where>
|
||||
<if test="orderItemNo != null and orderItemNo != ''">
|
||||
and soi.order_item_no = #{orderItemNo}
|
||||
|
||||
Reference in New Issue
Block a user