功能修改

master
sunjianxi 2 days ago
parent 2ac508ac46
commit 4b395e678e
  1. 17
      src/main/java/com/nov/KgLowDurable/controller/LdDemandEndController.java
  2. 6
      src/main/java/com/nov/KgLowDurable/controller/LdPurchaseEndController.java
  3. 7
      src/main/java/com/nov/KgLowDurable/mapper/LdDemandEndMapper.java
  4. 6
      src/main/java/com/nov/KgLowDurable/mapper/LdPurchaseEndMapper.java
  5. 6
      src/main/java/com/nov/KgLowDurable/pojo/entity/LdOneOutStorageDetail.java
  6. 2
      src/main/java/com/nov/KgLowDurable/service/ILdDemandEndService.java
  7. 2
      src/main/java/com/nov/KgLowDurable/service/ILdPurchaseEndService.java
  8. 12
      src/main/java/com/nov/KgLowDurable/service/Impl/LdDemandEndServiceImpl.java
  9. 15
      src/main/java/com/nov/KgLowDurable/service/Impl/LdPurchaseEndServiceImpl.java
  10. 6
      src/main/java/com/nov/KgLowDurable/service/Impl/LdTwoPutStorageServiceImpl.java
  11. 20
      src/main/resources/mapper/LdDemandEndMapper.xml
  12. 5
      src/main/resources/mapper/LdOneOutStorageDemandEndMapper.xml
  13. 50
      src/main/resources/mapper/LdOneOutStorageDetailMapper.xml
  14. 2
      src/main/resources/mapper/LdOnePutStorageDetailMapper.xml
  15. 17
      src/main/resources/mapper/LdPurchaseEndMapper.xml

@ -9,6 +9,7 @@ import com.nov.KgLowDurable.service.ILdDemandEndService;
import com.nov.KgLowDurable.util.Result;
import io.swagger.annotations.*;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@ -20,6 +21,7 @@ import java.util.Map;
/**
* @author liweidong
*/
@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/demandEnd")
@ -37,10 +39,15 @@ public class LdDemandEndController {
})
public Result list(@ApiParam(hidden = true)
@RequestParam(required = false) String demandNo,
@RequestParam(required = false) String materialName,
@RequestParam(required = false) String model,
@RequestParam(required = false) String department,
@RequestParam(required = false) String year,
@RequestParam(required = false) String quarter,
@RequestParam(required = false ,defaultValue = "1") Integer pageNum,
@RequestParam(required = false ,defaultValue = "10") Integer pageSize) {
return Result.OK(demandEndService.getDemandEndList(demandNo,pageNum,pageSize));
return Result.OK(demandEndService.getDemandEndList(demandNo,materialName,model,department,year,quarter,pageNum,pageSize));
}
@ -82,12 +89,8 @@ public class LdDemandEndController {
@ApiImplicitParam(name = "optionType", value = "选项", dataType = "string", paramType = "query")
})
public Result getDemandEndData(@RequestParam String ids,@RequestParam String departmentId,@RequestParam String optionType) {
try {
List<LdOneOutStorageDetail> quarters = demandEndService.getDemandEndData(ids,departmentId,optionType);
return Result.OK(quarters);
} catch (Exception e) {
return Result.error("获取需求单数据失败");
}
}
@ -100,12 +103,8 @@ public class LdDemandEndController {
@ApiImplicitParam(name = "optionType", value = "选项", dataType = "string", paramType = "query")
})
public Result getDemandEndNyData(@RequestParam String ids,@RequestParam String departmentId,@RequestParam String optionType) {
try {
List<LdOneOutStorageDetailVO> quarters = demandEndService.getDemandEndNyData(ids,departmentId,optionType);
return Result.OK(quarters);
} catch (Exception e) {
return Result.error("获取需求单数据失败");
}
}

