bug修改

This commit is contained in:
jjLv 2025-09-11 16:48:32 +08:00
parent 3ab59fae25
commit fcb195e1f4
17 changed files with 178 additions and 31 deletions

View File

@ -76,23 +76,25 @@ public class CookMaterialServiceImpl implements ICookMaterialService {
public int insertCookMaterial(CookMaterial cookMaterial) {
cookMaterial.setCreateTime(DateUtils.getNowDate());
try {
if (StringUtils.isBlank(cookMaterial.getMaterialCode())){
if (StringUtils.isBlank(cookMaterial.getMaterialCode())) {
throw new ServiceException("请输入原料编码");
}
if (StringUtils.isBlank(cookMaterial.getMaterialName())){
if (StringUtils.isBlank(cookMaterial.getMaterialName())) {
throw new ServiceException("请输入原料名称");
}
if (StringUtils.isNull(cookMaterial.getMaterialTypeId()) || cookMaterial.getMaterialTypeId() == 0L){
if (StringUtils.isNull(cookMaterial.getMaterialTypeId()) || cookMaterial.getMaterialTypeId() == 0L) {
throw new ServiceException("请选择原料类别");
}
if (cookMaterial.getGoodsType().equals(1L) && (StringUtils.isNull(cookMaterial.getNutritionId()) || cookMaterial.getNutritionId() == 0L)){
if (cookMaterial.getGoodsType().equals(1L) && (StringUtils.isNull(cookMaterial.getNutritionId()) || cookMaterial.getNutritionId() == 0L)) {
throw new ServiceException("请选择营养信息名称");
}
if (cookMaterialMapper.checkIsExistByCode(cookMaterial.getMaterialCode(), null,cookMaterial.getGoodsType()) > 0) {
throw new ServiceException("该原料编码已存在");
if (cookMaterialMapper.checkIsExistByCode(cookMaterial.getMaterialCode(), null, cookMaterial.getGoodsType()) > 0) {
String name = cookMaterial.getGoodsType() == 1 ? "原料" : "商品";
throw new ServiceException("" + name + "编码已存在");
}
if (cookMaterialMapper.checkIsExistByName(cookMaterial.getMaterialName(), null,cookMaterial.getGoodsType()) > 0) {
throw new ServiceException("该原料名称已存在");
if (cookMaterialMapper.checkIsExistByName(cookMaterial.getMaterialName(), null, cookMaterial.getGoodsType()) > 0) {
String name = cookMaterial.getGoodsType() == 1 ? "原料" : "商品";
throw new ServiceException("" + name + "名称已存在");
}
cookMaterial.setSalePrice(Objects.isNull(cookMaterial.getSalePrice()) ? 0L : cookMaterial.getSalePrice() * 100);
cookMaterial.setUnitPrice(Objects.isNull(cookMaterial.getUnitPrice()) ? 0L : cookMaterial.getUnitPrice() * 100);
@ -112,26 +114,28 @@ public class CookMaterialServiceImpl implements ICookMaterialService {
public int updateCookMaterial(CookMaterial cookMaterial) {
cookMaterial.setUpdateTime(DateUtils.getNowDate());
try {
if (StringUtils.isNull(cookMaterial.getMaterialId())){
if (StringUtils.isNull(cookMaterial.getMaterialId())) {
throw new ServiceException("未携带原料ID");
}
if (StringUtils.isBlank(cookMaterial.getMaterialCode())){
if (StringUtils.isBlank(cookMaterial.getMaterialCode())) {
throw new ServiceException("请输入原料编码");
}
if (StringUtils.isBlank(cookMaterial.getMaterialName())){
if (StringUtils.isBlank(cookMaterial.getMaterialName())) {
throw new ServiceException("请输入原料名称");
}
if (StringUtils.isNull(cookMaterial.getMaterialTypeId()) || cookMaterial.getMaterialTypeId() == 0L){
if (StringUtils.isNull(cookMaterial.getMaterialTypeId()) || cookMaterial.getMaterialTypeId() == 0L) {
throw new ServiceException("请选择原料类别");
}
if (cookMaterial.getGoodsType().equals(1L) && (StringUtils.isNull(cookMaterial.getNutritionId()) || cookMaterial.getNutritionId() == 0L)){
if (cookMaterial.getGoodsType().equals(1L) && (StringUtils.isNull(cookMaterial.getNutritionId()) || cookMaterial.getNutritionId() == 0L)) {
throw new ServiceException("请选择营养信息名称");
}
if (cookMaterialMapper.checkIsExistByCode(cookMaterial.getMaterialCode(), cookMaterial.getMaterialId(),cookMaterial.getGoodsType()) > 0) {
throw new ServiceException("该原料编码已存在");
if (cookMaterialMapper.checkIsExistByCode(cookMaterial.getMaterialCode(), cookMaterial.getMaterialId(), cookMaterial.getGoodsType()) > 0) {
String name = cookMaterial.getGoodsType() == 1 ? "原料" : "商品";
throw new ServiceException("" + name + "编码已存在");
}
if (cookMaterialMapper.checkIsExistByName(cookMaterial.getMaterialName(), cookMaterial.getMaterialId(),cookMaterial.getGoodsType()) > 0) {
throw new ServiceException("该原料名称已存在");
if (cookMaterialMapper.checkIsExistByName(cookMaterial.getMaterialName(), cookMaterial.getMaterialId(), cookMaterial.getGoodsType()) > 0) {
String name = cookMaterial.getGoodsType() == 1 ? "原料" : "商品";
throw new ServiceException("" + name + "名称已存在");
}
cookMaterial.setSalePrice(Objects.isNull(cookMaterial.getSalePrice()) ? 0L : cookMaterial.getSalePrice() * 100);
cookMaterial.setUnitPrice(Objects.isNull(cookMaterial.getUnitPrice()) ? 0L : cookMaterial.getUnitPrice() * 100);
@ -150,7 +154,7 @@ public class CookMaterialServiceImpl implements ICookMaterialService {
@Override
public int deleteCookMaterialByMaterialIds(Long[] materialIds) {
// 判断该原料信息是否被使用
if (cookMaterialMapper.checkIsUse(materialIds) > 0){
if (cookMaterialMapper.checkIsUse(materialIds) > 0) {
throw new ServiceException("该原料信息被使用,不允许删除!");
}
return cookMaterialMapper.deleteCookMaterialByMaterialIds(materialIds);
@ -169,20 +173,20 @@ public class CookMaterialServiceImpl implements ICookMaterialService {
@Override
public List<MaterialAndPriceVO> checkMaterialAndPriceVO(MaterialAndPriceDTO materialAndPriceDTO) {
if(Objects.isNull(materialAndPriceDTO.getMaterialIds()) || materialAndPriceDTO.getMaterialIds().length == 0){
if (Objects.isNull(materialAndPriceDTO.getMaterialIds()) || materialAndPriceDTO.getMaterialIds().length == 0) {
throw new ServiceException("请携带原料ID");
}
if(MaterialPriceEnum.getKey("根据系统设置自动获取").equals(materialAndPriceDTO.getType())){
if (MaterialPriceEnum.getKey("根据系统设置自动获取").equals(materialAndPriceDTO.getType())) {
String value = ImsSettingEnum.getValue("采购计划参考价");
ImsSetting imsSetting = imsSettingMapper.selectImsSettingByName(value);
if(Objects.isNull(imsSetting) || StringUtils.isBlank(imsSetting.getItemValue())){
if (Objects.isNull(imsSetting) || StringUtils.isBlank(imsSetting.getItemValue())) {
throw new ServiceException("请先配置采购计划参考价");
}
materialAndPriceDTO.setType(Integer.parseInt(imsSetting.getItemValue()));
}
if(MaterialPriceEnum.getKey("参考上次采购价格").equals(materialAndPriceDTO.getType())){
return cookMaterialMapper.checkMaterialAndSetPrice(materialAndPriceDTO.getMaterialIds());
}else{
if (MaterialPriceEnum.getKey("参考上次采购价格").equals(materialAndPriceDTO.getType())) {
return cookMaterialMapper.checkMaterialAndSetPrice(materialAndPriceDTO.getMaterialIds());
} else {
return cookMaterialMapper.checkMaterialAndPurchasePrice(materialAndPriceDTO.getMaterialIds());
}
}

View File

@ -10,6 +10,8 @@ import lombok.ToString;
@AllArgsConstructor
@ToString
public class BodyMeasurement {
private String phone;
private String userCode;
private String machineId;
private String userId;
private String sex;

View File

@ -36,6 +36,9 @@ public class HealthMachineController extends BaseController {
//从数据库查询是否存在当前手机
dto.setPhoneNumber(SM4EncryptUtils.sm4Encrypt(dto.getPhoneNumber()));
UserData userData = healthMachineMapper.checkIsExistCurrentUser(dto);
if (userData == null){
userData = healthMachineMapper.checkIsExistCurrentSysUser(dto);;
}
if (userData == null){
userData = new UserData("-1","外部人员","man","",18,true);
}
@ -49,6 +52,13 @@ public class HealthMachineController extends BaseController {
if (MINUS_ONE.equals(dto.getUserId())){
return JSON.toJSONString(BodyResponse.success());
}
//查询用户编码和手机号
BodyMeasurement user = healthMachineMapper.selectUserById(dto.getUserId());
if (user == null){
user = healthMachineMapper.selectSysUserById(dto.getUserId());
}
dto.setPhone(user.getPhone());
dto.setUserCode(user.getUserCode());
healthMachineMapper.addPhysicalExaminationData(dto);
}catch (Exception e){
return JSON.toJSONString(BodyResponse.fail("上传数据失败",500,"上传数据失败"));

View File

@ -21,4 +21,10 @@ public interface HealthMachineMapper {
* @param dto 入参
*/
void addPhysicalExaminationData(@Param("dto") BodyMeasurement dto);
BodyMeasurement selectUserById(String userId);
UserData checkIsExistCurrentSysUser(UserDTO dto);
BodyMeasurement selectSysUserById(String userId);
}

View File

@ -127,4 +127,13 @@ public class PurchaseContractController extends BaseController {
public AjaxResult remove(@PathVariable Long[] contractIds) {
return toAjax(purchaseContractService.deletePurchaseContractByContractIds(contractIds));
}
/**
* 作废采购合同主
*/
@ApiOperation(value = "作废采购合同")
@SysLog(title = "采购合同主", businessType = OperaType.DELETE, logType = 1,module = "采购合同->作废采购合同主")
@PostMapping("/nullify/{contractIds}")
public AjaxResult nullify(@PathVariable Long[] contractIds) {
return toAjax(purchaseContractService.nullifyPurchaseContractByContractIds(contractIds));
}
}

View File

@ -155,5 +155,13 @@ public class PurchasePlan extends BaseEntity {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endDateTime;
@ApiModelProperty("合同开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String startTime;
@ApiModelProperty("合同结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String endTime;
private List<PurchasePlanDetail> purchasePlanDetailList;
}

View File

@ -90,7 +90,7 @@ public class OrderGoodsQuery implements Serializable {
@ApiModelProperty(value = "是否全部入库 1是2否")
private String isIntoInventory;
private String warehouseId;
private Long warehouseId;
}

View File

@ -47,10 +47,17 @@ public class PurchasePlanQuery implements Serializable {
@ApiModelProperty("开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startDateTime;
private String startDateTime;
@ApiModelProperty("结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endDateTime;
private String endDateTime;
@ApiModelProperty("合同开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String startTime;
@ApiModelProperty("合同结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String endTime;
}

View File

@ -58,4 +58,12 @@ public interface PurchaseContractMapper {
* @return 结果
*/
public int deletePurchaseContractByContractIds(Long[] contractIds);
/**
* 作废采购合同
*
* @param contractIds 需要作废的数据主键集合
* @return 结果
*/
int nullifyPurchaseContractByContractId(Long[] contractIds);
}

View File

@ -60,4 +60,12 @@ public interface IPurchaseContractService {
* @return 结果
*/
public int deletePurchaseContractByContractId(Long contractId);
/**
* 作废采购合同
*
* @param contractIds 需要作废的采购合同主键集合
* @return 结果
*/
int nullifyPurchaseContractByContractIds(Long[] contractIds);
}

View File

@ -155,7 +155,7 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService
imsOutInventory.setOutCode(imsOutInventoryVO.getOutCode());
imsOutInventoryMapper.deleteImsOutInventoryDetailByOutId(imsOutInventory.getOutId());
insertImsOutInventoryDetail(imsOutInventoryUpdate.getImsOutInventoryDetailAddList(), imsOutInventory);
return 0;
return 1;
}
/**

View File

@ -96,6 +96,9 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService {
if (PurchaseContractStatusEnum.END.getKey().equals(contract.getContractStatus())) {
contract.setContractStatus(PurchaseContractStatusEnum.END.getKey());
}else {
if (contract.getCommitStatus() == 1){
return;
}
if(!LocalDateTime.now().isBefore(contract.getContractStartTime())
&& !LocalDateTime.now().isAfter(contract.getContractEndTime())) {
contract.setContractStatus(PurchaseContractStatusEnum.TAKE_EFFECT.getKey());
@ -208,4 +211,15 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService {
inspectGoodsDetailService.deletePurchaseContractDetailByContractId(contractId);
return purchaseContractMapper.deletePurchaseContractByContractId(contractId);
}
/**
* 作废采购合同
*
* @param contractIds 需要作废的采购合同主键集合
* @return 结果
*/
@Override
public int nullifyPurchaseContractByContractIds(Long[] contractIds) {
return purchaseContractMapper.nullifyPurchaseContractByContractId(contractIds);
}
}

View File

@ -12,6 +12,7 @@
'' as avatar
from kitchen_staff_info
where mobile = #{phoneNumber}
limit 1
</select>
<insert id="addPhysicalExaminationData">
@ -20,4 +21,33 @@
values (#{dto.userId},#{dto.machineId},#{dto.sex},#{dto.age},#{dto.height},#{dto.weight},#{dto.bmi},#{dto.bodyFat},#{dto.muscle},#{dto.boneMass},#{dto.waterContent},#{dto.extwater},#{dto.protein}
,#{dto.metabolism},#{dto.fatLevel},#{dto.bodyAge})
</insert>
<select id="selectUserById" resultType="com.bonus.canteen.core.healthmachine.bean.BodyMeasurement">
select
staff_id as userId,
staff_no as userCode
from kitchen_staff_info
where staff_id = #{userId}
limit 1
</select>
<select id="checkIsExistCurrentSysUser" resultType="com.bonus.canteen.core.healthmachine.bean.UserData">
select user_id as userId,
user_name as nickName,
case when sex = 0 then 'man' when sex = 1 then 'women' else '' end as sex,
0 as age,
'' as avatar
from sys_user
where phonenumber = #{phoneNumber} and del_flag = 0
limit 1
</select>
<select id="selectSysUserById" resultType="com.bonus.canteen.core.healthmachine.bean.BodyMeasurement">
select
user_id as userId,
user_code as userCode
from sys_user
where user_id = #{userId} and del_flag = 0
limit 1
</select>
</mapper>

View File

@ -21,6 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="approveRemark" column="approve_remark" />
<result property="totalNum" column="total_num" />
<result property="totalIntoNum" column="total_into_num" />
<result property="totalQualifiedNum" column="total_qualified_num" />
<result property="approveTime" column="approve_time" />
<result property="stallId" column="stall_id" />
<result property="canteenId" column="canteen_id" />
@ -51,7 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
iog.create_time, iog.update_by, iog.update_time, isr.supplier_name, iwi.warehouse_name,
ba.area_name, bc.canteen_name, bs.stall_name, contract_code, iogps.pay_money_date,
iogps.pay_money_style, iogps.collect_money_account, iogps.collect_money_account_name,
iogps.collect_money_bank, iog.supplier_id, iog.warehouse_id
iogps.collect_money_bank, iog.supplier_id, iog.warehouse_id,IFNULL(iig.delivery_total_num,0) as total_qualified_num
from ims_order_goods iog
left join ims_order_goods_pay_style iogps on iogps.order_goods_id = iog.order_goods_code
left join ims_supplier isr on isr.supplier_id = iog.supplier_id
@ -59,19 +60,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join basic_area ba on ba.area_id = iog.area_id
left join basic_canteen bc on bc.canteen_id = iog.canteen_id
left join basic_stall bs on bs.stall_id = iog.stall_id
left join(
SELECT
relate_order_goods_id,status,sum(delivery_total_num) as delivery_total_num
from
ims_inspect_goods where `status` = 2
GROUP BY relate_order_goods_id
)iig on iig.relate_order_goods_id = iog.order_goods_code
</sql>
<select id="selectOrderGoodsList" parameterType="com.bonus.canteen.core.ims.domain.OrderGoods" resultMap="OrderGoodsResult">
<include refid="selectOrderGoodsVo"/>
<where>
iog.del_flag = '0'
<if test="isInspect != null and isInspect != '' ">
<if test="isInspect != null and isInspect != '' and isInspect != 0 and isInspect != '0'.toString()">
and iog.if_all_inspect = #{isInspect}
</if>
<if test="ifAllInto != null and ifAllInto != '' ">
and iog.if_all_into = #{ifAllInto}
</if>
<if test="isInspect == 0 || isInspect == '0'.toString()">
and iig.delivery_total_num > 0
</if>
<if test="supplierId != null "> and iog.supplier_id = #{supplierId}</if>
<if test="orderStatus != null "> and iog.order_status = #{orderStatus}</if>
<if test="orderAmount != null "> and iog.order_amount = #{orderAmount}</if>

View File

@ -246,4 +246,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{contractId}
</foreach>
</delete>
<delete id="nullifyPurchaseContractByContractId" parameterType="String">
update ims_purchase_contract set contract_status = '4' where contract_id in
<foreach item="contractId" collection="array" open="(" separator="," close=")">
#{contractId}
</foreach>
</delete>
</mapper>

View File

@ -76,6 +76,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="endDateTime != null">
and ipp.purchase_date <![CDATA[ <= ]]> #{endDateTime}
</if>
<if test="startTime != null and startTime != ''">
and ipp.purchase_date <![CDATA[ >= ]]> #{startTime}
</if>
<if test="endTime != null and endTime != ''">
and ipp.purchase_date <![CDATA[ <= ]]> #{endTime}
</if>
<if test="planCodeList != null and planCodeList.size() > 0">
and ipp.plan_code in
<foreach collection="planCodeList" item="planCode" separator="," open="(" close=")">

View File

@ -409,6 +409,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{item}
</foreach>
</if>
<!-- SELECT-->
<!-- a.supplier_code,-->
<!-- a.supplier_id,-->
<!-- a.supplier_name,-->
<!-- a.area_id,-->
<!-- aa.area_name,-->
<!-- sum(IF(iis.bid_status = '3',1,0)) as bidNumbers,-->
<!-- sum(IF(iis.bid_status = '3',iis.quote_amount,0)) as cumulativeBidAmount,-->
<!-- IFNULL(sum(IF(iis.bid_status = '3',1,0)) / COUNT(iis.inquiry_supplier_id) * 100,0) as deliveryPassRate,-->
<!-- FROM-->
<!-- ims_supplier a-->
<!-- LEFT JOIN basic_area aa on a.area_id = aa.area_id-->
<!-- left join ims_inquiry_supplier iis on iis.inquiry_supplier_id = a.supplier_id-->
<!-- WHERE-->
<!-- a.del_flag = 0-->
<!-- GROUP BY a.supplier_id-->
</select>
<select id="selectSupplier" resultType="com.bonus.canteen.core.ims.vo.SupplierScoreVO">