@ -32,10 +32,14 @@ public class LdPurchaseEndController {
})
public Result list(@ApiParam(hidden = true)
@RequestParam(required = false) String purchaseNo,
@RequestParam(required = false) String materialName,
@RequestParam(required = false) String model,
@RequestParam(required = false) String year,
@RequestParam(required = false) String quarter,
@RequestParam(required = false ,defaultValue = "1") Integer pageNum,
@RequestParam(required = false ,defaultValue = "10") Integer pageSize) {
return Result.OK(purchaseEndService.getPurchaseEndList(purchaseNo,pageNum,pageSize));
return Result.OK(purchaseEndService.getPurchaseEndList(purchaseNo,materialName,model,year,quarter,pageNum,pageSize));
}
@GetMapping("/getAllQuarter")

@ -13,7 +13,12 @@ import java.util.List;
public interface LdDemandEndMapper extends BaseMapper<LdDemandEnd> {
List<LdDemandEnd> selectDemandEndList(@Param("demandNo") String demandNo);
List<LdDemandEnd> selectDemandEndList(@Param("demandNo") String demandNo,
@Param("materialName") String materialName,
@Param("model") String model,
@Param("department") String department,
@Param("year") String year,
@Param("quarter") String quarter);
List<QuarterVO> getAllQuarter();

@ -12,7 +12,11 @@ import java.util.List;
*/
public interface LdPurchaseEndMapper extends BaseMapper<LdPurchaseEnd> {
List<LdPurchaseEnd> selectPurchaseEndList(@Param("purchaseNo") String purchaseNo);
List<LdPurchaseEnd> selectPurchaseEndList(@Param("purchaseNo") String purchaseNo,
@Param("materialName") String materialName,
@Param("model") String model,
@Param("year") String year,
@Param("quarter") String quarter);
List<QuarterVO> getAllQuarters();

@ -1,6 +1,7 @@
package com.nov.KgLowDurable.pojo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@ -140,6 +141,11 @@ public class LdOneOutStorageDetail implements Serializable {
*/
private Long oneFormId;
/**
* 库存数量
*/
@TableField(exist = false)
private BigDecimal num;

@ -25,7 +25,7 @@ public interface ILdDemandEndService extends IService<LdDemandEnd> {
* @param pageSize
* @return
*/
PageInfo<LdDemandEnd> getDemandEndList(String demandNo, Integer pageNum, Integer pageSize);
PageInfo<LdDemandEnd> getDemandEndList(String demandNo,String materialName,String model,String department,String year,String quarter, Integer pageNum, Integer pageSize);
/**
* 获取需求单

@ -20,7 +20,7 @@ public interface ILdPurchaseEndService extends IService<LdPurchaseEnd> {
* @param pageSize
* @return
*/
PageInfo<LdPurchaseEnd> getPurchaseEndList(String purchaseNo, Integer pageNum, Integer pageSize);
PageInfo<LdPurchaseEnd> getPurchaseEndList(String purchaseNo,String materialName,String model,String year,String quarter, Integer pageNum, Integer pageSize);
/**
* 获取采购单所有季度

@ -47,10 +47,10 @@ public class LdDemandEndServiceImpl extends ServiceImpl<LdDemandEndMapper, LdDem
ILdOneFormService oneFormService;
@Override
public PageInfo<LdDemandEnd> getDemandEndList(String demandNo, Integer pageNum, Integer pageSize) {
public PageInfo<LdDemandEnd> getDemandEndList(String demandNo,String materialName,String model,String department,String year,String quarter, Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum,pageSize);
List<LdDemandEnd> ldPurchaseEndList = demandEndMapper.selectDemandEndList(demandNo);
List<LdDemandEnd> ldPurchaseEndList = demandEndMapper.selectDemandEndList(demandNo,materialName,model,department,year,quarter);
PageInfo<LdDemandEnd> pageInfo = new PageInfo<>(ldPurchaseEndList);
return pageInfo;
}
@ -301,10 +301,11 @@ public class LdDemandEndServiceImpl extends ServiceImpl<LdDemandEndMapper, LdDem
// 计算申请数量
BigDecimal demandQuantity = new BigDecimal(demand.getNum());
BigDecimal availableQty = inventory.getNum() != null ? inventory.getNum() : BigDecimal.ZERO;
// BigDecimal availableQty = inventory.getNum() != null ? inventory.getNum() : BigDecimal.ZERO;
// 申请数量 = min(需求数量, 可用库存)
BigDecimal applicationQty = demandQuantity.min(availableQty);
// BigDecimal applicationQty = demandQuantity.min(availableQty);
BigDecimal applicationQty = demandQuantity;
// 如果可用库存为0,不生成出库明细
if (applicationQty.compareTo(BigDecimal.ZERO) <= 0) {
@ -317,7 +318,8 @@ public class LdDemandEndServiceImpl extends ServiceImpl<LdDemandEndMapper, LdDem
detail.setLdDemandEndId(demand.getId());
detail.setDepartment(demand.getDepartmentId());
detail.setDepartmentName(demand.getDepartment());
detail.setOneFormId(inventory.getId());
detail.setNum(inventory.getNum());
return detail;
}

@ -42,9 +42,9 @@ public class LdPurchaseEndServiceImpl extends ServiceImpl<LdPurchaseEndMapper, L
ILdMaterialService materialService;
@Override
public PageInfo<LdPurchaseEnd> getPurchaseEndList(String purchaseNo, Integer pageNum, Integer pageSize) {
public PageInfo<LdPurchaseEnd> getPurchaseEndList(String purchaseNo,String materialName,String model,String year,String quarter, Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum,pageSize);
List<LdPurchaseEnd> ldPurchaseEndList = purchaseEndMapper.selectPurchaseEndList(purchaseNo);
List<LdPurchaseEnd> ldPurchaseEndList = purchaseEndMapper.selectPurchaseEndList(purchaseNo,materialName,model,year,quarter);
PageInfo<LdPurchaseEnd> pageInfo = new PageInfo<>(ldPurchaseEndList);
return pageInfo;
}
@ -63,6 +63,7 @@ public class LdPurchaseEndServiceImpl extends ServiceImpl<LdPurchaseEndMapper, L
//查询一级入库是否有该采购单
List<Long> idList = Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toList());
List<LdOnePutStoragePurchaseEnd> onePutStoragePurchaseEndList = onePutStoragePurchaseEndService.selectByPurchaseEndId(idList);
Map<Long,BigDecimal> map = new HashMap<>();
if(!CollectionUtils.isEmpty(onePutStoragePurchaseEndList)){
//获取一级库ID
List<Long> onePutStorageIds = onePutStoragePurchaseEndList.stream()
@ -79,10 +80,11 @@ public class LdPurchaseEndServiceImpl extends ServiceImpl<LdPurchaseEndMapper, L
List<LdOnePutStorageDetail> ldOnePutStorageDetailList = onePutStorageDetailService.getSummaryData(collect);
ldOnePutStorageDetailList.forEach(detail ->{
detail.setYetInboundQuantity(detail.getInboundQuantity());
map.put(detail.getMaterialId(),detail.getInboundQuantity());
//detail.setYetInboundQuantity(detail.getInboundQuantity());
});
ldOnePutStorageDetailList.sort(Comparator.comparing(LdOnePutStorageDetail::getMaterialCode));
return ldOnePutStorageDetailList;
/*ldOnePutStorageDetailList.sort(Comparator.comparing(LdOnePutStorageDetail::getMaterialCode));
return ldOnePutStorageDetailList;*/
}
}
@ -105,6 +107,9 @@ public class LdPurchaseEndServiceImpl extends ServiceImpl<LdPurchaseEndMapper, L
onePutStorageDetail.setRequiredQuantity(new BigDecimal(ldPurchaseEnd.getNum()));
onePutStorageDetail.setUnitPrice(ldPurchaseEnd.getMoney());
onePutStorageDetail.setLdPurchaseEndId(ldPurchaseEnd.getId());
if(map.containsKey(ldPurchaseEnd.getMaterialId())){
onePutStorageDetail.setYetInboundQuantity(map.get(ldPurchaseEnd.getMaterialId()));
}
list.add(onePutStorageDetail);
}
list.sort(Comparator.comparing(LdOnePutStorageDetail::getMaterialCode));

@ -353,9 +353,9 @@ public class LdTwoPutStorageServiceImpl extends ServiceImpl<LdTwoPutStorageMappe
* 校验易耗品明细
*/
private void validateDetailForConsumer(LdTwoPutStorageDetail detail) {
if (detail.getInboundQuantity() == null || detail.getInboundQuantity().compareTo(BigDecimal.ZERO) <= 0) {
throw new CustomerException("易耗品入库数量必须大于0");
}
// if (detail.getInboundQuantity() == null || detail.getInboundQuantity().compareTo(BigDecimal.ZERO) <= 0) {
// throw new CustomerException("易耗品入库数量必须大于0");
// }
if(BatchConstant.DURABLE.equals(detail.getType())){
if (detail.getUnitPrice() == null || detail.getUnitPrice().compareTo(BigDecimal.ZERO) < 0) {
throw new CustomerException("单价不能为负数");

@ -28,9 +28,27 @@
SELECT
<include refid="baseColumnList" />
FROM ld_demand_end
<where>
<if test="demandNo != null and demandNo !=''">
WHERE demand_no LIKE CONCAT('%', #{demandNo}, '%')
and demand_no LIKE CONCAT('%', #{demandNo}, '%')
</if>
<if test="materialName != null and materialName !=''">
and material_name LIKE CONCAT('%', #{materialName}, '%')
</if>
<if test="model != null and model !=''">
and model LIKE CONCAT('%', #{model}, '%')
</if>
<if test="department != null and department !=''">
and department LIKE CONCAT('%', #{department}, '%')
</if>
<if test="year != null and year !=''">
and year = #{year}
</if>
<if test="quarter != null and quarter !=''">
and quarter = #{quarter}
</if>
</where>
</select>
<select id="getAllQuarter" resultType="com.nov.KgLowDurable.pojo.vo.QuarterVO">

@ -11,8 +11,9 @@
</resultMap>
<select id="selectByDemandEndId" resultType="com.nov.KgLowDurable.pojo.entity.LdOneOutStorageDemandEnd">
select * from ld_one_out_storage_demand_end
where demand_end_id in
select a.* from ld_one_out_storage_demand_end a left join ld_one_out_storage b on a.one_out_storage_id = b.id
where b.status = 3
and demand_end_id in
<foreach collection="idList" item="id" open="(" separator="," close=")">
#{id}
</foreach>

@ -30,20 +30,20 @@
<!-- 基础查询SQL -->
<sql id="baseColumnList">
id, one_form_id, one_out_storage_id, one_out_storage_no, one_out_detail_code, ld_demand_end_id, material_id, material_name, material_code, model, type, unit, application_quantity, outbound_quantity, outbound_sum_quantity, shipper_status, out_storage_person, out_storage_time, department, department_name, department_people_id, department_people_name, remark
a.id, a.one_form_id, a.one_out_storage_id, a.one_out_storage_no, a.one_out_detail_code, a.ld_demand_end_id, a.material_id, a.material_name, a.material_code, a.model, a.type, a.unit, a.application_quantity, a.outbound_quantity, a.outbound_sum_quantity, a.shipper_status, a.out_storage_person, a.out_storage_time, a.department, a.department_name, a.department_people_id, a.department_people_name, a.remark
</sql>
<select id="selectById" resultMap="ldOnePutStorageDetailResultMap">
SELECT
<include refid="baseColumnList" />
FROM ld_one_out_storage_detail
FROM ld_one_out_storage_detail a
WHERE id = #{id}
</select>
<select id="selectByMaterialId" resultType="com.nov.KgLowDurable.pojo.entity.LdOneOutStorageDetail">
SELECT
<include refid="baseColumnList" />
FROM ld_one_out_storage_detail
FROM ld_one_out_storage_detail a
WHERE shipper_status = #{shipperStatus}
AND one_out_storage_id = #{oneOutStorageId}
AND material_id = #{materialId}
@ -51,40 +51,46 @@
</select>
<select id="selectByOneOutStorageIds" resultType="com.nov.KgLowDurable.pojo.entity.LdOneOutStorageDetail">
SELECT
material_id,
material_code,
material_name,
model,
`type`,
unit,
application_quantity,
ld_demand_end_id,
SUM(outbound_quantity) as outbound_quantity
FROM ld_one_out_storage_detail
where one_out_storage_id in
a.material_id,
a.material_code,
a.material_name,
a.model,
a.`type`,
a.unit,
a.application_quantity,
a.ld_demand_end_id,
a.one_form_id,
c.num,
SUM(a.outbound_quantity) as outbound_quantity
FROM ld_one_out_storage_detail a left join ld_one_out_storage b on a.one_out_storage_id = b.id
left join ld_one_form c on a.one_form_id = c.id
where b.status = 3
and a.one_out_storage_id in
<foreach collection="oneOutStorageIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
GROUP BY material_id,material_code, material_name, model, `type`, unit, application_quantity,ld_demand_end_id
ORDER BY material_code;
GROUP BY a.material_id,a.material_code, a.material_name, a.model, a.`type`, a.unit, a.application_quantity,a.ld_demand_end_id
ORDER BY a.material_code;
</select>
<select id="selectByDemandEndId" resultType="com.nov.KgLowDurable.pojo.entity.LdOneOutStorageDetail">
select
<include refid="baseColumnList" />
from ld_one_out_storage_detail
where ld_demand_end_id = #{ldDemandEndId};
from ld_one_out_storage_detail a left join ld_one_out_storage b on a.one_out_storage_id = b.id
where b.status = 3
and ld_demand_end_id = #{ldDemandEndId};
</select>
<select id="selectByOneOutStorageId" resultType="com.nov.KgLowDurable.pojo.entity.LdOneOutStorageDetail">
SELECT
<include refid="baseColumnList" />
FROM ld_one_out_storage_detail
FROM ld_one_out_storage_detail a
WHERE one_out_storage_id = #{oneOutStorageId}
</select>
<select id="selectByOneOutId" resultType="com.nov.KgLowDurable.pojo.vo.LdOneOutStorageDetailVO">
SELECT
<include refid="baseColumnList" />
FROM ld_one_out_storage_detail
WHERE one_out_storage_id = #{oneOutStorageId}
<include refid="baseColumnList" />,b.num
FROM ld_one_out_storage_detail a
left join ld_one_form b on a.one_form_id = b.id
WHERE a.one_out_storage_id = #{oneOutStorageId}
</select>

@ -76,7 +76,6 @@
material_name,
material_code,
model,
type,
unit,
required_quantity,
SUM(inbound_quantity) as inbound_quantity
@ -92,7 +91,6 @@
material_name,
material_code,
model,
type,
unit,
required_quantity
ORDER BY ld_purchase_end_id, material_id;

@ -26,9 +26,24 @@
SELECT
<include refid="baseColumnList" />
FROM ld_purchase_end
<where>
<if test="purchaseNo != null and purchaseNo !=''">
WHERE purchase_no LIKE CONCAT('%', #{purchaseNo}, '%')
and purchase_no LIKE CONCAT('%', #{purchaseNo}, '%')
</if>
<if test="materialName != null and materialName !=''">
and material_name LIKE CONCAT('%', #{materialName}, '%')
</if>
<if test="model != null and model !=''">
and model LIKE CONCAT('%', #{model}, '%')
</if>
<if test="year != null and year !=''">
and year = #{year}
</if>
<if test="quarter != null and quarter !=''">
and quarter = #{quarter}
</if>
</where>
</select>
<select id="getAllQuarters" resultType="com.nov.KgLowDurable.pojo.vo.QuarterVO">

Loading…
Cancel
Save